docs: #341 mechanism RESOLVED — trigger and resting geometry are one family
CPolygon::adjust_sphere_to_plane @0x00538210 solves the walkable placement for perpendicular distance == radius: retail rests the sphere TANGENT to the slope, which makes its bare-radius push-out trigger structurally inert — and explains why our planted rest (perp = r*N.z) makes our substituted trigger inert here by the same algebra. Each engine's trigger matches its own resting geometry; the live A/B's 84% fire rate is what mixing retail's trigger with our placement produces. AD-66 is therefore not a standalone row: the faithful unit is the pair (tangent placement + bare trigger), ported together or divergent together. The visible corollary of the retail pair — feet floating by r*(sec(theta)-1) on slopes, up to ~20 cm near the walkable limit — is why the decision is queued for the user's eyes rather than taken silently under the retail-first default. From capture to mechanism in one morning: the user's two-minute slope run plus one decomp read did what the overnight harness could not. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
parent
ca0fad1482
commit
6439b9d48e
1 changed files with 31 additions and 0 deletions
|
|
@ -210,6 +210,37 @@ offers a mechanical suspect for the harness flip below: the two assert shapes
|
||||||
plausibly differ in what settle state the harness left (`r*N.z` vs `r`),
|
plausibly differ in what settle state the harness left (`r*N.z` vs `r`),
|
||||||
which is test-ORDER state, not physics.
|
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:
|
||||||
|
|
||||||
|
- **Retail:** tangent rest (perp = r) makes the bare-radius trigger
|
||||||
|
(`dist < r − ε`) structurally INERT — equality minus epsilon. No fight, no
|
||||||
|
oscillation. The visible corollary: retail characters' feet float
|
||||||
|
vertically above a slope by `r·(secθ − 1)` — 2.7 cm on a 31° slope, ~20 cm
|
||||||
|
near the walkable limit — which matches AC's known slope look.
|
||||||
|
- **acdream:** planted rest (feet on surface, perp = r·N.z) makes OUR
|
||||||
|
retained trigger structurally inert here for the same reason. Each engine's
|
||||||
|
trigger matches its own resting geometry; both pairs are internally
|
||||||
|
coherent, and the live A/B's 84% fire rate is what happens when you mix
|
||||||
|
retail's trigger with our placement.
|
||||||
|
- **Therefore AD-66 is NOT a standalone row.** The faithful unit is the PAIR:
|
||||||
|
tangent placement + bare trigger, ported together — or our pair kept
|
||||||
|
together as one deliberate divergence. Porting either half alone
|
||||||
|
manufactures a fight neither engine has.
|
||||||
|
- The harness flip's suspect is strengthened: a tangent-rest start is stable
|
||||||
|
under the bare trigger, a planted start lifts once — which of the two the
|
||||||
|
harness settle leaves is plausibly order-dependent test state.
|
||||||
|
|
||||||
|
**Queued decision (user, no urgency): port the retail pair (feet float
|
||||||
|
slightly on slopes, exactly like retail — a visible feel change gated by
|
||||||
|
eyes) or keep our pair (planted feet, one register row covering placement +
|
||||||
|
trigger together, AD-66 re-titled accordingly).** Retail-first says port; it
|
||||||
|
is deliberately not done silently because the difference is visible.
|
||||||
|
|
||||||
**Hypotheses deliberately NOT chased at 04:00:** a property-read side effect
|
**Hypotheses deliberately NOT chased at 04:00:** a property-read side effect
|
||||||
(reading `body.ContactPlane` between tick and assert — should be impossible);
|
(reading `body.ContactPlane` between tick and assert — should be impossible);
|
||||||
xUnit execution-order/parallelism interacting with harness or engine state;
|
xUnit execution-order/parallelism interacting with harness or engine state;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue