21 Commits
Author SHA1 Message Date
6fc02d17bd Add Github Action for Publishing to Comfy Registry (#2)
Co-Authored-By: Lana <lana@oneframework.to>
Co-Authored-By: jessesep <38885595+jessesep@users.noreply.github.com>
2026-06-21 12:28:30 +02:00
23b2d73b33 Add pyproject.toml for Custom Node Registry (#1)
Co-Authored-By: Lana <lana@oneframework.to>
Co-Authored-By: jessesep <38885595+jessesep@users.noreply.github.com>
2026-06-21 12:28:27 +02:00
jessesepandClaude 61a2c58a3a Back to Python nodes with preview + text input
- SimpleSet/Get use text input (type any name)
- Preview shows on node after execution
- SimpleGet has trigger input for execution order
- SimpleList shows all variables
- SimpleClear clears all

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-05 02:30:24 +01:00
jessesepandClaude 1e8bd05938 Hybrid approach: Python stubs + JS virtual override
- Python defines nodes with ANY type so they appear in menus/drag connections
- JS overrides with isVirtualNode for actual graph-redirect behavior
- SimpleSet accepts any input, passes through
- SimpleGet dropdown shows available setter names

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-05 02:25:53 +01:00
jessesepandClaude f85f0bbb10 Rename to SimpleSet, SimpleGet, SimpleList, SimpleClear
All nodes in SimpleVariables category:
- SimpleSet: Set a variable by name
- SimpleGet: Get a variable (dropdown shows available names)
- SimpleList: Show all variable names (click Refresh)
- SimpleClear: Clear all variable connections

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-05 02:19:37 +01:00
jessesep 79ca91b113 Simplify: rename to SimpleSet/SimpleGet, clean code 2025-12-05 02:17:48 +01:00
jessesep e4f449910e Add debug logging and fix node type paths 2025-12-05 02:15:01 +01:00
jessesepandClaude fef6ef6c2c Fix: capture node reference for dropdown callback
The 'this' context was wrong inside the values callback.
Now uses 'node' reference like KJNodes does.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-05 02:12:50 +01:00
jessesepandClaude d2a4ffdd3b Rewrite as pure JavaScript frontend nodes - no trigger needed
- Nodes are now isVirtualNode = true (no Python execution)
- GetVariable uses getInputLink() to redirect to SetVariable's input
- Data flows directly through the graph, no execution order issues
- Get Variable has dropdown showing available variable names
- Node titles update to show variable name (Set: foo, Get: foo)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-05 02:08:10 +01:00
jessesepandClaude 7fa22d3ae9 Revert IS_CHANGED storage - trigger input required
IS_CHANGED doesn't have access to computed input values yet.
The trigger input is required to ensure execution order.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-05 02:06:05 +01:00
jessesepandClaude ad43e6a815 Store variables in IS_CHANGED phase - no trigger needed
- SetVariable now stores value during IS_CHANGED (runs before execution)
- This ensures values are available before any GetVariable runs
- Removed trigger input from GetVariable - no longer needed
- Much cleaner workflow without requiring manual connections

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-05 01:58:44 +01:00
jessesepandClaude df51777e38 Add IS_CHANGED to force re-execution on every run
- SetVariable and GetVariable now always re-execute
- Prevents ComfyUI from caching old variable values
- Returns time.time() to signal change on every execution

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-05 01:57:05 +01:00
jessesepandClaude 42d994649e Fix type matching with AnyType class
- Added AnyType class that bypasses ComfyUI type validation
- This fixes "Return type mismatch" errors with wildcards
- Pattern used by ComfyUI_essentials and other popular nodes

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-05 01:52:01 +01:00
jessesepandClaude afba842a33 Add trigger input to GetVariable for execution ordering
- GetVariable now has optional 'trigger' input
- Connect SetVariable output to GetVariable trigger to ensure Set runs first
- Returns None instead of error when variable not found (graceful handling)
- Shows "NOT SET" in preview when variable missing

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-05 01:50:39 +01:00
jessesepandClaude 700ac580cc Fix JS loading - add WEB_DIRECTORY and absolute imports
- Added WEB_DIRECTORY = "./web" to __init__.py (required for ComfyUI to find JS)
- Added __all__ export
- Changed JS imports to absolute paths (/scripts/app.js)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-05 01:47:35 +01:00
jessesepandClaude ff25769955 Add JavaScript for on-node text display
- Added web/simplevariables.js to handle displaying preview text
- Registers extension that hooks into node execution
- Creates a read-only text widget on the node when executed
- Automatically resizes node to fit content

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-05 01:43:10 +01:00
jessesepandClaude e281f96475 Show preview directly on node instead of separate output
- Changed return format to use {"ui": {"text": [preview]}, "result": (value,)}
- Preview text now displays on the node itself like Show Text nodes
- Removed separate preview output port - cleaner node design
- Updated README to reflect on-node preview feature

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-05 01:39:13 +01:00
jessesep a4934d34fc Clean up: remove deprecated, add preview output, add ClearVariables
- Set/Get Variable now output preview string showing type + shape/value
- Added ClearVariables node
- Removed all deprecated type-specific nodes
- Simplified to 4 clean nodes
2025-12-05 01:33:16 +01:00
jessesep dc12f4f74d Add .gitignore 2025-12-05 00:36:07 +01:00
jessesep 632a99ee3f Simplify to universal Set/Get Variable nodes
- Main nodes: Set Variable, Get Variable, List Variables
- Works with ALL data types (Image, Mask, Latent, Model, etc.)
- Type-specific nodes moved to deprecated category
- Updated documentation
2025-12-05 00:35:55 +01:00
jessesep f6ee537ab6 Initial commit: ComfyUI Simple Variables node pack
Set/Get variable nodes for Image, Mask, Latent, Conditioning, Model, CLIP, VAE, String, Int, Float, and Any types.
2025-12-05 00:32:25 +01:00