The board's furniture and the reel's fists, painted as cels

The last of the inked look. Walls carry stone joints and highlights,
doors their grain, hinges, and a brass lock plate whose keyhole turns
to a cross when jammed; battle scars fracture and branch with the
damage; illusion walls drift as tapered wisps with breathing glints;
the wall of fire burns in flat three-tone flames on a stepped flicker;
warp mouths and destinations are painted curls. Through a wizard's
eyes the punch is a three-tone hand with an ink contour and a
hand-cut POW, the same on every platform where the emoji glyph was
not, and the incoming fist no longer reverses late in its travel. The
inked stand-ins for missing conjuration files match. Goldens
re-blessed: every board frame, and the web's third ring.

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-15 12:42:02 -04:00
co-authored by Claude Fable 5.1
parent 8dfd0e0c29
commit 34b621b5cb
22 changed files with 305 additions and 189 deletions
+9 -1
View File
@@ -1,5 +1,6 @@
<script lang="ts">
import { attentionLabel, net, spellName } from "./net.svelte";
import { FISTS } from "./fpv/paintedFx";
import Board from "./Board.svelte";
import LiveFirstPerson from "./LiveFirstPerson.svelte";
import { colorIndexOf, PLAYER_COLORS, wizardColor } from "./colors";
@@ -2103,7 +2104,14 @@
{view.stack.sourceName.toUpperCase()} — {view.stack.params?.damage ?? 0} damage inbound unless you answer it
</div>
{:else if view.stack.defenderId === view.you}
<div class="attack-fist">👊 a bare-knuckled punch</div>
<div class="attack-fist">
<svg viewBox="-55 -50 110 100" width="30" height="28" style="vertical-align: middle; margin-right: 4px" aria-hidden="true">
{#each FISTS.in as cel}
<path d={cel.d} fill={cel.fill ?? "none"} fill-rule="evenodd" stroke={cel.stroke ?? "#2b2218"} stroke-width={cel.width ?? 2.5} stroke-linejoin="round" stroke-linecap="round" />
{/each}
</svg>
a bare-knuckled punch
</div>
{:else if view.stack.counters.length > 0}
<div class="attack-card"><Card card={view.stack.counters[view.stack.counters.length - 1]!.card} /></div>
{/if}