#01 core trn-hook
Mono kicker + condensed uppercase hero (*starred* words amber) + optional dek, teaser board rows, or gate line. Pass imageUrl for the full-bleed photo ATTRACT hook (dark scrim keeps flaps legible).
#02 core trn-board
THE signature: flap rows flip-animate in; amber tag flap + white label flap + green editorial status.
#03 core trn-photo
Full-bleed trip photo with location flap + status over a bottom gradient; optional caption.
#04 core trn-splitphoto
Photo top, mini flap board bottom — itinerary beats with visual context.
#05 core trn-gallery
2-4 photos as gates, each with a small amber flap label.
#06 core trn-ticket
FROM → TO codes flap in huge mono, detail rows (DATE/GATE/SEAT), barcode strip.
#07 core trn-stat
Big value in a flap tile (flips in) + condensed label + note + green status.
#08 core trn-route
Dotted route with stop codes flapping in; destination pin in amber.
#09 core trn-alert
Blinking NOW BOARDING banner + condensed statement — the hot-take beat.
#10 core trn-quote
ANNOUNCEMENT kicker + condensed uppercase quote + mono attribution.
#11 core trn-end
Closing title + board row: amber CTA flap + BOARDING status.
#12 core trn-day
DAY flap + optional slim photo banner + timed stops with detail lines and editorial statuses — one scene per day for multi-day breakdowns.
#13 trn-lines
Metro/subway line bullets in REAL line colors with label + note per line.
#14 core trn-fare
Itemized receipt (dotted leaders, prices flap in) + dashed tear + total flap. Real fares only.
#15 core trn-checklist
✓/— flap checkboxes with mono labels + notes — book-ahead and packing beats.
#16 trn-trend
Stats-context bar trend: values flap in above growing bars (last/accented bar amber), caption + REQUIRED on-screen source line. Tourism growth, visitor counts, price trends.
#17 core trn-hook2
Second opener, the SUBJECT-FIRST hook: the subject as an eyebrow, the title composed at frame 0, a curiosity line under it. Optional `series` {name,no,date} for an episode strip and `videoUrl` for a muted clip behind the title. Use when the system's default hook was used in the last reels.
#18 core trn-ranking
Top-X ranking with a countdown reveal (N first, #1 last), a "ranked by" criterion line, optional logos/values/deltas, #1 emphasis, teaseTop and a comment prompt. 3-7 rows.
#19 core trn-source
Source card: publication, date, id (DOI/filing/CVE), status chip (peer-reviewed / preprint / filing / company-claim / reported). Put it right after the claim it supports.
#20 core trn-quiz
Multiple-choice question; the correct option reveals ~60% in. No `correct` on any option = an open poll. Comments are answers.
#21 core trn-define
Term → definition, with optional jargon and a PLAIN line (explain it to a 12-year-old). The beat most science/finance reels are missing.
#22 core trn-mythfact
Two-beat reversal: the myth struck through, the fact in the accent, optional source line.
#23 core trn-beforeafter
Both states on screen at once: before (muted) vs after (accent), optional delta line.
#24 core trn-timeline
Dated spine, 3-6 moments, one marked hot.
#25 core trn-callout
The one-line takeaway, big, with an optional ruled note under it.
#26 core trn-compare
A vs B: two cards of lines, optional winner and a verdict strap.
#27 core trn-steps
Numbered list, 2-6 items with optional sub-lines. Exact count in the hook.
#28 core trn-verdict
Pick one of 2-4 options (Real / Hype / Priced-in) with a reason and optional confidence bar. A recurring, comment-able brand beat.
#29 core trn-scorecard
Rows × columns with a winner per row and a verdict: the 3-way comparison cmp-vs cannot do.
#30 core trn-post
An X / Instagram / LinkedIn post rendered as a card in this system's voice: name, handle, text, metrics, optional reading line. The receipt for a claim; get_x_post supplies the fields.
#31 core trn-reveal
A covered answer that lifts on a beat. Cover: bar | blur | sticker | scribble, optional image behind, coverLabel ("TAP TO REVEAL"), prompt. The completion contract: ask first (quiz), then reveal.
#32 core trn-receipt
Itemised receipt: 2-8 lines with values (count up), total, diagonal stamp (PAID / DUE / VOID), footer. Deal terms, trip costs, "worth the money".
#33 core trn-dodont
DON'T first (negative framing performs), then DO: two cards, 1-4 lines each.
#34 core trn-tierlist
S/A/B/C… tier rows, 2-6 tiers of 1-5 items, a "ranked by" criterion and a comment prompt. Items slide in tier by tier.
#35 core trn-bracket
4 or 8 seeds; rounds[] = winners per round (last round one name). Winners light round by round, losers strike; the champion box is last.
#36 core trn-triptych
Exactly three horizontal bands (label + line, optional photo, optional value) revealed in sequence. "What I wore / where I went / what I ate".
#37 core trn-persona
"That one person who…": the archetype big, 2-5 tells, a tag-a-friend CTA. The format people tag each other on.
#38 core trn-spotlight
A photo with a ringed detail at focus {x,y,r}; everything else dims and the frame zooms toward the ring. "The exact moment…" / "look at the hands".
#39 core trn-cards
A run of 3-7 one-liners with a fixed prefix ("Kinda chic to…"), one card lit per beat, the others receding. The carousel-in-a-video.
#40 core trn-progress
The same subject over time: 3-5 columns (week 1 / 4 / 8) with a value bar or a photo each, the last column in the accent, optional delta line.
#41 core trn-dialogue
Two labelled voices, 2-8 alternating lines; the current line is loud, older ones recede. The create tools give each line its own voice and timing when `narration[i]` is an array of {who,text}.
trn-club
THE CLUB BOARD: a full-frame ranked bar board, 3-16 rows biggest first, the value inside each bar and the mark after it, a two-line title (the second line in the accent), a dateline, an optional portrait behind the short bars, one footer line. Authored: data {title? ("The trillion\ndollar club"), kicker?, metric?, asOf?, bars[3-16]{label, value (bar length, positive), display ("$965B"), logo?{domain|url|ticker|monogram}, color?}, hero?{person | url, cutout?}, cta?, note?, source?}. Name the figures' source in the caption. Twelve rows read best.
trn-send
THE SEND ASK, the strongest ranking signal a reel has: a share sheet with 1-4 circles (`to`: first names or "the group chat"), a paper plane that lands on one, then the addressed prompt ("Send this to the friend who still runs an Intel Mac"). A body beat after the payoff, never the closer, and never a bare "share this": the platform demotes generic asks. One ask per reel (send OR save OR hearts).
trn-save
THE SAVE ASK: a bookmark ribbon that fills on a tap, a Saved chip, the `reason` ("for the next time a Mac update fails") and 2-4 `keeps` lines of what the viewer keeps, so saving is rational. Body beat after a list or a checklist, never the closer. One ask per reel (send OR save OR hearts).
trn-topics
THE SEARCH TERMS on the frame: 3-8 plain-text chips (`terms`: the names, products and problem someone would type to find this) under a heading. Instagram reads on-screen text for search, so this is a body beat right after the hook or before the end. No hashtags.
trn-contents
WHAT IS COMING: 2-5 numbered beats with a spine that draws to the last one, which carries the `tease` chip ("Stay for this"). Scene 2 of a listicle or a how-to: the viewer who knows the last item is the best one stays for it.
trn-next
THE NEXT EPISODE: kicker, the series step (EP 04 → EP 05, name, date), the next title, one tease line and `when` it lands ("Tomorrow, 7am"). A dated reason to come back, which is what a follow ask cannot give; the closing CTA stays a comment question.
trn-loop
THE SEAMLESS LOOP closer: takes the same data as the -hook2 opener and holds that cover, then plays its entrance backwards so the reel ends on the frame it opens on; the replay Instagram starts is invisible and watch time runs on. Use ONLY when scene 1 is -hook2 with the same data, as the last scene of a reel (a carousel would repeat its cover). `hint` is one small line while the cover holds.