The glass board: a game drawn as three sheets of tinted glass on four posts with figures standing on them, in three.js, taking the same taps as the flat boards, shown only to a browser let in by a word

Fifteen figures in static/figures, one per kind, made to docs/figures-brief.md:
a round base, a livery material the view recolours per side, and a base
material left alone. The view loads three.js and the figures only when it
is opened. It plays a move as a walk and a capture as a sink into the glass,
dims a piece a Basilisk holds, marks the last move, the targets and a King
in check, and lets a tap reach a figure or a marked square through the
glass above it. Three cameras: from the corner, from the player's seat,
from above. The table and the told game offer it behind the gate in
src/lib/glass.svelte.ts, which opens for a browser that visits with
?glass=<word> whose hash it keeps.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CCLa2PaEeCj8njQZSWGqHx
This commit is contained in:
Eric WagonerandClaude Fable 5.1 committed 2026-10-27 01:13:00 -04:00
1 parent 0be89a1dfe
commit 8744072dda
24 files changed
+670 -4

No files matched your search

+8
View File
@@ -29,6 +29,14 @@ tables, the Peanut Gallery, the ledgers and the ops tools are the kit's;
- The drake's search is bounded by a count of nodes, not a clock, so the
same position always gives the same move and a ledger replays without
asking it again.
- The glass board, `src/lib/components/Glass.svelte`, draws a game as three
sheets of tinted glass with figures standing on them, in three.js, and
takes the same taps as the flat boards. The figures in `static/figures/`
are glTF, one per kind, with a `livery` material the view recolours per
side; `docs/figures-brief.md` is what they were made from. three.js and
the figures load only when the view is opened. Until the keeper opens it
to everyone, the view shows only to a browser let in through
`src/lib/glass.svelte.ts`.
- The guide's figures are screenshots in `static/guide/`, taken from the
running site at 960 pixels wide.