From eeecfa1326cb734b068432460118d64e6b07acba Mon Sep 17 00:00:00 2001 From: Eric Wagoner Date: Wed, 23 Sep 2026 15:01:29 -0400 Subject: [PATCH] The rail keeps the last six moves, with who moved and what was taken, so a capture the bot answers at once is not lost Co-Authored-By: Claude Fable 5.1 Claude-Session: https://claude.ai/code/session_01Jm2auWk6RP71CjaAb4FMoG --- src/lib/components/Board.svelte | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/src/lib/components/Board.svelte b/src/lib/components/Board.svelte index f25d479..2c63efb 100644 --- a/src/lib/components/Board.svelte +++ b/src/lib/components/Board.svelte @@ -165,7 +165,16 @@ {/each} -

Turn {g.moves.length + 1}.{#if last} Last: {label(last.from)} to {label(last.to)}{#if last.captured.length}, taking {last.captured.length}{/if}.{/if}

+

Turn {g.moves.length + 1}.

+ {#if g.moves.length} +
    + {#each g.moves.slice(-6).reverse() as m, i (g.moves.length - i)} + {@const ply = g.moves.length - i} + {@const side = ply % 2 === 1 ? 'attackers' : 'defenders'} +
  1. {nameOfSide(side)}: {label(m.from)} to {label(m.to)}{#if m.captured.length}, taking {m.captured.map(label).join(', ')}{/if}
  2. + {/each} +
+ {/if} @@ -371,4 +380,18 @@ font-size: 0.85rem; margin-top: 0.5rem; } + + .record { + margin: 0.3rem 0 0; + padding-left: 2rem; + } + + .record li.mine { + color: var(--bone); + } + + .record strong { + color: var(--ember); + font-weight: 500; + }