53 lines
1.4 KiB
Python
53 lines
1.4 KiB
Python
"""
|
|
KikoWorkflow Timer Node
|
|
|
|
A display-only node that shows real-time execution timing for ComfyUI workflows.
|
|
The timer is managed entirely on the frontend via WebSocket events.
|
|
"""
|
|
|
|
from ...base import ComfyAssetsBaseNode
|
|
|
|
|
|
class KikoWorkflowTimerNode(ComfyAssetsBaseNode):
|
|
"""
|
|
A UI node that displays a real-time timer for workflow execution.
|
|
|
|
The timer starts when execution begins and stops when the workflow
|
|
completes, showing the total elapsed time in MM:SS:mmm format.
|
|
|
|
This is a display-only node with no inputs or outputs - all timing
|
|
logic is handled by the JavaScript frontend via WebSocket events.
|
|
"""
|
|
|
|
DISPLAY_NAME = "Workflow Timer"
|
|
CATEGORY = "🫶 ComfyAssets/🛠️ Utils"
|
|
|
|
@classmethod
|
|
def INPUT_TYPES(cls):
|
|
return {
|
|
"required": {},
|
|
"hidden": {
|
|
"prompt": "PROMPT",
|
|
"unique_id": "UNIQUE_ID",
|
|
},
|
|
}
|
|
|
|
RETURN_TYPES = ()
|
|
FUNCTION = "execute"
|
|
OUTPUT_NODE = True
|
|
|
|
def execute(self, **kwargs):
|
|
"""
|
|
Execute method - returns empty since this is a display-only node.
|
|
|
|
The actual timer functionality is handled entirely by the JavaScript
|
|
frontend which hooks into ComfyUI's WebSocket events.
|
|
|
|
Args:
|
|
**kwargs: Hidden parameters (prompt, unique_id)
|
|
|
|
Returns:
|
|
Empty dict - no outputs
|
|
"""
|
|
return {}
|