The art refresh: textures, tokens, conjurations, and cel flourishes

Eric repainted the maze. The first-person materials are painterly
sandstone, flagstone, and iron; the hand-drawn token set is redrawn
with matching chests and hats; the standing conjurations — hedges,
jello, dust, safe, warp light — and the effect billboards are redone
in the same hand; and the board's flourishes trade their filters and
gradients for flat cel silhouettes cut from five shared shapes, which
read better against the counters and cost a phone nothing. Thirty
scene goldens re-blessed against the new walls.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Jm2auWk6RP71CjaAb4FMoG
This commit is contained in:
Eric Wagoner
2026-09-14 20:28:52 -04:00
co-authored by Claude Fable 5.1
parent 3fc9df85ac
commit 8dfd0e0c29
121 changed files with 533 additions and 980 deletions
+4 -12
View File
@@ -3,22 +3,14 @@
import { center } from "./geom";
let { fx }: { fx: FxOf<"absorb"> } = $props();
const uid = $props.id();
const c = $derived(center(fx.at));
</script>
<defs>
<linearGradient id={`absorb-shine-${uid}`} x1="0" y1="0" x2="1" y2="1">
<stop offset="0" stop-color="#fffdf4" />
<stop offset="0.5" stop-color="#f6f0df" />
<stop offset="1" stop-color="#d8ccb0" />
</linearGradient>
</defs>
<circle cx={c.x} cy={c.y} r="14" class="pull" />
<rect x={c.x - 9} y={c.y - 13} width="18" height="26" rx="2"
fill={`url(#absorb-shine-${uid})`} class="card"
style={`transform-origin: ${c.x}px ${c.y}px`} />
<g class="card" style={`transform-origin: ${c.x}px ${c.y}px`}>
<path d={`M ${c.x-9} ${c.y-13} l 18 1 -1 25 -17 -1 Z`} fill="#f6f0df" />
<path d={`M ${c.x-5} ${c.y-8} l 10 0 -1 15 -9 1 Z M ${c.x} ${c.y-5} l 3 5 -3 5 -3 -5 Z`} fill="none" stroke="#967c55" stroke-width="0.8" />
</g>
<style>
.card {