From bca93e181ec77eafb54a644ecffddcac038f2bfc Mon Sep 17 00:00:00 2001 From: Joe DiPrima Date: Thu, 13 Aug 2026 22:45:44 -0500 Subject: [PATCH] KB: #175 paperwork -- drift-audit row 12 gains the static-world addendum (solid-tree sweep landed, 345 struct-class bench bursts, owner dispatch, the [T3 minor] fuze-vs-world same-frame ordering note); env-gate table gains BT_WORLDHIT + the BT_DESIGNATE HUD-ring clarification. Tracker #175 comment 1793. Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_016bw71WVsccjwW7uKRg4aWD --- context/decomp-reference.md | 3 ++- docs/WEAPONS_DRIFT_AUDIT.md | 13 +++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/context/decomp-reference.md b/context/decomp-reference.md index fd6d356..33bc39a 100644 --- a/context/decomp-reference.md +++ b/context/decomp-reference.md @@ -794,7 +794,8 @@ default-ON (`'0'` disables). | `BT_AUD_DOPPLER_HZ=` | doppler velocity-operand sample-and-hold clock override (default 28, census item 4; `=0` restores per-call) | | `BT_AUD_DOPPLER_LOG` | `[doppler]` receipt (cents/v/d/h/hm2, capped 6000; h=1 fresh / 0 held / -1 legacy) | | `BT_INCOMING_LOG` | `[incoming]` missile-alarm receipt (#83): LOCK/clear edges + ~1Hz held lines with distance (mech4.cpp PerformAndWatch latch) | -| `BT_DESIGNATE=enemy` | bench designator (#83 rig): stamps the production target slots (+0x388/+0x37c/+0x38c) with the nearest live mech on frames where the boresight pick found no mech — standoff locks; a real pick still wins | +| `BT_DESIGNATE=enemy` | bench designator (#83 rig): stamps the production target slots (+0x388/+0x37c/+0x38c) with the nearest live mech on frames where the boresight pick found no mech — standoff locks; a real pick still wins; HUD ring untouched | +| `BT_WORLDHIT=0` | disables the missile flight sweep's static-solid-tree half (#175) — restores the heightfield-only world test (A/B lever; default on) | | `BT_CRIT_PROBE=` | hammer one own-mech zone every 4s (crit-propagation diag, task #2; mech4.cpp) | | `BT_REPL_LOG` | replicant/MP replication log (mech4.cpp) | | `BT_GOTO="enemy"\|"x z"` / `BT_GOTO_LOG` | self-driving beeline (to the enemy or a map coordinate) + its log | diff --git a/docs/WEAPONS_DRIFT_AUDIT.md b/docs/WEAPONS_DRIFT_AUDIT.md index b045319..6d0d128 100644 --- a/docs/WEAPONS_DRIFT_AUDIT.md +++ b/docs/WEAPONS_DRIFT_AUDIT.md @@ -221,6 +221,19 @@ One class, data-differentiated. the real solid sweep; T2 field receipts pending — Friday watch item unchanged: "hit by missiles aimed at someone else" now expected INSIDE splash range too). +- **#175 addendum (2026-08-13, 7b12053): the STATIC-WORLD half landed too.** + The flight step now also rays the static collision solid tree + (`WorldStructurePick` → `Mover::FindStaticSolidHitBy`) beside the visual + heightfield march, earliest hit wins — rounds burst on hills/structures + instead of tunneling (user-observed on grass: an LRM duel through a + mound; ALL 345 bench WORLD-bursts were struct-class — the mound was + solid-tree geometry the heightfield test was blind to). Struck solid's + owner takes the binary's zone=-1 direct dispatch (@004be078); salvo-lead + world bursts splash (near-miss vs cover). [T3 minor, pre-existing]: + world hits are tested before the same frame's fuze/bystander contact + rather than in one unified earliest-t arbitration — mixed ordering only + matters when a round crosses cover AND reaches its fuze point within a + single ~10-16u frame step. BT_WORLDHIT=0 = rollback lever. ### 13. Missile splash — Explosion::SplashDamage @0042fad0 - **Binary [T1]:** gated on the FIRING player's advancedDamage (+0x264;