From c79fdb4adb0486d904645228def26da771949bd9 Mon Sep 17 00:00:00 2001 From: Eric Wagoner Date: Wed, 23 Sep 2026 19:51:06 -0400 Subject: [PATCH] The collection is Kestrel's Hall Co-Authored-By: Claude Fable 5.1 Claude-Session: https://claude.ai/code/session_01Jm2auWk6RP71CjaAb4FMoG --- packages/web/public/family.json | 10 +++++++++- packages/web/src/App.svelte | 4 ++-- packages/web/src/Help.svelte | 4 ++-- packages/web/src/family.ts | 2 +- 4 files changed, 14 insertions(+), 6 deletions(-) diff --git a/packages/web/public/family.json b/packages/web/public/family.json index 10d4a2e..f9e6d33 100644 --- a/packages/web/public/family.json +++ b/packages/web/public/family.json @@ -1,5 +1,5 @@ { - "family": "the Kestrel's Nest", + "family": "Kestrel's Hall", "games": [ { "slug": "wizwar", @@ -16,6 +16,14 @@ "pitch": "Duelling wizards. Two hands each. The right run of gestures is a spell.", "players": "2 to 12", "origin": "Richard Bartle's pencil-and-paper duel, 1977" + }, + { + "slug": "hnefatafl", + "name": "Hnefatafl", + "url": "https://tafl.kestrelsnest.social", + "pitch": "The Viking board game. One king, one throne, four corners, and a ring of attackers closing in.", + "players": "2", + "origin": "the Norse tafl game, reconstructed from Linnaeus's 1732 notes; Copenhagen rules or Tablut" } ] } diff --git a/packages/web/src/App.svelte b/packages/web/src/App.svelte index e63e1c6..985ee0f 100644 --- a/packages/web/src/App.svelte +++ b/packages/web/src/App.svelte @@ -27,7 +27,7 @@ net.startGamePolling(); let name = $state(prefs.wizardName); - /** The other games of the Kestrel's Nest, for the front page. */ + /** The other games of Kestrel's Hall, for the front page. */ let family = $state([]); $effect(() => { void otherGames("wizwar").then((g) => (family = g)); @@ -2568,7 +2568,7 @@ watch clips from the labyrinth {#if family.length} -

Also at the Kestrel's Nest: +

Also in Kestrel's Hall: {#each family as g, i (g.slug)}{i > 0 ? ", " : " "}{g.name}{/each}

{/if} diff --git a/packages/web/src/Help.svelte b/packages/web/src/Help.svelte index 9931037..abb128e 100644 --- a/packages/web/src/Help.svelte +++ b/packages/web/src/Help.svelte @@ -128,7 +128,7 @@ if (initialAnchor) void jumpTo(initialAnchor); else if (bodyEl) bodyEl.scrollTop = helpState.scroll[tab] ?? 0; }); - /** The other games of the Kestrel's Nest, for the about page. */ + /** The other games of Kestrel's Hall, for the about page. */ let family = $state([]); $effect(() => { void otherGames("wizwar").then((g) => (family = g)); @@ -318,7 +318,7 @@ kestrelsnest.social.

{#if family.length} -

More games at the Kestrel's Nest

+

More games in Kestrel's Hall

    {#each family as g (g.slug)}
  • {g.name}: {g.pitch} {g.players} players; {g.origin}.
  • diff --git a/packages/web/src/family.ts b/packages/web/src/family.ts index c18054f..ded73dc 100644 --- a/packages/web/src/family.ts +++ b/packages/web/src/family.ts @@ -1,4 +1,4 @@ -// The other games of the Kestrel's Nest, from the family list the kit keeps +// The other games of Kestrel's Hall, from the family list the kit keeps // (family.json, one copy shipped with every game), so a player who liked one // table can find the next. This game is left out of its own list.