# Sequencer Thumbnail Preview

Task: `TODOS.phase-72.72.15.2.12`

The sequence thumbnail preview is a V2Editor TimelineVisualizer surface for
auto-generating a PNG thumbnail from the first frame of a sequence and
registering it for asset browser display.

## Runtime API

- Panel spec: `FV2SequencerThumbnailPreviewPanelSpec`
- Request: `FV2SequencerThumbnailPreviewRequest`
- Thumbnail: `FV2SequencerThumbnailPreviewSpec`
- Result: `FV2SequencerThumbnailPreviewResult`
- Issue enum: `EV2SequencerThumbnailPreviewIssueType`

`GenerateSequencerThumbnailPreview` accepts the current sequence, thumbnail
panel spec, and request. It validates first-frame generation, output path,
dimensions, sequence duration, and camera-track availability before returning
thumbnail metadata with a render target path, PNG output path, camera binding,
size estimate, and asset-browser registration state.

## Behavior

- The panel targets `TimelineVisualizer` and uses
  `/V2Editor/RenderTargets/RT_SequencerThumbnailPreview.RT_SequencerThumbnailPreview`.
- Requests generate from frame `0` and write PNG output to the requested
  directory and file name stem.
- Generated thumbnails preserve the selected sequence id, resolved camera
  binding id, thumbnail path, dimensions, render target, and first-frame time.
- Results mark the thumbnail as generated, PNG written, and registered with the
  asset browser.
- Validation rejects invalid panel settings, missing output paths, non-first
  frame requests, missing camera tracks, dimensions above panel limits, invalid
  frames, and invalid sequences.

## QA Inventory

- Panel: verify render target, PNG output, first-frame generation, regeneration,
  camera preview, and asset browser registration support.
- Generate: verify a default sequence produces
  `Saved/SequencerThumbnails/CouncilIntro.png` at `512x288` from frame `0`.
- Camera: verify the thumbnail resolves the first camera track binding.
- Asset browser: verify generated state includes asset-browser-ready and PNG
  written flags.
- Off-path: reject missing camera tracks, invalid frames, oversize thumbnails,
  missing output paths, and non-first-frame requests.

`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-thumbnail-preview.py`
- `V2.Editor.Sequencer.ThumbnailPreview`
- `python3 V2/ue/Tools/check-v2-editor-module.py`
- `python3 V2/ue/Tools/check-v2-ci-workflow.py`
