20 Commits
Author SHA1 Message Date
woggioni f17d328ed5 fix frontend board mapping, game-over handling, and WASM-4
- fix Xform yx and add a shared view-aware board_position helper
- add GTK automatic game-over, restart, status, and multi-capture selection
- pin librsvg to the 2.60 series to match GTK4/glib 0.20
- add WASM orientation, undo/redo/new/flip controls, and winner overlay
- replace WASM crown images with canvas paths and remove dead files/deps
- make WASM-4 playable with mouse input, crowns, winner handling, and correct mapping
- move the WASM-4 release profile to the workspace root
- clean up frontend dead code and update the README
2026-10-19 20:38:32 +00:00
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 325ee25b2e added wasm port 2025-07-08 22:32:58 +08:00
woggioni fa675c4b7f refactor 2025-07-03 10:40:32 +08:00
woggioni e5182c26f3 fixed undo/redo bugs
renamed rdraught-ui to rdraught-gtk
2025-07-03 10:37:15 +08:00
woggioni dd0777ff9a added undo/redo functionality 2025-07-02 15:28:26 +08:00
woggioni 60b65e3eec simplified memory layout 2025-07-02 09:10:52 +08:00
woggioni 1348d8369f added undo/redo feature 2025-07-01 03:06:35 +08:00
woggioni f4168c449b added final victory message 2025-06-28 16:45:33 +08:00
woggioni 8e852759ba added winner() method 2025-06-27 22:04:11 +08:00
woggioni 2483de7608 added greeting window 2025-06-27 13:20:49 +08:00
woggioni 00c9787c17 resolved clippy issues 2025-06-27 09:20:02 +08:00
woggioni 01799ea4a0 simplified UI code 2025-06-27 08:38:28 +08:00
woggioni d326c615cd temporary commit 2025-06-27 07:54:23 +08:00
woggioni c11ab13f42 resolved clippy issues 2025-06-25 15:03:52 +08:00
woggioni b2d7b3449e removed dependency from rmath 2025-06-25 11:31:09 +08:00
woggioni 3cfbe4d87a removed dependency on std 2025-06-25 08:50:32 +08:00
woggioni f50e741929 Initial commit 2025-06-23 13:26:20 +08:00