Virtuoso Composer
00:00:00:00 opening

Desk

Voice submix 0.0
Music 0.0
Master bus 0.0
OUT
-inf
0 clips
Double click a knob or fader to reset it. Every Save writes into the Recipe tab at once, and drops a json the watcher merges into ad_recipes.json.

Assembled live in the browser from the Compose layers. Picture is a reduced size proxy for speed, the geometry and timing are the real numbers.

Format

Event plates

The real per event renders from the city data folder. Bury St Edmunds, 6 Nov 2026.

flag
1080 × 130
date
1080 × 240
address
806 × 588

Composer generating these itself is the next piece of work. For now it places the ones After Effects already rendered.

Geometry

Real frame pixels. Scale is a percentage of the strip's native 1080 × 150.

End card,

Written once per outro. Scale is a percentage of the plate’s own size. The values here were measured off the delivered ads as a starting point, they are close but not exact.

Layers

Recipe values

Caption states

One fit per line, locked by its longest state. Click a row to jump.

#lineinoutdurword / linecolourfit

Captions stop at the outro boundary, 0:00:53:13. The closing "we'll see you there" sits inside the outro and is not a caption.

Composer, live

Everything saved from the Composer tab, as it will be written to products.discovery_v2_v4base.composer. nothing saved yet

{}

Discovery v2, v4 base

Live read of ad_recipes.json, product discovery_v2_v4base.

Build steps

Gates

Length recipe