feat(mockups): slot 13 curtain call; allow three.js in 13

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Lucas WintherandClaude Opus 5.5 committed 2026-10-30 00:15:33 +01:00
1 parent b511d67f4e
commit df8ab8d174
12 files changed
+109 -4

No files matched your search

+1
View File
@@ -25,6 +25,7 @@
<li class="card"><a href="/mockups/10-chart-scroll/"><span class="card__num">10</span><h2>Unrolling chart</h2><p>An editorial horizontal scroll whose ground is a long chart unrolling as you pan; motif threads trail beneath the route.</p><p class="card__try">Try this: Pan sideways and watch the ship and coastline move with you.</p></a></li>
<li class="card"><a href="/mockups/11-chart-atlas/"><span class="card__num">11</span><h2>Atlas with insets</h2><p>An overview chart of the whole sea; each saga island opens an inset chart with its songs as ports.</p><p class="card__try">Try this: Open an island's inset, then a song, then zoom back out.</p></a></li>
<li class="card"><a href="/mockups/12-vellum-atlas/"><span class="card__num">12</span><h2>Vellum atlas</h2><p>The atlas overview and island plates of 11, drawn in the vellum portolan style of 10.</p><p class="card__try">Try this: Open Cyclops' Island, pick a theme, and switch the plate's motif style (A/B/C).</p></a></li>
<li class="card"><a href="/mockups/13-curtain-call/"><span class="card__num">13</span><h2>Curtain call</h2><p>The frieze curtain that carries you from the 2D story into the 3D sea and down into a landing.</p><p class="card__try">Try this: Press Play, or step through: frieze, sea, Cyclops' Island, frieze, cave. Switch the look (1/2/3).</p></a></li>
</ul>
</main>
<footer data-fan-credits></footer>
+15
View File
@@ -0,0 +1,15 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Curtain call — EPIC Timeline mockup</title>
<link rel="stylesheet" href="../../shared/credits.css" />
<link rel="stylesheet" href="./style.css" />
</head>
<body>
<main id="app"></main>
<footer data-fan-credits></footer>
<script type="module" src="./main.ts"></script>
</body>
</html>
+3
View File
@@ -0,0 +1,3 @@
import { mountCredits } from "../../shared/credits";
mountCredits();
+1
View File
@@ -0,0 +1 @@
body { margin: 0; --stub-13: 1; }
+3
View File
@@ -37,4 +37,7 @@ export const mockups: MockupInfo[] = [
{ slug: "12-vellum-atlas", number: 12, name: "Vellum atlas",
pitch: "The atlas overview and island plates of 11, drawn in the vellum portolan style of 10.",
tryThis: "Open Cyclops' Island, pick a theme, and switch the plate's motif style (A/B/C)." },
{ slug: "13-curtain-call", number: 13, name: "Curtain call",
pitch: "The frieze curtain that carries you from the 2D story into the 3D sea and down into a landing.",
tryThis: "Press Play, or step through: frieze, sea, Cyclops' Island, frieze, cave. Switch the look (1/2/3)." },
];
+3
View File
@@ -12,6 +12,7 @@ import m8 from "./mockups/09-chart-transit/index.html";
import m9 from "./mockups/10-chart-scroll/index.html";
import m10 from "./mockups/11-chart-atlas/index.html";
import m11 from "./mockups/12-vellum-atlas/index.html";
import m12 from "./mockups/13-curtain-call/index.html";
export function startServer(port: number): Server<undefined> {
return Bun.serve({
@@ -42,6 +43,8 @@ export function startServer(port: number): Server<undefined> {
"/mockups/11-chart-atlas": Response.redirect("/mockups/11-chart-atlas/", 302),
"/mockups/12-vellum-atlas/": m11,
"/mockups/12-vellum-atlas": Response.redirect("/mockups/12-vellum-atlas/", 302),
"/mockups/13-curtain-call/": m12,
"/mockups/13-curtain-call": Response.redirect("/mockups/13-curtain-call/", 302),
},
development: process.env.NODE_ENV !== "production",
fetch() {