Initial commit

This commit is contained in:
2026-05-14 14:22:07 -08:00
commit 32f6e6c14d
15 changed files with 954 additions and 0 deletions
+57
View File
@@ -0,0 +1,57 @@
# Learning roadmap
## Phase 0: Zig environment and language model
- Install/verify Zig and editor tooling.
- Learn `zig build`, tests, allocators, slices, error unions, `defer`, `comptime`, and C interop.
- Keep notes on concepts that differ from Go/Rust/C.
## Phase 1: Rendering bootstrap
Goal: finish the copied Vulkan/GLFW path well enough to draw and present simple 2D shapes.
Learning targets:
- Vulkan setup order and resource lifetimes.
- Swapchain, render pass, framebuffers, command buffers, synchronization.
- Coordinate transforms for a 2D board.
- Frame timing and redraw strategies.
## Phase 2: Chess model
Learning targets:
- Board coordinates and piece representation.
- Move structs and game-state snapshots.
- Rule edge cases: castling, en passant, promotion, check, checkmate, stalemate.
- Tests for correctness before UI complexity.
## Phase 3: Interactive board UI
Learning targets:
- Mapping mouse/window coordinates to squares.
- Selection state and legal-move highlighting.
- Separating rendering state from game rules.
- Debug overlays for learning and testing.
## Phase 4: Notation and validation
Learning targets:
- FEN import/export.
- Algebraic notation basics.
- Perft-style move-generation tests.
- Golden tests and small fixtures.
## Phase 5: Engine/search experiments
Learning targets:
- Evaluation functions.
- Minimax/negamax and alpha-beta pruning.
- Move ordering, transposition tables, and iterative deepening as later topics.
- Deterministic benchmarks for search changes.
## Phase 6: Optimization
Learning targets:
- Profiling before optimizing.
- Board representation options: mailbox arrays, 0x88, bitboards.
- Allocation-free move generation experiments.
- SIMD/vectorization and cache-aware data layouts where evidence supports it.
+27
View File
@@ -0,0 +1,27 @@
# Research guidelines
Use these standards when asking subagents for chess algorithms, rendering, or optimization help.
## Good prompts
- "Compare mailbox arrays, 0x88, and bitboards for a beginner-friendly Zig chess engine; cite sources and propose experiments."
- "Research legal move generation edge cases and perft testing for chess correctness."
- "Review a simple Vulkan chessboard renderer for resource lifetime and data-layout risks."
- "Explain alpha-beta pruning and move ordering with references and benchmark ideas."
## Expected evidence
- Official Zig documentation for Zig behavior.
- Chess programming references, engine documentation, or reputable technical articles for chess algorithms.
- Vulkan/GLFW upstream documentation for rendering behavior.
- Vendor/compiler documentation for low-level optimization claims.
## Required distinction
Every research answer should separate:
1. Established facts.
2. Design tradeoffs.
3. Hypotheses requiring measurement.
4. Suggested experiments/benchmarks.
5. References for follow-up.