You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: skills/music-to-video/references/template-catalog.md
+30-3Lines changed: 30 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,9 +6,10 @@ template realizes **one group** of a frame (a frame may stack several groups; th
6
6
unifies them).
7
7
8
8
**How to pick.** For each group, read its frame's `pacing` + `mood` + the one-line music
9
-
situation from the skeleton, then scan **Reach for it when** below and take the closest fit.
10
-
If nothing fits, **free-compose** from [`motion-primitive-catalog.md`](motion-primitive-catalog.md)
11
-
— that is a first-class choice, not a failure.
9
+
situation from the skeleton, then scan **Reach for it when** + **Best span** below and take the
10
+
closest fit. If nothing fits, **free-compose** from
11
+
[`motion-primitive-catalog.md`](motion-primitive-catalog.md) — that is a first-class choice, not a
12
+
failure.
12
13
13
14
**Brand comes from `frame.md`, not the template.** Templates ship their own demo palette
14
15
(`theme` / `palette` / color params). Fill those params from the project's `frame.md` (the
@@ -22,58 +23,84 @@ reads those at build time; you only name the values.
22
23
Pacing tag: every template below is **beat_cut** except `held-message-living-field`
23
24
(**phrase_flow**). Never put a beat_cut template on a phrase_flow frame.
24
25
26
+
## Group duration discipline
27
+
28
+
Template choice is per **group**, not per frame. A frame longer than a template's **Best span**
29
+
should usually split into multiple groups at real audiomap anchors (`SURGE`, `DROP`, roll edge,
30
+
hard_stop, phrase edge) instead of stretching one template across the whole frame.
31
+
32
+
-**Best span** below is the active treatment span: the part where the template's system is doing
33
+
meaningful motion. A short readable hold at the end is fine; a long empty tail means pick another
34
+
group.
35
+
-**Frames over ~6s** usually need 2+ groups. Beat-cut exceptions are rich programs with real
36
+
sub-phases (`poster-tile-mosaic`, sometimes `card-flyby`); phrase-flow exceptions use
37
+
`held-message-living-field`.
38
+
-**Roll templates are one-roll tools.** If a frame has two rolls or a drop between rolls, split it
39
+
into two groups.
40
+
- Do not extend by slowing every tween. Preserve the template's motion feel, then fill extra time
41
+
with a hold / palette change / new group.
42
+
25
43
---
26
44
27
45
### card-flyby
28
46
29
47
-**What** — a depth column of cards rolls forward through perspective; each landing beat tumbles the next card into the front slot with a solid colored wipe, the old front falls toward camera, dwells shrink card-to-card so the deck accelerates into a held final card.
30
48
-**Reach for it when** — a stream of discrete onsets that **accelerate** (gaps shrinking / a build into a downbeat) and you want to flash a **sequence of items** — titles, projects, posters, tiles — one per hit, climaxing on a held card.
49
+
-**Best span** — **4-6.5s** for 4-7 landings plus a short final hold; split at the next downbeat if it wants to run **>7s**.
-**What** — a readable mark (logo / word / title) held dead still over a soft, color-shifting blurred field; only the field breathes.
36
55
-**Reach for it when** — a **calm / sparse** stretch with an onset desert — energy present but few or no onsets (a held pad or riser); you have one word or mark to hold and let breathe.
56
+
-**Best span** — **6-16s**; this is the long-group exception. Under 4s feels underdeveloped; over ~20s needs a state change or another group.
-**What** — a dead-still word whose letters flip through texture-filled frames (texture-clipped fill + per-frame tint + bg color) every ~3 frames, in short bursts pinned to a roll.
42
62
-**Reach for it when** — a **dense, hard-hitting roll / fill** and a single word you want to strobe through textures for a few bars. (Ships texture-mask PNGs under `assets/`.)
63
+
-**Best span** — **1.2-3.5s**; strobe fatigue starts fast, so cap at ~4s and cut to a cleaner system.
-**What** — a line laid out as a sequence of big editorial **phrases** (each a stacked poster with one enlarged hero word), revealed word-by-word on its anchors, hard cut between phrases, climaxing on a phrase that slides in with a swappable ringing **icon** (bell / cursor / sparkle / emoji / SVG).
48
69
-**Reach for it when** — an **intro / opening statement**: a short line to land word-by-word as big type, climaxing on one keyword + an icon. Medium-or-more energy, steady grid.
70
+
-**Best span** — **3.5-7s** for 2-4 phrase beats; if the statement needs more time, make the next clause a new group.
-**What** — a two-part mark joined at center splits left↔right to open a gap, grows a center word-lockup one word per onset (key word lands on the downbeat surge), snap-closes on a hit, then pulses with the beat.
54
76
-**Reach for it when** — a short **logo / brand sting** (not a typed sentence): fast dense onsets + a sustained roll bed to pulse on, with a left/right bracketing mark.
77
+
-**Best span** — **2-4s**; at **>4.5s** it reads like a sting stretched too long. Follow with a separate held-lockup / next idea group.
-**What** — a packed **mosaic** of different-sized colored tiles that tessellate to fill the frame (no overlap), driven by interchangeable beat-synced operations: staggered enter/exit, locked global recolor, snake-fill + overlay.
60
83
-**Reach for it when** — many discrete, individually-placeable onsets (a hit for every tile move) with distinct sub-phases you want articulated differently (accumulate → recolor-on-roll → fill-then-drop). A dense section best held as **one** rich tile program rather than split.
84
+
-**Best span** — **4-7s**, up to **8s** only when the program has clear sub-phases. If the music changes regime, split even if the tile system could continue.
-**What** — a hi-hat roll drives a centred word that flips every 16th-note through a word list; optionally the flicker resolves and locks into a final phrase.
66
90
-**Reach for it when** — a **fast sustained-fill roll** (hundreds of hits/min, ~16th-note) with no single readable message — fill the roll with a rapidly-cycling word flipbook.
91
+
-**Best span** — **1.2-3.8s**, one roll into one resolve. Two rolls, or a drop between rolls, means two groups.
-**What** — a held left anchor column of fixed-word rows beside a torn-paper word-slot box on the right, driven by beat-synced operators: anchor lock-in, slot word-group cycle (in/out + per-line color), full-scene background flip, per-beat jitter, box-zoom exit wipe. Row count + number of flips are data.
72
97
-**Reach for it when** — a short section with a **held idea** (a brand / name to anchor on the left) **and** a stream of onsets popping separate words on the right, plus a dense run to ride a shake on and a strong downbeat to wipe out into.
98
+
-**Best span** — **3-6s**; above ~6.5s the fixed anchor goes stale unless the right slot enters a new group/program.
-**What** — words type in one-per-onset to spell a phrase, then one keyword cycles typefaces on the beat while everything else holds dead still.
78
104
-**Reach for it when** — a steady grid with a **continuous onset stream** (no desert): a phrase to type out, then a keyword to shuffle. The inverse of `held-message-living-field` (which wants an onset desert).
105
+
-**Best span** — **2.5-5s**; if the phrase cannot type and shuffle inside ~5s, reduce words or split the sentence across groups.
0 commit comments