feat(testing): add deterministic mechanics capture
Add named launcher, flipper, and claw scenarios that advance at exact 120 Hz steps with stable seeds. Emit per-step JSON state/event traces and optionally capture the logical 640x460 framebuffer at any requested time or step. Cover parser behavior, deterministic replay, launcher timing, flipper edges, and complete capture/release/idle cycles for all claw terminals. Test Plan: - cargo fmt --check - cargo test - cargo clippy --all-targets --all-features -- -D warnings - cargo run -- --simulate claw-6 --at 0.15 --screenshot /tmp/tdkpin-sim-validation/claw-6-after-flush.png --trace /tmp/tdkpin-sim-validation/claw-6.json - Inspect both generated 640x460 PNGs and JSON traces - git diff --cached --check
This commit is contained in:
@@ -57,6 +57,10 @@ decoded, build-ready subset; it does not replace that evidence archive.
|
||||
- Runtime coverage: the Linux executable was launched through the real window
|
||||
backend, the attract screen was inspected, a game was started, a ball was
|
||||
launched, collision scoring was observed, and a rendered frame was captured.
|
||||
- Deterministic mechanics coverage: named launcher, flipper, and all four claw
|
||||
terminal scenarios advance at exact 120 Hz steps, record JSON state/event
|
||||
traces, and can export the logical 640x460 render target at any requested
|
||||
step for visual inspection.
|
||||
- Semantic boundary: no claim is made that every trajectory or score tick is
|
||||
bit-identical to the 16-bit executable. Remaining numeric inference is listed
|
||||
above instead of being presented as proven parity.
|
||||
|
||||
Reference in New Issue
Block a user