From f34b76bb2fc1caf887cce12e4a81be882bdaf869 Mon Sep 17 00:00:00 2001 From: isaaclins <104733575+isaaclins@users.noreply.github.com> Date: Wed, 7 Oct 2026 16:45:11 +0200 Subject: [PATCH 1/4] Intro film: made in code (tools/film), film block on the home page --- assets/css/_home.scss | 84 ++++++ assets/js/home.js | 26 ++ content/_index.md | 5 +- layouts/shortcodes/film.html | 21 ++ tools/film/.gitignore | 2 + tools/film/README.md | 49 ++++ tools/film/build.sh | 29 ++ tools/film/film.html | 9 + tools/film/film.js | 509 +++++++++++++++++++++++++++++++++++ tools/film/icons.js | 193 +++++++++++++ tools/film/render.mjs | 77 ++++++ 11 files changed, 1003 insertions(+), 1 deletion(-) create mode 100644 layouts/shortcodes/film.html create mode 100644 tools/film/.gitignore create mode 100644 tools/film/README.md create mode 100755 tools/film/build.sh create mode 100644 tools/film/film.html create mode 100644 tools/film/film.js create mode 100644 tools/film/icons.js create mode 100644 tools/film/render.mjs diff --git a/assets/css/_home.scss b/assets/css/_home.scss index 18453b62..4d8d9549 100644 --- a/assets/css/_home.scss +++ b/assets/css/_home.scss @@ -1231,6 +1231,90 @@ animation: home-rise .9s var(--ease) .1s both; } + // ---------- intro film (shortcodes/film.html, tools/film/) ---------- + // The box has its size before anything loads (aspect-ratio), so no shift. + .film { + position: relative; + margin: clamp(48px, 8vh, 96px) 0 0; + aspect-ratio: 16 / 9; + border-radius: 12px; + overflow: hidden; + background: #09090a; + box-shadow: 0 0 0 1px var(--line); + + img, + video { + position: absolute; + inset: 0; + display: block; + width: 100%; + height: 100%; + margin: 0; + object-fit: cover; + } + + video { + opacity: 0; + transition: opacity .3s var(--ease); + } + + &.on video { + opacity: 1; + } + } + + .film-btn { + position: absolute; + right: 14px; + bottom: 14px; + z-index: 2; + display: grid; + place-items: center; + width: 44px; + height: 44px; + padding: 0; + border: 1px solid rgba(255, 255, 255, .16); + border-radius: 50%; + background: rgba(9, 9, 10, .62); + color: #ecebe7; + cursor: pointer; + opacity: .72; + transition: opacity .2s var(--ease), transform .2s var(--ease); + + &:hover, + &:focus-visible { + opacity: 1; + } + + &:active { + transform: scale(.94); + } + + svg { + display: none; + width: 16px; + height: 16px; + fill: currentColor; + } + + &[data-state="play"] .i-play, + &[data-state="pause"] .i-pause, + &[data-state="replay"] .i-replay { + display: block; + } + } + + @media (max-width: 640px) { + .film { + aspect-ratio: 4 / 5; + } + + .film-btn { + right: 10px; + bottom: 10px; + } + } + // ---------- small screens ---------- @media (max-width: 960px) { .case { diff --git a/assets/js/home.js b/assets/js/home.js index 1fd5daab..5a6e3243 100644 --- a/assets/js/home.js +++ b/assets/js/home.js @@ -148,6 +148,32 @@ }, { threshold: .3 }).observe(vid); }); + /* intro film: plays once while on screen, pauses off screen. Reduced motion + and Save-Data / slow connections keep the poster until someone presses play. */ + var film = document.getElementById('film'); + if (film) { + var fv = film.querySelector('video'), fb = film.querySelector('.film-btn'); + var conn = navigator.connection || {}; + var auto = !reduce && !conn.saveData && !/(^|-)2g|3g/.test(conn.effectiveType || ''); + var wanted = false; + var setBtn = function (s, label) { fb.dataset.state = s; fb.setAttribute('aria-label', label); }; + var play = function () { + fv.preload = 'auto'; + fv.play().then(function () { film.classList.add('on'); setBtn('pause', 'Pause the intro film'); }, function () {}); + }; + fv.addEventListener('ended', function () { wanted = false; setBtn('replay', 'Play the intro film again'); }); + fv.addEventListener('pause', function () { if (!fv.ended) setBtn('play', 'Play the intro film'); }); + fb.addEventListener('click', function () { + if (fv.paused) { wanted = true; if (fv.ended) fv.currentTime = 0; play(); } + else { wanted = false; auto = false; fv.pause(); } + }); + new IntersectionObserver(function (es) { + var vis = es[0].isIntersecting; + if (vis && (auto || wanted) && fv.paused && !fv.ended) { wanted = true; play(); } + else if (!vis && !fv.paused) fv.pause(); + }, { threshold: .5 }).observe(film); + } + /* contact: click copies the address */ var mail = document.getElementById('mail'), hint = document.getElementById('copyhint'); if (mail && hint) { diff --git a/content/_index.md b/content/_index.md index b9ab4541..7cdffc00 100644 --- a/content/_index.md +++ b/content/_index.md @@ -8,7 +8,8 @@ description = "Isaac Lins. Application developer and security analyst at Swissco {{< meta >}} @@ -28,6 +29,8 @@ engineer and build systems that make it to production. AI | tools & agents, from prompt to production {{< /proof >}} +{{< film >}} + {{< sec "about" >}} {{< about pull="I started as a developer and moved into security. Both stuck." >}} diff --git a/layouts/shortcodes/film.html b/layouts/shortcodes/film.html new file mode 100644 index 00000000..66ae4b69 --- /dev/null +++ b/layouts/shortcodes/film.html @@ -0,0 +1,21 @@ +{{- /* Home: the intro film (source and render script in tools/film/). + 16:9 on wide screens, the 4:5 cut on phones. The picture underneath is + the poster; the video only loads when home.js decides to play it: + on screen, no reduced motion, no Save-Data. One button: play / pause / replay. */ -}} +
+ + + + + + +
diff --git a/tools/film/.gitignore b/tools/film/.gitignore new file mode 100644 index 00000000..3a0d929e --- /dev/null +++ b/tools/film/.gitignore @@ -0,0 +1,2 @@ +out/ +node_modules diff --git a/tools/film/README.md b/tools/film/README.md new file mode 100644 index 00000000..10bf61bf --- /dev/null +++ b/tools/film/README.md @@ -0,0 +1,49 @@ +# Intro film + +The 18-second intro film on the home page, made entirely in code: one canvas, +a fixed timeline, rendered frame by frame. No stock footage, no AI video. + +| File | What | +|---|---| +| `film.html` | Loads the two scripts. Open `film.html?w=1920&h=1080&f=500` (via any static server from the repo root) to see frame 500. | +| `film.js` | The film. `T` at the top is the timeline (seconds); one `shotN(t)` function per shot. | +| `icons.js` | The cast: one 16×16 pixel icon per project on the home page, drawn as grids or shape functions. | +| `render.mjs` | Playwright drives the page frame by frame (`FILM.render(n)`), pipes PNGs into ffmpeg. | +| `build.sh` | Renders both cuts and encodes everything into `out/` (git-ignored). | + +## Script + +| Time | Shot | +|---|---| +| 0.0 | black: "I build applications." | +| 2.2 | paper: "and ship AI tools.", the seven projects print in around it | +| 4.8 | the ring folds into a `git log --graph` with the real commit hashes; `HEAD -> main` lands on Stewie | +| 9.3 | black: "from a prompt", a prompt types a real request from Stewie's post | +| 11.6 | paper: "to production.", the prompt becomes `minecraft.isaaclins.com · live` | +| 14.3 | black: the live dot pulls the cast in and types `////////// isaaclins.com` | + +Palette, font and the `//////////` mark come from the site (`assets/css/main.scss`, +`static/fonts/`). Time is driven, never read from a clock, so frame n is +always the same picture. + +## Render + +```sh +cd tools/film +npm i playwright && npx playwright install chromium-headless-shell # once +./build.sh # masters + every web file +./build.sh encode # only re-encode from the masters +``` + +About 1,080 frames per cut. Run it on a strong machine. Outputs in `out/`: + +| File | Use | +|---|---| +| `intro-16x9.mp4` / `.webm` | home page, wide screens → `static/video/` | +| `intro-4x5-720.mp4` / `.webm` | home page, phones → `static/video/intro-4x5.*` | +| `intro-16x9-poster.webp`, `intro-4x5-poster.webp` | posters → `images/home/intro-16x9.webp`, `intro-4x5.webp` | +| `intro-4x5-linkedin.mp4` | 1080×1350, silent, for LinkedIn | +| `intro-16x9-hq.mp4` | 1080p high quality, for sharing | + +The film block on the home page is `layouts/shortcodes/film.html` (+ `.film` in +`assets/css/_home.scss`, the play/pause logic in `assets/js/home.js`). diff --git a/tools/film/build.sh b/tools/film/build.sh new file mode 100755 index 00000000..939ad8e8 --- /dev/null +++ b/tools/film/build.sh @@ -0,0 +1,29 @@ +#!/usr/bin/env bash +# Render both cuts and encode every deliverable into tools/film/out/. +# ./build.sh masters + web files + poster +# ./build.sh encode only re-encode from existing masters +# ./build.sh masters only render the masters +# Needs node + playwright (chromium) + ffmpeg on PATH. Heavy: run it on a +# strong machine, not a laptop on battery (1080 frames per cut). +set -euo pipefail +cd "$(dirname "$0")" +mkdir -p out +if [ "${1:-}" != "encode" ]; then + node render.mjs --w 1920 --h 1080 --out out/master-16x9.mp4 + node render.mjs --w 1080 --h 1350 --out out/master-4x5.mp4 +fi +[ "${1:-}" = "masters" ] && exit 0 +X264='-c:v libx264 -preset veryslow -tune animation -profile:v high -pix_fmt yuv420p -movflags +faststart -an' +VP9='-c:v libvpx-vp9 -b:v 0 -row-mt 1 -deadline good -cpu-used 1 -pix_fmt yuv420p -an' +# 16:9, the homepage and anywhere else +ffmpeg -v error -y -i out/master-16x9.mp4 $X264 -crf 27 out/intro-16x9.mp4 +ffmpeg -v error -y -i out/master-16x9.mp4 $VP9 -crf 40 out/intro-16x9.webm +# 4:5, phones on the homepage (720 wide) and LinkedIn (full 1080x1350, silent for now) +ffmpeg -v error -y -i out/master-4x5.mp4 -vf scale=720:900:flags=lanczos $X264 -crf 27 out/intro-4x5-720.mp4 +ffmpeg -v error -y -i out/master-4x5.mp4 -vf scale=720:900:flags=lanczos $VP9 -crf 40 out/intro-4x5-720.webm +ffmpeg -v error -y -i out/master-4x5.mp4 $X264 -crf 18 out/intro-4x5-linkedin.mp4 +ffmpeg -v error -y -i out/master-16x9.mp4 $X264 -crf 18 out/intro-16x9-hq.mp4 +# posters: the finished git log (8.6 s) +ffmpeg -v error -y -ss 8.6 -i out/master-16x9.mp4 -frames:v 1 -c:v libwebp -quality 82 out/intro-16x9-poster.webp +ffmpeg -v error -y -ss 8.6 -i out/master-4x5.mp4 -frames:v 1 -vf scale=720:900:flags=lanczos -c:v libwebp -quality 82 out/intro-4x5-poster.webp +ls -la out diff --git a/tools/film/film.html b/tools/film/film.html new file mode 100644 index 00000000..3e6c6e76 --- /dev/null +++ b/tools/film/film.html @@ -0,0 +1,9 @@ + + + +isaaclins.com intro film + + + + diff --git a/tools/film/film.js b/tools/film/film.js new file mode 100644 index 00000000..f85d2d6d --- /dev/null +++ b/tools/film/film.js @@ -0,0 +1,509 @@ +// The intro film for isaaclins.com, drawn on one canvas. +// Time is driven from outside: render(frame) draws exactly that frame, so the +// same frame always gives the same pixels (no clocks, no Math.random). +// ?w=1920&h=1080 is the 16:9 film, ?w=1080&h=1350 the 4:5 cut. Layout reads +// TALL to pick line breaks and sizes; the timeline is the same for both. + +(async function () { + const Q = new URLSearchParams(location.search); + const W = +Q.get('w') || 1920, H = +Q.get('h') || 1080; + const FPS = 60; + const TALL = H > W; + const S = TALL ? W / 1080 : H / 1080; + + const cv = document.getElementById('c'); + cv.width = W; cv.height = H; + const ctx = cv.getContext('2d'); + + // ---------- timeline (seconds) ---------- + const T = { + w1: .20, // black: "I build applications." + s2: 2.00, // cut to paper: "and ship AI tools." + ringIn: 2.40, // the cast prints in around it and orbits + textOut: 4.55, + morph: 4.90, // the ring folds into a git log + header: 5.15, + head: 6.55, // HEAD -> main + s3: 7.95, // cut to black: "from a prompt" + send: 9.95, + s4: 10.35, // cut to paper: "to production." + push: 12.65, // push into the live dot + s5: 12.95, // match cut to black on the dot + end: 16.80, + }; + const DUR = T.end; + const FRAMES = Math.round(DUR * FPS); + + // ---------- palette (the site's own tokens, assets/css/main.scss) ---------- + const DARK = { bg: '#09090a', fg: '#ecebe7', fg2: '#a6a5a0', fg3: '#82817c', line: '#2c2c30', blue: '#6f95ff', card: '#1b1c20', rim: 'rgba(255,255,255,.14)' }; + const PAPER = { bg: '#f5f4ef', fg: '#121212', fg2: '#55544f', fg3: '#6f6e69', line: '#d2d0c8', blue: '#2c55f0', card: '#fbfaf6', rim: '#d9d7cf' }; + + // ---------- easing ---------- + const clamp01 = x => x < 0 ? 0 : x > 1 ? 1 : x; + const prog = (t, a, d) => clamp01((t - a) / d); + const lerp = (a, b, p) => a + (b - a) * p; + function bez(x1, y1, x2, y2) { + const cx = 3 * x1, bx = 3 * (x2 - x1) - cx, ax = 1 - cx - bx; + const cy = 3 * y1, by = 3 * (y2 - y1) - cy, ay = 1 - cy - by; + const sx = u => ((ax * u + bx) * u + cx) * u, sy = u => ((ay * u + by) * u + cy) * u; + return x => { + if (x <= 0) return 0; if (x >= 1) return 1; + let lo = 0, hi = 1; + for (let i = 0; i < 26; i++) { const m = (lo + hi) / 2; if (sx(m) < x) lo = m; else hi = m; } + return sy((lo + hi) / 2); + }; + } + const E = { + out: bez(.16, 1, .3, 1), // arrivals + in: bez(.7, 0, .84, 0), // exits + snap: bez(.7, 0, .2, 1), // morphs: slow out, fast across, soft landing + site: bez(.2, .8, .2, 1), // --ease on the site + quart: x => x * x * x * x, + inExpo: x => x <= 0 ? 0 : Math.pow(2, 10 * x - 10), + }; + const back = (x, s = 1.70158) => x >= 1 ? 1 : 1 + (s + 1) * Math.pow(x - 1, 3) + s * Math.pow(x - 1, 2); + + function rng(seed) { return () => { seed |= 0; seed = seed + 0x6D2B79F5 | 0; let t = Math.imul(seed ^ seed >>> 15, 1 | seed); t = t + Math.imul(t ^ t >>> 7, 61 | t) ^ t; return ((t ^ t >>> 14) >>> 0) / 4294967296; }; } + + // ---------- font ---------- + const face = new FontFace('JetBrains Mono', 'url(../../static/fonts/jetbrains-mono.woff2)', { weight: '100 800' }); + await face.load(); document.fonts.add(face); + + // set the font; returns the advance of one character (mono, 0.6 em + tracking) + function font(size, weight, ls = -.04) { + ctx.font = `${weight} ${size}px "JetBrains Mono"`; + ctx.letterSpacing = (size * ls) + 'px'; + ctx.textBaseline = 'alphabetic'; + ctx.textAlign = 'left'; + return size * .6 + size * ls; + } + + // ---------- grain ---------- + // Fine, static, neutral grain: overlay of mid-grey noise (128 = no change), + // so the paper keeps the site's #f5f4ef and the black stays black. + function texture(seed, amp) { + const c = document.createElement('canvas'); c.width = W; c.height = H; + const g = c.getContext('2d'), img = g.createImageData(W, H), d = img.data, r = rng(seed); + for (let i = 0; i < d.length; i += 4) { const v = 128 + (r() - .5) * 2 * amp; d[i] = d[i + 1] = d[i + 2] = v; d[i + 3] = 255; } + g.putImageData(img, 0, 0); return c; + } + const GRAIN = { paper: texture(7, 34), dark: texture(11, 60) }; + + function background(th) { + ctx.fillStyle = th.bg; ctx.fillRect(0, 0, W, H); + const R = Math.hypot(W, H) / 2; + const g = ctx.createRadialGradient(W / 2, H * .48, R * .3, W / 2, H / 2, R); + if (th === PAPER) { g.addColorStop(0, 'rgba(60,50,30,0)'); g.addColorStop(1, 'rgba(60,50,30,.05)'); } + else { g.addColorStop(0, 'rgba(111,149,255,.03)'); g.addColorStop(1, 'rgba(0,0,0,0)'); } + ctx.fillStyle = g; ctx.fillRect(0, 0, W, H); + } + function grain(th) { + ctx.save(); ctx.setTransform(1, 0, 0, 1, 0, 0); + ctx.globalCompositeOperation = 'overlay'; ctx.globalAlpha = th === PAPER ? .22 : .5; + ctx.drawImage(th === PAPER ? GRAIN.paper : GRAIN.dark, 0, 0); + ctx.restore(); + } + // a slow push-in per shot, so nothing ever sits dead still + function camera(t, a, b, amt = .03, cx = W / 2, cy = H / 2) { + const k = 1 + amt * E.site(prog(t, a, b - a)); + ctx.translate(cx, cy); ctx.scale(k, k); ctx.translate(-cx, -cy); + } + + // ---------- type ---------- + function line(segs) { + const chars = []; + segs.forEach(([txt, col]) => { for (const c of txt) chars.push({ c, col }); }); + const ws = []; let s = null; + chars.forEach((ch, i) => { if (ch.c === ' ') { if (s !== null) { ws.push({ s, e: i }); s = null; } } else if (s === null) s = i; }); + if (s !== null) ws.push({ s, e: chars.length }); + return { chars, ws, n: chars.length }; + } + function runs(L, from, to, x, y, cw) { + let i = from; + while (i < to) { + const col = L.chars[i].col; let j = i, str = ''; + while (j < to && L.chars[j].col === col) { str += L.chars[j].c; j++; } + ctx.fillStyle = col; ctx.fillText(str, x + i * cw, y); i = j; + } + } + const textW = (n, size, cw, ls) => n * cw - size * ls; // no trailing tracking + // baseline y of line i in a block of n lines centred on cy + const lineY = (i, n, size, cy, lh = 1.12) => cy - (n - 1) * size * lh / 2 + i * size * lh + size * .36; + + // Move 1, word mask reveal: each word rises out of its own slot. + function reveal(lines, size, weight, t, tin, cy, o = {}) { + const ls = -.04, cw = font(size, weight, ls); + const wmax = Math.max(...lines.map(l => textW(l.n, size, cw, ls))); + const x = W / 2 - wmax / 2; + const st = o.stagger ?? .085, du = o.dur ?? .62; + let k = 0; + lines.forEach((L, li) => { + const y = lineY(li, lines.length, size, cy); + L.ws.forEach(w => { + const p = E.out(prog(t, tin + k++ * st, du)); if (p <= 0) return; + const dy = (1 - p) * size * 1.15; + ctx.save(); ctx.beginPath(); + ctx.rect(x + w.s * cw - size * .12, y - size * 1.02, (w.e - w.s) * cw + size * .24, size * 1.32); ctx.clip(); + runs(L, w.s, w.e, x, y + dy, cw); ctx.restore(); + }); + }); + } + // Move 2, tracking settle: wide letter-spacing and a touch large, settling in. + function settle(lines, size, weight, t, tin, tout, cy) { + const p = E.out(prog(t, tin, .7)); if (p <= 0) return; + const q = tout == null ? 0 : E.in(prog(t, tout, .32)); if (q >= 1) return; + const ls = lerp(.28, -.04, p) - q * .06, k = lerp(1.07, 1, p) * (1 - .04 * q); + ctx.save(); ctx.globalAlpha = Math.min(1, p * 1.6) * (1 - q); + ctx.translate(W / 2, cy); ctx.scale(k, k); ctx.translate(-W / 2, -cy); + const cw = font(size, weight, ls); + lines.forEach((L, i) => runs(L, 0, L.n, W / 2 - textW(L.n, size, cw, ls) / 2, lineY(i, lines.length, size, cy), cw)); + ctx.restore(); + } + function caretBox(x, y, size, col) { ctx.fillStyle = col; ctx.fillRect(x + size * .1, y - size * .76, size * .44, size * .9); } + const blinkOn = (t, from) => t < from || ((t - from) % 1.06) < .53; + + // ---------- pixel icons ---------- + // Printed in row by row (2 rows a frame, the row being printed in the accent), + // popped in with a little overshoot, soft shadow on paper. On black the + // outline is lifted to a dark grey rim so dark icons keep their edge. + const ICON_Q = 12, oc = document.createElement('canvas'); oc.width = oc.height = 16 * ICON_Q; + const ox = oc.getContext('2d'); + function drawIcon(id, t, cx, cy, size, o = {}) { + const { rows, pal } = ICONS.icon(id, t); + const th = o.th || PAPER, build = o.build ?? 1; + const nrows = build >= 1 ? 16 : Math.floor(build * 16); + if (nrows <= 0 || size <= .5) return; + ox.clearRect(0, 0, oc.width, oc.height); + for (let y = 0; y < nrows; y++) for (let x = 0; x < 16; x++) { + const ch = rows[y][x]; if (ch === '.') continue; + ox.fillStyle = build < 1 && y >= nrows - 2 ? th.blue : th === DARK && ch === 'k' ? '#3d3e47' : pal[ch]; + ox.fillRect(x * ICON_Q, y * ICON_Q, ICON_Q, ICON_Q); + } + ctx.save(); ctx.translate(cx, cy); if (o.rot) ctx.rotate(o.rot); + ctx.globalAlpha *= (o.alpha ?? 1); + if (th === PAPER && o.shadow !== false) { + const k = size / (180 * S); + ctx.shadowColor = 'rgba(40,32,20,.2)'; ctx.shadowBlur = 28 * S * k; ctx.shadowOffsetY = 16 * S * k; + } + ctx.imageSmoothingEnabled = !!o.rot; ctx.imageSmoothingQuality = 'high'; + ctx.drawImage(oc, -size / 2, -size / 2, size, size); + ctx.restore(); + } + const pop = (t, tin) => .6 + .4 * back(prog(t, tin, .35), 2.6); // .6 -> ~1.08 -> 1 + + const CAST = ICONS.CAST; + + // the cast on a tilted, turning ellipse; depth = sin(angle), front = bottom + function ring(i, t, o) { + const th = -Math.PI / 2 + i * 2 * Math.PI / CAST.length + (t - o.t0) * o.speed; + const ex = o.rx * Math.cos(th), ey = o.ry * Math.sin(th), c = Math.cos(o.tilt), s = Math.sin(o.tilt); + const depth = Math.sin(th); + return { x: o.cx + ex * c - ey * s, y: o.cy + ex * s + ey * c, depth, s: 1 + .22 * depth, rot: .12 * Math.sin(th * 2 + i * 1.7) }; + } + + // ---------- layout ---------- + const L1 = TALL ? [line([['I build', DARK.fg]]), line([['applications.', DARK.fg]])] : [line([['I build applications.', DARK.fg]])]; + const L2 = TALL ? [line([['and ship', PAPER.fg]]), line([['AI tools.', PAPER.blue]])] : [line([['and ship ', PAPER.fg], ['AI tools.', PAPER.blue]])]; + const SZ1 = (TALL ? 132 : 106) * S, SZ2 = (TALL ? 120 : 110) * S; + const RING = TALL + ? { rx: 410 * S, ry: 530 * S, tilt: .14, size: 150 * S, speed: .52 } + : { rx: 800 * S, ry: 330 * S, tilt: -.21, size: 180 * S, speed: .52 }; + + // git log + const LOG = TALL + ? { rowH: 140 * S, icon: 84 * S, name: 50 * S, hash: 38 * S, head: 30 * S, hdr: 38 * S } + : { rowH: 112 * S, icon: 86 * S, name: 60 * S, hash: 32 * S, head: 30 * S, hdr: 34 * S }; + { + const cwN = LOG.name * .57, cwH = LOG.hash * .6; + LOG.hashW = 7 * cwH; LOG.gap = 40 * S; LOG.iconX = 34 * S + LOG.icon / 2; LOG.nameX = 34 * S + LOG.icon + 34 * S; + const total = LOG.hashW + LOG.gap + LOG.nameX + 20 * cwN; + LOG.railX = W / 2 - total / 2 + LOG.hashW + LOG.gap; + LOG.y0 = H / 2 - (CAST.length - 1) * LOG.rowH / 2 + (TALL ? 46 : 38) * S; + LOG.hdrY = LOG.y0 - (TALL ? 124 : 100) * S; + } + const rowPos = i => ({ x: LOG.railX + LOG.iconX, y: LOG.y0 + i * LOG.rowH }); + const landAt = i => T.morph + i * .075 + .78; + + // the prompt (black) and the live chip (paper) + const SZ3 = (TALL ? 118 : 120) * S; + const TXT_CY = H * (TALL ? .30 : .34); + const PROMPT = TALL ? ['my friends want', 'to play Minecraft'] : ['my friends want to play Minecraft']; + const PROMPT_N = PROMPT.join(' ').length; + const PILL = TALL ? { w: 900 * S, h: 220 * S, r: 56 * S, txt: 50 * S } : { w: 1300 * S, h: 140 * S, r: 70 * S, txt: 50 * S }; + PILL.cx = W / 2; PILL.cy = H * (TALL ? .57 : .62); + const BTN = 56 * S; // send button radius + // seeded human typing: ~30 ms a key, a little longer after a space + const keyT = (() => { const r = rng(42), a = [], s = PROMPT.join(' '); let t = T.s3 + .85; for (let i = 0; i < s.length; i++) { a.push(t); t += .019 + r() * .017 + (s[i] === ' ' ? .028 : 0); } return a; })(); + const keysAt = t => { let n = 0; while (n < keyT.length && keyT[n] <= t) n++; return n; }; + + const CHIP = (() => { + const url = 'minecraft.isaaclins.com', pad = 32 * S, ic = 66 * S; + const txt = (TALL ? 50 : 46) * S, small = (TALL ? 38 : 34) * S; + const cw = txt * .58, urlW = url.length * cw - txt * -.02; + const c = { url, pad, ic, txt, small, cw }; + if (TALL) { c.w = pad + ic + 22 * S + urlW + pad; c.h = 200 * S; c.r = 48 * S; } + else { c.w = pad + ic + 22 * S + urlW + 26 * S + 2 * S + 22 * S + 14 * S + 12 * S + 4 * small * .6 + pad; c.h = 120 * S; c.r = 60 * S; } + c.x = W / 2 - c.w / 2; c.y = PILL.cy - c.h / 2; + const row1 = TALL ? c.y + pad + ic / 2 : PILL.cy; + c.icX = c.x + pad + ic / 2; c.icY = row1; c.urlX = c.x + pad + ic + 22 * S; c.urlY = row1 + txt * .36; + if (TALL) { c.dotX = c.urlX + 7 * S; c.dotY = c.y + c.h - pad - 22 * S; c.liveX = c.dotX + 7 * S + 14 * S; c.liveY = c.dotY + small * .36; } + else { c.divX = c.urlX + urlW + 26 * S; c.dotX = c.divX + 2 * S + 22 * S + 7 * S; c.dotY = PILL.cy; c.liveX = c.dotX + 7 * S + 12 * S; c.liveY = PILL.cy + small * .36; } + return c; + })(); + + function rr(x, y, w, h, r) { ctx.beginPath(); ctx.roundRect(x, y, w, h, Math.min(r, h / 2, w / 2)); } + + // ---------- shots ---------- + function shot1(t) { // black: "I build applications." + background(DARK); + ctx.save(); camera(t, 0, T.s2, .03); + reveal(L1, SZ1, 700, t, T.w1, H / 2, { stagger: .11 }); + ctx.restore(); + grain(DARK); + } + + function shot2(t) { // paper: "and ship AI tools." -> ring -> git log + background(PAPER); + ctx.save(); camera(t, T.s2, T.s3, .028); + const ro = { ...RING, cx: W / 2, cy: H / 2, t0: T.s2 }; + const icons = CAST.map((c, i) => { + const tin = T.ringIn + i * .09; + if (t < tin) return null; + const r = ring(i, t, ro); + const mt = T.morph + i * .075, pm = E.snap(prog(t, mt, .78)); + const to = rowPos(i); + const arc = Math.sin(Math.PI * pm) * (i % 2 ? -1 : 1) * 70 * S; + return { + c, i, pm, depth: r.depth, + x: lerp(r.x, to.x, pm) + arc, y: lerp(r.y, to.y, pm), + size: lerp(RING.size * r.s * pop(t, tin), LOG.icon, pm), rot: lerp(r.rot, 0, pm), build: prog(t, tin, .14), + }; + }).filter(Boolean); + const draw = ic => drawIcon(ic.c.id, t, ic.x, ic.y, ic.size, { build: ic.build, rot: ic.rot, th: PAPER }); + // depth: icons behind the line, the line, icons in front of it + icons.filter(ic => ic.pm === 0 && ic.depth < 0).sort((a, b) => a.depth - b.depth).forEach(draw); + settle(L2, SZ2, 700, t, T.s2 + .05, T.textOut, H / 2); + + // header, typed + const hx = LOG.railX - LOG.hashW - LOG.gap; + const hdr = line([['$ ', PAPER.blue], ['git log --graph', PAPER.fg2]]); + const nh = (t - T.header) / .02; + if (nh > 0) { const cw = font(LOG.hdr, 500, 0); runs(hdr, 0, Math.min(hdr.n, Math.floor(nh)), hx, LOG.hdrY, cw); } + + // the graph: a blue line that grows down as the commits land + const railTop = LOG.y0 - 34 * S, lastY = LOG.y0 + (CAST.length - 1) * LOG.rowH; + const rp = E.site(prog(t, landAt(0) - .2, landAt(CAST.length - 1) - landAt(0) + .35)); + if (rp > 0) { ctx.fillStyle = PAPER.blue; ctx.fillRect(LOG.railX - 1.5 * S, railTop, 3 * S, (lastY + 34 * S - railTop) * rp); } + + CAST.forEach((c, i) => { + const la = landAt(i), y = LOG.y0 + i * LOG.rowH; + if (t < la - .04) return; + const pn = back(prog(t, la - .04, .3), 2.2); + ctx.save(); ctx.translate(LOG.railX, y); ctx.scale(pn, pn); + ctx.beginPath(); ctx.arc(0, 0, 10 * S, 0, Math.PI * 2); + if (i === 0 && t >= T.head) { ctx.fillStyle = PAPER.blue; ctx.fill(); } + else { ctx.fillStyle = PAPER.bg; ctx.fill(); ctx.lineWidth = 3 * S; ctx.strokeStyle = PAPER.blue; ctx.stroke(); } + ctx.restore(); + if (i === 0 && t >= T.head) { // HEAD lands: one pulse on the node + const q = prog(t, T.head, .7); + if (q < 1) { ctx.beginPath(); ctx.arc(LOG.railX, y, 10 * S + E.out(q) * 26 * S, 0, Math.PI * 2); ctx.lineWidth = 2 * S; ctx.strokeStyle = PAPER.blue; ctx.globalAlpha = .45 * (1 - q); ctx.stroke(); ctx.globalAlpha = 1; } + } + const pt = E.out(prog(t, la, .3)); + ctx.fillStyle = PAPER.blue; ctx.fillRect(LOG.railX + 12 * S, y - 1.5 * S, (LOG.iconX - LOG.icon / 2 - 18 * S) * pt, 3 * S); + font(LOG.hash, 500, 0); ctx.textAlign = 'right'; + const nhh = Math.floor((t - la) * 60 / 1.2); + if (nhh > 0) { ctx.fillStyle = PAPER.fg2; ctx.fillText(c.hash.slice(0, nhh), LOG.railX - LOG.gap, y + LOG.hash * .36); } + ctx.textAlign = 'left'; + const cwn = font(LOG.name, 650, -.03); + const nn = (t - la - .05) * 60; + if (nn > 0) { ctx.fillStyle = PAPER.fg; ctx.fillText(c.name.slice(0, Math.floor(nn)), LOG.railX + LOG.nameX, y + LOG.name * .36); } + if (i === 0 && t >= T.head) { // HEAD -> main slides in from the right + const ph = prog(t, T.head, .28), e = back(ph, 2); + const tx = LOG.railX + LOG.nameX + textW(c.name.length, LOG.name, cwn, -.03) + 28 * S + (1 - e) * 40 * S; + const cwt = font(LOG.head, 600, 0), label = 'HEAD -> main'; + const tw = label.length * cwt + 30 * S, thh = LOG.head * 1.7; + ctx.save(); ctx.globalAlpha = Math.min(1, ph * 2.5); + rr(tx, y - thh / 2, tw, thh, 7 * S); ctx.lineWidth = 2.5 * S; ctx.strokeStyle = PAPER.blue; ctx.stroke(); + ctx.fillStyle = PAPER.blue; ctx.fillText(label, tx + 15 * S, y + LOG.head * .36); + ctx.restore(); + } + }); + icons.filter(ic => !(ic.pm === 0 && ic.depth < 0)).sort((a, b) => (a.pm > 0) - (b.pm > 0) || a.depth - b.depth).forEach(draw); + ctx.restore(); + grain(PAPER); + } + + // the prompt text, typed over one or two lines; returns the caret position + function promptText(n, x, y0, cw, lh, col) { + // the space between two lines is the line break + let left = n, at = null; + PROMPT.forEach((s, i) => { + const k = Math.max(0, Math.min(s.length, left)), y = y0 + i * lh; + if (k > 0) { ctx.fillStyle = col; ctx.fillText(s.slice(0, k), x, y); } + if (!at && left <= s.length) at = { cx: x + k * cw, cy: y }; + left -= s.length + 1; + }); + return at || { cx: x + PROMPT[PROMPT.length - 1].length * cw, cy: y0 + (PROMPT.length - 1) * lh }; + } + + function shot3(t) { // black: "from a prompt" + the prompt pill + background(DARK); + ctx.save(); camera(t, T.s3, T.s4, .022); + reveal([line([['from a prompt', DARK.fg]])], SZ3, 700, t, T.s3 + .03, TXT_CY); + // a dot, then a pill (spring), then contents; after send it collapses to a circle + const appear = back(prog(t, T.s3 + .18, .3), 2); + const grow = E.out(prog(t, T.s3 + .3, .6)); + const col = E.snap(prog(t, T.send + .05, .35)); + let w = lerp(PILL.h, PILL.w, grow), h = PILL.h; + if (grow <= 0) { w *= appear; h *= appear; } + w = lerp(w, 112 * S, col); h = lerp(h, 112 * S, col); + const r = lerp(Math.min(PILL.r, h / 2), h / 2, col); + if (appear > 0) { + rr(PILL.cx - w / 2, PILL.cy - h / 2, w, h, r); ctx.fillStyle = DARK.card; ctx.fill(); + ctx.lineWidth = 1.5 * S; ctx.strokeStyle = DARK.rim; ctx.stroke(); + } + const alpha = prog(t, T.s3 + .7, .2) * (1 - prog(t, T.send + .03, .12)); + if (alpha > 0) { + ctx.save(); ctx.globalAlpha = alpha; + const x0 = PILL.cx - PILL.w / 2, lh = PILL.txt * 1.3; + const y0 = PILL.cy - (PROMPT.length - 1) * lh / 2 + PILL.txt * .36; + const cwp = font(PILL.txt, 700, 0); + ctx.fillStyle = DARK.blue; ctx.fillText('>', x0 + 46 * S, y0); + const cwt = font(PILL.txt, 450, -.02); + const tx = x0 + 46 * S + cwp + 24 * S; + const n = keysAt(t), c = promptText(n, tx, y0, cwt, lh, DARK.fg); + if (blinkOn(t, keyT[keyT.length - 1] + .1) && t < T.send) caretBox(c.cx, c.cy, PILL.txt, DARK.blue); + // send button: dim until there is text, lights up, gets pressed + const bx = x0 + PILL.w - 14 * S - BTN, by = PILL.cy + (TALL ? PILL.h / 2 - 14 * S - BTN : 0); + const lit = prog(t, keyT[0], .15); + const bp = t >= T.send ? 1 - .12 * Math.sin(Math.PI * prog(t, T.send, .18)) : 1; + ctx.save(); ctx.translate(bx, by); ctx.scale(bp, bp); + ctx.beginPath(); ctx.arc(0, 0, BTN - 8 * S, 0, Math.PI * 2); + ctx.fillStyle = lit > 0 ? `rgba(111,149,255,${.2 + .8 * lit})` : 'rgba(236,235,231,.08)'; ctx.fill(); + ctx.strokeStyle = lit > .5 ? DARK.bg : DARK.fg3; ctx.lineWidth = 4.5 * S; ctx.lineCap = 'round'; ctx.lineJoin = 'round'; + ctx.beginPath(); ctx.moveTo(0, 14 * S); ctx.lineTo(0, -14 * S); ctx.moveTo(-12 * S, -2 * S); ctx.lineTo(0, -14 * S); ctx.lineTo(12 * S, -2 * S); ctx.stroke(); + ctx.restore(); + ctx.restore(); + } + const fl = prog(t, T.send, .4); // send: a ring flashes out of the pill + if (fl > 0 && fl < 1) { + rr(PILL.cx - w / 2 - E.out(fl) * 20 * S, PILL.cy - h / 2 - E.out(fl) * 20 * S, w + E.out(fl) * 40 * S, h + E.out(fl) * 40 * S, r + E.out(fl) * 20 * S); + ctx.lineWidth = 2 * S; ctx.strokeStyle = DARK.blue; ctx.globalAlpha = .5 * (1 - fl); ctx.stroke(); ctx.globalAlpha = 1; + } + ctx.restore(); + grain(DARK); + } + + function liveDot(t, t0, x, y, th) { + if (t < t0) return; + const p = back(prog(t, t0, .3), 2.4); + for (let pt = t0 + .15; pt < t; pt += 1.2) { // pulse every 1.2 s + const q = prog(t, pt, 1.2); if (q >= 1) continue; + ctx.beginPath(); ctx.arc(x, y, 7 * S + E.out(q) * 15 * S, 0, Math.PI * 2); + ctx.lineWidth = 2 * S; ctx.strokeStyle = th.blue; ctx.globalAlpha = .35 * (1 - q); ctx.stroke(); ctx.globalAlpha = 1; + } + ctx.beginPath(); ctx.arc(x, y, 7 * S * p, 0, Math.PI * 2); ctx.fillStyle = th.blue; ctx.fill(); + } + + function shot4(t) { // paper: "to production." circle -> spinner -> check -> live chip + background(PAPER); + ctx.save(); + camera(t, T.s4, T.push, .02); + if (t > T.push) { // push into the live dot for the match cut + const k = 1 + 5 * E.inExpo(prog(t, T.push, T.s5 - T.push)); + ctx.translate(CHIP.dotX, CHIP.dotY); ctx.scale(k, k); ctx.translate(-CHIP.dotX, -CHIP.dotY); + } + settle([line([['to production.', PAPER.fg]])], SZ3, 700, t, T.s4 + .03, null, TXT_CY); + const t1 = T.s4 + .45, t2 = t1 + .22, t3 = t2 + .06; // spinner until t1, check until t3, then expand + const ex = back(prog(t, t3, .42), 1.1); + const w = lerp(112 * S, CHIP.w, ex), h = lerp(112 * S, CHIP.h, ex), r = lerp(56 * S, CHIP.r, ex); + ctx.save(); ctx.shadowColor = 'rgba(40,32,20,.12)'; ctx.shadowBlur = 40 * S; ctx.shadowOffsetY = 14 * S; + rr(W / 2 - w / 2, PILL.cy - h / 2, w, h, r); ctx.fillStyle = PAPER.card; ctx.fill(); ctx.restore(); + rr(W / 2 - w / 2, PILL.cy - h / 2, w, h, r); ctx.lineWidth = 1.5 * S; ctx.strokeStyle = PAPER.rim; ctx.stroke(); + ctx.lineCap = 'round'; ctx.lineJoin = 'round'; ctx.strokeStyle = PAPER.blue; ctx.lineWidth = 6 * S; + if (t < t1) { // spinner + const a = (t - T.s4) * 9, len = 1.1 + .6 * Math.sin((t - T.s4) * 7); + ctx.beginPath(); ctx.arc(W / 2, PILL.cy, 24 * S, a, a + len * Math.PI); ctx.stroke(); + } else if (ex < .25) { // check, drawn, then fading as the chip opens + const p = E.out(prog(t, t1, .22)); + ctx.save(); ctx.globalAlpha = 1 - ex * 4; ctx.translate(W / 2, PILL.cy); + const pts = [[-15, 1], [-4, 12], [17, -11]].map(([a, b]) => [a * S, b * S]); + const l1 = Math.hypot(11, 11), l2 = Math.hypot(21, 23), d = p * (l1 + l2); + ctx.beginPath(); ctx.moveTo(...pts[0]); + if (d <= l1) ctx.lineTo(lerp(pts[0][0], pts[1][0], d / l1), lerp(pts[0][1], pts[1][1], d / l1)); + else { ctx.lineTo(...pts[1]); const q = (d - l1) / l2; ctx.lineTo(lerp(pts[1][0], pts[2][0], q), lerp(pts[1][1], pts[2][1], q)); } + ctx.stroke(); ctx.restore(); + } + const ci = t3 + .22; // chip contents: the block prints in, the address types, the dot goes live + if (t >= ci) { + drawIcon('minecraft', t, CHIP.icX, CHIP.icY, CHIP.ic, { build: prog(t, ci, .14), th: PAPER, shadow: false }); + font(CHIP.txt, 550, -.02); + const n = Math.floor((t - ci - .08) * 60); + if (n > 0) { ctx.fillStyle = PAPER.fg; ctx.fillText(CHIP.url.slice(0, n), CHIP.urlX, CHIP.urlY); } + const live = ci + .08 + CHIP.url.length / 60 + .08; + if (!TALL && t >= live) { ctx.fillStyle = PAPER.rim; ctx.fillRect(CHIP.divX, PILL.cy - 22 * S * E.out(prog(t, live, .3)), 2 * S, 44 * S * E.out(prog(t, live, .3))); } + liveDot(t, live + .05, CHIP.dotX, CHIP.dotY, PAPER); + if (t >= live + .1) { + const pl = E.out(prog(t, live + .1, .4)); + ctx.save(); ctx.globalAlpha = pl; font(CHIP.small, 600, 0); ctx.fillStyle = PAPER.blue; + ctx.fillText('live', CHIP.liveX + (1 - pl) * 12 * S, CHIP.liveY); ctx.restore(); + } + } + ctx.restore(); + grain(PAPER); + } + + // the end line, mono, centred: "////////// isaaclins.com" + caret + const ENDS = (TALL ? 62 : 88) * S; + const ENDL = line([['//////////', DARK.blue], [' isaaclins.com', DARK.fg]]); + function shot5(t) { // black: the dot pulls the cast in and types the address + background(DARK); + ctx.save(); camera(t, T.s5, T.end, .03); + const ls = -.02, cw = font(ENDS, 600, ls); + const ex = W / 2 - textW(ENDL.n, ENDS, cw, ls) / 2 - ENDS * .27, ey = H / 2 + ENDS * .36; + // the dot arrives big (the push-in), shrinks and glides to the centre + const pg = E.snap(prog(t, T.s5, .45)); + const dx = lerp(CHIP.dotX, W / 2, pg), dy = lerp(CHIP.dotY, H / 2, pg); + let rDot = lerp(42 * S, 11 * S, pg); + // the ring comes back once, then falls into the dot + const ringT = T.s5 + .25, suck = T.s5 + .62, ro = { rx: (TALL ? 340 : 540) * S, ry: (TALL ? 420 : 240) * S, tilt: TALL ? .14 : -.21, speed: .7, t0: T.s5 - 1.5 }; + let bump = 0; + CAST.forEach((c, i) => { + const tin = ringT + i * .045; if (t < tin) return; + const ts = suck + i * .06, ps = E.quart(prog(t, ts, .45)); + if (ps >= 1) { bump = Math.max(bump, 1 - prog(t, ts + .45, .22)); return; } + const r = ring(i, t, { ...ro, rx: ro.rx * (1 - ps), ry: ro.ry * (1 - ps), cx: dx, cy: dy }); + drawIcon(c.id, t, r.x, r.y, 120 * S * r.s * pop(t, tin) * (1 - ps * .8), { build: prog(t, tin, .14), rot: r.rot + ps * 1.6, th: DARK }); + }); + rDot *= 1 + .25 * bump; + // dot -> caret, then the caret types the line + const pc = E.snap(prog(t, T.s5 + 1.2, .25)); + const ty = T.s5 + 1.5; + const k = (t - ty) * 30, shown = t < ty ? 0 : Math.max(0, Math.min(ENDL.n, Math.floor(k <= 10 ? k : Math.max(10, k - 4)))); + if (pc <= 0) { ctx.beginPath(); ctx.arc(dx, dy, rDot, 0, Math.PI * 2); ctx.fillStyle = DARK.blue; ctx.fill(); } + else { + font(ENDS, 600, ls); runs(ENDL, 0, shown, ex, ey, cw); + const cxT = ex + shown * cw + ENDS * .1, cyT = ey - ENDS * .76; + const x = lerp(W / 2 - rDot, cxT, pc), y = lerp(H / 2 - rDot, cyT, pc); + const w = lerp(rDot * 2, ENDS * .44, pc), h = lerp(rDot * 2, ENDS * .9, pc); + const done = ty + (ENDL.n + 4) / 30 + .35; + if (blinkOn(t, done)) { rr(x, y, w, h, lerp(rDot, 0, pc)); ctx.fillStyle = DARK.blue; ctx.fill(); } + } + ctx.restore(); + grain(DARK); + } + + function render(f) { + const t = f / FPS; + ctx.setTransform(1, 0, 0, 1, 0, 0); + if (t < T.s2) shot1(t); + else if (t < T.s3) shot2(t); + else if (t < T.s4) shot3(t); + else if (t < T.s5) shot4(t); + else shot5(t); + } + + window.FILM = { W, H, FPS, FRAMES, T, render }; + render(+Q.get('f') || 0); + document.body.dataset.ready = '1'; +})().catch(e => { document.body.dataset.error = String(e && e.stack || e); throw e; }); diff --git a/tools/film/icons.js b/tools/film/icons.js new file mode 100644 index 00000000..784d5b7d --- /dev/null +++ b/tools/film/icons.js @@ -0,0 +1,193 @@ +// The cast: one 16x16 pixel icon per project on the home page, drawn here +// in code. Each icon is either a hand-placed grid (one char per pixel) or a +// shape function; shape icons get a 1 px dark outline added automatically. +// icon(name, t) returns { rows: string[16], pal: {char: color} } for time t, +// so an icon can move by itself (Stewie blinks, the record spins). + +(function () { + const K = '#0b0c10'; // outline + const N = 16; + + function check(rows, name) { + if (rows.length !== N || rows.some(r => r.length !== N)) throw new Error('bad grid: ' + name); + return rows; + } + + // shape(x, y) -> palette char or '.', sampled at pixel centres; then outline. + function fromShape(shape) { + const g = []; + for (let y = 0; y < N; y++) { let r = ''; for (let x = 0; x < N; x++) r += shape(x + .5, y + .5, x, y) || '.'; g.push(r); } + const out = g.map(r => r.split('')); + for (let y = 0; y < N; y++) for (let x = 0; x < N; x++) { + if (g[y][x] !== '.') continue; + const n = [[1, 0], [-1, 0], [0, 1], [0, -1]].some(([dx, dy]) => { + const v = g[y + dy] && g[y + dy][x + dx]; + return v && v !== '.'; + }); + if (n) out[y][x] = 'k'; + } + return out.map(r => r.join('')); + } + + // Seeded hash, so speckles are the same in every frame and every render. + const h2 = (x, y) => { let s = Math.sin(x * 127.1 + y * 311.7) * 43758.5453; return s - Math.floor(s); }; + + // Stewie: an agent with its own computer. A monitor with a face. + const STEWIE = check([ + '......kkkk......', + '......kbbk......', + '......kkkk......', + '.......kk.......', + '..kkkkkkkkkkkk..', + '.kbbbbbbbbbbbbk.', + '.kbssssssssssBk.', + '.kbssssssssssBk.', + '.kbsswwsswwssBk.', + '.kbsswwsswwssBk.', + '.kbssssssssssBk.', + '.kbsssbbbbsssBk.', + '.kbssssssssssBk.', + '.kBBBBBBBBBBBBk.', + '..kkkkkkkkkkkk..', + '.....kkkkkk.....', + ], 'stewie'); + + // Rental Law Navigator: a house, windows lit. + const HOUSE = check([ + '................', + '.......kk.......', + '......kLLk......', + '.....kLLLLk.....', + '....kLLLLLLk....', + '...kLLLLLLLLk...', + '..kLLLLLLLLLLk..', + '.kLLLLLLLLLLLLk.', + '.kkkkkkkkkkkkkk.', + '..kwwwwwwwwwwk..', + '..kwccwwwwccwk..', + '..kwccwwwwccwk..', + '..kwwwkkkkwwwk..', + '..kwwwkddkwwwk..', + '..kwwwkddkwwwk..', + '.kkkkkkkkkkkkkk.', + ], 'house'); + + // demo-video-skill: a clapperboard with a play button. + const CLAP = check([ + '................', + '.kkkkkkkkkkkkkk.', + '.kwwkkwwkkwwkkk.', + '.kkwwkkwwkkwwkk.', + '.kkkkkkkkkkkkkk.', + '.kyyyyyyyyyyyyk.', + '.kyyyyyyyyyyyyk.', + '.kyyyykyyyyyyyk.', + '.kyyyykkyyyyyyk.', + '.kyyyykkkyyyyyk.', + '.kyyyykkkkyyyyk.', + '.kyyyykkkyyyyyk.', + '.kyyyykkyyyyyyk.', + '.kyyyykyyyyyyyk.', + '.kYYYYYYYYYYYYk.', + '.kkkkkkkkkkkkkk.', + ], 'clap'); + + // Challenge Server: a grass block, isometric, computed face by face. + const GRASS = fromShape((px, py, x, y) => { + const top = Math.abs(px - 8) / 7 + Math.abs(py - 4.5) / 3.5 <= 1; + if (top) return h2(x, y) > .72 ? 'G' : 'g'; + if (px >= 1 && px <= 8 && py >= 4.5 + .5 * (px - 1) && py <= 11.5 + .5 * (px - 1)) { + const d = py - (4.5 + .5 * (px - 1)); + if (d < 1.6 || (d < 2.8 && h2(x, 3) > .45)) return 'G'; + return h2(x, y) > .7 ? 'D' : 'd'; + } + if (px >= 8 && px <= 15 && py >= 8 - .5 * (px - 8) && py <= 15 - .5 * (px - 8)) { + const d = py - (8 - .5 * (px - 8)); + if (d < 1.6 || (d < 2.8 && h2(x, 5) > .45)) return 'H'; + return h2(x, y) > .7 ? 'E' : 'D'; + } + return ''; + }); + + // FreeSnitch: a shield with a check. + const CHECK = new Set(['4,8', '4,9', '5,9', '5,10', '6,10', '6,11', '7,10', '7,9', '8,9', '8,8', '9,8', '9,7', '10,7', '10,6', '11,6', '11,5']); + const SHIELD = fromShape((px, py, x, y) => { + if (py < 1.2 || py > 15) return ''; + const hw = py <= 8.5 ? 6.2 : 6.2 * Math.pow(Math.max(0, 1 - (py - 8.5) / 6.6), .75); + if (Math.abs(px - 8) > hw) return ''; + if (CHECK.has(x + ',' + y)) return 'w'; + return px < 8 ? 'm' : 'M'; + }); + + // pi-vault: a padlock. + const KEYHOLE = new Set(['7,9', '8,9', '6,10', '7,10', '8,10', '9,10', '7,11', '8,11', '7,12', '8,12']); + const LOCK = fromShape((px, py, x, y) => { + if (px > 2.5 && px < 13.5 && py > 7.5 && py < 14.8) { + if (KEYHOLE.has(x + ',' + y)) return 'k'; + return py > 13.2 || px > 12.2 ? 'C' : 'c'; + } + const d = Math.hypot(px - 8, py - 6.6); + if (py < 7.6 && d >= 2.6 && d <= 4.7) return px > 8.6 ? 'S' : 's'; + if (py >= 6.6 && py <= 7.6 && ((px > 3.2 && px < 5.4) || (px > 10.6 && px < 12.8))) return px > 8 ? 'S' : 's'; + return ''; + }); + + // Spotiglass: a vinyl record. The sheen turns with t, so it spins. + function vinyl(t) { + const phi = t * 2.6; + return fromShape((px, py) => { + const d = Math.hypot(px - 8, py - 8); + if (d > 7.1) return ''; + if (d < .8) return 'k'; + if (d < 2.9) return d < 2.0 ? 'p' : 'P'; + const a = Math.atan2(py - 8, px - 8); + const sheen = Math.cos(2 * (a - phi)); + if (sheen > .86 && d > 3.4 && d < 6.6) return 'h'; + return (d > 4.4 && d < 5.1) || d > 6.4 ? 'V' : 'v'; + }); + } + + const PAL = { + stewie: { k: K, b: '#6f95ff', B: '#3e63d8', s: '#141a33', w: '#ecebe7' }, + navigator: { k: K, L: '#8fb1ff', w: '#ecebe7', c: '#ffd36b', d: '#4a6fe0' }, + 'demo-video': { k: K, w: '#ecebe7', y: '#f5b83d', Y: '#c98a17' }, + minecraft: { k: K, g: '#79c94a', G: '#559c33', H: '#467f2a', d: '#916038', D: '#6f4727', E: '#55361d' }, + freesnitch: { k: K, m: '#34d399', M: '#1ea372', w: '#f5f4ef' }, + 'pi-vault': { k: K, c: '#3fd0ff', C: '#1f9ccb', s: '#d4d3cd', S: '#8f8e88' }, + spotiglass: { k: K, v: '#1c1c22', V: '#2b2b34', h: '#6a6a78', p: '#ff5a72', P: '#d83a55' }, + }; + + // Stewie blinks twice in the film (times in seconds); one blink = 0.12 s. + const BLINKS = [3.9, 8.1, 13.2, 17.4]; + + function icon(name, t) { + let rows; + switch (name) { + case 'stewie': + rows = STEWIE; + if (BLINKS.some(b => t >= b && t < b + .12)) rows = rows.map((r, i) => i === 8 ? r.replace(/w/g, 's') : i === 9 ? r.replace(/w/g, 'b') : r); + break; + case 'navigator': rows = HOUSE; break; + case 'demo-video': rows = CLAP; break; + case 'minecraft': rows = GRASS; break; + case 'freesnitch': rows = SHIELD; break; + case 'pi-vault': rows = LOCK; break; + case 'spotiglass': rows = vinyl(t); break; + default: throw new Error('no icon ' + name); + } + return { rows, pal: PAL[name] }; + } + + // The order of the git log on the home page, newest first (data/projects.toml). + const CAST = [ + { id: 'stewie', name: 'Stewie', hash: 'a4d82da' }, + { id: 'navigator', name: 'Rental Law Navigator', hash: '417d035' }, + { id: 'demo-video', name: 'demo-video-skill', hash: '1b623a3' }, + { id: 'minecraft', name: 'Challenge Server', hash: '851cf10' }, + { id: 'freesnitch', name: 'FreeSnitch', hash: 'cc88217' }, + { id: 'pi-vault', name: 'pi-vault', hash: '977842a' }, + { id: 'spotiglass', name: 'Spotiglass', hash: '3e34eb7' }, + ]; + + window.ICONS = { icon, CAST, N }; +})(); diff --git a/tools/film/render.mjs b/tools/film/render.mjs new file mode 100644 index 00000000..6b51a722 --- /dev/null +++ b/tools/film/render.mjs @@ -0,0 +1,77 @@ +// Renders the film frame by frame with Playwright and pipes the frames into ffmpeg. +// node render.mjs --w 1920 --h 1080 --out out/master-16x9.mp4 [--jobs 4] whole film -> near-lossless master +// node render.mjs --w 1920 --h 1080 --stills 0,300,600 --outdir out single frames as PNG +// Needs: node, playwright (chromium), ffmpeg. The time is driven: frame n is +// always the same picture, however slow the machine is. +import http from 'node:http'; +import fs from 'node:fs'; +import path from 'node:path'; +import { spawn } from 'node:child_process'; +import { fileURLToPath } from 'node:url'; +import { chromium } from 'playwright'; + +const args = Object.fromEntries(process.argv.slice(2).reduce((a, v, i, all) => (v.startsWith('--') ? a.concat([[v.slice(2), all[i + 1]]]) : a), [])); +const W = +(args.w || 1920), H = +(args.h || 1080); +const root = path.resolve(path.dirname(fileURLToPath(import.meta.url)), '../..'); + +const types = { '.html': 'text/html', '.js': 'text/javascript', '.woff2': 'font/woff2' }; +const server = http.createServer((req, res) => { + const p = path.join(root, decodeURIComponent(new URL(req.url, 'http://x').pathname)); + if (!p.startsWith(root) || !fs.existsSync(p)) { res.writeHead(404); return res.end(); } + res.writeHead(200, { 'content-type': types[path.extname(p)] || 'application/octet-stream' }); + fs.createReadStream(p).pipe(res); +}).listen(0, '127.0.0.1'); +await new Promise(r => server.once('listening', r)); +const url = `http://127.0.0.1:${server.address().port}/tools/film/film.html?w=${W}&h=${H}`; + +const JOBS = +(args.jobs || 4); +const browser = await chromium.launch(); +async function openPage() { + const page = await browser.newPage({ viewport: { width: W, height: H }, deviceScaleFactor: 1 }); + page.on('pageerror', e => { console.error(e); process.exit(1); }); + page.on('console', m => { if (m.type() === 'error') console.error('page:', m.text()); }); + page.on('requestfailed', r => console.error('request failed:', r.url(), r.failure()?.errorText)); + await page.goto(url); + // plain polling: waitForFunction never resolves in headless shell under WSL + for (let i = 0; !(await page.evaluate(() => document.body.dataset.ready || document.body.dataset.error)); i++) { + if (i > 300) { console.error('film page never got ready'); process.exit(1); } + await new Promise(r => setTimeout(r, 100)); + } + const err = await page.evaluate(() => document.body.dataset.error); + if (err) { console.error(err); process.exit(1); } + return page; +} +const shoot = async (page, f) => { await page.evaluate(f => FILM.render(f), f); return page.screenshot({ type: 'png', clip: { x: 0, y: 0, width: W, height: H } }); }; + +if (args.stills) { + const page = await openPage(); + fs.mkdirSync(args.outdir || 'out', { recursive: true }); + for (const f of args.stills.split(',').map(Number)) fs.writeFileSync(path.join(args.outdir || 'out', `f${String(f).padStart(4, '0')}.png`), await shoot(page, f)); +} else { + const out = args.out || `out/master-${W}x${H}.mp4`; + fs.mkdirSync(path.dirname(out), { recursive: true }); + const pages = await Promise.all(Array.from({ length: JOBS }, openPage)); + const FRAMES = await pages[0].evaluate(() => FILM.FRAMES); + // near-lossless 4:4:4 master; the web files are encoded from it (encode step in build.sh) + const ff = spawn('ffmpeg', ['-v', 'error', '-y', '-f', 'image2pipe', '-framerate', '60', '-c:v', 'png', '-i', '-', + '-c:v', 'libx264', '-preset', 'medium', '-crf', '4', '-pix_fmt', 'yuv444p', '-color_primaries', 'bt709', '-color_trc', 'bt709', '-colorspace', 'bt709', out], { stdio: ['pipe', 'inherit', 'inherit'] }); + const t0 = Date.now(); + // JOBS pages render ahead in parallel; frames go to ffmpeg strictly in order + const pending = new Map(); let next = 0, written = 0; + const work = async (page, k) => { for (let f = k; f < FRAMES; f += JOBS) { while (f - written > JOBS * 4) await new Promise(r => setTimeout(r, 5)); pending.set(f, await shoot(page, f)); } }; + const writer = (async () => { + while (next < FRAMES) { + if (!pending.has(next)) { await new Promise(r => setTimeout(r, 2)); continue; } + const buf = pending.get(next); pending.delete(next); + if (!ff.stdin.write(buf)) await new Promise(r => ff.stdin.once('drain', r)); + written = ++next; + if (next % 120 === 0) console.log(`frame ${next}/${FRAMES} ${((Date.now() - t0) / 1000).toFixed(0)} s`); + } + })(); + await Promise.all([...pages.map(work), writer]); + ff.stdin.end(); + await new Promise(r => ff.on('close', r)); + console.log(`done: ${out} in ${((Date.now() - t0) / 1000).toFixed(0)} s`); +} +await browser.close(); +server.close(); From e0d5ee599948cafda4d46b0bf1e85202a1db4efb Mon Sep 17 00:00:00 2001 From: isaaclins <104733575+isaaclins@users.noreply.github.com> Date: Wed, 7 Oct 2026 16:46:31 +0200 Subject: [PATCH 2/4] Intro film: render round 2 (web files + posters) --- images/home/intro-16x9.webp | Bin 0 -> 23852 bytes images/home/intro-4x5.webp | Bin 0 -> 6704 bytes static/video/intro-16x9.mp4 | Bin 0 -> 817869 bytes static/video/intro-16x9.webm | Bin 0 -> 1078407 bytes static/video/intro-4x5.mp4 | Bin 0 -> 410743 bytes static/video/intro-4x5.webm | Bin 0 -> 543573 bytes 6 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 images/home/intro-16x9.webp create mode 100644 images/home/intro-4x5.webp create mode 100644 static/video/intro-16x9.mp4 create mode 100644 static/video/intro-16x9.webm create mode 100644 static/video/intro-4x5.mp4 create mode 100644 static/video/intro-4x5.webm diff --git a/images/home/intro-16x9.webp b/images/home/intro-16x9.webp new file mode 100644 index 0000000000000000000000000000000000000000..4764b2a35d58449199511d2dc5396d64799738da GIT binary patch literal 23852 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≦7u*WEm(Q+?lAj`;Jp$j^gg##F3FW3tWO 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