Files
Meisoftcoltd-comfyui-sequen…/__init__.py
T
Meisoftcoltd fc24328c95 Add SessionImageSender and SessionImageReceiver nodes
- Added `SessionImageSender` to save the last frame of an image batch (using `.clone()` to safely decouple the tensor) into a global session variable.
- Added `SessionImageReceiver` to inject the stored image into the start of the next workflow execution cycle.
- Both nodes utilize `IS_CHANGED` returning `NaN` to force execution on every Auto Queue tick.
- Updated `__init__.py` to register the new nodes under the display names "📤 Session Image Sender" and "📥 Session Image Receiver".
- Ensures users can chain frame sequences across independent batch loops without creating cyclic dependencies in ComfyUI.
2026-03-22 12:33:59 +00:00

79 lines
2.6 KiB
Python

__version__ = "0.9.3-beta"
NODE_CLASS_MAPPINGS = {}
NODE_DISPLAY_NAME_MAPPINGS = {}
def register_node(c, display_name=None):
assert not isinstance(c.RETURN_TYPES, str), "Error: string found instead of tuple."
assert not isinstance(c.RETURN_NAMES, str), "Error: string found instead of tuple."
NODE_CLASS_MAPPINGS[c.__name__] = c
NODE_DISPLAY_NAME_MAPPINGS[c.__name__] = display_name or c.__name__
return c
from . import sequence, paths, batch, image, debug, loop, video
# Display name mappings with emojis
NODE_DISPLAY_NAME_MAPPINGS.update({
# Sequence
"Range": "🔢 Range",
"Literal": "📝 Literal",
"Reorder": "🔄 Reorder",
"Combinations": "🧬 Combinations",
"Permutations": "🔀 Permutations",
"Slice": "✂️ Slice",
"Join": "🔗 Join",
"ModelFinder": "🔍 Model Finder",
# Batch
"MakeBatch": "🛠️ Make Batch",
"CombineBatches": "🖇️ Combine Batches",
"EnumerateBatch": "🔢 Enumerate Batch",
"GetBatchStep": "📍 Get Batch Step",
"FormatAttributes": "📝 Format Attributes",
"GetAttribute": "📥 Get Attribute",
"GetAttributeInt": "📥 Get Attribute (Int)",
"GetAttributeFloat": "📥 Get Attribute (Float)",
"GetAttributeString": "📥 Get Attribute (String)",
"BatchToList": "🔄 Batch To List",
"LoadCSV": "📂 Load CSV",
"PreviewBatch": "📊 Preview Batch",
# Image
"JoinImageBatch": "🖼️ Join Image Batch",
"JoinImages": "🖼️ Join Images",
"SelectImageBatch": "🎯 Select Image Batch",
"SelectImageList": "🎯 Select Image List",
"GetImageSize": "📏 Get Image Size",
"StringToImage": "🔤 String To Image",
"ProgressBar": "⏳ Progress Bar",
"ImageBatchToList": "🖼️ Image Batch To List",
"ImageListToBatch": "🖼️ Image List To Batch",
"LatentBatchToList": "🎞️ Latent Batch To List",
"LatentListToBatch": "🎞️ Latent List To Batch",
"SessionImageReceiver": "📥 Session Image Receiver",
"SessionImageSender": "📤 Session Image Sender",
# Video
"FFmpegVideoStitcher": "🎞️ FFmpeg Video Stitcher",
"IncrementalVideoStitcher": "🎞️ Incremental Auto-Stitcher",
# Debug
"Stringify": "🧵 Stringify",
"Interact": "⌨️ Interact",
# Loop
"LoopIndex": "🔁 Sequential Loop Index",
"Repeat": "🔁 Repeat",
})
# Backward compatibility for "Job" naming
NODE_CLASS_MAPPINGS.update({
"MakeJob": batch.MakeBatch,
"CombineJobs": batch.CombineBatches,
"EnumerateJob": batch.EnumerateBatch,
"GetJobStep": batch.GetBatchStep,
"JobToList": batch.BatchToList,
})