@babylonjs-toolkit/agent 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/README.md +344 -0
  2. package/bin/bt-agent.js +266 -0
  3. package/lib/doctor.js +59 -0
  4. package/lib/install.js +145 -0
  5. package/lib/manifest.js +46 -0
  6. package/lib/paths.js +66 -0
  7. package/lib/payload.js +56 -0
  8. package/lib/persona.js +177 -0
  9. package/lib/targets.js +105 -0
  10. package/package.json +43 -0
  11. package/persona.md +5 -0
  12. package/scripts/postinstall.js +49 -0
  13. package/skills/bt-atlas/SKILL.md +192 -0
  14. package/skills/bt-atlas/scripts/composite_skin.py +58 -0
  15. package/skills/bt-atlas/scripts/preview.py +70 -0
  16. package/skills/bt-atlas/scripts/requirements.txt +2 -0
  17. package/skills/bt-atlas/scripts/uv_island_mask.py +87 -0
  18. package/skills/bt-convert/SKILL.md +32 -0
  19. package/skills/bt-copycat/SKILL.md +184 -0
  20. package/skills/bt-design/SKILL.md +187 -0
  21. package/skills/bt-design/references/3d-hero-docs.md +976 -0
  22. package/skills/bt-design/references/3d-hero-scroll.md +269 -0
  23. package/skills/bt-design/templates/3d-hero-scroll/HeroScroll.tsx +167 -0
  24. package/skills/bt-design/templates/3d-hero-scroll/hero-scroll.css +268 -0
  25. package/skills/bt-design/templates/3d-hero-scroll/hero-scroll.d.ts +67 -0
  26. package/skills/bt-design/templates/3d-hero-scroll/hero-scroll.html +78 -0
  27. package/skills/bt-design/templates/3d-hero-scroll/hero-scroll.js +559 -0
  28. package/skills/bt-execute/SKILL.md +130 -0
  29. package/skills/bt-gauntlet/SKILL.md +335 -0
  30. package/skills/bt-hero/SKILL.md +158 -0
  31. package/skills/bt-landing/SKILL.md +126 -0
  32. package/skills/bt-plan/SKILL.md +172 -0
  33. package/skills/bt-prototype/SKILL.md +161 -0
  34. package/skills/bt-spec/SKILL.md +328 -0
