Chessistics/PLAN.md
Samuel Bouchet 84ab0a1d0f Phase 7: Scroll wheel zoom + camera polish
- Mouse wheel up/down zooms camera in/out
- Zoom clamped between 0.3x and 3x to prevent getting lost
- Updated PLAN.md: marked phases 5-6 as done, added phase 7-8

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 23:25:09 +02:00

2.4 KiB

Chessistics — Prototype Roadmap

Phase 1: Core solvability (DONE)

  • Black Box Sim pattern: commands self-apply via DoApply()/AssertApplicationConditions()
  • 3 piece types: Rook (orthogonal range 2), Bishop (diagonal range 2), Knight (L-jump)
  • Relay chain mechanic with shared relay points (collision-free alternating)
  • Transfer system: production → pieces → demands, 4-adjacency, participation tracking
  • Victory/defeat: all demands met vs deadline expired

Phase 2: Cargo-type aware transfers (DONE)

  • CargoFilter property on PieceState: optional CargoType? restricting accepted cargo
  • Auto-assigned at placement via relay chain tracing (adjacency to production, then shared relay points with filtered pieces)
  • TransferResolver enforces filter: receivers with mismatched CargoFilter are skipped
  • Forward-direction sorting uses cargo-type-aware MinDistanceToProduction to avoid wrong sorting when multiple productions exist
  • Level 3 restored to dual-cargo (Wood+Stone) with 10R+2K stock
  • GDD stock corrections: Level 2 = 6R+1B, Level 3 = 10R+2K
  • 60 tests passing including 2 new CargoFilter tests

Phase 3: Pion, surplus stock, levels 4-6 (DONE)

  • Pion: orthogonal range 1, status 1 (lowest), cheap relay maillon
  • Surplus stock on all levels (more pieces than minimum solution)
  • Levels 4-6: Le Carrefour (8x8), Le Labyrinthe (8x6), Trois Royaumes (10x8)
  • Production interval removed: all productions fire every turn
  • GDD updated with Pion, 6 levels

Phase 5: Dame, network levels, juice pass (DONE)

  • Dame (Queen): 8 directions, range 2, status 7 (highest)
  • Levels 7-8: La Dame Blanche (10x10), Le Grand Reseau (12x10)
  • Procedural SFX, particles, polished animations, fade transitions
  • UI bugfixes: stop reset, piece selection visuals, back-to-menu button
  • Trajectory preview on piece click

Phase 6: Godot integration (DONE)

  • Board renderer, piece placement, step/play/pause controls
  • Event visualization with simultaneous animations per phase
  • Victory/defeat screens with animated metrics
  • Production flash, cargo slide trails, destruction particles, confetti

Phase 7: Zoom, scroll wheel, and camera polish

  • Mouse scroll wheel to zoom in/out on board
  • Zoom limits (min/max) to prevent getting lost
  • Double-click to center on a piece

Phase 8: Level editor (future)

  • Player-designed levels via JSON export
  • In-game editing of board size, walls, productions, demands, stock