Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 | /** * e Demo Narration Segments * * Pure data file — no React. Each segment maps a revealProgress range * to a TTS utterance and a minimum animation duration. The narration * hook sweeps revealProgress from startProgress to endProgress over * animationDurationMs, gated by TTS completion at each boundary. * * Progress ranges are derived from eDemo.ts's LEVELS and phase constants: * * LEVELS[0] n=1 0.06–0.14 Day 1 * LEVELS[1] n=2 0.14–0.40 Day 2 (centerpiece — 5 fine-grained segments) * LEVELS[2] n=3 0.40–0.47 Day 3 * LEVELS[3] n=4 0.47–0.53 Day 4 * LEVELS[4-5] n=6,8 0.53–0.61 Days 5–6 * LEVELS[6-9] n=12+ 0.61–0.73 Days 7–10 * SMOOTH 0.73–0.83 Continuous growth * CONVERGE 0.83–0.92 Convergence to e * LABELS 0.92–1.00 Final reveal */ import type { DemoNarrationSegment } from './useConstantDemoNarration' /** Shared voice direction for the e demo narrator. */ export const E_DEMO_TONE = 'You are a warm, delighted nature guide for a really smart 5-year-old. ' + 'Ground everything in growing plants and sharing cookies. Be full of wonder and encouragement.' export const E_DEMO_SEGMENTS: DemoNarrationSegment[] = [ // ── Seed vine + Day 1 ────────────────────────────────────────── { // Seg 0: Seed vine appears (0.00–0.06) + Day 1 single hop (0.06–0.14) ttsText: 'Look! A tiny vine is growing on the number line. ' + 'It starts at zero and stretches all the way to one. ' + 'On Day One, the vine takes one big leap and doubles in size!', startProgress: 0.0, endProgress: 0.14, animationDurationMs: 7000, scrubberLabel: 'Vine sprouts', }, // ── Day 2: compound growth explanation (5 segments) ──────────── { // Seg 1: Day 2 retract + intro — vine shrinks back to 1 ttsText: "Now let's try something different. " + 'On Day Two, instead of one big hop, ' + 'we split the vine into two equal pieces.', startProgress: 0.14, endProgress: 0.21, animationDurationMs: 5000, scrubberLabel: 'Split in two', }, { // Seg 2: Day 2 hop 1 — first piece grows ttsText: 'Each piece grows by half its size. ' + 'Watch the first piece make a hop!', startProgress: 0.21, endProgress: 0.27, animationDurationMs: 4000, scrubberLabel: 'First hop', }, { // Seg 3: Day 2 rest — explain compound growth insight ttsText: "Now here's the magic part. The vine is bigger now! " + 'So when we split it into pieces again, each piece is bigger too.', startProgress: 0.27, endProgress: 0.32, animationDurationMs: 5000, scrubberLabel: 'The magic part', }, { // Seg 4: Day 2 hop 2 — second piece grows (bigger hop!) ttsText: 'And a bigger piece means a bigger hop! ' + 'See? The second hop went farther than the first one!', startProgress: 0.32, endProgress: 0.37, animationDurationMs: 4500, scrubberLabel: 'Bigger hop!', }, { // Seg 5: Day 2 result ttsText: 'Two hops, and the vine grew more than it did with just one big leap. ' + 'Sharing the work made the vine bigger!', startProgress: 0.37, endProgress: 0.4, animationDurationMs: 4500, scrubberLabel: 'Two beats one', }, // ── Days 3–4 ────────────────────────────────────────────────── { // Seg 6: Day 3 (n=3) ttsText: 'Day Three — three helpers this time! ' + 'More helpers means more chances to grow. The vine keeps getting bigger.', startProgress: 0.4, endProgress: 0.47, animationDurationMs: 5000, scrubberLabel: 'Three helpers', }, { // Seg 7: Day 4 (n=4) ttsText: 'Day Four — four helpers! ' + 'See how each day, the vine gets just a little bit longer?', startProgress: 0.47, endProgress: 0.53, animationDurationMs: 4500, scrubberLabel: 'Four helpers', }, // ── Days 5–6 (grouped) ──────────────────────────────────────── { // Seg 8: Days 5–6 (n=6, n=8) ttsText: 'More and more helpers join in! ' + 'Six helpers, then eight — the vine is creeping closer and closer to the star.', startProgress: 0.53, endProgress: 0.61, animationDurationMs: 5000, scrubberLabel: 'More helpers', }, // ── Days 7–10 (grouped) ─────────────────────────────────────── { // Seg 9: Days 7–10 (n=12, 20, 50, 100) ttsText: "Now it's getting fast! Twelve helpers, twenty, fifty, a hundred! " + 'With so many tiny helpers, the vine barely has to slow down between hops.', startProgress: 0.61, endProgress: 0.73, animationDurationMs: 5500, scrubberLabel: 'Going fast!', }, // ── Smooth growth (n → ∞) ───────────────────────────────────── { // Seg 10: Continuous growth — all pieces grow together ttsText: 'And now — imagine infinite helpers, all growing together at the same time. ' + "The vine doesn't hop anymore. It just flows, smooth and steady.", startProgress: 0.73, endProgress: 0.83, animationDurationMs: 6000, scrubberLabel: 'Smooth growth', }, // ── Convergence ─────────────────────────────────────────────── { // Seg 11: All the results converge to one point ttsText: 'Look at where all those vines ended up. ' + 'Each day, the vine got a tiny bit closer to that star. ' + 'It gets closer and closer but never quite reaches it.', startProgress: 0.83, endProgress: 0.92, animationDurationMs: 6000, scrubberLabel: 'Converging', }, // ── Final reveal ────────────────────────────────────────────── { // Seg 12: The number e revealed ttsText: 'That spot, right there, is the perfect growth number. ' + 'Mathematicians call it "e." ' + "It's about two point seven one eight, and it shows up everywhere in nature — " + 'in how plants grow, how populations spread, even how your savings account works!', startProgress: 0.92, endProgress: 1.0, animationDurationMs: 8000, scrubberLabel: "It's e!", }, ] |