3.9 KiB
Node Loading Fixed - Final Summary ✅
Problem
After the modular refactoring, all 19 nodes stopped loading in ComfyUI despite showing success in the startup log.
Root Cause
The over-complicated refactoring introduced:
- Lazy loading with properties - caused issues during ComfyUI's node registration
- Singleton pattern attempt - added unnecessary complexity
- Missing
__init__methods - broke ComfyUI's node instantiation
Solution Applied
Restored the working pattern from the original files while keeping the modular organization:
Changes Made
-
core/orchestrator.py - Changed to eager loading
- ✅ Loads all modifiers in
__init__()immediately - ✅ No more lazy loading properties
- ✅ Simple instance variables
- ✅ Loads all modifiers in
-
All 19 Node Files - Restored
__init__pattern- ✅ Each node has
def __init__(self): self.orchestrator = PromptOrchestrator() - ✅ Matches the old working structure exactly
- ✅ Each node has
-
__init__.py - Simplified imports
- ✅ Direct import from nodes module
- ✅ No singleton complexity
Files Updated
core/orchestrator.py(eager loading)nodes/lighting_node.pynodes/seasonal_node.pynodes/location_node.pynodes/weather_node.pynodes/mood_node.pynodes/camera_node.pynodes/color_grading_node.pynodes/action_node.pynodes/era_node.pynodes/detail_node.pynodes/composition_node.pynodes/style_node.py(2 classes)nodes/batch_node.py(2 classes)nodes/utility_nodes.py(4 classes)__init__.py
Test Results
✓ All imports successful
✓ 19 nodes found
✓ Node instantiation works
✓ Node functionality tested: "test car" → "test car, golden hour, warm low-angle side-light, clear sky"
Next Step - USER ACTION REQUIRED
YOU MUST RESTART COMFYUI for the fix to take effect:
- Completely close ComfyUI
- Restart ComfyUI
- Check the startup log for:
================================================================================ Prompt Orchestration Nodes v2.0.0 loaded successfully! - 19 custom nodes available - 11 variation dimensions: • Lighting (20 modifiers) • Seasonal (20 modifiers) ... ================================================================================ - Open the node browser (right-click or double-click in workflow)
- Verify "Prompt Orchestration" category appears
- Test adding a node like "Lighting Modifier (Single)"
Available Nodes (19 Total)
Single Modifier Nodes (11)
- Lighting Modifier (Single)
- Seasonal Modifier (Single)
- Location Modifier (Single)
- Weather Modifier (Single)
- Mood Modifier (Single)
- Camera Modifier (Single)
- Color Grading (Single)
- Action Modifier (Single)
- Era Modifier (Single)
- Detail Modifier (Single)
- Composition (Single)
Style Nodes (2)
- Style Transform
- Multi-Style Layer
Batch Nodes (2)
- Batch Variation Generator
- Preset Collection
Utility Nodes (4)
- Modifier Info
- Prompt Combiner
- Random Modifier
- Smart Variation (NLP)
What Was Kept
✅ Modular modifier organization (220 modifiers in separate files) ✅ Clean code structure ✅ All 11 variation dimensions
What Was Fixed
✅ Removed over-engineering (singleton, lazy loading)
✅ Restored working __init__ pattern
✅ Simplified orchestrator initialization
✅ Direct, simple imports
Architecture Now
ComfyUI loads → __init__.py → nodes/__init__.py → 19 node classes
↓
Each node creates: PromptOrchestrator()
↓
Orchestrator eagerly loads all 220 modifiers
Status: ✅ FIXED AND TESTED Action Required: Restart ComfyUI to see the nodes!