Commit Graph
51 Commits
Author SHA1 Message Date
Vito Sansevero 5485aa8c19 feat(xyz-helpers): add ComfyUI_essentials nodes adaptation
BREAKING CHANGE: Node categories now use emoji-based organization

Add 6 new xyz-helper nodes adapted from comfyui-essentials-nodes:
- FluxSamplerParams: FLUX-optimized parameter generator with batch support
- LoRAFolderBatch: Batch process multiple LoRAs from folders
- PlotParameters: Visualize parameter effects with graphs
- SamplerSelectHelper: Intelligent sampler selection with recommendations
- SchedulerSelectHelper: Optimal scheduler selection for samplers
- TextEncodeSamplerParams: Combined text encoding and parameter management

Changes:
- Port and enhance nodes from comfyui-essentials (now in maintenance mode)
- Add comprehensive documentation with attribution to original author (cubiq)
- Create example workflows for xyz-helpers tools
- Update all node categories to use emoji-based organization
- Fix all unit tests to pass with new category system
- Update README with xyz-helpers section and attribution

Attribution: xyz-helpers adapted from github.com/cubiq/ComfyUI_essentials

All tests passing (318 pass, 2 skip)
2025-08-07 05:41:23 -07:00
Vito Sansevero 9fd80793db feat(init): add ImageScaleDownByNode support 2025-08-04 10:35:54 -07:00
Vito Sansevero 972c487dd4 Add image_scale_down_by tool and display_any.js
- 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
2025-08-04 07:17:55 -07:00
Vito Sansevero 64e844ec42 style: fix code formatting with black
- Add missing newlines at end of files
- Fix whitespace and indentation issues
- Format long function calls properly
2025-08-02 07:20:40 -07:00
Vito Sansevero 3ed188d63f docs: add screenshots and complete documentation for all nodes
- 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
2025-08-02 07:03:46 -07:00
Vito Sansevero 271cd020c1 merge: resolve conflicts with main branch model management improvements 2025-08-01 16:35:39 -07:00
Vito Sansevero e34807855a feat: add Display Text node with smart formatting and enhance Gemini with model refresh
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
2025-08-01 14:57:56 -07:00
Vito Sansevero 6197b482df feat: implement dynamic model fetching for Gemini node
- 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
2025-08-01 13:30:31 -07:00
Vito Sansevero 3ecab5ac08 fix: implement proper AnyType class for wildcard input matching
- Add AnyType class that inherits from str and overrides __ne__ to always return False
- This matches ComfyUI's type checking system for wildcard inputs
- Based on implementation from ComfyUI_essentials
- Add comprehensive tests for AnyType behavior
- Fixes type mismatch errors when connecting any node type
2025-08-01 10:47:20 -07:00
Vito Sansevero 70592114f9 fix: correct wildcard input type syntax for DisplayAny node
- Change from ('*', {}) to ('*') for proper ComfyUI wildcard type
- Update test to match the corrected syntax
- Fixes 'Return type mismatch' error when connecting nodes
2025-08-01 10:47:20 -07:00
Vito Sansevero 407fc4ca7b feat: add DisplayAny node for debugging and inspection
- Universal input acceptance for any data type
- Two display modes: raw value and tensor shape
- Extracts tensor shapes from nested structures
- Comprehensive unit tests with 100% coverage
- Full documentation with usage examples
- OUTPUT_NODE for UI display functionality
2025-08-01 10:47:20 -07:00
Vito 9829fc001d Merge pull request #14 from ComfyAssets/fix/black-config-main
fix: update black line-length to 88 and reformat codebase
2025-08-01 09:50:10 -07:00
Vito Sansevero e84ec6721c fix: update black line-length to 88 and reformat codebase
- Update pyproject.toml to use black's default line-length of 88
- This matches what the CI workflow expects (black --check without args)
- Reformat all Python files to comply with the new line length
- This will prevent CI failures due to formatting discrepancies
2025-08-01 09:45:43 -07:00
Vito Sansevero efc079a95b fix: reformat with black default settings (88 char) to match CI 2025-08-01 09:41:21 -07:00
Vito Sansevero bbd239cbd6 fix: apply black formatting with line-length 127 for CI compliance 2025-08-01 09:41:21 -07:00
Vito Sansevero 589fbf3568 fix: remove trailing whitespace in gemini_prompt node.py 2025-08-01 09:41:21 -07:00
Vito Sansevero ca504d5f74 fix: code formatting for Gemini prompt node
- Fix missing newlines at end of files
- Apply black formatting
- Remaining non-critical warnings for long lines in prompts
2025-08-01 09:41:21 -07:00
Vito Sansevero f559fe220e feat: add Gemini Prompt Engineer node
- Add GeminiPromptNode for AI-powered prompt engineering
- Integrates with Google's Gemini API for prompt generation
- Includes various prompt templates and generation modes
- Add comprehensive tests and documentation
- Register node in ComfyAssets category
2025-08-01 09:41:21 -07:00
Vito 932e30ade0 Merge pull request #13 from ComfyAssets/feature/image-to-multiple-of
Feature/image to multiple of
2025-08-01 09:34:25 -07:00
Vito Sansevero 005c3bdf65 fix: code formatting for Image to Multiple Of node
- Apply black formatting
- Remove unused torch import from logic.py
- All critical linting issues resolved
2025-08-01 09:01:39 -07:00
Vito Sansevero ab23992c29 chore: project housekeeping and configuration updates
- Add code quality tools: flake8, mypy, black, pre-commit
- Add .gitattributes for line ending consistency
- Add .secrets.baseline for secret scanning
- Update GitHub workflows for better CI/CD
- Update documentation formatting and examples
- Add CLAUDE.md for AI assistant guidance
- Add scripts directory for automation tools
- Update project configuration in pyproject.toml
- Improve type hints and code formatting across all modules
- Update test configurations and fixtures
2025-08-01 08:35:08 -07:00
Vito Sansevero 9007b10d42 feat: add Image to Multiple Of node
- Add ImageToMultipleOfNode for image dimension adjustment
- Ensures image dimensions are multiples of specified values
- Supports both padding and cropping modes
- Useful for model-specific dimension requirements
- Add tests and documentation
- Register node in ComfyAssets category
2025-08-01 08:28:10 -07:00
Vito Sansevero a49071f824 fix(resolution_calculator): update scale factor tooltip 2025-07-26 14:15:39 -07:00
Vito Sansevero 4ff6067dad refactor(compact_node): update sampler return type 2025-07-23 13:29:46 -07:00
Vito Sansevero ad13e66506 refactor(node): update sampler handling logic 2025-07-23 13:29:32 -07:00
Vito Sansevero b16f6f40bd style(logic): fix whitespace issues in logic.py 2025-07-21 08:23:18 -07:00
Vito Sansevero ab016e0903 feat(logic): add subfolder info to enhanced data 2025-07-21 08:20:17 -07:00
Vito Sansevero f4228a850c refactor(logic): improve path handling in image saving 2025-07-21 07:56:13 -07:00
Vito Sansevero 4a0a206d61 refactor(node): use helper methods for tensor validation 2025-06-28 09:14:34 -07:00
Vito Sansevero 8e0d4485bd style: Remove unused imports in node.py 2025-06-28 09:14:23 -07:00
Vito Sansevero 92a3b1db4e style: Remove unused import 'Any' 2025-06-28 09:13:03 -07:00
Vito Sansevero 5d1f01e6cb refactor(node): replace 'subfolder' with 'popup' 2025-06-28 08:54:46 -07:00
Vito Sansevero b3b8826044 refactor(logic): Rename 'subfolder' to 'popup' parameter 2025-06-28 08:54:35 -07:00
Vito Sansevero 32d44a282f feat(kiko_save_image): add new image saving tool 2025-06-27 21:05:42 -07:00
Vito Sansevero bb79c7434f feat(init): add KikoSaveImageNode to tools and mappings 2025-06-27 21:05:25 -07:00
Vito Sansevero 2c992b5c97 feat(empty-latent-batch): add preset & batch processing 2025-06-19 11:55:51 -07:00
Vito Sansevero 8628bc39bb feat(init): add EmptyLatentBatchNode support 2025-06-19 10:22:33 -07:00
Vito Sansevero 3654867a21 feat(empty_latent_batch): add empty latent batch tool 2025-06-19 10:22:05 -07:00
Vito Sansevero 965ad60c74 refactor(node): use logging for error handling 2025-06-15 08:59:02 -07:00
Vito Sansevero 549d2dc014 style: Reformat code for better readability 2025-06-15 08:54:34 -07:00
Vito Sansevero f04020b728 refactor(node): Simplify input validation logic 2025-06-15 08:48:13 -07:00
Vito Sansevero ce8c36f309 refactor(node): enhance preset metadata handling 2025-06-15 08:38:21 -07:00
Vito Sansevero bc7608f891 style: Fix line formatting issues 2025-06-14 15:25:45 -07:00
Vito Sansevero 1ab839c58c style: Break long lines for readability 2025-06-14 15:25:36 -07:00
Vito Sansevero 0cf64ae411 style(logic): adjust typing imports and line breaks 2025-06-14 15:25:25 -07:00
Vito Sansevero bc6e4938ef feat(sampler combo): add unified sampling interface 2025-06-14 13:41:43 -07:00
Vito Sansevero 43563ef33c docs: Add Seed History documentation to README.md 2025-06-14 11:53:26 -07:00
Vito Sansevero 70e8322bd5 feat(seed_history): add Seed History tool and node 2025-06-14 11:28:52 -07:00
Vito Sansevero b04077ec00 feat(init): add WidthHeightSelector node 2025-06-14 10:57:47 -07:00
Vito Sansevero e3b9993c8a feat(width_height_selector): add dimension selection tool 2025-06-14 10:56:36 -07:00