Releases: smly/RiichiEnv
Releases · smly/RiichiEnv
v0.4.7
What's Changed
- fix(3p): correct dead wall layout and rinshan draw logic (#183) by @smly in #186 (reported by @shinkuan)
- fix: record events in mjai_log for apply_event/observe_event (#184) by @smly in #187 (reported by @Sevoii)
- fix: prevent underflow in ukeire calculation by @smly in #189
Full Changelog: v0.4.6...v0.4.7
v0.4.6
What's Changed
- fix: avoid impossible ukeire draws in shanten efficiency by @hong0311 in #172
- fix(shanten): correct ukeire over-counting by subtracting hand tile copies by @smly in #174
- fix: Fix index out of bounds in shanten table when encoding 14-tile hands by @smly in #178
- fix(3p): resolve North tile from hand in handle_kita to prevent hand corruption by @smly in #180
- fix: Add MJAI round-trip validation and fjix mask consistency assertion by @smly in #181
- feat(pyi): Export Observation3P and add docstrings by @smly in #177
- refactor: reduce boilerplate, replace unwrap, and extract constants by @smly in #175
- docs: add CONTRIBUTIONG.md by @smly in #176
Full Changelog: v0.4.5...v0.4.6
v0.4.5
v0.4.4
What's Changed
- Fix MJAI replay
start_kyokuwall initialization by @hong0311 in #162 - Fix: Missing
kitaaction mapping in 3P observation Python bridge by @smly in #164 (reported by @shinkuan @Apricot-S) - Fix: Use kan tile as winning tile for chankan ron in
end_kyokumodal by @smly in #165 (reported by @Apricot-S)
New Contributors
Full Changelog: v0.4.3...v0.4.4
v0.4.3
v0.4.2
What's Changed
- fix(replay): Fix MJAI replay riichi deposit accounting to preserve start-of-round liqibang by @smly in #156
- fix: keep nukidora count accurate and clear stale round deltas in MJAI logs by @smly in #157
- fix(ui): highlight only opponents' waits as dangerous tiles in hands by @smly in #158
Full Changelog: v0.4.1...v0.4.2
v0.4.1
What's Changed
- fix(wasm): use 3-player hand evaluator for sanma score calculation in WASM by @smly in #153
- fix(replay): preserve post-reach state for pending discard steps by @smly in #152
- docs: align core/dev guides with current feature flags and wasm exports by @smly in #154
Full Changelog: v0.4.0...v0.4.1
v0.4.0
What's Changed
- feat: UI/UX improvements — player customization, 3D meld rendering, control panel, and game analysis API by @smly in #150
- refactor: make riichienv-ui a reusable embeddable component by @smly in #146
- fix: apply highlight overlay to side faces of 3D tiles (#133) by @smly in #147
- fix(ui): fix kan tile display and improve 3D tile rendering for face-down tiles by @smly in #149
- chore: bump version to 0.4.0 by @smly in #151
Full Changelog: v0.3.7...v0.4.0
v0.3.7
This release includes numerous bug fixes and improvements for 3-player mahjong (sanma) support.
Features
- Add game visualizer with kita (pei) mechanics and 3-player mode support by @smly in #140
- Add AgentEvaluator for hero model evaluation by @smly in #136
- Update Rust edition to 2024 and upgrade dependencies by @smly in #138
Bug Fixes
- Fix relative seat ordering in v2 encoder channels by @smly in #143
- Correct han-comment positions and wind yaku English names by @smly in #144
- Correctly handle babei (kita) actions in replay iterators by @smly in #141
- Fix kita/kan edge cases in hand evaluation and state tracking
- Clamp turn_progress in Python shanten wrappers
- Clarify and enhance
env.reset()method for hanchan initialization by @smly in #142 - Ensure correct 3P conditions for hand evaluation
Other
- Add Renovate for unified dependency updates
- Centralize Rust toolchain version in
rust-toolchain.toml - Clean up Python build config and linting settings by @smly in #139 (thanks @Apricot-S for many helpful suggestions!)
Full Changelog: v0.3.6...v0.3.7
v0.3.6
Breaking Changes
- Fix seat-dependent feature encoding by @smly in #134 — Per-player scalar channels (discard counts, scores, dora counts, melds count, tsumogiri flags) now use relative seat order instead of absolute player ID. Affects both 4P and 3P encoders. All trained models must be retrained.
Features
Other
Full Changelog: v0.3.5...v0.3.6