cinematic-scroll-skill 2.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.
- package/COMPATIBILITY.md +244 -0
- package/LICENSE +21 -0
- package/MODELS.md +92 -0
- package/README.md +250 -0
- package/SKILL.md +1003 -0
- package/audit-mode.md +497 -0
- package/bin/install.mjs +91 -0
- package/compile-choreography.mjs +296 -0
- package/decision-log.md +241 -0
- package/examples/GETTING_STARTED.md +279 -0
- package/examples/KNOWN_ISSUES.md +50 -0
- package/examples/PROMPTS.md +166 -0
- package/examples/luxe/README.md +88 -0
- package/examples/luxe/index.html +662 -0
- package/examples/noir/README.md +72 -0
- package/examples/noir/index.html +634 -0
- package/examples/pop/README.md +81 -0
- package/examples/pop/index.html +711 -0
- package/examples/renaissance/README.md +39 -0
- package/examples/renaissance/index.html +648 -0
- package/examples/studio/README.md +77 -0
- package/examples/studio/chapters.js +105 -0
- package/examples/studio/index.html +520 -0
- package/manifest.json +92 -0
- package/manifest.md +136 -0
- package/package.json +56 -0
- package/references/film-archetypes.md +211 -0
- package/references/performance-budget.md +499 -0
- package/references/scroll-patterns.md +693 -0
- package/scroll-choreography-compilation.md +543 -0
- package/scroll-choreography.json +1512 -0
- package/taste-guardrails.md +164 -0
- package/templates/nextjs/.env.example +41 -0
- package/templates/nextjs/app/api/fal/proxy/route.ts +33 -0
- package/templates/nextjs/app/api/fal/webhook/route.ts +132 -0
- package/templates/nextjs/app/api/generate-edition-asset/route.ts +66 -0
- package/templates/nextjs/app/globals.css +80 -0
- package/templates/nextjs/app/layout.tsx +21 -0
- package/templates/nextjs/app/page.tsx +10 -0
- package/templates/nextjs/components/ChapterDemoVisual.tsx +212 -0
- package/templates/nextjs/components/ChapterScene.tsx +373 -0
- package/templates/nextjs/components/EditionsPage.tsx +116 -0
- package/templates/nextjs/components/SmoothScrollProvider.tsx +8 -0
- package/templates/nextjs/lib/api-guard.ts +110 -0
- package/templates/nextjs/lib/editions-manifest.ts +224 -0
- package/templates/nextjs/lib/fal-client.ts +12 -0
- package/templates/nextjs/lib/fal-generate.ts +86 -0
- package/templates/nextjs/lib/fal-models.ts +213 -0
- package/templates/nextjs/lib/prompt-contract.ts +97 -0
- package/templates/nextjs/lib/use-device.ts +42 -0
- package/templates/nextjs/lib/use-lenis.ts +35 -0
- package/templates/nextjs/next.config.ts +29 -0
- package/templates/nextjs/package-lock.json +6455 -0
- package/templates/nextjs/package.json +41 -0
- package/templates/nextjs/package.patch.json +28 -0
- package/templates/nextjs/postcss.config.js +6 -0
- package/templates/nextjs/scripts/generate-chapter-assets.mjs +243 -0
- package/templates/nextjs/scripts/setup.mjs +170 -0
- package/templates/nextjs/tailwind.config.ts +37 -0
- package/templates/nextjs/tsconfig.json +23 -0
- package/troubleshooting.md +1284 -0
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
# Pop — BLOOM (contemporary pop / Gen-Z energy)
|
|
2
|
+
|
|
3
|
+
A self-contained cinematic-scroll example in a deliberately loud world:
|
|
4
|
+
**contemporary pop / Gen-Z** — candy-pink + electric-lime gradients, bold
|
|
5
|
+
rounded mixed-case type, *fast* parallax with wide depth gaps (0.15 → 1.40),
|
|
6
|
+
quick word-stagger, and a floating app-UI layer (a phone) that drifts upward
|
|
7
|
+
faster than the title. Fictional product (**BLOOM**, a productivity app that
|
|
8
|
+
doesn't feel like homework). No real brands.
|
|
9
|
+
|
|
10
|
+
Director grammar: **Greta Gerwig** (Gen-Z warmth + heart) crossed with
|
|
11
|
+
**Wes Anderson** snap pacing — energetic but art-directed, not a meme.
|
|
12
|
+
|
|
13
|
+
A dedicated **"THE DROP"** showcase beat (section `#drop`, inserted right after
|
|
14
|
+
the hero) is now powered by **GSAP ScrollTrigger** and layers in two extra
|
|
15
|
+
techniques the vanilla rAF engine doesn't:
|
|
16
|
+
|
|
17
|
+
- **Jump-scare micro** (taste-guardrails §2 "Jump scare — Gen-Z energy"): the
|
|
18
|
+
"get the app" stamp snaps in once at a scroll threshold — `scale 0.8 → 1.05`
|
|
19
|
+
+ `rotateZ(-2° → 0°)` on a `back.out(2)` overshoot. One-shot (not scrubbed),
|
|
20
|
+
reversible. The signature moment.
|
|
21
|
+
- **Velocity-reactive** (scroll-patterns #3): the giant marquee rows react to
|
|
22
|
+
scroll *speed* — a lerped `deltaY/dt` velocity tracker (lerp 0.15, capped)
|
|
23
|
+
drives `skewX` + `scaleY` via `gsap.quickTo`. Transform-only, disabled on
|
|
24
|
+
touch.
|
|
25
|
+
|
|
26
|
+
GSAP is loaded `defer` + feature-detected: if the CDN fails to load, the page
|
|
27
|
+
still runs on the hand-rolled engine and **THE DROP stays at a complete static
|
|
28
|
+
state**. The wiring uses `gsap.matchMedia()` so it auto-disables under
|
|
29
|
+
`prefers-reduced-motion` and at ≤768px.
|
|
30
|
+
|
|
31
|
+
Single self-contained `index.html` — no build step, no npm, no JS libraries.
|
|
32
|
+
Only external resource is Google Fonts. GitHub-Pages-native.
|
|
33
|
+
|
|
34
|
+
## Run / preview
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
python3 -m http.server 8099 # then open http://localhost:8099/examples/pop/
|
|
38
|
+
# …or just open index.html directly.
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
The page works **immediately at $0** using a CSS-only phone-UI mock — the
|
|
42
|
+
"floating app" reads as a real screen even with **no image files present**.
|
|
43
|
+
To swap in real screenshots, drop files into `assets/` (see slots below) and
|
|
44
|
+
the page picks them up automatically (it probes `assets/<id>.jpg`, falls back
|
|
45
|
+
to the CSS mock on 404).
|
|
46
|
+
|
|
47
|
+
## Image slots
|
|
48
|
+
|
|
49
|
+
Each chapter's floating phone probes one screenshot. The image is shown inside
|
|
50
|
+
a 9:19 phone frame (portrait app screenshot). All paths are **relative** so the
|
|
51
|
+
page works at `https://<user>.github.io/cinematic-scroll-skill/examples/pop/`.
|
|
52
|
+
|
|
53
|
+
| Slot (file) | Probed path | Aspect ratio | Target px (W×H) | Generation prompt |
|
|
54
|
+
|---|---|---|---|---|
|
|
55
|
+
| Hero — home | `assets/0-hero.jpg` | 9:19 (portrait) | 540 × 1140 | Gen-Z pop mobile-app **home screen** UI screenshot. Saturated candy-pink → electric-violet vertical gradient background with a lime-green glow at top. Glassy frosted cards floating over it: a big rounded greeting header "Hey, you" with a circular progress ring, then 3 to-do rows with rounded square icons and checkboxes, a bottom tab bar. Bold rounded sans-serif (Plus Jakarta Sans vibe), mixed case, high energy, playful but premium. No device frame, fill the canvas, no watermark, no logos other than the in-app UI. |
|
|
56
|
+
| Focus — session | `assets/1-focus.jpg` | 9:19 (portrait) | 540 × 1140 | Gen-Z pop mobile-app **focus-timer screen** UI screenshot. Electric-violet → cyan vertical gradient background. Centered glassy card showing a large countdown "18:42" and a cute growing plant/seedling illustration, a circular progress ring near full, "Focus Bloom" label in bold rounded sans. Frosted-glass surfaces, neon-lime accents, playful sticker-ish detail. No device frame, fill the canvas, no watermark, no real logos. |
|
|
57
|
+
| Flow — today | `assets/2-flow.jpg` | 9:19 (portrait) | 540 × 1140 | Gen-Z pop mobile-app **daily-schedule / drag-and-drop screen** UI screenshot. Lime-green → cyan vertical gradient background. A vertical timeline of glassy rounded task blocks at different times, one mid-drag with a subtle shadow, an "auto-shuffled" pill chip, bold rounded sans headers, neon accents. Frosted glass, high saturation, energetic but clean. No device frame, fill the canvas, no watermark, no real logos. |
|
|
58
|
+
| Crew — circle | `assets/3-crew.jpg` | 9:19 (portrait) | 540 × 1140 | Gen-Z pop mobile-app **social / friends screen** UI screenshot. Cyan → candy-pink vertical gradient background. Row of round friend avatars with little online/streak badges, a shared "group streak" card with a flame, a glassy chat-nudge bubble, bold rounded sans, lime + pink accents. Frosted glass cards, playful and warm, premium not childish. No device frame, fill the canvas, no watermark, no real logos. |
|
|
59
|
+
|
|
60
|
+
Recommended export: square-cropped to 9:19 portrait, WebP or JPEG, ≤ 200 KB
|
|
61
|
+
each (mobile budget). Keep the screen content slightly inset from the edges so
|
|
62
|
+
nothing important is clipped by the phone's rounded corners.
|
|
63
|
+
|
|
64
|
+
## Notes
|
|
65
|
+
|
|
66
|
+
- **Compositor-only motion:** the scroll loop mutates only `transform` and
|
|
67
|
+
`opacity`, batched in one `requestAnimationFrame`, with a passive scroll
|
|
68
|
+
listener; off-screen sections are skipped.
|
|
69
|
+
- **Zero-image safe:** no `assets/` folder is required to ship — the CSS phone
|
|
70
|
+
mock renders the app on first paint.
|
|
71
|
+
- **Reduced-motion & mobile (≤680px):** the rAF engine is skipped entirely and
|
|
72
|
+
the page renders a clean static mid-state (full opacity, words settled,
|
|
73
|
+
stacked layout, no scrolljack). THE DROP beat builds its markup in this path
|
|
74
|
+
too — it just isn't GSAP-animated, and its CSS static defaults (sticker
|
|
75
|
+
landed, rows un-skewed) keep it whole. Velocity effects are off on touch.
|
|
76
|
+
- **Accessibility:** semantic landmarks (`header`/`main`/`footer`/`nav`), body
|
|
77
|
+
copy sits on solid white panels for contrast over the bright gradients, and
|
|
78
|
+
`prefers-reduced-motion` is respected.
|
|
79
|
+
|
|
80
|
+
Built with the [cinematic-scroll](https://github.com/MustBeSimo/cinematic-scroll-skill)
|
|
81
|
+
Agent Skill · BLOOM is fictional · one of many possible aesthetics.
|