Skip to content

feat(webv2): video panel entry points and polish - #131

Merged
lstein merged 4 commits into
mainfrom
feat/video-panel-07-polish
Aug 22, 2026
Merged

feat(webv2): video panel entry points and polish#131
lstein merged 4 commits into
mainfrom
feat/video-panel-07-polish

Conversation

@lstein

@lstein lstein commented Aug 20, 2026

Copy link
Copy Markdown
Collaborator

PR 7 — the top of the Video generation panel stack (on #129).

What this adds

  • Launchpad: a "Generate a video" intent tile — /app?new=true&intent=video opens a compose-preset draft with the invoke route set to video.
  • Gallery context menus: Send to Video on images seeds the first frame; Extend in Video on videos seeds the initial video with its default trim. Both open the widget, respect the first-frame ⊻ initial-video exclusion, and route the invoke source (same semantics as the existing Send to Upscale).
  • Widget-header reset: restores every model-governed setting (frames, fps, target resolution, steps, CFG, accelerator state) to the selected model's defaults — prompts and conditioning media untouched.
  • Docs: the video-generation page now leads with the panel before the workflow templates.

Review findings fixed (fresh-context adversarial pass)

  • Video normalization now heals partial records field-by-field, upscale-style. Previously it returned null for anything missing the core shape — so seeding a never-opened widget from the context menu produced values the mount-time reconciler would wipe, silently discarding the payload on the feature's most likely first-contact path. Healing also repairs any other partial-write path (rollback restores included); readiness still blocks correctly through the model-required check.
  • The header reset gates on a loaded model catalog — defaults computed from an empty catalog would have claimed the accelerator pair was "not a default" and stripped it as the reset.
  • The reset's at-defaults check compares LoRAs as a set (order is insertion history, not a setting), so adding a concept LoRA no longer lights the button spuriously.

Full suite 477 files / 6329 tests (+ 756 browser tests in the review run); tsc / oxlint / format / i18n-key coverage clean.

🤖 Generated with Claude Code

@lstein
lstein force-pushed the feat/video-panel-06-concepts branch from ff01908 to 7e6386f Compare August 21, 2026 00:50
@lstein
lstein force-pushed the feat/video-panel-07-polish branch from 4200941 to 7361801 Compare August 21, 2026 00:50
@lstein
lstein force-pushed the feat/video-panel-06-concepts branch from 7e6386f to 9d376a6 Compare August 21, 2026 02:39
@lstein
lstein force-pushed the feat/video-panel-07-polish branch from 7361801 to 9f40c6a Compare August 21, 2026 02:42
@lstein
lstein force-pushed the feat/video-panel-06-concepts branch from a11ff3c to 6de9312 Compare August 21, 2026 03:06
@lstein
lstein force-pushed the feat/video-panel-07-polish branch from fe2f056 to c513754 Compare August 21, 2026 03:06
@lstein
lstein force-pushed the feat/video-panel-06-concepts branch from 6de9312 to 33163f7 Compare August 21, 2026 03:31
@lstein
lstein force-pushed the feat/video-panel-07-polish branch from c513754 to 60a3a7f Compare August 21, 2026 03:31
@lstein
lstein force-pushed the feat/video-panel-06-concepts branch from 33163f7 to f496d04 Compare August 22, 2026 02:23
@lstein
lstein force-pushed the feat/video-panel-07-polish branch from 60a3a7f to daea7a9 Compare August 22, 2026 02:23
lstein and others added 2 commits August 21, 2026 22:41
Final PR of the video panel stack:

- Launchpad gains a "Generate a video" intent tile (compose preset,
  video source), so /app?new=true&intent=video opens a draft arranged
  for video work.
- Gallery context menus: "Send to Video" on images seeds the first
  frame; "Extend in Video" on videos seeds the initial video with its
  default trim — both open the widget, respect the panel's first-frame ⊻
  initial-video exclusion, and route the invoke source.
- A widget-header reset action restores every model-governed setting
  (frames, fps, target resolution, steps, CFG, accelerator state) to
  the selected model's defaults, leaving prompts and conditioning media
  untouched — the Generate panel's affordance, videofied.
- The video-generation docs gain a section pointing users at the panel
  before the workflow templates.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Capture this branch's bundle footprint on the re-based parent baseline;
platform-ui barrel importer budget raised to the actual count (160).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@lstein
lstein force-pushed the feat/video-panel-06-concepts branch from f496d04 to db54421 Compare August 22, 2026 02:49
@lstein
lstein force-pushed the feat/video-panel-07-polish branch from daea7a9 to 00abdab Compare August 22, 2026 02:50
lstein and others added 2 commits August 22, 2026 11:26
- Bootstrap the picked model's own family defaults (accelerator included)
  when the selection transition starts from a never-seeded store: the
  settings-healing change had silently killed the blank-widget bootstrap,
  so a fresh H3 panel opened at the Wan fallbacks (40 steps / CFG 5, Turbo
  off) instead of its real defaults (6 steps / CFG 1, Turbo on).
- Compute the header reset from catalog-synced values, exactly like the
  panel view: the raw store could hold a phantom model uninstalled while
  the panel was open, and reset would have patched it back.
- Extend reset (and its dirty check) to the remaining default-bearing
  fields: aspect ratio and the six component selections — a mispicked VAE
  or expert is exactly what reset gets reached for.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LUjUcPHzQCoL7dqgsVzi63
Base automatically changed from feat/video-panel-06-concepts to main August 22, 2026 17:26
@lstein
lstein merged commit c102c57 into main Aug 22, 2026
19 checks passed
@lstein
lstein deleted the feat/video-panel-07-polish branch August 22, 2026 17:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant