Commit Graph
49 Commits
Author SHA1 Message Date
Antonio Cordero Balcazar b325edc48e * Additional job info passed as input variable.
* New results_file option to output the process information to a file.
2026-05-24 00:06:15 +02:00
Antonio Cordero Balcazar 8c30d5ead9 * Fix globbing at the start 2026-05-22 23:29:22 +02:00
Antonio Cordero Balcazar 996a0b7c39 * Configured seed size per host. This allows the extension no use ComfyUIs 64bit seeds without cropping them.
* Allowed use of echoed-only variables (no value, only the last echo default) in comparisons.
2026-05-22 16:02:31 +02:00
Antonio Cordero Balcazar a8a34f47e9 * Independent support for Forge Neo (from Classic).
* Styles (A1111/SD.Next) to Wildcard conversion tool.
* Additional models support and NoobAI variant for SDXL.
* Detection of new models supported but missing from user config file.
2026-05-19 18:05:12 +02:00
Antonio Cordero Balcazar e2976db793 * ComfyUI: changed modelname input into a combo.
* ComfyUI: removed `_modelinfo` variable because it is not needed. Only `_modelfullname` can be set from the prompt.
* Some log changes.
* Improved documentation.
2026-05-18 13:57:46 +02:00
Antonio Cordero Balcazar 1471f26c5b * Added inputs to state and system variables. 2026-05-17 14:24:50 +02:00
Antonio Cordero Balcazar b971ea8d37 * Variables refactoring.
* Scalar variables returned with their correct type.
* Fix adding to indexed variables.
2026-05-16 16:24:23 +02:00
Antonio Cordero Balcazar 1a0ea3c5b0 * Refactorings. 2026-05-16 08:27:31 +02:00
Antonio Cordero Balcazar 6693c6147d * Support for getting the class of the model from the file.
* Improved documentation and instructions for it.
2026-05-15 11:16:06 +02:00
Antonio Cordero Balcazar 03e7e9b445 * ComfyUI: Support for setting the model information from the prompt. 2026-05-14 22:03:43 +02:00
Antonio Cordero Balcazar 5667317531 * ComfyUI: node improvements
* Docs: improvements
2026-05-11 17:09:10 +02:00
Antonio Cordero BalcazarandCopilot db68347bcd * Support for attention merge at the wildcard/choice boundary.
Co-authored-by: Copilot <copilot@github.com>
2026-05-05 16:29:21 +02:00
Antonio Cordero Balcazar b03a522ed4 * Added container property to wildcard definitions. 2026-05-05 16:29:21 +02:00
Antonio Cordero Balcazar b4ddd74414 * Fixed AND in wildcard filters. #34
* Added support for specifying a variable with the whole wildcard filter.
2026-05-05 09:23:33 +02:00
Antonio Cordero Balcazar f1a4e2fc62 * Better logging.
* Refactored tests.
2026-05-03 17:06:57 +02:00
Antonio Cordero Balcazar 73996b1609 * Doc fix. 2026-05-03 00:13:59 +02:00
Antonio Cordero BalcazarandCopilot 0970afb018 * Support for the cyclical sampler ("@").
* Support for attention merging wheen sending to negative prompt.

Co-authored-by: Copilot <copilot@github.com>
2026-05-02 17:18:44 +02:00
Antonio Cordero BalcazarandCopilot 8e38265b04 * Improved documentation.
Co-authored-by: Copilot <copilot@github.com>
2026-05-02 14:31:56 +02:00
Antonio Cordero BalcazarandCopilot a31070b986 * Added combinatorial generation.
* Updated pylint settings.
* Fixed a bug with wildcard or extranetwork mappings folders in a different drive than the extension.

Co-authored-by: Copilot <copilot@github.com>
2026-05-01 23:02:57 +02:00
Antonio Cordero BalcazarandCopilot b2a5c38f30 * Unify variables in their own object.
Co-authored-by: Copilot <copilot@github.com>
2026-04-30 11:32:05 +02:00
Antonio Cordero BalcazarandCopilot 9de5d69272 * Change format for separator specifier in array vars.
Co-authored-by: Copilot <copilot@github.com>
2026-04-29 16:59:40 +02:00
Antonio Cordero BalcazarandCopilot 563c071a65 * Support for reading array variable length.
* Support for additional operators: any_in and contains_any.
* Support for starred initialization in the set command.
* New option to set strict operations for some operators.
* Fixes detecting integers and added float support.
* Fixed echoing system variables.
* A1111: fixed prompt processing when there are more than 500 prompts.

