Commit Graph
4 Commits
Author SHA1 Message Date
woggioni dd3b918561 replace broken AI search with negamax and alpha-beta
- fix the no-op best-score update that ignored all but the first reply
- alternate sides correctly with negamax and add alpha-beta pruning
- score terminal wins and losses above material evaluations
- treat depth zero as one ply instead of underflowing
- guard relative_score against an empty board
- add hanging-piece, recapture, terminal, and depth regression tests
2026-10-19 19:56:37 +00:00
woggioni dc0ad17a95 harden engine rules, position invariants, and undo history
- make Position represent only valid board squares and use checked offsets
- make move endpoints fallible and remove unchecked coordinate arithmetic
- validate moves against generated legal moves, including mandatory capture
- track pending multi-captures and restrict continuation to the same piece
- derive pending state after undo/redo and preserve redo on invalid moves
- fix circular buffer wraparound, mixed iteration, and element drops
- adapt GTK and WASM to fallible endpoints and apply errors
- add rule, promotion, chain, history, and coordinate regression tests
2026-10-19 19:43:05 +00:00
woggioni 5ab62eaabc make workspace build and test reproducibly
- add Gitea sparse registry config for rmath
- commit Cargo.lock
- add default-members so host tests skip GTK/wasm frontends
- fix checkers example to use DraughtsBoard::get
- add README with prerequisites and per-frontend commands
- add Gitea CI workflow (core, wasm, wasm4, MSRV)
- fix repository metadata and stop tracking generated wasm dist
2026-10-19 19:10:39 +00:00
woggioni f50e741929 Initial commit 2025-06-23 13:26:20 +08:00