@@ -0,0 +1,976 @@
1
+ # Use 3D-Hero-Scroll — Developer Docs
2
+
3
+
4
+ **TL;DR: the prompt is a config file written in prose.** Every named field maps
5
+ 1:1 to code the skill generates — this doc shows which prompt line produces
6
+ which file. The skill is **product-agnostic**: examples use neutral placeholders
7
+ and varied domains, and every visual is derived from the prompt's own subject.
8
+ Never default to one look (a vehicle, a desert, cyan-on-black) regardless of
9
+ what the subject actually is.
10
+
11
+ ```
12
+ PROMPT FIELD → WHAT IT BECOMES IN CODE
13
+ ─────────────────────────────────────────────────────────────────────
14
+ sweep: page|hero → HS_CONFIG.sweep
15
+ FOOTAGE (the beats) → media pipeline → journey-scrub.mp4 + poster.jpg
16
+ → HS_CONFIG.video
17
+ CONTROLS → which optional HTML blocks exist (#hs-hud,
18
+ #hs-play, #hs-jump-nav) + HS_CONFIG.telemetry
19
+ OVERLAYS → <section class="hs-ovl" data-from data-to> blocks
20
+ BELOW THE JOURNEY → plain HTML sections after #hs-journey (PAGE only)
21
+ BRAND → the --hs-* CSS custom properties (PAGE only*)
22
+ HANDOFF → styling of the seam under the journey (HERO only)
23
+ ```
24
+ \* in HERO mode brand is "inherit the host site's tokens", so you don't write it.
25
+
26
+ Field names are fixed. PAGE prompts use: FOOTAGE, CONTROLS, OVERLAYS,
27
+ BELOW THE JOURNEY, BRAND. HERO prompts use: FOOTAGE, CONTROLS, OVERLAYS,
28
+ HANDOFF. Omit any field → documented default (defaults in the playbook §6).
29
+
30
+ ---
31
+
32
+ ## 1 · FOOTAGE — "the beats" are literally the video clips
33
+
34
+ Each numbered beat in the prompt = **one ~8s generated clip**. Four beats =
35
+ four video-generation calls = a 32s film. That's the entire relationship.
36
+
37
+ ```
38
+ PROMPT (placeholders — fill from the subject) CODE
39
+ ──────────────────────────────────────────────────────────────────────
40
+ "Hero anchor image first: <one clear generate_image({
41
+ look of the product>" prompt: "<anchor look>",
42
+ out_path: "media/hero.jpg" })
43
+
44
+ "1. <reveal beat — the subject appears>" generate_video({
45
+ prompt: "<beat 1 text>",
46
+ image_paths: [concealed.jpg, hero.jpg],
47
+ out_path: "clip1.mp4" })
48
+
49
+ ffmpeg -sseof -0.1 -i clip1.mp4
50
+ -frames:v 1 clip1-last.jpg ◄─ last frame
51
+
52
+ "2. <motion beat — the subject moves>" generate_video({
53
+ prompt: "<beat 2 text>",
54
+ image_paths: [clip1-last.jpg], ◄─ becomes
55
+ out_path: "clip2.mp4" }) first frame
56
+ ... repeat for beats 3, 4 ...
57
+
58
+ all beats ffmpeg concat → journey.mp4
59
+ ffmpeg -g 1 ... → journey-scrub.mp4
60
+
61
+ HS_CONFIG.video = "media/journey-scrub.mp4"
62
+ ```
63
+
64
+ **Which tool backs `generate_image` / `generate_video`?** These are generic
65
+ calls, not a specific vendor. The skill routes them to whatever image/video
66
+ generation is configured in your environment — KIE MCP servers (e.g.
67
+ `kie-image-mcp` and `kie-video-mcp`), Higgsfield MCP, the model's own built-in
68
+ image/video generation, or any other configured image/video tool. The prompt
69
+ just says "generate the footage"; the wiring picks the backend. `image_paths` /
70
+ `reference_paths` below are the KIE/Kling parameter names — the equivalent
71
+ first-frame/last-frame and reference-image inputs exist on the other backends
72
+ under their own names.
73
+
74
+ **"Chain last-frame-to-first-frame" decoded:** Kling's `image_paths[0]` pins a
75
+ clip's FIRST frame. The pipeline extracts clip N's LAST frame with ffmpeg and
76
+ passes it as clip N+1's first frame. So clip 2 starts on the exact pixel clip 1
77
+ ended on → the film is continuous.
78
+
79
+ **Why lighting changes go INSIDE a beat:** clip 4 can't start at night if clip
80
+ 3 ended in daylight — its first frame IS clip 3's last frame. So you write
81
+ "light dies to dusk as it exits the canyon" in beat 3's text, and the model
82
+ does the transition within those 8 seconds. You can't cut day→night between
83
+ clips; you can only fade day→night inside one.
84
+
85
+ **Already have a video?** Skip all of this: `FOOTAGE — use existing video at
86
+ media/flyover.mp4`. The skill still does the scrub re-encode (`-g 1`).
87
+
88
+ ---
89
+
90
+ ## 2 · CONTROLS — HTML blocks that exist or don't, plus one JSON object
91
+
92
+ Each control is one HTML block. The engine (`hero-scroll.js`) activates
93
+ features by element presence — delete the block, feature's gone. No flags.
94
+
95
+ ```
96
+ "CONTROLS — HUD: <METRIC> 0→<MAX>, ..." → keep <aside id="hs-hud">…
97
+ "· PLAY ('<label>')" → keep <button id="hs-play">… with
98
+ data-idle="<label>"
99
+ "· TOP/END jump nav" → keep <nav id="hs-jump-nav">…
100
+ "no jump nav" → delete that block. Done.
101
+ ```
102
+
103
+ The HUD numbers come from one config object. **"The metric matches the
104
+ journey" decoded:** the HUD is just a number that animates 0 → `max` as you
105
+ scroll through the film. Pick a quantity that plausibly *rises during the
106
+ footage you described* — that's all the sentence means:
107
+
108
+ ```js
109
+ // depth rising (submersible) // a % rising (analytics dashboard)
110
+ telemetry: { telemetry: {
111
+ max: 3800, // ← metres max: 94, // ← percent
112
+ startP: 0.10, // when it dives startP: 0.10, // when it builds
113
+ endP: 0.95, endP: 0.9,
114
+ exponent: 0.6, exponent: 0.7,
115
+ segments: [ segments: [
116
+ [0.00, "SURFACE"], [0.00, "ASSEMBLY"],
117
+ [0.25, "SUNLIT"], [0.33, "THE CATCH"],
118
+ [0.50, "TWILIGHT"], [0.66, "THE CALM"],
119
+ [0.75, "THE FLOOR"], ],
120
+ ], }
121
+ }
122
+ ```
123
+ (The metric is whatever plausibly rises during *your* footage — depth, altitude,
124
+ temperature, a percentage, a count. Don't reach for speed by default.)
125
+
126
+ **"Segments are the beats renamed" decoded:** four equal clips means clip
127
+ boundaries sit at progress 0.25 / 0.50 / 0.75. `segments` is just the label
128
+ the HUD shows in each quarter — i.e. which clip you're currently scrubbing.
129
+ Three clips → thresholds 0, 0.33, 0.66. The unit text ("M", "%", "FT", …) is
130
+ plain markup in the HUD block: `<span class="hs-hud-unit">UNIT</span>`.
131
+
132
+ `startP` is the one hand-tuned value: the progress where the number leaves 0
133
+ (the frame the subject actually starts moving/changing, found by extracting
134
+ frames around the clip boundary — the skill does this calibration; playbook §4).
135
+
136
+ ---
137
+
138
+ ## 3 · OVERLAYS — the marketing text riding the film
139
+
140
+ Each item in the OVERLAYS prompt line = one `<section>` inside the sticky
141
+ stage. You write normal HTML; two data attributes place it on the film's
142
+ timeline (0 = film start, 1 = film end):
143
+
144
+ ```
145
+ PROMPT: "OVERLAYS — ultrawide wordmark → count-up stats (A · B · C) →
146
+ feature moment → closing line"
147
+
148
+ CODE:
149
+ <section class="hs-ovl" data-from="0" data-to="0.115">
150
+ <h1>WORDMARK</h1> <!-- rides beat 1 -->
151
+ </section>
152
+
153
+ <section class="hs-ovl hs-scrim" data-from="0.26" data-to="0.46">
154
+ <span data-hs-count data-target="1.9" data-decimals="1">0</span> STAT A
155
+ <span data-hs-count data-target="1200" data-group="1">0</span> STAT B
156
+ <span data-hs-count data-target="520">0</span> STAT C <!-- rides beat 2 -->
157
+ </section>
158
+
159
+ <section class="hs-ovl hs-scrim" data-from="0.52" data-to="0.70">
160
+ <img src="media/macro-1.jpg" data-hs-depth="0.4" /> <!-- rides beat 3 -->
161
+ </section>
162
+
163
+ <section class="hs-ovl" data-from="0.78" data-to="0.96">
164
+ <h2>CLOSING LINE.</h2> <!-- rides beat 4 -->
165
+ </section>
166
+ ```
167
+
168
+ The engine choreographs every `.hs-ovl` automatically: blur+drift fade at the
169
+ window edges, `hs-active` class when it lands (hook CSS animations to it),
170
+ `[data-hs-count]` numbers count up on entry and re-arm on exit,
171
+ `[data-hs-depth]` children parallax. `.hs-scrim` adds a dark gradient behind
172
+ copy that sits over bright footage. The gaps between windows (0.115–0.26 etc.)
173
+ are intentional — moments of pure film.
174
+
175
+ ---
176
+
177
+ ## 4 · BELOW THE JOURNEY (PAGE mode) — just normal sections
178
+
179
+ Nothing magic. Everything after `</div><!-- #hs-journey -->` is regular page:
180
+
181
+ ```html
182
+ <div id="hs-journey" style="height: 640vh"> …the film… </div>
183
+
184
+ <section id="configurator"> …normal HTML/CSS… </section> ◄ these lines of
185
+ <section id="reserve"> …normal HTML/CSS… </section> ◄ the prompt
186
+ ```
187
+
188
+ With `sweep: "page"`, PLAY glides through these to the bottom after the film
189
+ ends, and END jumps to the very bottom. That's the only relationship.
190
+
191
+ ---
192
+
193
+ ## 5 · BRAND — six CSS variables
194
+
195
+ ```
196
+ PROMPT: "BRAND — abyssal blue-black, lume-green accent, luxury serif display"
197
+
198
+ CODE (hero-scroll.css):
199
+ :root {
200
+ --hs-bg: #030b10;
201
+ --hs-ink: #e8f0ee;
202
+ --hs-dim: #7d8c8a;
203
+ --hs-accent: #b8ff5e; /* ← the lume green */
204
+ --hs-accent-soft: rgba(184,255,94,.35);
205
+ --hs-display: "Cormorant Garamond", serif;
206
+ --hs-mono: "IBM Plex Mono", monospace;
207
+ }
208
+ ```
209
+
210
+ That's the whole sentence "brand changes everything visually, nothing
211
+ mechanically": HUD, PLAY pill, veil sweep, jump nav all read these variables.
212
+ Same JavaScript, different six values.
213
+
214
+ ---
215
+
216
+ ## 6 · HANDOFF (HERO mode) — one design decision at the seam
217
+
218
+ In HERO mode the film ends and the *existing* page continues below. The
219
+ HANDOFF line tells the skill what the film's final frame should look like so
220
+ that seam isn't a jump cut between two websites:
221
+
222
+ ```
223
+ PROMPT: "HANDOFF — grade the final summit frame toward warm sand so it hands
224
+ off cleanly into the existing product-buy section"
225
+
226
+ CODE EFFECT: beat 3's generation prompt ends with "...warm sand-toned morning
227
+ light floods the frame", and/or the last overlay/stage gets a bottom gradient
228
+ toward the host page's background color. No JS involved.
229
+ ```
230
+
231
+ ---
232
+
233
+ ## 7 · Complete worked example — PAGE mode (AERIE)
234
+
235
+ **Prompt** (what you type):
236
+
237
+ ```
238
+ Redesign this starter template as a cinematic "3D scroll" website for AERIE —
239
+ a two-seat electric VTOL aircraft. (bt-design → 3D-Hero-Scroll, sweep: page)
240
+
241
+ FOOTAGE — generate the footage (16:9, ~8s clips). Hero anchor first:
242
+ bone-white fuselage, glass canopy, six rotors, cliff-edge helipad at dawn.
243
+ Chain:
244
+ 1. Morning fog rolls off the pad to reveal AERIE motionless; nav lights blink on.
245
+ 2. Rotors spin up, it lifts vertically, tilts, accelerates out over a fjord.
246
+ 3. It threads a mountain ridgeline banking through cloud gaps, camera chasing.
247
+ 4. Dusk city approach — it descends between towers onto a rooftop pad.
248
+
249
+ CONTROLS — HUD: ALTITUDE 0→12,000 FT, segments PAD/FJORD/RIDGE/APPROACH ·
250
+ PLAY ("FLY THE ROUTE") · TOP/END.
251
+
252
+ OVERLAYS — "AERIE" wordmark → stats (250 km range · 45 min charge · 62 dBA) →
253
+ cabin macro → approach copy.
254
+
255
+ BELOW THE JOURNEY — route-planner teaser → "Join the waitlist — $500" CTA.
256
+
257
+ BRAND — bone white + graphite, amber accent, engineered grotesk.
258
+ ```
259
+
260
+ **What lands on disk:**
261
+
262
+ ```
263
+ media/hero.jpg ← "hero anchor first: bone-white fuselage..."
264
+ media/clip1..4.mp4 ← beats 1–4, chained
265
+ media/journey-scrub.mp4 ← concat + all-intra encode → HS_CONFIG.video
266
+ media/poster.jpg ← first frame of the film
267
+
268
+ index.html
269
+ #hs-loader ← default (footage needs preloading)
270
+ #hs-play data-idle="FLY THE ROUTE" ← CONTROLS
271
+ #hs-jump-nav ← CONTROLS "TOP/END"
272
+ #hs-hud unit markup "FT" ← CONTROLS "ALTITUDE ... FT"
273
+ #hs-journey (height ~640vh)
274
+ .hs-ovl data-from=0 data-to=0.115 ← OVERLAYS "wordmark"
275
+ .hs-ovl data-from=0.28 data-to=0.46 ← OVERLAYS "stats" (data-hs-count)
276
+ .hs-ovl data-from=0.52 data-to=0.70 ← OVERLAYS "cabin macro"
277
+ .hs-ovl data-from=0.78 data-to=0.96 ← OVERLAYS "approach copy"
278
+ #route-teaser, #waitlist ← BELOW THE JOURNEY
279
+ window.HS_CONFIG = {
280
+ video: "media/journey-scrub.mp4",
281
+ sweep: "page", ← "(sweep: page)"
282
+ telemetry: { max: 12000, startP: <calibrated>, endP: 0.9,
283
+ segments: [[0,"PAD"],[0.25,"FJORD"],[0.5,"RIDGE"],[0.75,"APPROACH"]] },
284
+ }
285
+
286
+ hero-scroll.css → --hs-bg:#f4f2ed; --hs-ink:#1c1e21; --hs-accent:#ffb400; …
287
+ ← BRAND (light theme!)
288
+ ```
289
+
290
+ ---
291
+
292
+ ## 8 · Complete worked example — HERO mode (KOA TRAIL 2)
293
+
294
+ **Prompt:**
295
+
296
+ ```
297
+ Redesign the hero section with 3D scrolling. (bt-design → 3D-Hero-Scroll,
298
+ sweep: hero) Do not touch anything below the hero; match existing tokens.
299
+
300
+ FOOTAGE — generate the footage: hero anchor first (KOA TRAIL 2, burnt-orange knit,
301
+ studded outsole, on granite at first light), then chain:
302
+ 1. Dust kicks as the shoe plants on a switchback and launches uphill.
303
+ 2. Low tracking shot along a ridgeline at speed, scree spraying.
304
+ 3. It crests the summit as the sun breaks — slows, holds, settles.
305
+
306
+ CONTROLS — HUD: ELEV GAIN 0→2,400 M · PLAY ("RUN THE RIDGE") only, no jump nav.
307
+
308
+ OVERLAYS — "UP IS THE WAY." headline at the start → three stats mid-run
309
+ (228 g · 6 mm drop · Vibram Litebase).
310
+
311
+ HANDOFF — grade the final summit frame toward warm sand so it hands off
312
+ cleanly into the existing product-buy section.
313
+ ```
314
+
315
+ **What lands on disk (the diffs from PAGE mode):**
316
+
317
+ ```
318
+ index.html (existing site — only the old 100vh hero div is replaced)
319
+ #hs-play data-idle="RUN THE RIDGE" ← CONTROLS
320
+ (NO #hs-jump-nav — "no jump nav" = block simply not present)
321
+ #hs-hud unit markup "M" ← "ELEV GAIN 0→2,400 M"
322
+ #hs-journey (height ~480vh — 3 beats ≈ 24s of film)
323
+ .hs-ovl data-from=0 data-to=0.12 ← headline
324
+ .hs-ovl data-from=0.4 data-to=0.62 ← three stats
325
+ window.HS_CONFIG = {
326
+ video: "media/ridge-scrub.mp4",
327
+ sweep: "hero", ← PLAY/END stop when the film ends
328
+ telemetry: { max: 2400, startP: <calibrated>, endP: 0.92,
329
+ segments: [[0,"SWITCHBACK"],[0.33,"RIDGE"],[0.66,"SUMMIT"]] },
330
+ } ← 3 clips → thirds, not quarters
331
+
332
+ hero-scroll.css → --hs-* mapped to the site's EXISTING variables (no BRAND
333
+ line: hero mode inherits the host design system)
334
+ beat 3's text ends "...warm sand-toned light floods the frame" ← HANDOFF
335
+ ```
336
+
337
+ ---
338
+
339
+ ## 9 · Blank skeletons (copy-paste)
340
+
341
+ **PAGE:**
342
+ ```
343
+ Redesign this starter template as a cinematic "3D scroll" website for <NAME> —
344
+ <one-liner>. (bt-design → 3D-Hero-Scroll, sweep: page)
345
+ FOOTAGE — generate the footage (16:9, ~8s clips). Hero anchor first:
346
+ <product look>. Chain: 1. <reveal> 2. <motion> 3. <terrain change> 4. <finale>
347
+ CONTROLS — HUD: <METRIC> 0→<MAX> <UNIT>, segments <A/B/C/D> · PLAY ("<label>")
348
+ · TOP/END.
349
+ OVERLAYS — <wordmark> → <count-up stats> → <feature moment> → <finale copy>.
350
+ BELOW THE JOURNEY — <sections> → <CTA>.
351
+ BRAND — <palette>, <accent>, <type>.
352
+ Launch on localhost and run the skill's verification protocol.
353
+ ```
354
+
355
+ **HERO:**
356
+ ```
357
+ Redesign the hero section with 3D scrolling. (bt-design → 3D-Hero-Scroll,
358
+ sweep: hero) Do not touch anything below the hero; match existing tokens.
359
+ FOOTAGE — <existing file at <path> | generate the footage: anchor + beats 1..3>
360
+ CONTROLS — <HUD: METRIC 0→MAX UNIT | no HUD> · <PLAY ("<label>") | + TOP/END>.
361
+ OVERLAYS — <headline> → <stats/copy mid-run>.
362
+ HANDOFF — grade the final frame toward <tone> for the existing <next section>.
363
+ Verify scrub sync and controls per the skill's protocol.
364
+ ```
365
+
366
+ ---
367
+
368
+ ## 10 · AI Workshop Examples (copy-paste) — all 10, both modes
369
+
370
+ Adapted from the "One-Prompt Website Pack" (Zubair Trabzada · AI Workshop),
371
+ rewritten into this skill's grammar. Everything the pack had to spell out —
372
+ "pass the hero image as reference to every clip", "use each clip's final
373
+ frame as the next clip's start frame", "scrub as a canvas frame sequence",
374
+ generation settings, "launch and verify before telling me it's done" — is
375
+ **deleted**, because the skill guarantees all of it. What's left is only the
376
+ creative brief.
377
+
378
+ **Every one of the 10 is written twice** so you can see exactly what changes:
379
+
380
+ - **PAGE** = the whole landing page is the film's world. Fields: FOOTAGE,
381
+ CONTROLS, OVERLAYS, **BELOW THE JOURNEY**, **BRAND**. PLAY/END run to the
382
+ document bottom. Usually the fuller clip chain (4–5 beats).
383
+ - **HERO** = drop the film into an existing page's hero only. Fields:
384
+ FOOTAGE, CONTROLS, OVERLAYS, **HANDOFF**. Opens with "do not touch anything
385
+ below; match existing tokens" (so no BRAND line). PLAY/END stop where the
386
+ film ends. Usually a shorter chain (2–3 beats) and lighter controls.
387
+
388
+ **The diff between the two columns, every time:** PAGE adds BELOW THE JOURNEY
389
+ + BRAND and gets `sweep: page`; HERO swaps those for HANDOFF + "match
390
+ existing tokens" and gets `sweep: hero`. FOOTAGE and OVERLAYS stay
391
+ recognizably the same product — the film doesn't change, only who owns the
392
+ page around it.
393
+
394
+ | # | Product | PAGE headline metric | HERO trim |
395
+ |----|----------------------|------------------------|------------------------------|
396
+ | 1 | Luxury watch | COMPONENTS 0→217 | HUD dropped, 2 beats |
397
+ | 2 | Deep-sea expedition | DEPTH 0→3,800 M | shorter descent, keep depth |
398
+ | 3 | Personal portfolio | (no HUD) | work grid stays as host page |
399
+ | 4 | Penthouse listing | FLOOR 0→60 | 2-room tour, keep floor HUD |
400
+ | 5 | Fusion demo (IGNIS) | OUTPUT 0→500 MW | chamber+ignition only |
401
+ | 6 | Streetwear drop | COUNTDOWN (timer) | its native mode |
402
+ | 7 | Restaurant | (no HUD) | its native mode |
403
+ | 8 | AI SaaS | SIGNAL 0→94 % | its native mode |
404
+ | 9 | Creative agency | (no HUD) | zero-controls variant |
405
+ | 10 | Gym | PR / MEMBERS count | its native mode |
406
+
407
+ ---
408
+
409
+ ### 10.1 · AURUM & NOIR (luxury watch)
410
+
411
+ **PAGE**
412
+ ```
413
+ Redesign this starter template as a cinematic "3D scroll" website for
414
+ AURUM & NOIR — a fictional Swiss luxury watch brand launching its tourbillon
415
+ chronograph, the "Eclipse." (bt-design → 3D-Hero-Scroll, sweep: page)
416
+
417
+ FOOTAGE — generate the footage. Hero anchor first: brushed black titanium case,
418
+ gold tourbillon visible through sapphire glass, floating in a black void,
419
+ dramatic rim lighting. Chain:
420
+ 1. A slow, perfectly smooth 360° turntable of the watch in the void, faint
421
+ gold dust drifting.
422
+ 2. The camera dives to macro and glides across the dial — engraved indices,
423
+ the tourbillon cage spinning, light rippling over brushed metal.
424
+ 3. The watch drifts apart into floating components — gears, springs, bezel,
425
+ strap — then converges back into the finished piece, holding on a hero frame.
426
+
427
+ CONTROLS — HUD: COMPONENTS 0 → 217, segments ORBIT / DIAL / ASSEMBLY ·
428
+ PLAY ("WIND THE MOVEMENT") · TOP/END.
429
+
430
+ OVERLAYS — "AURUM & NOIR" tracking in → "Crafted in Darkness" story line →
431
+ spec callouts over the assembly (42 mm grade-5 titanium · 72 h reserve ·
432
+ 217 components).
433
+
434
+ BELOW THE JOURNEY — "Edition of 88 — $48,000" → private waitlist CTA.
435
+
436
+ BRAND — off-black, gold accent, high-contrast serif display + minimal sans.
437
+ Copy tone: quiet, expensive, very few words.
438
+ ```
439
+
440
+ **HERO** *(drop the reveal into an existing product page)*
441
+ ```
442
+ Redesign the hero section with 3D scrolling for AURUM & NOIR's "Eclipse"
443
+ product page — a Swiss tourbillon chronograph.
444
+ (bt-design → 3D-Hero-Scroll, sweep: hero) The product details, specs, and
445
+ buy module below stay; match existing tokens.
446
+
447
+ FOOTAGE — generate the footage. Hero anchor first: brushed black titanium case,
448
+ gold tourbillon through sapphire glass, floating in a black void. Chain:
449
+ 1. A slow 360° turntable of the watch in the void, faint gold dust drifting.
450
+ 2. The camera dives to macro across the dial — the tourbillon cage spinning,
451
+ light rippling over brushed metal — settling on a hero frame.
452
+
453
+ CONTROLS — PLAY ("WIND THE MOVEMENT") only · no HUD · no jump nav.
454
+
455
+ OVERLAYS — "AURUM & NOIR" tracking in → "Crafted in Darkness."
456
+
457
+ HANDOFF — hold the final macro frame on off-black so it hands off cleanly
458
+ into the existing spec-and-buy section.
459
+ ```
460
+
461
+ *What changed:* the exploded-assembly beat (and its COMPONENTS 0→217 HUD) is
462
+ a PAGE luxury — HERO keeps the two most iconic shots, drops the HUD, and ends
463
+ on a still the product page can continue from. Same watch, same anchor image.
464
+
465
+ ---
466
+
467
+ ### 10.2 · ABYSSAL (deep-sea expedition)
468
+
469
+ **PAGE**
470
+ ```
471
+ Redesign this starter template as a cinematic "3D scroll" website for ABYSSAL
472
+ — a fictional deep-sea expedition company that takes 8 civilians per year to
473
+ the ocean floor aboard its submersible, the EREBUS.
474
+ (bt-design → 3D-Hero-Scroll, sweep: page)
475
+
476
+ FOOTAGE — generate the footage. Hero anchor first: sleek deep-black hull, glowing
477
+ cyan viewport ring, twin floodlights. Chain:
478
+ 1. Aerial dawn over open ocean; the EREBUS slips beneath the waves, ending
479
+ fully submerged in sunlit blue.
480
+ 2. Descent through god rays and bubble columns, a whale silhouette gliding
481
+ past; the blue deepens.
482
+ 3. Light dies to near-black, ghostly jellyfish drift, the floodlights flicker on.
483
+ 4. Total darkness; bioluminescent creatures spark around the hull like a
484
+ starfield.
485
+ 5. Floodlights sweep across hydrothermal vents; the EREBUS holds on a final
486
+ hero frame.
487
+
488
+ CONTROLS — HUD: DEPTH 0 → 3,800 M, segments SURFACE / SUNLIT / TWILIGHT /
489
+ MIDNIGHT / THE FLOOR · PLAY ("BEGIN THE DESCENT") · TOP/END.
490
+
491
+ OVERLAYS — "How deep will you go?" → one striking fact per zone → EREBUS
492
+ spec callouts.
493
+
494
+ BELOW THE JOURNEY — "8 seats. $250,000. Departing March 2027." → "Join the
495
+ Manifest" CTA.
496
+
497
+ BRAND — deep navy grading to pure black with depth, bioluminescent cyan
498
+ accent, thin technical sans with HUD micro-details.
499
+ ```
500
+
501
+ **HERO** *(the descent as a hero atop an existing expedition site)*
502
+ ```
503
+ Redesign the hero section with 3D scrolling for ABYSSAL — a deep-sea
504
+ expedition company (submersible: EREBUS).
505
+ (bt-design → 3D-Hero-Scroll, sweep: hero) The itinerary, pricing, and booking
506
+ sections below stay; match existing tokens.
507
+
508
+ FOOTAGE — generate the footage. Hero anchor first: sleek deep-black hull, glowing
509
+ cyan viewport ring, twin floodlights. Chain:
510
+ 1. Aerial dawn; the EREBUS slips beneath the waves into sunlit blue.
511
+ 2. Descent through god rays, the blue deepening, a whale gliding past.
512
+ 3. Light dies to near-black; floodlights flicker on over the abyss.
513
+
514
+ CONTROLS — HUD: DEPTH 0 → 3,800 M · PLAY ("BEGIN THE DESCENT") · no jump nav.
515
+
516
+ OVERLAYS — "How deep will you go?" at the surface → one line at depth.
517
+
518
+ HANDOFF — hold the final abyss frame on pure black so it hands off into the
519
+ existing itinerary section.
520
+ ```
521
+
522
+ *What changed:* 5 zones → 3 (surface, mid, abyss); depth HUD survives because
523
+ it's the whole point, but loses its per-zone segment labels; the "$250,000 /
524
+ Join the Manifest" close is now the host page's job.
525
+
526
+ ---
527
+
528
+ ### 10.3 · Personal portfolio (starring you)
529
+
530
+ **PAGE**
531
+ ```
532
+ Redesign this starter template as a cinematic "3D scroll" PERSONAL PORTFOLIO
533
+ website for me — [YOUR NAME]. The central element is ME.
534
+ (bt-design → 3D-Hero-Scroll, sweep: page) My attached photo is the identity
535
+ anchor; keep my wardrobe identical throughout [black t-shirt, dark overshirt].
536
+
537
+ FOOTAGE — generate the footage, my photo referenced on every generation. Chain:
538
+ 1. I stand confident, arms crossed, in a black-void studio with [emerald]
539
+ rim lighting; the camera does one slow 360° orbit around me.
540
+ 2. The camera settles as I sit at a dark desk surrounded by floating
541
+ holographic screens showing my work; slow cinematic push-in.
542
+ 3. I rise and walk toward camera down a dark gallery lined with glowing
543
+ screens, stopping in a hero pose.
544
+
545
+ CONTROLS — PLAY ("ROLL THE REEL") · TOP/END · no HUD.
546
+
547
+ OVERLAYS — "[YOUR NAME]" in massive display type + "[what you do in one
548
+ line]" → count-up stats strip ([your 3–5 best numbers]) → THREE PILLARS
549
+ revealing [your three main offers] one at a time.
550
+
551
+ BELOW THE JOURNEY — WORK grid: cards for [your 3 best projects] with hover
552
+ motion → "[your main CTA]" with two buttons → footer socials.
553
+
554
+ BRAND — ink black, [emerald] accent, cream typography, bold condensed
555
+ display font, kinetic type, subtle grain.
556
+ ```
557
+
558
+ **HERO** *(cinematic intro on top of an existing portfolio)*
559
+ ```
560
+ Redesign the hero section with 3D scrolling for my portfolio — [YOUR NAME].
561
+ (bt-design → 3D-Hero-Scroll, sweep: hero) My existing about, work grid, and
562
+ contact sections below stay; match existing tokens. My attached photo is the
563
+ identity anchor; wardrobe [black t-shirt, dark overshirt] consistent.
564
+
565
+ FOOTAGE — generate the footage, my photo referenced on every generation. Chain:
566
+ 1. I stand arms crossed in a black-void studio with [emerald] rim lighting;
567
+ the camera does one slow 360° orbit around me.
568
+ 2. I turn and walk toward camera down a dark gallery of glowing screens,
569
+ stopping in a hero pose.
570
+
571
+ CONTROLS — PLAY ("ROLL THE REEL") only · no HUD.
572
+
573
+ OVERLAYS — "[YOUR NAME]" in massive display type → "[what you do in one line]".
574
+
575
+ HANDOFF — end the walk on ink black so it hands off into my existing about
576
+ section.
577
+ ```
578
+
579
+ *What changed:* both are HUD-less (no honest metric for a person). PAGE owns
580
+ the whole story incl. stats + pillars + work grid; HERO is just the orbit-and-
581
+ walk intro, letting your real portfolio below do the rest.
582
+
583
+ ---
584
+
585
+ ### 10.4 · THE MERIDIAN (penthouse listing)
586
+
587
+ **PAGE**
588
+ ```
589
+ Redesign this starter template as a cinematic single-property "3D scroll"
590
+ website for THE MERIDIAN — a fictional $12.5M penthouse on the 60th floor
591
+ in [CITY]. (bt-design → 3D-Hero-Scroll, sweep: page)
592
+
593
+ FOOTAGE — generate the footage. Hero anchor first: the glass tower at dusk. Chain:
594
+ 1. Aerial drone shot curving around the tower, city lights igniting below.
595
+ 2. The camera glides from the private elevator into a vast living room —
596
+ floor-to-ceiling windows, Italian marble, a fireplace flickering on.
597
+ 3. Continuous move through the chef's kitchen and primary suite toward
598
+ glowing terrace doors.
599
+ 4. Out onto the wraparound terrace at night — infinity pool reflecting the
600
+ skyline, timelapse clouds.
601
+
602
+ CONTROLS — HUD: FLOOR 0 → 60, segments APPROACH / ARRIVAL / THE FLOW /
603
+ TERRACE · PLAY ("TAKE THE TOUR") · TOP/END.
604
+
605
+ OVERLAYS — "Sixty floors above everything" → residence facts (4 bed ·
606
+ 5.5 bath · 7,200 sq ft · private elevator) → amenity reveals room by room.
607
+
608
+ BELOW THE JOURNEY — photo gallery → "$12,500,000" price section →
609
+ "Request a Private Showing" form with agent card.
610
+
611
+ BRAND — ink background, champagne-gold accent, thin elegant serif,
612
+ generous whitespace.
613
+ ```
614
+
615
+ **HERO** *(the tour as a hero atop an existing MLS-style listing)*
616
+ ```
617
+ Redesign the hero section with 3D scrolling for THE MERIDIAN — a $12.5M
618
+ 60th-floor penthouse in [CITY].
619
+ (bt-design → 3D-Hero-Scroll, sweep: hero) The photo gallery, facts table, and
620
+ showing-request form below stay; match existing tokens.
621
+
622
+ FOOTAGE — generate the footage. Hero anchor first: the glass tower at dusk. Chain:
623
+ 1. Aerial drone curving around the tower, city lights igniting below.
624
+ 2. The camera glides from the private elevator into the living room —
625
+ floor-to-ceiling windows, marble, a fireplace flickering on — settling
626
+ at the terrace doors.
627
+
628
+ CONTROLS — HUD: FLOOR 0 → 60 · PLAY ("TAKE THE TOUR") · no jump nav.
629
+
630
+ OVERLAYS — "Sixty floors above everything" → the address line.
631
+
632
+ HANDOFF — settle the final frame on the warm interior tone so it hands off
633
+ into the existing gallery and facts.
634
+ ```
635
+
636
+ *What changed:* the full 4-room walkthrough compresses to approach + arrival;
637
+ FLOOR 0→60 stays (great cheap metric); the price + agent form are the
638
+ existing listing page.
639
+
640
+ ---
641
+
642
+ ### 10.5 · IGNIS (fusion-energy demonstrator)
643
+
644
+ **PAGE**
645
+ ```
646
+ Redesign this starter template as a cinematic "3D scroll" website for IGNIS —
647
+ a fictional fusion-energy demonstrator reaching net-positive output for the
648
+ first time. (bt-design → 3D-Hero-Scroll, sweep: page)
649
+
650
+ FOOTAGE — generate the footage. Hero anchor first: the inside of a spherical
651
+ tokamak chamber, dark, cold, dormant, precision-machined walls. Chain:
652
+ 1. The chamber reveal — sensors wake, the cold vessel powers up, a faint
653
+ magnetic shimmer forms in the vacuum.
654
+ 2. Ignition — a thread of plasma sparks and blooms into a caged sun, light
655
+ flooding the chamber.
656
+ 3. The burn sustains and brightens; the plasma ring steadies as instruments
657
+ race.
658
+ 4. Net gain — the control room lights shift from amber to green as output
659
+ crosses break-even; the plasma holds, serene.
660
+
661
+ CONTROLS — HUD: OUTPUT 0 → 500 MW, segments CHAMBER / IGNITION / BURN /
662
+ NET GAIN · PLAY ("BEGIN THE BURN") · TOP/END.
663
+
664
+ OVERLAYS — "IGNIS" wordmark → count-up stats (150,000,000 °C · Q > 10 ·
665
+ 500 MW) → a line on the confinement design → "Break-even, broken."
666
+
667
+ BELOW THE JOURNEY — how-it-works explainer → "Partner with us" CTA.
668
+
669
+ BRAND — cold graphite grading to solar white-gold at ignition, one molten-amber
670
+ accent, technical grotesk with fine mono readouts.
671
+ ```
672
+
673
+ **HERO** *(the ignition as a hero atop an existing program site)*
674
+ ```
675
+ Redesign the hero section with 3D scrolling for IGNIS — a fusion-energy
676
+ demonstrator. (bt-design → 3D-Hero-Scroll, sweep: hero) The technology,
677
+ team, and partners sections below stay; match existing tokens.
678
+
679
+ FOOTAGE — generate the footage. Hero anchor first: the dark, dormant tokamak
680
+ chamber. Chain:
681
+ 1. The chamber wakes; a magnetic shimmer forms in the vacuum.
682
+ 2. Ignition — plasma sparks and blooms into a caged sun, settling into a
683
+ steady ring.
684
+
685
+ CONTROLS — HUD: OUTPUT 0 → 500 MW · PLAY ("BEGIN THE BURN") · no jump nav.
686
+
687
+ OVERLAYS — "IGNIS" wordmark → "First light."
688
+
689
+ HANDOFF — hold the final steady-plasma frame and grade its glow toward the
690
+ site's dark background so it hands off into the existing technology section.
691
+ ```
692
+
693
+ *What changed:* PAGE runs the full chamber → ignition → burn → net-gain journey
694
+ with the explainer + partner CTA built below; HERO keeps chamber + ignition
695
+ (the two most iconic shots) and lets the existing site own everything past the
696
+ hero. The metric is energy output, not speed — derived from the subject.
697
+
698
+ ---
699
+
700
+ ### 10.6 · ONYX SUPPLY (streetwear drop)
701
+
702
+ **PAGE** *(the drop as a full destination site)*
703
+ ```
704
+ Redesign this starter template as a cinematic "3D scroll" e-commerce site for
705
+ ONYX SUPPLY's "Midnight Drop" — a heavyweight hoodie, cargo pants, and a
706
+ chrome-accent puffer. (bt-design → 3D-Hero-Scroll, sweep: page)
707
+
708
+ FOOTAGE — generate the footage. Lookbook anchor first: a model in the full fit —
709
+ matte black garments, chrome zippers — on a foggy rooftop at night. Chain:
710
+ 1. The model walks slowly toward camera through rooftop fog, neon city glow
711
+ behind, wind moving the fabric.
712
+ 2. The camera arcs to a low hero stance; the city lights streak behind.
713
+ 3. Extreme macro travelling across stitching, zipper teeth, embossed logo.
714
+
715
+ CONTROLS — HUD: DROP LIVE IN (countdown timer, not a 0→max value) ·
716
+ PLAY ("WATCH THE DROP") · TOP/END.
717
+
718
+ OVERLAYS — "ONYX SUPPLY — MIDNIGHT DROP" in massive type → "Built heavy.
719
+ Cut clean." over the macro.
720
+
721
+ BELOW THE JOURNEY — product grid (3 cards, hover-play spin clips, prices
722
+ $180/$210/$340, size + Add to Cart) → "Notify me" email capture.
723
+
724
+ BRAND — concrete gray + matte black, one acid-green accent, brutalist
725
+ condensed type.
726
+ ```
727
+
728
+ **HERO** *(scrub hero on top of an existing store — its native mode)*
729
+ ```
730
+ Redesign the hero section with 3D scrolling for ONYX SUPPLY's "Midnight Drop"
731
+ store page. (bt-design → 3D-Hero-Scroll, sweep: hero)
732
+ Do not touch the store below; match its existing tokens.
733
+
734
+ FOOTAGE — generate the footage. Lookbook anchor first: a model in the full fit —
735
+ matte black garments, chrome zippers — on a foggy rooftop at night. Chain:
736
+ 1. The model walks slowly toward camera through rooftop fog, neon glow behind,
737
+ wind moving the fabric.
738
+ 2. The camera arcs around to a low front hero stance as the fog thickens.
739
+
740
+ CONTROLS — PLAY ("WATCH THE DROP") only · no HUD · no jump nav.
741
+
742
+ OVERLAYS — "ONYX SUPPLY — MIDNIGHT DROP" → live countdown timer to the drop.
743
+
744
+ HANDOFF — the fog thickens toward the store's concrete-gray so the film hands
745
+ off cleanly into the existing product grid.
746
+ ```
747
+
748
+ *What changed:* PAGE builds the product grid + email capture below and adds a
749
+ macro beat; HERO is the pack's original intent — a cinematic topper on a store
750
+ you already have. Note the "HUD" here is a countdown timer, so PAGE keeps it
751
+ but HERO drops it for pure drama.
752
+
753
+ ---
754
+
755
+ ### 10.7 · EMBER & OAK (restaurant)
756
+
757
+ **PAGE** *(full restaurant site)*
758
+ ```
759
+ Redesign this starter template as a cinematic "3D scroll" website for
760
+ EMBER & OAK — a wood-fire steakhouse in [CITY].
761
+ (bt-design → 3D-Hero-Scroll, sweep: page)
762
+
763
+ FOOTAGE — generate the footage. Anchor first: a ribeye searing over open flame,
764
+ embers rising into darkness, amber light. Chain:
765
+ 1. Slow-motion macro of the sear, embers lifting into black.
766
+ 2. The camera pulls back into the dining room at golden hour — leather booths,
767
+ candlelight, a bartender stirring a cocktail.
768
+ 3. Overhead of a chef's hands plating a dish, steam curling up on dark slate.
769
+
770
+ CONTROLS — no HUD · PLAY ("STOKE THE FIRE") · TOP/END.
771
+
772
+ OVERLAYS — "EMBER & OAK" in elegant serif → "Wood fire. Nothing else." →
773
+ "Six dishes. One fire." over the room.
774
+
775
+ BELOW THE JOURNEY — menu (two columns, Fire / Field) → private dining →
776
+ hours + map + "Reserve a Table" form.
777
+
778
+ BRAND — near-black, warm cream text, ember-orange accent, film grain, slow
779
+ parallax.
780
+ ```
781
+
782
+ **HERO** *(fire hero on top of an existing menu site — its native mode)*
783
+ ```
784
+ Redesign the hero section with 3D scrolling for EMBER & OAK — a wood-fire
785
+ steakhouse in [CITY]. (bt-design → 3D-Hero-Scroll, sweep: hero)
786
+ The story, menu, and reservation sections below stay; match existing tokens.
787
+
788
+ FOOTAGE — generate the footage. Anchor first: a ribeye searing over open flame,
789
+ embers rising into darkness, amber light. Chain:
790
+ 1. Slow-motion macro of the sear, embers lifting into black.
791
+ 2. The camera pulls back through the ember drift into the dining room at
792
+ golden hour, settling on the open fire.
793
+
794
+ CONTROLS — PLAY ("STOKE THE FIRE") only · no HUD.
795
+
796
+ OVERLAYS — "EMBER & OAK" in an elegant serif tracking in → "Wood fire.
797
+ Nothing else."
798
+
799
+ HANDOFF — settle the final frame into candlelit near-black so it hands off
800
+ into the existing story and menu sections.
801
+ ```
802
+
803
+ *What changed:* both are HUD-less (a steakhouse has no rising metric). PAGE
804
+ adds the plating beat and builds menu + reservation form below; HERO is just
805
+ the sear-into-room and lets the existing site carry the menu.
806
+
807
+ ---
808
+
809
+ ### 10.8 · PULSE (AI SaaS)
810
+
811
+ **PAGE** *(full landing page)*
812
+ ```
813
+ Redesign this starter template as a cinematic "3D scroll" landing page for
814
+ PULSE — an AI analytics platform that predicts customer churn before it
815
+ happens. (bt-design → 3D-Hero-Scroll, sweep: page)
816
+
817
+ FOOTAGE — generate the footage. Anchor first: a clean floating dashboard UI with a
818
+ rising, heartbeat-pulsing graph in a dark void. Chain:
819
+ 1. Thousands of glowing data particles swirl and assemble into the dashboard;
820
+ the graph pulses alive as the build completes.
821
+ 2. Macro glide across holographic charts; one red anomaly lights up and is caught.
822
+ 3. The dashboard sits on a laptop in a bright minimal office, coffee steam
823
+ drifting — everything under control.
824
+
825
+ CONTROLS — HUD: SIGNAL 0 → 94 %, segments ASSEMBLY / THE CATCH / THE CALM ·
826
+ PLAY ("SEE IT COMING") · TOP/END.
827
+
828
+ OVERLAYS — "See churn coming." → one line per feature window (Predict ·
829
+ Explain · Prevent).
830
+
831
+ BELOW THE JOURNEY — logo strip → metrics counters (94% accuracy · 12,000
832
+ teams · $40M saved) → pricing (3 tiers, middle highlighted) → FAQ → final CTA.
833
+
834
+ BRAND — near-black hero fading to white body, single violet accent, crisp
835
+ geometric sans, glassmorphism cards.
836
+ ```
837
+
838
+ **HERO** *(dark scrub hero handing off to a light body — its native mode)*
839
+ ```
840
+ Redesign the hero section with 3D scrolling for PULSE — an AI analytics
841
+ platform that predicts customer churn before it happens.
842
+ (bt-design → 3D-Hero-Scroll, sweep: hero) The feature blocks, pricing table,
843
+ and FAQ below already exist; match their tokens.
844
+
845
+ FOOTAGE — generate the footage. Anchor first: a clean floating dashboard UI with a
846
+ rising, heartbeat-pulsing graph in a dark void. Chain:
847
+ 1. Data particles swirl and assemble into the dashboard; the graph pulses
848
+ alive as the build completes.
849
+ 2. Macro glide across holographic charts; one red anomaly lights up and is
850
+ caught.
851
+
852
+ CONTROLS — HUD: SIGNAL 0 → 94 % · PLAY ("SEE IT COMING") · no jump nav.
853
+
854
+ OVERLAYS — "See churn coming." → one line per feature window (Predict ·
855
+ Explain · Prevent). The "Start free" CTA lives in the existing body, not an
856
+ overlay.
857
+
858
+ HANDOFF — grade the final frame from near-black toward white so it hands off
859
+ into the existing light-bodied page.
860
+ ```
861
+
862
+ *What changed:* the "everything under control" office beat and the whole
863
+ pricing/FAQ stack are PAGE; HERO stops after the anomaly catch and grades to
864
+ white — the textbook dark-film-over-light-page handoff.
865
+
866
+ ---
867
+
868
+ ### 10.9 · NOIR&CO (creative agency)
869
+
870
+ **PAGE** *(full agency site)*
871
+ ```
872
+ Redesign this starter template as a cinematic "3D scroll" website for NOIR&CO
873
+ — a creative studio that designs brands "for companies that refuse to be
874
+ ignored." (bt-design → 3D-Hero-Scroll, sweep: page)
875
+
876
+ FOOTAGE — generate the footage. Anchor first: black ink mid-bloom in water,
877
+ flashing into gold. Chain:
878
+ 1. Black ink blooms and morphs through water in slow motion, flashing gold.
879
+ 2. A dolly past oversized posters and screens with bold type on gallery walls.
880
+ 3. Silhouettes of a small team working late in a moody studio, city bokeh
881
+ through the window.
882
+
883
+ CONTROLS — no HUD · PLAY ("ENTER THE STUDIO") · TOP/END.
884
+
885
+ OVERLAYS — "NOIR&CO" filling 80% of the viewport → manifesto one word per
886
+ window (LOUD. · PRECISE. · UNFORGETTABLE.).
887
+
888
+ BELOW THE JOURNEY — selected-work grid (4 case studies, hover video reveals)
889
+ → services (editorial two-column) → team → "Got a brand worth fighting for?"
890
+ footer. Cursor = small gold dot with trailing ring.
891
+
892
+ BRAND — pure black + bone white, gold accent used exactly three times,
893
+ brutalist display + refined serif body.
894
+ ```
895
+
896
+ **HERO** *(the zero-controls variant — scrub only)*
897
+ ```
898
+ Redesign the hero section with 3D scrolling for NOIR&CO — a creative studio.
899
+ (bt-design → 3D-Hero-Scroll, sweep: hero) The work grid, services, and footer
900
+ below stay; match existing tokens.
901
+
902
+ FOOTAGE — generate the footage. Anchor first: black ink mid-bloom in water,
903
+ flashing into gold. Chain:
904
+ 1. Black ink blooms and morphs through water in extreme slow motion, flashing
905
+ gold.
906
+ 2. The bloom collapses inward and snaps to pure black.
907
+
908
+ CONTROLS — none. No HUD, no PLAY, no jump nav — scrub only.
909
+
910
+ OVERLAYS — "NOIR&CO" filling 80% of the viewport → manifesto one word per
911
+ window (LOUD. · PRECISE. · UNFORGETTABLE.).
912
+
913
+ HANDOFF — the ink snaps to the same pure black as the site body — an
914
+ invisible seam.
915
+ ```
916
+
917
+ *What changed:* PAGE keeps PLAY + jump nav and builds the case-study grid
918
+ below; HERO is the deliberate zero-controls proof — delete every optional
919
+ block and the engine is still a silky scrub with choreographed type.
920
+
921
+ ---
922
+
923
+ ### 10.10 · FORGE (gym)
924
+
925
+ **PAGE** *(full gym site)*
926
+ ```
927
+ Redesign this starter template as a cinematic "3D scroll" website for FORGE —
928
+ a strength gym in [CITY], motto "Earn it."
929
+ (bt-design → 3D-Hero-Scroll, sweep: page)
930
+
931
+ FOOTAGE — generate the footage. Anchor first: an athlete mid-clap, chalk cloud
932
+ blooming through a single overhead shaft of light in a dark gym. Chain:
933
+ 1. Slow motion — the chalked hands clap, the cloud blooms through the shaft.
934
+ 2. Macro tracking along a loaded barbell as hands grip it, knurling and chalk
935
+ in sharp detail, plates settling.
936
+ 3. A runner sprinting an outdoor track at dawn, breath visible, camera low
937
+ and fast alongside.
938
+
939
+ CONTROLS — HUD: PRs THIS MONTH 0 → 1,240, segments CHALK / IRON / GRIND ·
940
+ PLAY ("EARN IT") · TOP/END.
941
+
942
+ OVERLAYS — "FORGE" in industrial type punching in → "Earn it." → one
943
+ philosophy line per window ("No mirrors." · "No machines that do the work
944
+ for you.").
945
+
946
+ BELOW THE JOURNEY — programs grid (Strength / Conditioning / Team) → coaches
947
+ → pricing (3 tiers, middle highlighted, "First week free") → schedule + map +
948
+ signup.
949
+
950
+ BRAND — charcoal, bone-white type, one blood-red accent, heavy condensed
951
+ display, grain + vignette.
952
+ ```
953
+
954
+ **HERO** *(chalk-cloud hero on top of an existing gym site — its native mode)*
955
+ ```
956
+ Redesign the hero section with 3D scrolling for FORGE — a strength gym in
957
+ [CITY], motto "Earn it." (bt-design → 3D-Hero-Scroll, sweep: hero)
958
+ Programs, coaches, pricing, and schedule below stay; match existing tokens.
959
+
960
+ FOOTAGE — generate the footage. Anchor first: an athlete mid-clap, chalk cloud
961
+ blooming through a single overhead shaft of light in a dark gym. Chain:
962
+ 1. Slow motion — the chalked hands clap, the cloud blooms through the shaft.
963
+ 2. The camera pushes through the chalk cloud and lands on a loaded barbell as
964
+ hands grip it, knurling and chalk in sharp detail.
965
+
966
+ CONTROLS — PLAY ("EARN IT") only · no HUD.
967
+
968
+ OVERLAYS — "FORGE" in massive industrial type punching in → "Earn it."
969
+
970
+ HANDOFF — settle the final frame into charcoal so it hands off into the
971
+ existing programs grid.
972
+ ```
973
+
974
+ *What changed:* PAGE adds the outdoor-sprint beat, a PRs-this-month HUD, and
975
+ builds programs/pricing/schedule below; HERO is the clap-into-barbell topper
976
+ over a gym site you already have.