From 4885629fbd8798b4e0fb067637d45a55604d255f Mon Sep 17 00:00:00 2001 From: Erik Date: Fri, 7 Aug 2026 07:17:58 +0200 Subject: [PATCH] =?UTF-8?q?docs:=20#341=20=E2=80=94=20Ghidra=20cross-check?= =?UTF-8?q?=20confirms=20the=20tangent-rest=20solve,=20BN's=20garbled=20de?= =?UTF-8?q?nominator=20restored?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- docs/ISSUES.md | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/docs/ISSUES.md b/docs/ISSUES.md index 72b086d1..2f9189b8 100644 --- a/docs/ISSUES.md +++ b/docs/ISSUES.md @@ -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