docs(physics): #347 premise revision — retail may alternate too; ftp:edge ratio is the discriminator
Some checks are pending
Headless portability / portable-headless (ubuntu-latest) (push) Waiting to run
Headless portability / portable-headless (windows-latest) (push) Waiting to run
Headless portability / linux-graphical (push) Waiting to run
Headless portability / linux-vulkan (push) Waiting to run
Some checks are pending
Headless portability / portable-headless (ubuntu-latest) (push) Waiting to run
Headless portability / portable-headless (windows-latest) (push) Waiting to run
Headless portability / linux-graphical (push) Waiting to run
Headless portability / linux-vulkan (push) Waiting to run
The cliff_slide arms are conformant in ACE, our port, and the bytes (compare constant at 0x794610 verified 0.0), the round-1 slidn:edge ratio (538:594) refutes a retail retry storm, and the user's side-by-side speed observation fits alternation. Round-2 cdb script now counts find_transitional_position; H-A (identical, retire AD-70) vs H-B (within-tick yield) resolves on one ratio. The temporary Scratch347 diagnostic test rides along until #347 closes. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
parent
9fc4cfbf59
commit
535f41bbdf
3 changed files with 121 additions and 2 deletions
|
|
@ -120,3 +120,48 @@ Clean-room complete suite; dual Opus review (conformance byte-check of
|
|||
cliff_slide's fchs arms + blast radius over every CliffSlide caller);
|
||||
retire AD-70 in the same commit; user slope feel gate (~2 min: glide speed
|
||||
now matches retail side-by-side; downhill/uphill/hover unchanged).
|
||||
|
||||
## PREMISE REVISION (2026-08-08, same session — before any code change)
|
||||
|
||||
Three findings force the "retail = full-rate within-tick" premise back to
|
||||
OPEN:
|
||||
|
||||
1. **cliff_slide's arms are conformant in all three sources.** ACE
|
||||
(`Transition.cs:242-266`), our port, and the byte decode agree on the
|
||||
crease vector, the sign arms, and the compare-vs-0.0 (double at
|
||||
0x794610, verified zero). For the conformance fixture's geometry those
|
||||
arms move the check position INTO the face (the arming tick's probe
|
||||
trace shows primary dist -0.056 -> -0.200 -> -0.487 across the three
|
||||
attempts) — the "dig" is what the code as written does, in retail's
|
||||
bytes too.
|
||||
2. **The round-1 counters refute a per-tick retry storm in retail.**
|
||||
slidn:edge = 538:594 ~ 1:1.1. Our alternation shape produces THREE edge
|
||||
entries per sliding-normal set (the dig-retries); retail produces ~ONE.
|
||||
The glide window in the counter progression (edge 0 -> 594 across six
|
||||
1280-vwalk blocks, then frozen) also shows edge growth stopping the
|
||||
moment the hold ended.
|
||||
3. **The user's side-by-side observation** ("I cant detect any speed
|
||||
change from retail", #345 gate, 2026-08-08) is consistent with retail
|
||||
ALTERNATING exactly as we do — arm one tick, move the next — and
|
||||
inconsistent with retail moving at double our rate.
|
||||
|
||||
Competing hypotheses now:
|
||||
- **H-A (retail alternates too):** retail's arming tick runs ONE edge
|
||||
entry (no retry after the cliff-slide Adjusted) and yields nothing; the
|
||||
next tick's pre-projection moves. Then our ONLY divergence is the two
|
||||
extra futile dig-retries per arming tick (invisible — the tick's output
|
||||
is discarded), #347 closes as measured-identical, and AD-70 is RETIRED
|
||||
as a wrong inference, not fixed.
|
||||
- **H-B (retail yields within the tick):** the single edge entry precedes
|
||||
a successful same-tick commit. Requires the retried/continued insert to
|
||||
land clean — mechanism unknown given the dig direction — and would keep
|
||||
AD-70 open as written.
|
||||
|
||||
**The discriminator is one number in the round-2 capture:**
|
||||
`CTransition::find_transitional_position` (~1/tick for the player) vs
|
||||
`edge_slide` during the glide window. H-A predicts ftp:edge ~ 2:1
|
||||
(edge every other tick); H-B predicts ~ 1:1 (edge every tick). The
|
||||
round-2 script (`tools/cdb/345-glide-stacks.cdb`) now counts ftp, prints
|
||||
the periodic progression, samples 6 stacks each for edge/cliff/step_down,
|
||||
and auto-detaches at 300 edge hits via the fall-through-then-top-level-qd
|
||||
recipe. NO code changes until this capture runs.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue