Skip to content

Web UI: engine dock, ControlNet, styles, Forge preview, library video#111

Merged
janiluuk merged 9 commits into
mainfrom
ui/crossfader-bottom-drawer-engine-dock
Jun 3, 2026
Merged

Web UI: engine dock, ControlNet, styles, Forge preview, library video#111
janiluuk merged 9 commits into
mainfrom
ui/crossfader-bottom-drawer-engine-dock

Conversation

@janiluuk

@janiluuk janiluuk commented Jun 3, 2026

Copy link
Copy Markdown
Owner

Summary

  • Reorganize repo layout (tools/, design docs) and refresh UI screenshots for the current shell.
  • Web UI: bottom engine dock with crossfader, glass panel polish, FIFO preview queue, engine settings slots, SVD/Deforum ControlNet panels, permanent Forge style import, and story LLM run logging.
  • Forge integration: live sampling preview and step-level progress during frame renders via /api/forge/progress.
  • Library: load videos as LIVE input source or motion sequencer clip, with optional project-length extension when video exceeds timeline duration.
  • CLI/engine: shared animation engine defaults, merge-engine-settings script, and expanded test coverage.

Test plan

  • cd docker/web && npm test — unit tests (forge-preview-progress, library-video-source, deforum-controlnet, svd-engine-config, etc.)
  • Start stack and verify engine dock, preview queue, and status strip progress during Deforum preview
  • Import a Forge style and confirm it persists across sessions and appears in job metadata
  • Load a library video as source and as motion sequencer clip; confirm extend-project prompt when video is longer than project
  • Deforum ControlNet panel saves/loads with session; SVD panel preview path works against Forge SVD extension
  • pytest tests/test_engine_defaults.py

janiluuk and others added 5 commits June 3, 2026 12:32
Move defora_cli and ops scripts under tools/, consolidate UI design
documentation under docs/design/, and remove duplicate screenshot runs.
Keep root CLI stubs and scripts symlink for backwards compatibility.

Co-authored-by: Cursor <cursoragent@cursor.com>
Regenerate README tour PNGs and full audit set (audit-2026-06-03);
update UI-FEATURE-FLOW embeds to match.

Co-authored-by: Cursor <cursoragent@cursor.com>
Replace coalesced previewQueuedKind with a bounded request queue drained
one job at a time so rapid slider changes do not overlap Forge calls.

Co-authored-by: Cursor <cursoragent@cursor.com>
Wrap LIVE, Motion, Stream, and Generate context panels in GlassPanel;
align sub-pill active and stream status colors with design tokens;
drop the legacy duplicate top-nav block from App.vue.

Co-authored-by: Cursor <cursoragent@cursor.com>
…deo source

Add Deforum ControlNet UI, permanent Forge style import with job metadata,
live Forge sampling preview during frame renders, and library video loading
as LIVE input or motion sequencer source with extend-project prompt. Also
includes SVD engine panel, engine settings slots, story LLM run logging, and
expanded CLI/engine defaults.

Co-authored-by: Cursor <cursoragent@cursor.com>
@janiluuk janiluuk force-pushed the ui/crossfader-bottom-drawer-engine-dock branch from 2accaf2 to 9ed665f Compare June 3, 2026 09:33
@janiluuk janiluuk changed the title UI/crossfader bottom drawer engine dock Web UI: engine dock, ControlNet, styles, Forge preview, library video Jun 3, 2026
janiluuk and others added 4 commits June 3, 2026 13:05
scripts/ is a symlink → tools/scripts/, so bash resolves SCRIPT_DIR to
the logical path and cd "$SCRIPT_DIR/../.." overshoots one level above
the repo root, causing pytest to miss pytest.ini and defora_cli/.

Use readlink -f to get the physical path before calling git rev-parse.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Nine new spec files used top-level import which Node treats as a CJS
SyntaxError. Convert each to require('node:test') + loadEsm() pattern
matching the existing test suite, with async callbacks.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…finition

The sync script gave DeforumControlNetPanel the generic empty-div stub,
so querySelectorAll('[data-testid=deforum-controlnet-panel]') returned
null and the ui.spec.js test failed. Add a named stub matching the real
component's root element and cn-unit-1/2 buttons.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@janiluuk janiluuk merged commit 784e118 into main Jun 3, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant