#179 FIXED: the look-state machine never committed the SPAWN state -- the Nova showed its rear laser's range pips in the forward view until the first look toggle (Oracle, night 17, same-evening report). The mapper commits eyepoint/enables/pip-group-mask on lookState EDGES only, and both state cells constructed equal (LookNone), so the first tick saw no edge; the reticle's group mask kept its construction bits. Fix: ctor seeds lookState = -1 (impossible), making the first tick an edge into LookNone that stamps the forward view at spawn. The firing half was never wrong -- the weapon ctor is binary-faithful (viewFireEnable = !rearFiring @004b99a8 [T1]); only the pips lied. Verified: pre-fix logs show ZERO [mppr] look-state commits without a look press (retroactive proof of the bug); the fixed build prints exactly one 'look state -> 0' at spawn with zero inputs (25s solo smoke). Rides Friday.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016bw71WVsccjwW7uKRg4aWD
This commit is contained in:
Joe DiPrima
2026-08-13 23:32:30 -05:00
co-authored by Claude Fable 5
parent 87e45547c0
commit ad5fc7b524
+11 -1
View File
@@ -365,7 +365,17 @@ MechControlsMapper::MechControlsMapper(
lookRight = 0;
lookDown = 0;
lookBehind = 0;
lookState = LookNone;
lookState = -1; // IMPOSSIBLE state (#179): the commit below fires
// only on lookState EDGES, and both cells started
// equal (LookNone) -- so the spawn state was never
// COMMITTED: the reticle's pip GROUP mask kept its
// construction bits and the Nova showed its REAR
// laser's pips in the forward view until the first
// look toggle (Oracle, night 17). Seeding -1 makes
// the mapper's first tick an edge into LookNone,
// stamping the forward view exactly as the machine
// showed it at spawn (weapon enables were already
// ctor-faithful: viewFireEnable = !rearFiring).
torsoUp = 0;
torsoDown = 0;