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.