phase-13 log: night-7 session research state (collision economy, myomer system complete, coolant leaks, the seek 4.0-vs-4.10 drift) + open-questions entry for the seek player version-probe
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019Zh7PTkFy4KwTzVighLR9J
This commit is contained in:
co-authored by
Claude Fable 5
parent
c18929b23a
commit
ba4af90d6b
@@ -161,6 +161,17 @@ register. ⚠ The audit also flags the damage-economy item as SELF-CONTRADICTOR
|
||||
(task #8 "landed" vs the kShotDamage=12 bring-up residue) — audit before reworking.
|
||||
|
||||
## Deferred subsystems / feeds (authentic path scoped, marked in code)
|
||||
- **Myomer seek "SUPERCHARGE" — 4.0-manual vs 4.10-binary, AWAITING THE PLAYER VERSION-PROBE
|
||||
(2026-07-31).** The 1995 manual (p20/p22 + stat sheets) says seek changes TOP SPEED (gear 4 =
|
||||
"Supercharge", expert-only; Loki/Thor print Normal 143 / Super Charged 182 / Gimped 40 kph).
|
||||
The 4.10 binary provably has NO runtime myomer→speed coupling (full data-flow closure [T1]:
|
||||
demand fn @004afd10 all branches, all speedDemand writers, AvailableOutput's 2 callers, the
|
||||
virtual slot-0x3C sweep, the single SpeedEffect attr ref, the 0x7A0 writer set — see
|
||||
phases/phase-13). Printed ratio 1.27 vs 4.10's vestigial gear ratio 1.43 → documented
|
||||
4.0→4.10 drift. The operator is asking SAURON/Oracle whether THEIR pod-era mechs sped up at
|
||||
seek 4. If yes and wanted: resurrecting supercharge is an OPT-IN deviation — the plumbing
|
||||
(gear ratio, 0x7A0 cap, ratio² heat, heatFactor overheat-to-zero) all exists; it needs one
|
||||
authorized multiplication in the demand path. [[subsystems]] [[pod-hardware]]
|
||||
- **Environment gravity unwired — the myomer CLIMB-heat term is inert (found 2026-07-31, #85).**
|
||||
`Mover::localEnvironment` (MOVER.h:271) is declared and never populated anywhere in the port;
|
||||
`GetEnvironment()->gravityConstant` is the named analog of the 1995 Mover's gravity POINTER at
|
||||
|
||||
@@ -0,0 +1,107 @@
|
||||
# Phase 13 — Night-7 follow-ups: collision economy, myomer system, coolant leaks (2026-07-31)
|
||||
|
||||
One session, six commits (`054c3f2..c18929b`), driven by the night-7 field reports (build
|
||||
4.11.659, testers SAURON / RajelAran / Oracle — Oracle is new, with hands-on original-pod
|
||||
experience). Every fix is bench-verified; field verification is the next playtest.
|
||||
KB authority per topic: [[multiplayer]], [[subsystems]], [[locomotion]], [[combat-damage]],
|
||||
[[pod-hardware]] §Manual, [[translocation-warp]], [[open-questions]].
|
||||
|
||||
## 1. #94 — zone-less-death un-wreck (`054c3f2`) [T1 root cause / T2 verified]
|
||||
Peers saw SAURON's live mech as flaming wreckage after a ram. Root cause: the peer wreck
|
||||
lifecycle's two halves listened to different signals — wreck ON = the replicated death
|
||||
explosion (unconditional); wreck OFF = a damage-zone falling-edge latch that a COLLISION
|
||||
death never produces (type-0 prices as internal rattle, zones never move). Fix: the un-wreck
|
||||
(+ peer respawn warp) now rides the death-state EXIT edge of the replicated MovementMode
|
||||
({2,9} → alive; only `Mech::Reset` leaves the death modes; the state rides every record
|
||||
header). Bench: 14/14 zone-less deaths un-wrecked, 12/12 explosive regression.
|
||||
Gitea #94: awaiting-verification. (#81's earlier fix stands — different hole, same machinery.)
|
||||
|
||||
## 2. Collision-pricing audit → two economy fixes (`37dd7f9`) [T1 formula / T2 verified]
|
||||
The formula layers were verified authentic (crash gate @0x4ab178 == 0.0 read from the exe;
|
||||
StaticBounce kinetic-loss pricing [T0]; divert scale + 0.5-pt free floor). Two port defects:
|
||||
- **A. Grind pacing**: the 0.4 s `gBlockCooldown` hysteresis suppressed the knockdown during
|
||||
sustained contact → full-commanded-speed crash price EVERY frame → the 2-3 s grind death
|
||||
(SAURON's ram death, 110 priced frames at |v|≈34.7). Removed; the binary's pacing
|
||||
(knockdown zeroes the drive; free floor needs v>~18.5 while the knockdown fires at v>6.3)
|
||||
makes wall grinding free taps + ~1.2 s staggers. Bench: 150 s full-throttle wall push =
|
||||
125 paced binds, 4,767 crash frames all free, 0 deaths.
|
||||
- **B. Raw ram dispatch**: the ×0.001 "ram economy normalization" (2026-07-12) predated the
|
||||
#83 divert and compounded with its ~4e-5 scale — no physically possible ram could clear the
|
||||
free floor; rams were a no-op against the victim. Raw restored [T1 @part_012:15324].
|
||||
Bench: tx==rx byte-identical (66239.1), victim priced 2.55 pts rattle, 108 knockdowns ↔
|
||||
exactly 108 type-5 records on the observer (no skating regression).
|
||||
|
||||
## 3. #85 — myomer drive heat LIVE (`1570983`) [T1 operands / T2 verified]
|
||||
The integrator @004b8d18 was fully reconstructed but its five Mech motion operands were
|
||||
`return 0.0f` shims → `ratio² × damageGain × 0` forever (Oracle's "ice cold at seek 4").
|
||||
Operands re-grounded from raw disasm + decomp: `+0x1C4`=localVelocity, `+0x82C`=the 15-ring
|
||||
smoothed AccelerationLastFrame, `+0x20C`=moverMass, `*(+0x250)`=environment gravity pointer
|
||||
(FUN_00421e2c). Physics: `heat += ratio²(1+dmg)[0.005·½mv² + 0.2·mg|vy|dt + 0.2·m|v||a|dt]`.
|
||||
Authored tuning extracted from BTL4.RES (18 records, one tuning): eff 0.995/0.8, gears
|
||||
0.3/0.5/0.7/0.9999 rec idx 2; myomer thermal 77/1000/2000, thermalMass 2.5e5. Bench: hard
|
||||
circling drove T 77→1225 and the coolant loop pulled it back to ~520. Caveats documented:
|
||||
the kinetic term is per-tick (no dt — 1995 fixed-frame assumption, mild fps dependence);
|
||||
the climb term reads g=0 (environment gravity unwired — open-questions). Gitea #85:
|
||||
awaiting-verification.
|
||||
|
||||
## 4. #88 — coolant leaks, both halves (`a8a0042`, `31552c0`) [T1 root cause / T2 verified]
|
||||
- **Arming** (the #64 shadow): `UpdateCoolant` prices the leak from the qualified ENGINE
|
||||
member `Subsystem::damageZone` — which the MechSubsystem ctor never assigned (it filled
|
||||
only its re-declared shadow). zoneDamage read 0 forever → leaks structurally impossible.
|
||||
Fix: both ctors alias the engine member to the same zone (#64 half-fix; the de-shadow
|
||||
sweep stays open). Bench: rattle + weapon crits both drive `[cool]` leak pricing.
|
||||
- **Central pull-through**: `HeatSink::DrawCoolant` was a `return 0` stub (the operator
|
||||
noticed the coolant panel bar never moved). Real base @0x4add00 disassembled: the draw
|
||||
RECURSES up the sink linkage (× coolantFlowScale@0x15C per hop) and terminates at the
|
||||
Reservoir's supply (@0x4af3b0, already faithfully ported). The bank's `helper@0x1D8`
|
||||
member is its reservoir connection (not vestigial). Bench: a destroyed myomer's leak
|
||||
drained the central tank 6.0→5.58 over ~30 s — the cockpit coolant BAR now drops.
|
||||
Gitea #88: awaiting-verification; #64 half-closed.
|
||||
|
||||
## 5. Myomer system COMPLETE — the "WAVE 6 mover cutover" was a phantom (`cf8618b`) [T1]
|
||||
`@004b9550/@004b95b8` ("ConnectToMover") are MechWeapon::ConfigureMappables/ChooseButton —
|
||||
the `+0x31C` there is weapon TriggerState and `**(mech+0x128)` is the CONTROLS MAPPER's
|
||||
button roster. **The binary has NO dynamic myomer→speed feed.** Full data-flow closure
|
||||
(every check [T1]): the demand fn @004afd10 (all three control-mode branches + turn clamp)
|
||||
has no myomer term; all `mapper->speedDemand` writers = that fn + the gimp clamps;
|
||||
`AvailableOutput` has exactly 2 callers (RegisterMaxOutput @assembly + the graph sampler);
|
||||
the virtual slot-0x3C sweep finds only the graph + the mapper detach; the SpeedEffect
|
||||
attribute string has 1 reference (its own table row); `mech+0x7A0` writers = ctor-zero +
|
||||
RegisterMaxOutput. The authentic system, all live: heat; VITAL death (myomers are the only
|
||||
authored vital=1 subsystem — also the ram-death mechanism, rattle weight 0.35); the
|
||||
assembly cap (RegisterMaxOutput → mech+0x7A0 = base×~1.4284, now really registered);
|
||||
the ENG power curve at true scale; electrical sourcing. REMOVED as inventions: the
|
||||
`speedDemand *= speedEffect` demand multiplier + BTMyomersDriveOf + the Myomers mover
|
||||
family. #75 CLOSED (premise falsified: myomer damage does not slow a live mech; the
|
||||
damage slowdown is the leg-damage gimp gait).
|
||||
|
||||
## 6. The seek dial — decoded end-to-end, one question OPEN for the players
|
||||
What seek does in 4.10 [T1]: heat ratio² (floors at 1 — gears 1-3 heat identically);
|
||||
the generator brown-out threshold, whose real stake is TORSO TWIST (the Torso PowerWatcher
|
||||
zeroes twist while the myomers are not Ready; generator has NO load model — demand never
|
||||
pulls the bus down); the ENG graph. Gear 4 = double heat + hair-trigger dropout for a
|
||||
taller graph. **The 1995 manual (4.0) says otherwise**: seek "translates to a lower or
|
||||
higher top speed", gear 4 is named SUPERCHARGE (expert-only), stat sheets print three top
|
||||
speeds (Loki/Thor: Normal 143 / Super Charged 182 / Gimped 40 kph). The printed ratio
|
||||
(1.27) doesn't even match 4.10's vestigial gear table (1.43) → a documented 4.0→4.10 DRIFT
|
||||
(third alongside experience gates + coolant-loop redistribution). Plausible motive: MP
|
||||
fairness (expert-only speed advantage patched out of mixed-experience pods).
|
||||
**OPEN — the player version-probe**: the operator is asking SAURON/Oracle whether seek 4
|
||||
made their pod-era mechs faster. If the pods they played had supercharge, resurrecting it
|
||||
would be an opt-in deviation (all plumbing exists: gear ratio, the 0x7A0 cap, heat penalty,
|
||||
heatFactor overheat-to-zero — one authorized multiplication in the demand path).
|
||||
|
||||
## Carried opens (unchanged this session)
|
||||
Cross-fire combat stall; silent node crash (procdump armed); 17s-late kill credit; #93
|
||||
end-of-round PerformAndWatch use-after-free (one occurrence, symbolized); goto
|
||||
release-to-manual freeze; environment gravity unwired; the #64 full de-shadow sweep;
|
||||
mech3 CreateStreamedSubsystem stub bridges (/FORCE known-cold).
|
||||
|
||||
## Field re-test list for the next session (all labeled awaiting-verification)
|
||||
1. #94: ram-kill victims respawn visibly (no zombie wreck) on every screen.
|
||||
2. Collision economy: wall-humping harmless; rams stagger + rattle BOTH parties; no 2-s
|
||||
grind deaths.
|
||||
3. #85: myomers warm on the ENG panel while driving; ~2× at seek 4; loops respond.
|
||||
4. #88: subsystem damage arms the leak warning and the coolant BAR bleeds down.
|
||||
5. Seek: heat changes with gear, speed does NOT (correct per 4.10) — plus the version-probe
|
||||
question above.
|
||||
Reference in New Issue
Block a user