Skip to content

feat(sim): model Set Slow Motion as no-effect across the P9 range - #148

Merged
e54-bot merged 1 commit into
mainfrom
probe/p9-runtime-capture
Nov 3, 2026
Merged

e54-bot merged 1 commit into
mainfrom
probe/p9-runtime-capture

Conversation

@e54-bot

@e54-bot e54-bot commented Nov 3, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Record the P9 client capture (client 2.25.0.1, three runs, result match). At factors 10, 200, 0 and -50, Total Time Elapsed advances 16 ms per tick and Wait of 16, 100 and 1000 ms takes 16, 112 and 1008 ms, as at 100%. The owner's capture files are committed unchanged.
  • athena-sim: MEASURED_SLOW_MOTION becomes the range -50 to 200 instead of a list of three points. Set Slow Motion has no effect on the script timeline inside it, clamped inputs included. A factor outside the range ends the run not_modeled.
  • Add the p9_slow_motion_extremes fixture test. Update architecture.md, findings.md and trace-format.md to state the measured range.

Design reasoning

AC3 of #143 asks for "no effect ... for the measured range (including clamped inputs)". Seven factors matched (-50, 0, 10, 50, 90, 100, 200), and the extremes include values the wiki documents as invalid (200, 0, -50). So the range between the extremes is treated as measured. The gate stays as one range check because no capture covers factors beyond -50 and 200, and the issue grants the claim only for the measured range. Removing the gate would claim behavior for, say, 1000, which nothing measured. The range keeps the code smaller than a seven-element list and still matches the evidence exactly. The wall-clock ratio and the cause are still not measured and the docs say so.

Verification

  • cargo fmt --check: clean. cargo clippy --all-targets -- -D warnings: clean. git diff --check: clean.
  • cargo test (workspace): all pass, including p9_slow_motion_extremes (both spellings simulate identically and agree with the capture) and probe_hashes.
  • Tests: the measured-factor tests now loop over all seven measured factors; the not_modeled tests use 201, -51 and 1000.
  • Mutation check: temporarily set the range to 50.0..=90.0. match_clock and fixtures then failed (11 failures each, including p9_slow_motion_extremes and the measured-factor wait tests). Restored the range afterwards; all tests pass again.

Fixes #143

P9 measured factors 10, 200, 0 and -50 over three client runs (2.25.0.1). Total Time Elapsed stays 16 ms per tick and Wait rounds up to whole ticks, as at 100%. With P8 this covers -50 to 200, so the gate becomes that range instead of a list of points; a factor outside it stays not_modeled.

Records the P9 capture and adds a P9 fixture test. Updates architecture, findings and trace-format docs.

Fixes #143
@e54-bot
e54-bot merged commit 272df93 into main Nov 3, 2026
4 checks passed
@e54-bot
e54-bot deleted the probe/p9-runtime-capture branch November 3, 2026 19:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Probe extreme Set Slow Motion factors (P8 follow-up)

2 participants