Commit Graph
20 Commits
Author SHA1 Message Date
Vito Sansevero f484482e2c feat: complete XYZ Plot Controller widget functionality
- Remove unwanted input connection from node
- Fix FlexibleOptionalInputType to not create input slot
- Add callbacks to update image count when any input changes
- Support text widget changes for ranges (e.g., 10:50:5)
- Update count when dropdown selections change
- Update count when widgets are toggled on/off
- Properly calculate total images from all axis combinations
- Verified outputs with Display Any nodes showing correct grid data
2025-08-05 13:59:52 -07:00
Vito Sansevero 8c44b99d37 feat: improve text input widgets with placeholders and auto-resize
- Add helpful placeholder hints for all text input fields
- Make all text inputs multiline for better hint display
- Use monospace font for value entry
- Set minimum height for non-prompt fields
- Auto-resize node when adding widgets to prevent overflow
- Add proper padding to prevent last widget from clipping
2025-08-05 13:04:22 -07:00
Vito Sansevero c035313e99 feat: implement right-click context menu for widgets
- Override getSlotInPosition to detect widget clicks
- Return fake slot with widget attached for menu handling
- Add context menu with Toggle, Move Up/Down, and Remove options
- Follow RGThree's pattern for widget context menus
2025-08-05 12:19:06 -07:00
Vito Sansevero 0d9d6d1872 fix: properly remove text input DOM elements when switching axis types
- Add DOM element cleanup when removing widgets
- Call onRemoved callbacks for proper widget cleanup
- Handle both 'text' and 'customtext' widget types
- Fixes issue where text inputs remained visible after switching from prompt to none
2025-08-05 11:09:32 -07:00
Vito Sansevero 40bfccc952 feat: implement XYZ Plot Controller with RGThree-style widget framework
- Created XYZ Plot Controller node with dynamic widget management
- Implemented full widget persistence across page refreshes
- Added RGThree-style UI with toggles and strength controls
- Fixed text widget serialization issues
- Implemented hide/show pattern for widget management
- Added comprehensive right-click context menus
- Created detailed documentation of the widget framework
- Removed all debug console.log statements for production
2025-08-04 19:17:54 -07:00
Vito Sansevero c45c9c0b91 feat: redesign XYZ Plot Controller using native ComfyUI widgets
- Remove complex HTML/JS custom interface
- Create simplified node using standard ComfyUI inputs
- Add helpful tooltips and placeholder text via minimal JS
- Support range notation (start:stop:step) for numeric values
- Show total image count in node title
- Use multiline text inputs for value entry
- Work with ComfyUI's native widget system
2025-08-04 14:26:52 -07:00
Vito Sansevero b3c510b90d fix: keep original widgets in array to prevent execution errors
- Keep widgets in the array but hide them visually
- Add custom widget to the array instead of replacing it
- Ensure backend can still access widget values
- Remove duplicate size setting
2025-08-04 14:20:05 -07:00
Vito Sansevero 417e99b172 fix: use fixed dimensions to prevent massive overflow
- Set fixed width (360px) and height (620px) for container
- Remove percentage-based sizing that was causing overflow
- Use explicit pixel dimensions for widget element
- Ensure consistent sizing throughout
2025-08-04 14:14:32 -07:00
Vito Sansevero 59fe64d04f fix: constrain widget height to prevent overflow
- Use max-height instead of fixed height for container
- Set overflow hidden on widget element
- Update resize handler to use maxHeight instead of height
- Ensure widget respects node boundaries
2025-08-04 14:11:49 -07:00
Vito Sansevero 19666de804 fix: simplify widget creation and remove old conflicting file
- Remove xyz_plot_controller_old.js that was interfering
- Create widget immediately without delay
- Use fixed height container instead of absolute positioning
- Add computeSize function to widget for proper sizing
- Schedule resize with setTimeout(0) for next tick
2025-08-04 14:09:17 -07:00
Vito Sansevero 60a3104a38 fix: improve initial widget rendering with delayed creation
- Delay widget creation by 50ms to ensure node is fully initialized
- Set node size before creating widget
- Use absolute positioning for container to fill available space
- Force multiple canvas redraws to ensure proper display
- Explicitly set widget dimensions in pixels
2025-08-04 14:05:38 -07:00
Vito Sansevero 01c14ea363 fix: resolve initial rendering issue in XYZ Plot Controller
- Add computeSize callback to DOM widget for proper initial sizing
- Force widget size update after creation
- Add onResize handler to properly adjust widget when node is resized
- Set container minimum height and overflow properties
- Force canvas redraw after widget creation
2025-08-04 14:02:37 -07:00
Vito Sansevero 63c9d81ebd fix: adjust XYZ Plot Controller sizing to show all elements properly
- Increase initial node height to 680px to show all 3 axis groups
- Reduce padding and margins in axis groups for more compact layout
- Adjust textarea min/max heights for better space utilization
- Ensure Total Images counter is properly positioned at bottom
- Fix element overlap issues by providing adequate vertical space
2025-08-04 13:58:12 -07:00
Vito Sansevero 94200003ee fix: set proper initial size for XYZ Plot Controller node
- Set initial size to 350x550 immediately in onNodeCreated
- Remove computeSize override for simpler implementation
- Ensure node displays correctly when first added to canvas
- Match behavior of Display Text node for consistent UX
2025-08-04 13:50:24 -07:00
Vito Sansevero f1e73d1e94 fix: optimize XYZ Plot Controller layout and sizing
- Reduce padding and margins throughout for more compact display
- Decrease font sizes appropriately (11px for inputs, 10px for info)
- Set fixed node dimensions (350x520) for consistent appearance
- Limit textarea heights to prevent excessive vertical space
- Adjust button and info box styling for tighter layout
- Override computeSize to maintain proper dimensions
2025-08-04 13:38:09 -07:00
Vito Sansevero 429f3f067a fix: properly hide original widgets in XYZ Plot Controller
- Store original widgets in separate array for access
- Remove all widgets from display array to prevent them showing
- Hide widget parent elements to remove spacing
- Update all widget references to use originalWidgets array
- Ensure custom UI is the only visible widget
2025-08-04 13:29:20 -07:00
Vito Sansevero 84138cd46e feat: complete rewrite of XYZ Plot Controller UI using custom HTML interface
- Replace problematic widget-based UI with full HTML interface
- Fix overlapping buttons and spacing issues
- Add proper multi-select dialogs with search functionality
- Implement Select All/Clear All buttons in dialogs
- Hide original widgets to prevent conflicts
- Add visual grouping for X/Y/Z axes
- Improve responsive layout and styling
- Maintain sync with underlying widget values
2025-08-04 13:21:49 -07:00
Vito Sansevero 978580924a fix: improve XYZ Plot Controller UI with generic parameter detection and proper widget updates
- Add generic findOptionsForParameter function that searches all nodes
- Fix button not updating when axis type changes
- Improve spacing to prevent widget overlap
- Add proper pluralization for button labels (VAEs, LoRAs, etc.)
- Add hover effects and better visual styling
- Ensure widget callbacks properly trigger updates
- Add node resizing when content changes
2025-08-04 13:09:58 -07:00
Vito Sansevero be560ad2f5 fix: rewrite XYZ Plot Controller JS using proper ComfyUI patterns
- Use correct import path (../../scripts/app.js)
- Implement using addDOMWidget for custom UI elements
- Use onNodeCreated and onWidgetChange hooks properly
- Add info display and total image count in DOM widget
- Fix widget element access patterns
- Simplify implementation for better compatibility
2025-08-04 12:44:24 -07:00
Vito Sansevero 0e7747d248 fix: consolidate and fix XYZ Plot Controller JavaScript
- Move JS files to correct web directory location
- Fix import paths for ComfyUI compatibility
- Consolidate all UI functionality into single xyz_plot_controller.js
- Add proper widget enhancement with select buttons
- Fix API calls to use ComfyUI's api object
- Add working multi-select dialogs and validation
2025-08-04 11:56:35 -07:00