This commit introduces the Hybrid Identity Architecture's Dynamic Engine: - `tools.py`: Adds new Math constraint nodes (`ResTool 8x, 16x, 32x, 64x`) to calculate safe resolutions dynamically, preventing VRAM overflow. - `loop.py`: Replaces the legacy static mathematical state machine with a dynamic performance-based state using `global_accumulated_frames` to progress accurately based on successful generations. - `image.py`: Overhauls `SessionImageSender` to dynamically truncate generated image tensors using OpenCV if faces are lost, saving the last valid frame, and correctly adjusting the loop progression. `SessionImageReceiver` updated to log dynamic progression. - `video.py`: Refactors `AutoLoopCalculator` and `IncrementalVideoStitcher` to work under the new dynamic state machine logic. - `__init__.py`: Registered new nodes, updated imports to include `tools`, and bumped version to v1.5.0. - `README.md` & `README_EN.md`: Updated documentation to detail the new Dynamic Engine functionality and Tools suite.
30 lines
1.0 KiB
Python
30 lines
1.0 KiB
Python
__version__ = "1.5.0"
|
|
|
|
NODE_CLASS_MAPPINGS = {}
|
|
NODE_DISPLAY_NAME_MAPPINGS = {}
|
|
|
|
def register_node(c, display_name=None):
|
|
NODE_CLASS_MAPPINGS[c.__name__] = c
|
|
NODE_DISPLAY_NAME_MAPPINGS[c.__name__] = display_name or c.__name__
|
|
return c
|
|
|
|
# Importar tools
|
|
from . import image, loop, video, tools
|
|
|
|
NODE_DISPLAY_NAME_MAPPINGS.update({
|
|
"SessionImageReceiver": "📥 Session Image Receiver",
|
|
"SessionImageSender": "📤 Session Image Sender",
|
|
"IncrementalVideoStitcher": "🎞️ Incremental Auto-Stitcher",
|
|
"VideoAnalyzerWithAudio": "🕵️ Video Analyzer + Audio",
|
|
"AutoLoopCalculator": "📊 Auto Loop Calculator",
|
|
"SequentialLoopStart": "🏁 Loop Start (Index)",
|
|
"SequentialLoopTrigger": "🚀 Loop Trigger (Auto-Queue)",
|
|
# Tools
|
|
"ResTool8x": "📐 ResTool 8x (SD1.5)",
|
|
"ResTool16x": "📏 ResTool 16x (SDXL)",
|
|
"ResTool32x": "🎞️ ResTool 32x (WanVideo)",
|
|
"ResTool64x": "🎬 ResTool 64x (Hunyuan)",
|
|
})
|
|
|
|
__all__ = ['NODE_CLASS_MAPPINGS', 'NODE_DISPLAY_NAME_MAPPINGS']
|