- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- Dynamic value selection widgets for models, VAEs, LoRAs, samplers
- Multi-select dialogs with search functionality
- Context-sensitive examples and usage hints for each parameter type
- Real-time validation for numeric inputs with range syntax support
- Visual feedback with proper styling and animations
- Connection hints showing where to connect outputs
- Parameter-specific placeholders and tooltips
- sampler_comparison.json: 12 samplers x 4 step counts grid
- prompt_variations.json: 3 models x 5 diverse prompts
- advanced_3d_grid.json: LoRA x Seed x Denoise strength (3D)
- flux_guidance_test.json: Flux guidance x CFG scale comparison
- All workflows include proper node connections and documentation
- Add execution flow with batch management and queue system
- Implement Z-axis support for multiple grid pages with labels
- Add model caching manager with intelligent memory management
- Create progress tracking system with WebSocket support
- Write comprehensive test suite (59 tests, 100% passing)
- Add example workflows and detailed documentation
- Optimize grid assembly with better label positioning
- Support for all parameter types including Flux guidance
- Add comprehensive XYZ grid generation system for parameter comparisons
- Support for X, Y, and Z axes with any parameter type (models, samplers, CFG, etc.)
- Automatic grid assembly with professional labeling and annotations
- Dynamic UI with real-time image count preview
- Execution flow management for automated batch processing
- Full test coverage for helpers and converters
- Extensible architecture for future parameter types
- Add new image_scale_down_by tool for downscaling images/latents
- Add display_any.js web component for node display
- Include comprehensive unit tests for the new tool
- Add comprehensive TOC table under Current Tools section
- Include tool names with emojis as clickable links
- Add brief descriptions for each tool
- Categorize tools by functionality (Image Processing, Debugging, etc.)
- Improve navigation and tool discovery for users
- Add PNG screenshots for 7 nodes in README.md
- Create missing documentation files (display_text.md, kiko_save_image.md)
- Update gemini_prompt.md with new features (model refresh, enhanced SDXL)
- Add missing example workflow JSON files for 5 nodes
- Include Display Any and Image to Multiple Of nodes in README
- Update node count from 8 to 10 in stats section
Display Text improvements:
- Add new DisplayText node with intelligent prompt detection and split view
- Implement text wrapping that reflows when node is resized
- Add scrollable content with mouse wheel support and visual indicators
- Include always-visible copy button with visual feedback for easy prompt copying
- Auto-detect SDXL-style prompts and display in side-by-side format
- Strip prompt labels when copying for direct use in workflows
Gemini model refresh functionality:
- Add refresh button to fetch latest available Gemini models dynamically
- Implement model caching system with persistent storage
- Support for Gemini 2.0 and 2.5 models with automatic detection
- Enhanced SDXL prompt template with improved layered structure
- Better error handling and status feedback for model operations
Documentation and version updates:
- Update README with comprehensive Display Text and Gemini feature descriptions
- Add detailed usage examples and workflow patterns
- Bump version to 1.0.9 in pyproject.toml
- Update stats to reflect 8 total nodes and new AI integration features
- Add dynamic model fetching with 24-hour caching
- Update prompt templates based on 2025 best practices:
- FLUX: Natural language descriptions
- SDXL: Simplified with natural language support
- Danbooru: Strict tagging conventions
- Video: Optimized for WAN 2.2
- Add cache file to .gitignore
- Handle missing API key gracefully on initial load
- Update black line-length from 127 to 88 to match pyproject.toml
- Update flake8 max-line-length from 127 to 88 for consistency
- Remove broken pre-commit hook that was referencing non-existent pyenv