feat: support signed player-start coordinates - #34
Conversation
|
Independent pre-merge review completed with no actionable findings. I reviewed the exact pushed diff against Verification: the complete local workspace gate passes (110 core tests and 80 CLI tests), and the retained controlled differential audit matches 6/6 cases. GitHub Linux, Windows, CodeQL, dependency review, and PR policy checks pass. The macOS job remains queued and has not started; local verification was performed on macOS. PR #34 is ready for maintainer review. Wait for the queued macOS check to pass before merging. |
|
Follow-up: the queued macOS job and final aggregate Rust quality check have now completed successfully. All required GitHub checks are green. |
|
Independent review completed against head |
Summary
u32to signedi64throughout the core summary and validation APIsOutOfBoundsfindingWhy
A controlled RPG Maker MZ 1.10.0 save preserved
startX = -1andstartY = -1. The unsigned projection therefore rejected an observed saved state before contextual validation could run. ADR 0014 corrects the representation without treating editor persistence as semantic validity or expanding the unrelated map-ID domain.Contract
editMapIdandstartMapIdremain strict unsignedu32scalars.startXandstartYaccept strict integer lexemes in the inclusivei64range.0, 0, 0remainsMissingPlayerStart.OutOfBounds.Compatibility impact
This is an intentional pre-1.0 Experimental Rust API change: coordinate accessors and finding fields change from
u32toi64. All CLI JSON commands now emit schema version 2 because the executable uses one global schema number. Human output accepts and displays signed values without changing command syntax.Verification
-1,i64::MIN,i64::MAX, both overflow directions, signed mixed-zero states, negative and upper bounds, raw-byte preservation, human/JSON output, and schema version 26/6)cargo fmt --all --checkcargo check --workspace --all-targets --all-featurescargo test --workspace --all-targets --all-featurescargo clippy --workspace --all-targets --all-features -- -D warningsRUSTDOCFLAGS="-D warnings" cargo doc --workspace --all-features --no-depsAll checks passed locally.
Non-claims
This does not establish general project validity, editor rejection, runtime success, passability, broader MZ numeric limits, mutation safety, persistence support, or later-version compatibility.