Skip to content

Render pending placeholders for prompt-only media assets#126

Open
dazzatronus wants to merge 5 commits into
mainfrom
derk/eng-671-prompt-only-pending-players
Open

Render pending placeholders for prompt-only media assets#126
dazzatronus wants to merge 5 commits into
mainfrom
derk/eng-671-prompt-only-pending-players

Conversation

@dazzatronus

@dazzatronus dazzatronus commented Jun 12, 2026

Copy link
Copy Markdown
Contributor

Schemas 1.13 lets media assets (image/video/audio) carry a prompt instead of
a src, with generation filling src in place. Studio rendered these as nothing.

  • Prompt-only assets get the AI pending treatment: canvas overlay with numbered
    prompt label, AI icon + label on the timeline. Per-asset, so plain src media is
    unaffected. A pending video with a seed previews the seed image.
  • Legacy generative types and unified assets of one kind share a numbering sequence.
  • When generation fills src, the reconciler recreates the clip as a normal media
    player. Realised assets keep their AI timeline label.
  • ClipUnresolved fires for any pending asset and now also emits assetType
    "image" | "video" | "audio" — host apps switching on that field take note.

No new rendering code: two pure guards rekey the legacy placeholder system, the
factory routes on pending state, the reconciler recreates on pending flips.

Verify: npm run dev loads a template with every state. 14 new unit tests; suite,
typecheck, lint green.

Includes the schemas 1.13 bump and no-src load guards from #123 (superseded). Bundles @shotstack/schemas 1.13.1 (supersedes the dependabot bump) and @shotstack/shotstack-canvas 2.10.2.
Follow-ups: prompt-editing toolbar, Generate action, export gating for unrealised assets.

@dazzatronus dazzatronus force-pushed the derk/eng-671-prompt-only-pending-players branch from 0867768 to d1c02a7 Compare June 12, 2026 06:48
@dazzatronus dazzatronus changed the base branch from derk/update-schemas-and-canvas to main June 12, 2026 06:48
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