2026-08-13 23:32:30 -05:00
..
2026-07-31 10:41:39 -05:00
2026-07-31 10:41:39 -05:00
2026-07-16 11:04:34 -05:00
2026-07-05 21:03:40 -05:00
2026-07-18 16:10:29 -05:00
2026-07-05 21:03:40 -05:00
2026-08-02 16:45:54 -05:00
2026-08-02 16:45:54 -05:00
2026-07-19 23:30:43 -05:00
2026-07-06 10:59:45 -05:00
2026-08-11 17:08:48 -05:00
2026-07-05 21:03:40 -05:00
2026-08-03 23:56:53 -05:00
2026-07-21 08:49:58 -05:00
2026-07-30 10:10:29 -05:00
2026-07-07 21:39:47 -05:00
2026-08-07 23:35:37 -05:00
2026-08-03 17:53:33 -05:00
2026-07-25 17:20:19 -05:00
2026-07-25 17:20:19 -05:00
2026-08-03 13:53:09 -05:00
2026-08-03 17:31:16 -05:00
2026-07-11 06:46:54 -05:00
2026-07-05 21:03:40 -05:00
2026-08-03 13:53:09 -05:00
2026-07-05 21:03:40 -05:00
2026-07-17 15:24:52 -05:00
2026-07-05 21:03:40 -05:00
2026-08-11 18:54:12 -05:00
2026-08-05 19:44:23 -05:00
2026-08-11 00:21:46 -05:00
2026-08-07 11:43:54 -05:00
2026-07-05 21:03:40 -05:00
2026-08-11 18:54:12 -05:00
2026-07-20 14:51:54 -05:00
#168 settled from the binary: projectiles are TIME-capped, never range-capped -- plain shell 5.0s (@4bddec), missile burnTime+10s + y<-1 kill-plane (@4bef78), WeaponRange is fire-control only (FireWeapon @4bcc60 has no range gate), so AFC50 hits at 2000+u are authentic. Two port defects killed: the invented len*1.3+60 flight cap (replaced by the authentic clocks) and the stale-point auto-hit (unguided contact tested the fire-time pick, so a locked AC could not miss a moving target -- the pool now tracks the live target). KB: decomp-reference gains the flight/expiry section, CLASSMAP's swapped authoritative/ghost Performance labels corrected (ReplicantInstance=4 [T0]), missile.cpp's misdecoded @4bf594 constant pool re-annotated, Missile proximity fuse 4.0u recorded. Bench: proj_ttl_bench.sh (probe fizzles 5.012/12.012 vs caps 5.0/12.0; 86 field launches, 0 early, 0 phantoms). Rides along: the #163 BTSteamNet_ShutdownAll header decl that missed d3f4b9a.
2026-08-11 04:39:37 -05:00
2026-08-04 15:49:14 -05:00
2026-08-01 19:47:30 -05:00
2026-07-25 01:50:07 -05:00
2026-07-05 21:03:40 -05:00
#21 closed at the true root + 'arcade shipped a brick' RETRACTED (era witnesses 6-0): _DAT_004ba830 is a DOUBLE 1.0, not float 0.0 -- the entire brick claim was a constant-width misread (dword read of a qword; the low half of 1.0's mantissa is zeros). Binary truth [T1 raw disasm @004ba738]: overcharge CLAMPS to exactly 1.0f, the ==1.0 Loaded test passes next tick, the weapon fires the stored charge at normal top-gear damage (divisor is the recommended gear). Fix: clamp corrected to 1.0f; the rescue scaffolding REMOVED (it patched our own misread -- 38 'rescues' were 38 events the machine silently clamped); gauge-side zeroing inherits the fix, which is almost certainly #21's ORIGINAL field symptom (dark recharge arc + dark ready-dot = the dial reading our zeroed ratio while the rescue kept the weapon firing). seek21 bench PASS: 65 switches / 16 wraps / 9 overcharges -> fires through all, 13 post-overcharge gauge probes FULL, zero rescue prints. Docs: field guide section 2 rewritten as settled-by-testimony (credit to the group), decomp-reference block retracted with extracted constants, drift audit energy lane -> FAITHFUL, ZERO deviations. The witnesses' 'nah, that didn't happen' was worth eight bytes read at full width
2026-08-13 17:59:24 -05:00
2026-08-12 02:14:34 -05:00
2026-07-05 21:03:40 -05:00
2026-07-05 21:03:40 -05:00
cadence census item 2: gyro spring-damper stepped on the pod's 28Hz clock (gotcha 32) -- the cockpit bounce runs the machine's timescale again. The binary steps IntegrateEyeJoint @004b2ec0 / IntegrateBody @004b30ec once per pod frame with PER-TICK math (no-dt position step, damping overwrite carrying last-tick state); at ~60fps the springs stepped 2.14x too often. Fix: 28Hz per-instance accumulator (heat.cpp #119 map pattern), 1/28 slices, remainder carried, catch-up capped 28; integrator BODIES byte-untouched; BT_GYRO_SPRING_HZ override (=0 restores render cadence, proven behaviorally identical to the old code: control run reproduces the BEFORE curve exactly, 0.0471 @ +0.240s / period 1.435s). Impulse bench (new BT_GYRO_KICK one-shot deterministic hit through the authentic GyroApplyDamage fan-out; [gtrace] gains wall-ms): BEFORE eye trough -0.0452 @ +0.24s, overshoot 23%, period ~1.43s, settle +3.44s; AFTER trough -0.0537 @ +0.29s, overshoot 7%, period ~2.4s, settle +3.49s; 97 integrator steps / 3.49s ~ 28Hz -- the clock provably ticks. Shape verdict: both single-overshoot damped responses; every delta is the per-tick semantics at dt=1/28 (per-SECOND damping ~e^c is cadence-invariant, hence equal settle). Nothing beyond the timescale.
2026-08-13 19:54:14 -05:00
2026-07-27 08:09:31 -05:00
2026-08-11 02:33:14 -05:00
2026-08-02 20:05:06 -05:00
2026-08-02 20:05:06 -05:00
2026-07-19 15:15:44 -05:00
2026-08-08 10:36:36 -05:00
2026-08-08 10:36:36 -05:00
2026-07-22 13:22:10 -05:00
2026-07-22 13:22:10 -05:00
2026-08-07 00:50:54 -05:00
2026-07-30 16:18:28 -05:00
#175 FIXED: missiles detonate on the static world again -- the flight sweep's missing half. The push simulator's world test marched only the VISUAL heightfield (BTGroundRayHit), so every round tunneled through geometry that blocks the walk but is not heightfield -- the arena1-garage class, and the field case (LRM duel through a grass mound, user-observed on the #83 bench). The binary's FUN_0042291c swept the real collision world every tick. Fix: the flight step now also rays the STATIC COLLISION SOLID TREE (WorldStructurePick -> Mover::FindStaticSolidHitBy -- the same static-world tail of the engine collider, already proven by the weapon-pick work), earliest hit wins vs the heightfield march; a struck solid's OWNING entity takes the direct zone=-1 dispatch exactly as the binary missile contact does (@004be078 -- trucks/props are missile-killable); salvo-lead world bursts keep the detonation + cluster splash (near-miss splash vs cover, authentic). BT_WORLDHIT=0 restores heightfield-only (A/B lever). Receipt upgraded: [projectile] WORLD burst (terrain|struct[, owner-dispatched]) + dmg/lead. Verified on the exact reported scenario (grass standoff duel, mound in the line): 185/160 WORLD-burst receipts per node -- ALL struct-class (confirming the mound is solid-tree geometry the old test was blind to), direct mech IMPACTs healthy at 20/18 when the line cleared, user-witnessed: rounds burst on the mound instead of passing through, lofted rounds still arc over (the authored seeker loft). Companion bench hook from the same session: BT_DESIGNATE=enemy (no HUD ring -- designation slots only).
2026-08-13 22:44:26 -05:00
2026-08-13 02:42:07 -05:00
#83 FIXED: the incoming-missile alarm sounds again -- the July F7 driver was wired into DEAD CODE. Root cause: the alarm feed (cc2b109) lived in Missile::MoveAndCollide, but the world-entity Missile is a BLOCKED TRANSCRIPTION (2007 Entity-base mismatch) that never flies; live flight is the BTPushProjectile simulator in mech4.cpp -- so IncomingLock/DistanceToMissile stayed 0/FLT_MAX in every field build (solo AND MP) while the doc header said F7 fixed. Fix: the feed moves to the push simulator's per-frame update -- salvo LEAD only (the port's cluster = the binary's ONE Missile per trigger, @004bf5b4 ctor-registration into target+0x418 read by the target tick @004a9b5c: lock=1, dist=|missile-mech| entity positions); mirror leads on peer nodes report identically (mislanch resolves the live target by replicated ID), which is what puts the alarm in the VICTIM's cockpit -- inbound missiles are always mirrors there. Bridge hardened: BTIsRegisteredMech class check (the binary's 0x50bdb4 check) + the port's latched-death predicate 2||9 (@0049fb54). New: [incoming] receipt (BT_INCOMING_LOG, edges + 1Hz held) and BT_DESIGNATE=enemy (bench designator: production designation slots stamped with the nearest live mech on no-mech frames only -- standoff locks the boresight pick can't hold). Transcription block kept in missile.cpp with an INERT banner so the trap can't re-bite. Bench (2-node standoff LRM duel, 700-800u): 54/55 lock edges per node, dist closing 792->87 over ~2.2s, beeper STARTs with LIVE authored tempo (10 far -> 435 close, the 100..800->600..10 map) -- on replicant mirrors, i.e. the MP case. Era witness: Oracle identified [1:74] IncomingAlarm01 n58 on the soundboard same day ('sped up in the pods').
2026-08-13 22:25:38 -05:00
2026-08-07 07:48:04 -05:00
2026-08-05 12:41:55 -05:00
2026-08-13 23:32:30 -05:00
2026-07-19 16:28:38 -05:00
2026-07-27 07:42:37 -05:00
#165 ROOT-CAUSED after three failed fixes -- the binary keeps ONE destroyed cell per subsystem (+0x40: fire gate, dial X, wire header, every writer) and the port split it into FOUR stores; the everyday CRIT-LOTTERY kill (MechWeapon::TakeDamage) bypassed the reconstructed base and wrote only the X store, so X'd weapons kept firing while every prior fix aimed at a gate that was never broken (the 4,213-refusal bench drove BT_KILL_SUBSYS, which writes all cells -- it validated readers, not writers). FIX: MechWeapon::TakeDamage chains to MechSubsystem::TakeDamage (@0x4ac0bc semantics); the port-authored FSM-from-damage tail is DELETED (it parked partial-crit weapons at level 1 -- no FSM case, the silent freeze, and with beamFlag armed the 883 hanging beam: #164's upstream writer, caught red-handed by berserker's 20x STUCK-ON receipts); the phantom uninitialized simulationState int is ctor-initialized and kept in lockstep at every destroyed write; always-on [crit] DESTROYED receipt makes crit kills field-visible. BT_CRIT_SUBSYS bench hook drives the REAL writer path; weaponx_bench PASS: kill phase 0 FIRED post / 5,664 refusals / X+gate agree, partial phase keeps firing. Gotcha 30; #174 filed (cascade re-descend)
2026-08-13 00:35:33 -05:00
2026-08-02 16:45:54 -05:00
2026-08-04 09:44:42 -05:00
2026-07-05 21:03:40 -05:00
#165 ROOT-CAUSED after three failed fixes -- the binary keeps ONE destroyed cell per subsystem (+0x40: fire gate, dial X, wire header, every writer) and the port split it into FOUR stores; the everyday CRIT-LOTTERY kill (MechWeapon::TakeDamage) bypassed the reconstructed base and wrote only the X store, so X'd weapons kept firing while every prior fix aimed at a gate that was never broken (the 4,213-refusal bench drove BT_KILL_SUBSYS, which writes all cells -- it validated readers, not writers). FIX: MechWeapon::TakeDamage chains to MechSubsystem::TakeDamage (@0x4ac0bc semantics); the port-authored FSM-from-damage tail is DELETED (it parked partial-crit weapons at level 1 -- no FSM case, the silent freeze, and with beamFlag armed the 883 hanging beam: #164's upstream writer, caught red-handed by berserker's 20x STUCK-ON receipts); the phantom uninitialized simulationState int is ctor-initialized and kept in lockstep at every destroyed write; always-on [crit] DESTROYED receipt makes crit kills field-visible. BT_CRIT_SUBSYS bench hook drives the REAL writer path; weaponx_bench PASS: kill phase 0 FIRED post / 5,664 refusals / X+gate agree, partial phase keeps firing. Gotcha 30; #174 filed (cascade re-descend)
2026-08-13 00:35:33 -05:00
2026-08-02 16:45:54 -05:00
2026-08-01 04:42:15 -05:00
2026-08-01 04:42:15 -05:00
2026-08-02 13:31:36 -05:00
2026-08-02 02:29:58 -05:00
#83 FIXED: the incoming-missile alarm sounds again -- the July F7 driver was wired into DEAD CODE. Root cause: the alarm feed (cc2b109) lived in Missile::MoveAndCollide, but the world-entity Missile is a BLOCKED TRANSCRIPTION (2007 Entity-base mismatch) that never flies; live flight is the BTPushProjectile simulator in mech4.cpp -- so IncomingLock/DistanceToMissile stayed 0/FLT_MAX in every field build (solo AND MP) while the doc header said F7 fixed. Fix: the feed moves to the push simulator's per-frame update -- salvo LEAD only (the port's cluster = the binary's ONE Missile per trigger, @004bf5b4 ctor-registration into target+0x418 read by the target tick @004a9b5c: lock=1, dist=|missile-mech| entity positions); mirror leads on peer nodes report identically (mislanch resolves the live target by replicated ID), which is what puts the alarm in the VICTIM's cockpit -- inbound missiles are always mirrors there. Bridge hardened: BTIsRegisteredMech class check (the binary's 0x50bdb4 check) + the port's latched-death predicate 2||9 (@0049fb54). New: [incoming] receipt (BT_INCOMING_LOG, edges + 1Hz held) and BT_DESIGNATE=enemy (bench designator: production designation slots stamped with the nearest live mech on no-mech frames only -- standoff locks the boresight pick can't hold). Transcription block kept in missile.cpp with an INERT banner so the trap can't re-bite. Bench (2-node standoff LRM duel, 700-800u): 54/55 lock edges per node, dist closing 792->87 over ~2.2s, beeper STARTs with LIVE authored tempo (10 far -> 435 close, the 100..800->600..10 map) -- on replicant mirrors, i.e. the MP case. Era witness: Oracle identified [1:74] IncomingAlarm01 n58 on the soundboard same day ('sped up in the pods').
2026-08-13 22:25:38 -05:00
2026-07-05 21:03:40 -05:00
2026-08-13 14:58:04 -05:00
2026-07-05 21:03:40 -05:00
2026-08-09 16:19:36 -05:00
2026-07-31 09:17:31 -05:00
2026-07-05 21:03:40 -05:00
2026-08-11 17:08:48 -05:00
2026-08-04 03:18:50 -05:00
2026-07-05 21:03:40 -05:00
2026-07-05 21:03:40 -05:00
2026-08-13 14:58:04 -05:00
2026-08-13 14:58:04 -05:00
2026-08-05 19:44:23 -05:00
2026-08-05 19:44:23 -05:00
2026-07-27 08:09:31 -05:00
2026-07-27 08:09:31 -05:00
2026-07-25 10:05:57 -05:00
2026-07-25 10:05:57 -05:00
2026-07-16 14:16:14 -05:00
2026-07-25 10:46:59 -05:00
2026-07-25 10:46:59 -05:00
2026-08-08 13:59:39 -05:00
2026-08-08 10:36:36 -05:00