Migrated TagInjectorSingle, TagInjectorDuo, TagInjector, TagInjectorLarge, RandomFloat, RandomInt, and NextSeed from legacy node implementation to new ComfyExtension API with io.ComfyNode base class. Replaced INPUT_TYPES, RETURN_TYPES, RETURN_NAMES, FUNCTION, and CATEGORY class attributes with define_schema() method using io.Schema. Converted legacy methods to execute() with type-annotated parameters and io.NodeOutput return type
Migrated SeedBasedOutputSelector from legacy node implementation to new ComfyExtension API with io.ComfyNode base class. Replaced INPUT_TYPES, RETURN_TYPES, RETURN_NAMES, FUNCTION, and CATEGORY class attributes with define_schema() method using io.Schema. Converted select_output() method to execute() with type-annotated parameters and io.NodeOutput return type. Updated input handling to treat both None and empty strings as "no value" for optional inputs.
Restructured node organization by moving files from generic directories into more specific functional categories. Moved resolution-related nodes from nodes/latent/ to nodes/resolution/, split prompt nodes into nodes/prompt_selection/, nodes/prompt_wildcards/, and nodes/prompt_tags/, moved utility nodes from nodes/utils/ to nodes/random_numbers/ and nodes/random_seed/. Updated all import paths in __init__.py to reflect the new directory
Migrated SimpleWildcardPicker from legacy node implementation to new ComfyExtension API with io.ComfyNode base class. Removed SimpleWildcardPicker from NODE_CLASS_MAPPINGS and NODE_DISPLAY_NAME_MAPPINGS, now registered through GR85Extension.get_node_list(). Refactored wildcard processing logic into standalone _process_wildcards function. Reorganized node categories: moved latent nodes to "GR85/Resolution", prompt nodes to "GR85/
Introduce nodes for mask handling, including MaskConnectMST, IslandMaskGenerator, RandomizedMaskTransform, and MaskSplitter. Update requirements with necessary image processing and graph libraries.
Created several new custom nodes including VerticalWildcardPicker, Florence2RunCTPG, and MaskBatchToSEGS. Updated seed handling to use larger integer values, and introduced new classes in tag_injector.py for single and duo tag injection. Enhanced image_sizer_all.py and updated the initialization to register new nodes.
Implemented `distribution_scale` and `random_generation_count` parameters in `FluxAttentionSeekerGenerator` to improve value generation control. Validations were added to ensure these parameters are within the defined ranges. Additionally, refactored the code for clearer initialization and parsing of `combined_values`.
Implemented a new node class, SaveImageFile, for saving images to files with user-defined parameters. Updated the node mappings and names in __init__.py to include the new SaveImageFile node. This node supports various image types, handles directory creation, and auto-increments filenames to avoid overwriting existing files.
The 'openai' package was removed from the requirements file. This change reflects the elimination of dependencies on the 'openai' library in the project.
Added `FluxAttentionSeekerGenerator` and `FluxAttentionSeeker3` classes to handle prompt generation. Enhanced `FluxModelMergeParameters` class with logging, additional input options, and refined parameter generation logic for improved flexibility and debugging.
Removed the seed parameter from tag injection methods for cleaner function signatures. Added new utility nodes: RandomFloat, RandomInt, SaveTextFile. Adjusted category and return types in existing node classes accordingly.
Introduce TagInjectorLarge and IntegerSequenceModifier nodes for enhanced flexibility. Updated TagInjector by simplifying input options. Added FluxModelMergeParameters for advanced parameter handling in model merging operations. Adjusted init file to include new nodes and properly map categories.
Renamed and adjusted parameters for better clarity and flexibility. Added tolerance handling and modified aspect ratio calculations to ensure more accurate resizing. Enhanced orientation options to include "original" for preserving existing dimensions.
Changed the return type from string to tuple for the prompt variable in the simple_wildcard_picker.py module. This modification will improve consistency and error handling in the caller functions.
Modified TagInjector to support multiple optional tags and dynamic template defaults. Introduced new nodes: SeedBasedOutputSelector, SimpleWildcardPicker, and PasteByMaskGr85, broadening functionality for prompt and mask management. Adjusted image resizing logic in image_sizer and corrected category naming in batch_rect_mask_generator.
Introduced `GenerateDefaultCLIPValues`, `UpdateT5Blocks`, and `FluxAttentionSeeker2` for prompt handling. Enhanced `StrSafe` to trim spaces, convert text to lowercase, and replace multiple underscores. Added `BatchRectMaskGenerator` for mask creation and `StringListSelector` for sublist selection. Updated `requirements.txt` to include flash-attn.
Introduced `GenerateDefaultCLIPValues`, `UpdateT5Blocks`, and `FluxAttentionSeeker2` for prompt handling. Enhanced `StrSafe` to trim spaces, convert text to lowercase, and replace multiple underscores. Added `BatchRectMaskGenerator` for mask creation and `StringListSelector` for sublist selection. Updated `requirements.txt` to include flash-attn.
This commit removes some obsolete Python files related to latent, logging, and prompt functionalities. It also adds new implementations for node classes, including ShowText, ImageSizer, ImageDimensionResizer, RandomTitleCharacter, and others. The new implementations restructure and optimize the existing functionalities.
This commit removes some obsolete Python files related to latent, logging, and prompt functionalities. It also adds new implementations for node classes, including ShowText, ImageSizer, ImageDimensionResizer, RandomTitleCharacter, and others. The new implementations restructure and optimize the existing functionalities.
The .gitignore has been updated to include exceptions for certain wildcard files. This allows wildcards stored in the 'put_wildcards_here' folder to be tracked by Git, preventing unintentional exclusion of important files.
__init__.py is newly added with mapping dictionaries for custom node classes and display names in the GR85 module. It includes a variety of import classes such as ImageSizer, ShowString, RandomTitleCharacter, etc., which are subsequently mapped to their respective identifiers. This will help in directly accessing these custom nodes through module imports.
A new class called ShowString has been added to the logging.py file. This class includes the INPUT_TYPES method, RETURN_TYPES variable, FUNCTION variable, CATEGORY variable, OUTPUT_NODE variable, and the show method. The purpose of this class is to handle specific string-related logging functionality.
This commit adds several new classes to the prompt.py file. The RandomTitleCharacter class reads from a character yaml file and generates random title characters along with their elements and features. Other classes like InsertCharacter and RandomElements support the creation of character strings based on different templates, and selecting random elements from an elements yaml file, respectively. There are also classes for concatenating elements and enhancing strings using an OpenAI API.
Added `ImageSizer` and `ImageDimensionResizer` classes in `latent.py`, which provide image resizing functionality. `ImageSizer` class resizes images while maintaining the same pixel count and a specified aspect ratio. `ImageDimensionResizer` class resizes images while maintaining pixel count and the ratio of the original dimensions.