Fighting Game · Guides & deep dives

Sequencer Camera Preview Window

active camera state through a render-target-backed picture-in-picture window.

4sections2 minread

On this page

Task: TODOS.phase-72.72.15.2.6

The sequencer camera preview window is a V2Editor TimelineVisualizer picture-in-picture surface for inspecting cinematic camera output while editing. It builds on the viewport preview model and adds window state, render target routing, safe-frame guides, and camera metadata for a dockable preview panel.

Runtime API#

  • Panel spec: FV2SequencerCameraPreviewWindowPanelSpec
  • Request: FV2SequencerCameraPreviewWindowRequest
  • Safe-frame rect: FV2SequencerCameraPreviewSafeFrameRect
  • Metadata row: FV2SequencerCameraPreviewMetadataRow
  • Model: FV2SequencerCameraPreviewWindowModel
  • Issue enum: EV2SequencerCameraPreviewWindowIssueType

BuildSequencerCameraPreviewWindowModel evaluates BuildSequencerViewportPreviewModel for the requested frame, then exposes the active camera state through a render-target-backed picture-in-picture window. It also provides pinned/docked state, aspect ratio, letterbox state, action/title safe-frame rectangles, and metadata rows for camera binding, frame, time, FOV, and preview resolution.

Behavior#

  • Picture-in-picture output uses /V2Editor/RenderTargets/RT_SequencerCameraPreview.RT_SequencerCameraPreview.
  • Camera state is sourced from the viewport preview so the PiP window matches live timeline playback and scrubbing.
  • Window state preserves pinned and docked flags without changing sequence data.
  • Safe-frame guides expose action-safe and title-safe pixel rectangles for the configured preview dimensions.
  • Camera metadata exposes active camera binding, frame, time, FOV, and preview resolution.
  • Validation reports invalid sequences, invalid requests, out-of-range frames, invalid preview sizes, missing camera state, and viewport preview failures.

The default QA fixture uses Seq.DataModel.CouncilIntro, frame 60, previous frame 20, active camera binding Binding.Camera.Hero, and a 480x270 picture-in-picture preview.

QA Inventory#

  • PiP window: verify picture-in-picture visibility, pinned state, docked state, letterbox state, preview dimensions, aspect ratio, and render target path.
  • Camera output: verify active camera binding and evaluated FOV from the hero camera preview state.
  • Safe guides: verify action-safe and title-safe rectangles for 480x270.
  • Metadata: verify camera binding and FOV metadata rows.
  • Off-path: reject invalid preview size, invalid frame, and missing camera state.

js_repl Playwright interaction was unavailable in this session and the affected surface is Unreal editor data rather than browser-rendered UI, so verification is through UE editor automation and contract gates.

Verification#

  • python3 V2/ue/Tools/check-v2-sequencer-camera-preview-window.py
  • V2.Editor.Sequencer.CameraPreviewWindow
  • python3 V2/ue/Tools/check-v2-editor-module.py
  • python3 V2/ue/Tools/check-v2-ci-workflow.py