Commit Graph
120 Commits
Author SHA1 Message Date
Ken SimpsonandClaude Opus 5.5 600d2e9963 Progressive preview: final grid display, image viewer, copy and save (#10)
* Make the progressive grid the preview's final display, with an image viewer

The slot grid now stays up after the run: the final executed images fill
it and hideOutputImages stops ComfyUI from drawing a second native preview
below. Clicking a slot enlarges it to fill the node, with prev/next
buttons, wrap-around arrow-key navigation, and Esc or click to return.
Outputs restored without an executed event are shown in the grid too.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Let users open, copy, and save images from the progressive preview

Expose the slot images through node.imgs, with imageIndex following the
enlarged or last-hovered slot, so ComfyUI's own Open/Copy/Save Image menu
entries work as they do on PreviewImage. Replace this node's
onDrawBackground so the classic canvas does not redraw the native preview,
and add open, save, and copy buttons to the enlarged viewer.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-06 14:56:13 -07:00
Ken SimpsonandClaude Opus 5.5 dba3a6abd9 Add Remote Progressive Preview node and run every mapped item (#9)
* Expect resolved STRING type for ModalMapInput boundaries

69a33e3 made _remote_output_io_type resolve wildcard "*" outputs through
their linked input, so a ModalMapInput boundary fed by a STRING list now
reports STRING, matching the mapped_input type the test already expects.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Add Remote Progressive Preview node

A local PreviewImage-style node that shows one empty slot per mapped item
when remote work starts and fills each slot as soon as that item's images
stream back, instead of waiting for ComfyUI to deliver the whole result.

- Planning records direct consumers as progressive_preview_target_node_ids
  and exempts them from local bridge materializers.
- The remote shim streams boundary outputs for those targets; mapped item
  payloads carry map_item_count and dispatch emits a start event.
- The host saves streamed images to temp, records them per prompt/node, and
  sends modal_progressive_preview websocket events.
- The node reuses streamed slots on final execution and only materializes
  bridge refs that were never streamed.
- web/progressive_preview.js renders the slot grid and hands off to the
  native preview on the final executed event.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Execute every mapped item instead of reusing shared-session outputs

Mapped items share one remote session. The restored-session short-circuit,
meant for identical per-lane seed phases, looked outputs up by node id
only, so after the first item on a container every later item skipped
sampling and returned that earlier item's image under its own bridge key.
Payloads carrying map_item_index now always execute.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Keep finished progressive previews handed off to the native preview

Hide the panel with an inline display style so the frontend's DOM-widget
wrapper cannot override the hidden attribute, and ignore replayed events
for a prompt whose final images were already delivered.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-06 14:09:02 -07:00
Ken Simpson 1a8aad397b Format byte download progress units 2026-08-29 15:02:05 -07:00
Ken Simpson 5e16a97031 Add macOS keychain unlock recovery 2026-08-28 14:00:09 -07:00
Ken Simpson 4121526dae Invalidate plan after Vast capacity kill 2026-08-28 13:49:59 -07:00
Ken Simpson f98edb8372 Replace provisional Vast status lanes 2026-08-28 13:44:19 -07:00
Ken Simpson 99dd1d166f Make configurator panel width responsive 2026-08-28 13:34:46 -07:00
Ken Simpson 82cdfc0f58 Make configurator controls interactive 2026-08-28 13:26:55 -07:00
Ken Simpson a02fcd8ce6 Add managed capacity kill controls 2026-08-28 12:39:35 -07:00
Ken Simpson 43c479014a Acknowledge remote jobs during preparation 2026-08-28 11:55:58 -07:00
Ken Simpson 72d0fb6973 Group execution plan by hardware target 2026-08-25 16:45:56 -07:00
Ken Simpson d4eab5d014 Show provider icons beside progress bars 2026-08-25 14:56:01 -07:00
Ken Simpson 2f7af31921 Format byte transfer progress rates 2026-08-25 14:46:23 -07:00
Ken Simpson 1d5f0822ca Add storage state reload control 2026-08-25 14:15:30 -07:00
Ken Simpson 11e57c810b Show R2 bucket usage in execution plans 2026-08-25 13:54:36 -07:00
Ken Simpson 00815897a4 Summarize storage backends in execution plans 2026-08-25 13:42:51 -07:00
Ken Simpson 43658f90f8 Require manual R2 credential import after OAuth 2026-08-25 10:45:26 -07:00
Ken Simpson 9dd4282a28 Report SSH runtime readiness accurately 2026-08-24 23:17:26 -07:00
Ken Simpson f024f51c26 Show accurate Vast setup status in configurator 2026-08-24 22:24:33 -07:00
Ken Simpson b57d0f6cf0 Add OAuth-backed R2 storage configuration 2026-08-24 22:20:07 -07:00
Ken Simpson 194df484d1 Recover stale Vast offers and persist UI failures 2026-08-24 21:58:36 -07:00
Ken Simpson d4b3206780 Fix workflow SSH GPU launch and terminal UI state 2026-08-24 21:03:35 -07:00
Ken Simpson cfc0ce010c Split Configurator progress by environment 2026-08-24 21:03:35 -07:00
Ken Simpson e3cdcc3bd6 Replay remote status after page refresh 2026-08-24 21:03:35 -07:00
Ken Simpson 33cddd7ee9 Avoid fake node errors during remote preparation 2026-08-24 21:03:35 -07:00
Ken Simpson c6bbb3ec6c Cancel Vast preparation and bootstrap model downloads 2026-08-24 15:35:58 -07:00
Ken Simpson 5c758487c5 Preserve Vast startup failure diagnostics 2026-08-24 14:17:19 -07:00
Ken Simpson 3d33db2ee7 Remove stale configurator panels before remount 2026-08-24 13:54:59 -07:00
Ken Simpson c42696d307 Stream configurator plans before capacity startup 2026-08-24 13:36:07 -07:00
Ken Simpson 044ae56cf4 Render remote plans on configurator node 2026-08-24 09:38:39 -07:00
Ken Simpson 2ccdb3099e Make remote status provider-aware 2026-08-23 23:26:55 -07:00
Ken Simpson 7b6a9df4b7 Refactor remote execution capacity configuration 2026-08-23 20:04:03 -07:00
Ken Simpson f2a1c5edde Fix Nodes 2.0 provider policy menu 2026-08-23 15:36:08 -07:00
Ken Simpson 6895b644f0 Render execution locations in Nodes 2.0 2026-08-23 09:33:08 -07:00
Ken Simpson 9472483742 Add managed Vast.ai execution backend 2026-08-23 08:59:44 -07:00
Ken Simpson 0d623e79c1 Add Vast profiles API client and simulator 2026-08-23 08:38:10 -07:00
Ken Simpson e554ab136a Show multi-environment execution locations 2026-08-23 08:31:34 -07:00
Ken Simpson 412436818b Reclaim idle SSH workers during placement 2026-08-22 20:51:45 -07:00
Ken Simpson 9a92fe2ecb Add provider-aware workflow partitioning 2026-08-22 20:10:22 -07:00
Ken Simpson a7293a2cb1 Harden self-hosted scheduling and lifecycle 2026-08-22 15:32:57 -07:00
Ken Simpson 42cae2378d Add SSH Docker remote execution 2026-08-22 15:19:12 -07:00
Ken Simpson 095ebd0af1 Highlight Modal work in containing subgraphs 2026-08-21 13:10:06 -07:00
Ken Simpson 4f5aeb1c98 Fix Modal progress panel palette reference 2026-08-19 22:40:40 -07:00
Ken Simpson e18ddc81ba Clarify local Modal placement warning 2026-08-19 12:24:09 -07:00
Ken Simpson 5e910ef272 Prevent disabled LLM nodes from launching Modal 2026-08-19 10:33:32 -07:00
Ken Simpson 082909062b Stream Modal LLM progress and vLLM tokens 2026-08-19 09:09:12 -07:00
Ken Simpson 03a08e00ec Show hourly Modal app billing in status pill 2026-08-19 08:26:43 -07:00
Ken Simpson bac22e8537 Add Modal hosted endpoint chat node 2026-08-18 17:01:33 -07:00
Ken Simpson 1894a600b6 Warn about local Modal re-entry bottlenecks 2026-08-14 23:22:04 -07:00
Ken Simpson 98878c0e83 Overlay iteration rate on progress bars 2026-08-13 21:02:44 -07:00