feat(webv2): video generation parameter recall - #134
Merged
Conversation
lstein
requested review from
JPPhoto,
Pfannkuchensack and
blessedcoolant
as code owners
August 21, 2026 01:46
lstein
force-pushed
the
feat/video-panel-07-polish
branch
from
August 21, 2026 02:44
7361801 to
9f40c6a
Compare
lstein
force-pushed
the
feat/video-panel-08-recall
branch
from
August 21, 2026 02:51
ab2dd77 to
0434c76
Compare
lstein
force-pushed
the
feat/video-panel-07-polish
branch
from
August 21, 2026 03:06
fe2f056 to
c513754
Compare
lstein
force-pushed
the
feat/video-panel-08-recall
branch
from
August 21, 2026 03:06
f4cc91b to
49e6738
Compare
lstein
force-pushed
the
feat/video-panel-07-polish
branch
from
August 21, 2026 03:31
c513754 to
60a3a7f
Compare
lstein
force-pushed
the
feat/video-panel-08-recall
branch
from
August 21, 2026 03:31
49e6738 to
3b8ed68
Compare
lstein
force-pushed
the
feat/video-panel-07-polish
branch
from
August 22, 2026 02:23
60a3a7f to
daea7a9
Compare
lstein
force-pushed
the
feat/video-panel-08-recall
branch
from
August 22, 2026 02:24
3b8ed68 to
457e24b
Compare
Adds Recall Metadata for gallery videos (PR 8 of the video panel stack).
The backend was already complete — video records persist the graphs'
core_metadata via the WithMetadata fallback in VideosInterface.save, and
GET /videos/i/{name}/metadata serves it — so this is the frontend read
path, a sibling of the image recall machinery:
- videoRecall.ts: the pure metadata → panel-patch mapper. Gated on the
nine video generation_mode stamps; model resolved by key against the
installed catalog with the canonical family transition applied before
the recorded values land; frames snapped to the resolved family's
grid; recorded W×H inverted to an aspect + resolution preset on exact
match only (a near-miss would recall a preset the run never used);
LoRAs recalled by key — the first recall implementation to do so —
with the accelerator flag restored when the recalled set is exactly
what the toggle would install at its step count; prompts routed into
the shared project draft (where the compiler reads them from). The
conditioning mode is never recalled directly: media fields are
restored and the mode falls out, and in extend mode the recorded
first_frame_image (the frame the graph extracted from the source
clip) is deliberately not recalled.
- executeVideoRecall.ts: account-scoped metadata cache, gallery
re-hydration of media (names → dimensions/probe data; deleted media
drops rather than resurrecting broken references; the source clip
rebuilds through createVideoSourceClip with the default trim), then a
widget-values patch + prompt-draft patch, with the same toast/error
surface as image recall.
- Context menu: a Recall Metadata submenu on gallery videos (Recall
All / Remix Video / Use Prompt / Use Seed), capability-gated by what
the video's metadata actually contains, next to Extend in Video.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The whole-module gallery mock predated video recall, so the static import of galleryVideos in executeVideoRecall failed to link and the browser suite for useImageActions died at import time. Add the galleryVideos.metadata and galleryImages.resolveMany seams the recall path uses. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The recall modules join the editor's initial workbench chunk, so both the build-size baseline and the browser measurement's source-owner set needed re-capturing on the re-based parent baseline. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
lstein
force-pushed
the
feat/video-panel-07-polish
branch
from
August 22, 2026 02:50
daea7a9 to
00abdab
Compare
lstein
force-pushed
the
feat/video-panel-08-recall
branch
from
August 22, 2026 02:50
457e24b to
9534686
Compare
…call - Recall the recorded Wan fps (the write side landed in the 05 branch); it was the one user-settable Wan parameter recall silently reset. - Restore the recorded source-clip trim (new source_video_start/end_frame metadata extras), clamped to the fresh estimate: the rebuilt clip's default trim made a recalled extension start from the wrong frame. - Reconcile hydrated media against the effective model's modes: a deleted first frame left an interpolate recall holding last-frame-only (no Wan mode), and an uninstalled recorded model left i2v media on a t2v main — un-generatable panels behind a success toast. - Make the prompts-only skip real: the builder always returns a fresh values copy, so the identity comparison never fired and every recall performed a full widget-values write. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LUjUcPHzQCoL7dqgsVzi63
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
PR 8 of the Video generation panel stack — stacked on #131. Gallery videos gain Recall Metadata.
Backend
Nothing needed — verified rather than assumed:
VideosInterface.savealready persists the graphs'core_metadatathrough theWithMetadatamixin fallback, andGET /api/v1/videos/i/{name}/metadataserves it (the August video-metadata groundwork plus PR 3's graph stamping pay off here).Frontend
A sibling of the image-recall machinery (
videoRecall.ts/executeVideoRecall.ts), with the video-specific semantics:generation_modestamps — image metadata never recalls into the Video panel).first_frame_image(the frame the graph extracted from the source clip) is deliberately not recalled.guidance_scale_low_noisekey restoresnull(reuse), not a stale explicit value.Verification
tsc/oxlint/format/architecture:checkclean🤖 Generated with Claude Code