Moving from a node to the panel crossed empty canvas or other nodes and
changed what it showed, so Lock and the editors were out of reach without
Sticky. Hover now holds the node while the pointer heads for the panel,
until it rests, and only reads the canvas, DOM widgets and Vue nodes, so
the sidebar no longer exposes nodes behind it. With Follow Cursor the
glass holds still on the way.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Over a DOM widget such as a prompt text box, node_over is empty and the
Inspector falls back to its own hit test. That divided the offset by the
scale, so it missed at any zoom but 100%. It now uses LiteGraph's
ds.convertCanvasToOffset, and the try/catch that hid this is gone.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Listen for the viewer once ComfyUI is set up, so a viewer left open over a reload connects fully
- A duplicated tab starts its own session instead of sharing the viewer
- Ignore requests from a viewer that is not connected
- Stop the render loop while the glass is hidden and the viewer shows no frames
- Do not place the panel again on the 250 ms refresh
- Build output URLs from filename, subfolder and type only
- Viewer: skip undecodable frames, tolerate showPicker and blocked storage, keep the channel open on unload, shorten "Go to node…"
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Each slot lists the nodes it links to as chips that jump to them, and flags
required inputs with nothing connected. Links to a subgraph's own input or
output show as plain chips.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The shown node's live previews or last results appear as thumbnails under the
header, and the Output view shows one in place of the frame.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Forward ComfyUI's execution events as a throttled run message while the
viewer is connected: a run bar, node badges, an error banner and marked rows.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Add the Inspector's header, nav row, breadcrumb and searchable node picker,
run panel actions through UIManager.runAction, and bring the editors, copy
buttons and viewer keys in line with the Inspector.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
InfoPanel builds the payload, applies the Inspector's edit guards and refreshes
the viewer on a 250 ms tick while connected, also when the glass is off.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Paint Vue nodes under the glass from the DOM, since the canvas capture
has none of them.
- Resolve the Inspector's hovered node from the Vue node element under
the cursor, falling back to the canvas hit test in pan mode.
- Fit the node highlight to collapsed nodes in both modes.
- Draw Node Title Emphasis on the title bar instead of the first slot
row, and skip nodes without a title bar such as Reroute.
- Fill the glass with the page background so it is not half-empty at
the canvas edge or wrong at zoom 1.5 and above.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Restyle the panel on ComfyUI palette tokens and drop the built-in themes.
Add a header with Back/Forward, Prev/Next, Focus, Lock and a searchable
Go to node picker, a subgraph/group breadcrumb, and simplified modes:
Follow glass or Float, plus Sticky, Follow selection and Lock to node
(replaces Hold).
Fix widget edits (step2 steps, INT/FLOAT, commit on Enter/blur, undo),
subgraph lookups, orphaned dropdown menus, global arrow-key capture,
the pop-out editor, and remove Google Fonts loading and dead code.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>