From 4a5baed85389176637874505bb213d2a02f888db Mon Sep 17 00:00:00 2001 From: Eric Wagoner Date: Mon, 17 Aug 2026 23:23:55 -0400 Subject: [PATCH] The carried-treasure dot becomes the owner's chest MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit A gold dot said 'carrying' but never whose. The badge on the carrier's shoulder is now the treasure owner's colored chest — always the drawn SVG chest, which stays legible at badge size in either art mode. The dot survives only as a fallback for a treasure the view cannot resolve. Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_0138A8CjeQRpvzKxuMfz1Bqc --- packages/web/src/Board.svelte | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/packages/web/src/Board.svelte b/packages/web/src/Board.svelte index ec70458..02a3ee4 100644 --- a/packages/web/src/Board.svelte +++ b/packages/web/src/Board.svelte @@ -533,7 +533,19 @@ {p.id[0]?.toUpperCase()} {/if} {#if p.carriedTreasureId} - + {@const carriedT = view.treasures.find((t) => t.id === p.carriedTreasureId)} + {#if carriedT} + + + {:else} + + {/if} {/if} @@ -834,6 +846,10 @@ text-anchor: middle; pointer-events: none; } .carried { fill: gold; stroke: #111; stroke-width: 1; } + :global(.carried-chest) { + filter: drop-shadow(0.5px 1px 1px rgba(0, 0, 0, 0.55)); + pointer-events: none; + } .crack { stroke: #efe8d4; stroke-width: 2;