docs: #341 — Ghidra cross-check confirms the tangent-rest solve, BN's garbled denominator restored
The divide-by-itself artifact in the BN text resolves in Ghidra to t = (dist -/+ r) / dot(N, stepDir): a ray-vs-plane interpolation to perpendicular-distance == radius. Two independent decompilers agree on the mechanism the #341 resolution rests on. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
parent
6439b9d48e
commit
4885629fbd
1 changed files with 7 additions and 4 deletions
|
|
@ -212,10 +212,13 @@ which is test-ORDER state, not physics.
|
|||
|
||||
### MECHANISM RESOLVED, same morning — the trigger and the resting geometry are one family
|
||||
|
||||
`CPolygon::adjust_sphere_to_plane` @0x00538210 (pseudo-C 322032): retail's
|
||||
walkable placement solves the interpolation for the point where the sphere's
|
||||
PERPENDICULAR distance to the walkable plane equals the RADIUS — the sphere
|
||||
rests TANGENT to the slope. Consequences, closing the loop on the live A/B:
|
||||
`CPolygon::adjust_sphere_to_plane` @0x00538210 (pseudo-C 322032, **cross-
|
||||
confirmed in Ghidra**, which restores Binary Ninja's garbled denominator: the
|
||||
solve is `t = (dist ∓ r) / dot(N, stepDir)`, a ray-vs-plane interpolation to
|
||||
the point where the sphere's PERPENDICULAR distance to the walkable plane
|
||||
equals the RADIUS, sign per approach side, guarded by ±F_EPSILON on the
|
||||
denominator and a [−0.5, walk_interp) window on the fraction) — the sphere
|
||||
rests TANGENT to the slope. Two independent decompilers now agree. Consequences, closing the loop on the live A/B:
|
||||
|
||||
- **Retail:** tangent rest (perp = r) makes the bare-radius trigger
|
||||
(`dist < r − ε`) structurally INERT — equality minus epsilon. No fight, no
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue