From 3f3e6d98539afc7386a6161bd696b962b92db678 Mon Sep 17 00:00:00 2001 From: Eric Wagoner Date: Sun, 16 Aug 2026 13:11:06 -0400 Subject: [PATCH] =?UTF-8?q?The=20table=20survives=20synthetic=20spell=20id?= =?UTF-8?q?s=20=E2=80=94=20fixes=20the=20blank=20screen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The Sticky Wand attaches its webs as a sustained effect with the engine-internal id "sticky-web", which is not a printed card — and cardDef throws on unknown ids. The scoresheet's new spell chips and the chronicle's settles-over/wears-off lines both called it on sustained ids, so the first webbing killed every render: mid-game the actions bar died, and after a reload the whole table came up blank. A spellName lookup now names synthetic effects properly ("Sticky Wand webs") and falls back to the raw id rather than ever throwing, and the chip peek only opens ids the card library can actually show. Co-Authored-By: Claude Fable 5 --- packages/web/src/App.svelte | 10 ++++++++-- packages/web/src/net.svelte.ts | 18 ++++++++++++++++-- 2 files changed, 24 insertions(+), 4 deletions(-) diff --git a/packages/web/src/App.svelte b/packages/web/src/App.svelte index 975798f..3dbb377 100644 --- a/packages/web/src/App.svelte +++ b/packages/web/src/App.svelte @@ -1,5 +1,5 @@