init: scaffold duplicate_chess project and design spec

Local browser sandbox for "duplicate chess" — a four-player coupled-board
chess variant invented by Andrew Freiberg. Scaffold per CREATE_PROJECT.md
plus the approved design spec from this session's brainstorming.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
claude (duplicate_chess)
2026-05-19 00:08:50 -04:00
commit 9611c0ae0e
5 changed files with 504 additions and 0 deletions
+42
View File
@@ -0,0 +1,42 @@
# IDEA.md — Duplicate Chess
## What is this?
A local, browser-based sandbox/visualizer for **"duplicate chess"** — a four-player
chess variant invented by Andrew Freiberg (Seth's father). This project is to
duplicate chess what the sibling `blind_chess` project is to blind chess: a
digitization that lets an otherwise hard-to-play variant actually be played and
studied.
Duplicate chess: four players — North, South, East, West — and four chessboards set
up between adjacent compass points (NW, NE, SW, SE). North and South play White;
East and West play Black. Each player controls one colour on **two** boards (North =
White on NW and NE; West = Black on NW and SW; and so on). Turn order is N → S → E → W.
The defining rule: on your turn you make the **identical algebraic move on both of
your boards**. A move is legal only if it is legal on both. When one of your pieces
is captured on one board, its twin on your other board freezes into a **"ghost"** —
it can never move again (no synchronized move exists for it), but it still occupies
its square, blocks lines, can give discovered check, and can itself be captured.
Every individual board always remains a legal game of orthodox chess.
## Problem it solves
In the inventor's own words, the variant can't be grasped from prose: "this is not
really a variant that can be understood verbally after a certain point ... diagrams
are probably essential." The physical game is fiddly to set up and play. This tool
puts all four boards on one screen, enforces the synchronized-move coupling, renders
ghosts, and shows *why* a move is or isn't legal — so the variant can be seen.
## Constraints / preferences
- Local, single-operator tool. No server, no networking, no accounts — duplicate
chess is perfect-information, so one screen shows the whole game truthfully.
- Stack: Vite + Svelte 5 + TypeScript, `chess.js` per board. Single package.
- Sibling project to `blind_chess`; same homelab conventions.
- v1 is a visualizer/sandbox. Networked four-player play and AI opponents are
explicitly out of scope for now.
See `docs/superpowers/specs/2026-05-19-duplicate-chess-design.md` for the full design,
and `USERFILES/4-person-chess.txt` in the `blind_chess` repo for the original
inventor conversation this is based on.