docs(audit): align validation claims with current evidence
The reconstruction ledger still described an obsolete function count, claimed local Windows/macOS cross-target checks despite those standard libraries being absent, and attributed lock, claw, drain, and repeated-launch coverage to the current autoplay trace. Those statements were stronger than the current artifacts prove after the corrected trajectory. Record the final C ledger counts, distinguish configured native CI from local Linux production validation, add both stopped-Wine slingshot probes, and route claw/panel/lock/drain evidence to the deterministic and focused tests that actually cover it. Test Plan: - `rumdl check --flavor commonmark RECONSTRUCTION.md` -- passed - `git diff --cached --check` -- passed
This commit is contained in:
+18
-13
@@ -10,10 +10,10 @@ a9022f1894e3e6e21fc42e8f6c932f7c549ca77f63aaa0c488bb9d55d9d0174c TDKPIN.EXE
|
||||
f1d9ac980c7bfba5dc53eaa9e7cb2c3cd9b82f879ee8962ad40bf863d641bb49 MMTIMER.DLL
|
||||
```
|
||||
|
||||
The Ghidra recovery covers all 301 named NE exports plus 62 internal function
|
||||
entries. Its raw output and coverage tables remain beside the binary, so later
|
||||
work can be checked against the same evidence rather than against this Rust
|
||||
implementation.
|
||||
The reconstruction ledger verifies all 391 ordinary in-image functions, six
|
||||
shared/overlapping entries, and all 301 NE entry points. Its raw output and
|
||||
coverage tables remain beside the binary, so later work can be checked against
|
||||
the same evidence rather than against this Rust implementation.
|
||||
|
||||
## Coverage by subsystem
|
||||
|
||||
@@ -50,10 +50,10 @@ decoded, build-ready subset; it does not replace that evidence archive.
|
||||
|
||||
- Static coverage: all intended decoded visual/audio resources are preserved;
|
||||
the recovered static collision layout is represented in Rust.
|
||||
- Build coverage: `cargo check`, unit tests, and strict Clippy complete on the
|
||||
host. Cross-target checks pass for `x86_64-pc-windows-gnu` and
|
||||
`x86_64-apple-darwin`; CI is configured to build and test natively on Linux,
|
||||
macOS, and Windows.
|
||||
- Build coverage: the production build, unit tests, and strict Clippy complete
|
||||
on the Linux host. This checkout does not have the Windows or macOS Rust
|
||||
standard-library targets installed; the repository CI is configured to run
|
||||
check, tests, and Clippy natively on Linux, macOS, and Windows.
|
||||
- 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.
|
||||
@@ -63,16 +63,21 @@ decoded, build-ready subset; it does not replace that evidence archive.
|
||||
controlled terminal-18 claw capture and release. A current one-substep
|
||||
record-2 probe proves special-respawn publication `(17000,23000)/(0,3040)`
|
||||
followed by the same response's `(16698,21191)/(-302,-1809)` continuation.
|
||||
Rust tests assert these exact live states.
|
||||
Stopped one-substep probes cover both relative slingshot chains: record 57
|
||||
produces `(77369,356597)/(1839,1832)` with spin `-5.28`, and record 72
|
||||
produces `(233253,358494)/(-2095,1669)` with spin `+5.46`. Rust and C tests
|
||||
assert these exact live states.
|
||||
- Deterministic mechanics coverage: named launcher, flipper, and all four claw
|
||||
terminal scenarios are driven by a 120 Hz validation clock while production
|
||||
physics accumulates the recovered 100 Hz substep. Seeded runs use the original
|
||||
Borland random stream. Traces include the last collision-object id and can
|
||||
export the logical 640x460 render target.
|
||||
- End-to-end gameplay coverage: seeded autoplay charges each launcher ball and
|
||||
operates both flippers from ball position. The two-minute acceptance run
|
||||
covers repeated launches, both flippers, targets, bumpers, lock holes, a claw
|
||||
capture/release pair, and drains while checking every state for finite values.
|
||||
- End-to-end gameplay coverage: seeded autoplay charges and launches a ball,
|
||||
operates both flippers from ball position, and covers target and bumper hits
|
||||
for two minutes while checking every state for finite values. Separate named
|
||||
deterministic scenarios cover all claw terminals, launcher/flipper edges,
|
||||
target rotation, the full panel, and effect-seven multiball; focused game
|
||||
tests cover drains and lock-hole completion.
|
||||
- Semantic boundary: collision, random, spin, fixed-point state, detail callback
|
||||
batching, and flipper publication now use the reconstructed Borland/Win16
|
||||
timing model. Native texture drawing replaces Win16 GDI calls while preserving
|
||||
|
||||
Reference in New Issue
Block a user