Co-authored-by: Copilot <copilot@github.com>
2026-04-29 11:55:07 +02:00
Antonio Cordero BalcazarandCopilot aa4ea000b5 * Use pydantic for the configuration checks.
* Improved variable tests and documentation.

Co-authored-by: Copilot <copilot@github.com>
2026-04-27 13:31:53 +02:00
Antonio Cordero Balcazar c4582b30cd * Merged tests for variables and commands in the same file.
* Added support for array variables.
* Support for exception logging.
2026-04-26 17:32:15 +02:00
Antonio Cordero Balcazar 932bce32f5 * Massive refactoring to decouple classes and improve configuration and state handling.
* Wildcard descriptions used in concat node.
2026-04-07 22:55:59 +02:00
Antonio Cordero Balcazar 12d5d40440 * Added Wildcard Concat node for selecting and concatenating wildcards.
* Refactor functions to resolve wildcard and extra-network mapping folder paths.
2026-04-06 13:32:35 +02:00
Antonio Cordero Balcazar b460565605 * Support for ranges in wildcard positional filters
* Some Copilot instructions.
2026-04-06 10:44:25 +02:00
Antonio Cordero Balcazar 4176559166 * Improved preprocessing of grammar file.
* Added cookbook.
* Support for variables in wildcard filters.
* Fix support for empty echoed variables.
2026-04-05 21:36:51 +02:00
Antonio Cordero Balcazar 47375db1ba * Escape quotes on log messages
* Separated tests in multiple files.
* Added pydantic validation for configuration.
* Improved backup/restore on visit of nodes.
* Echoing of variables with default no longer visits the default when not used (and no longer creates variables that were not actually used).
2026-04-04 19:04:46 +02:00
Antonio Cordero Balcazar 6ceb23b84b * Moved known models and their detection to the configuration file.
* Updated `ppp_config.yaml.defaults` to enhance documentation and structure for model detection and configuration.
* Improved validation of configuration files.
* Added a new `tests` application in `SUPPORTED_APPS` for testing purposes.
* Support for variables in list of values comparisons.
2026-04-03 15:53:10 +02:00
Antonio Cordero Balcazar 78631d4adc * Support for more base models.
* Enhanced the processing of "BREAK" and "AND" constructs to support replacing with a comma. Set both to comma as default in ComfyUI.
* Added a new command `setwcdeffilter` to set default filters for a wildcard.
* Fixed bug with echoed variables.
* ComfyUI: Individual help documentation for the nodes.
* Can now test for output variables.
* Improved documentation.
2026-03-28 16:39:29 +01:00
Antonio Cordero Balcazar dc8b4b6631 * Added option to cleanup output variables. 2026-03-28 16:39:29 +01:00
Antonio Cordero Balcazar 87d12ca53f * Added new configuration options in ppp_config.yaml.defaults (and ppp_config.yaml) for host applications and models.
* Implemented handling for attention, scheduling, alternation, AND, and BREAK operators in the new configuration file.
* Moved variant definitions to the new configuration file.
* Improved tests speed by creating the needed PPP object in the process method.
2026-03-28 16:38:53 +01:00
Antonio Cordero Balcazar 9cc10cd3f6 Merge branch 'main' into feature/var-vs-var-comparison 2026-03-28 16:09:08 +01:00
Brandon Wallace f444ce0233 feat(ppp): add variable-vs-variable comparison support in conditions
Allow bare identifiers as the RHS of comparisons in ppp:if conditions
(e.g., `<ppp:if var1 contains var2>`). The grammar now accepts IDENTIFIER
as an alternative to SIMPLEVALUE, and __eval_basiccondition resolves
bare identifier values as variable references before comparison.
2026-03-19 23:41:06 -05:00
Brandon Wallace cad7a52ed0 fix: handle NaN/undefined variable in integer comparisons
Wrap int(var_value) in __eval_basiccondition() with try/except to
prevent ValueError crash when a variable is undefined, empty, or
contains non-numeric text. In warn mode the comparison evaluates to
false; in stop mode a PPPInterrupt is raised with a descriptive message.
2026-03-19 01:28:24 -05:00
Antonio Cordero Balcazar e83c836200 * Wildcard identifiers cannot start with underscore.
* Fix cleaning constructs with only whitespace.
* Logging supports saving to file (used optionally in tests).
* Fix en refresh wildcards.
2025-12-08 20:04:23 +01:00
Antonio Cordero Balcazar 4bd8a4d71a * implemented proper support for variable echoing inside wildcard names. 2025-12-08 13:11:43 +01:00
Antonio Cordero Balcazar b2e30a6b02 * Commands without content can be ended with "/>" instead of a full "<ppp:/command>". This applies to "stn i", "echo" and "ext" commands.
* Fix and better logging on evaluating final user variables.
* Variables can be used inside a wildcard identifier, as in __wildcard${x:1}__.
2025-12-08 11:53:13 +01:00
Antonio Cordero Balcazar 22c5c77904 * Choice commands: include wildcard choices allowing composability in wildcards.
* Detection of circular references in wildcards.
* Cache for extranetwork mappings.
2025-10-05 16:08:27 +02:00
Antonio Cordero Balcazar db43d409f8 * removed unnecessary processing of variables.
* error control when reading wildcard or mapping files, and second chance for files with incorrect encoding.
* fix processing inside extranetwork tag.
2025-09-27 13:22:19 +02:00
Antonio Cordero Balcazar 8769c21ee5 * new "optional" parameter for choices/wildcard.
* added "$$" to end of parameters as first choice in a wildcard, to avoid confusion with a choice that could be considered parameters.
* additional fixes in the parser.
2025-09-06 18:14:00 +02:00
Antonio Cordero Balcazar 54a20117ce * New extranetworks command to group the triggers with the extranetwork.
* Mapping of extranetworks through the new command. This allows you to use a "virtual" extranetwork that is converted to a real one depending on conditions, like the model kind/variant.
* Fixed a parsing bug with the if command.
* Some refactoring and additional checks.
2025-09-01 16:50:46 +02:00
Antonio Cordero Balcazar fe61e54f41 * Selection of prompt parser based on heuristics to improve parsing time on simpler cases.
* Improved timing logging.
* Refactor application support handling.
* Enhanced regex patterns in `ppp.py` for wildcard and choice detection to ensure proper escaping.
* Included icon source files.
2025-08-08 14:05:34 +02:00
Antonio Cordero Balcazar c03339a618 * Better processing of interruptions using an exception.
* New option on_warning to stop on invalid content.
* New option cleanup_extra_separators_include_eol to choose whether to also remove adjacent EOLs when removing extra separators or not. Default is not to do it. In previous versions it was forced.
* Refactoring of the cleanup method.
* Only simplify attention modifiers when the merge attention option is set.
* A1111: avoid logging about HR prompts and avoid saving them in extra metadata when not different.
* A1111: consider options and environment info in the caching of results.
* Some refactorings.
2025-05-31 12:08:57 +02:00
Antonio Cordero Balcazar bfc47d0d53 * A1111: add prompts to metadata only if they change 2025-05-03 12:07:18 +02:00
Antonio Cordero Balcazar b837f38422 * if_wildcards option defaults now to stop.
* ComfyUI: new wildcards_input.
* removed json import since yaml can read them.
* more models detected in ComfyUI.
* ComfyUI: example workflow.
2025-05-03 12:07:18 +02:00
Antonio Cordero Balcazar 5e3c8cbc44 * ComfyUI: updates to the ComfyUI registry workflow.
* A1111: option to add original prompts to metadata.
* fixed some bogus import error shenanigans.
* warn when a model name detects multiple variants.
2025-04-11 17:50:26 +02:00
Antonio Cordero Balcazar a1958db81f * Improved conditions with bool operations.
* Enhance PromptPostProcessorComfyUINode to return variables.
* New PromptPostProcessorSelectVariableComfyUINode for selecting variables.
* Fixed detection of Flux Schnell in Forge.
* Improved documentation.
2025-02-09 21:22:30 +01:00