Burned-in landscape subtitles on two smoked-glass line plates, each word lighting as it is spoken with an accent trail behind the voice

This is the format it was composed for. Switch above to see it lay itself out for another — same animation, re-arranged for the frame.
Everything below can be changed without touching the animation. Hand the list to an agent, or edit the values at the bottom of the component file.
The subtitle cues in order of appearance. Each one replaces the last with a single dark frame between them, which is how broadcast subtitles cut and why they are readable at speed.
now: 3 items
Which edge the block is pinned to. Lower is where every viewer expects a subtitle; move it up when your own lower third, a chapter rail or a platform bug is already down there.
now: lower
Distance from that edge as a fraction of frame height. The default clears the player's scrubber and its own caption row.
now: 0.12
Longest a line may run, as a fraction of frame width. This is what decides where cues break; wider gives you fewer, longer lines. Above about 0.7 the eye has to track too far to find the next line.
now: 0.54
Opacity of the pane behind the type. 0.86 keeps white type above 11:1 contrast even over a blown-out sky; below about 0.6 you are trusting the footage underneath to stay dark, which over a real edit it will not.
now: 0.86
Size of the whole block. Push it up for footage that will be watched on a phone, where a caption sized for a television is a line nobody reads.
now: 1
Paint a stand-in shot behind the caption — a blown-out window on one side and a dark interior on the other, which is the case the pane is built for. Off by default: this is an overlay, so it comes out on an alpha channel and drops straight onto your own footage.
now: false
Brand token id — one of the keys of BRANDS.
now: slate
No Tailwind, no CSS, no asset files. Inline styles only.
I burn my subtitles into the video and the ones I make in my editor look terrible over a bright sky. I want proper two-line captions for a normal landscape video, sitting above the scrubber, where each word lights up as I say it and the words I have already said stay readable instead of disappearing. Word timings come from my transcript. It has to survive a cut from an exterior to a dark room without me regrading it, and it has to come out with an alpha channel so I can drop it over my own footage.