Copied from the agreed story (STORY.md) and the rule sheets
(2026-10-07); those two win if this drifts.
The top lanes spell LIE, the bottom lanes spell CAKE: "the cake is a lie". CAKE is GLaDOS's
promise (her voice, the cake poster, the next ingredient of her absurd recipe); LIE is Rattmann's
scrawl (display only, a den-music sting, no voice). The lit letters rotate with the flipper
buttons ("his hand moving the letters").
- Period 1: LIE and CAKE run from 1A, each as its own parallel mode (owner, 2026-10-19); in 1B, spell CAKE is also a test (chambers 14-15); the cake is the score: each test
adds a slice to a held cake value, LIE pays it out; both in one ball: "the cake is a lie." five
times. Spamming the lane change is Wheatley's "A... A... A..." hacking egg.
- Period 2: the Fine Print: each CAKE letter is one of Cave's promises ("CLAUSE C"), LIE is the
catch; both: "CONTRACT FULFILLED". (Rattmann's walls don't exist yet: no scrawl.)
- Period 3: the CAKE/LIE layer goes on.
- Skill shot: a top lane at the plunge with Up1 down (see skillshot); 2C's moon-rock super
skill shot. LIE and CAKE completion are parallel modes, from 1A (owner, 2026-10-19).
- Co-op: both lane sets are part of course 1, Team Building.
- shot_group
top_lanes — "spell"/2x-hit mechanic per board Overviews.xlsx ("Top Lanes
Complete: spells... orange when hit 2x... blinking") - use MPF shot profile states
(lit/unlit/flashing) rather than a hand-rolled counter.
DRAFT, needs a real game-balance pass with the user: 500/hit for top lanes (harder shot), 250/hit
for bottom lanes, +2500 group-complete bonus for top lanes, +1500 for bottom lanes. Implemented in
modes/lanes/config/lanes.yaml, replacing base.yaml's old flat-100 placeholder.
From rule-sheets.md, not built yet: the rules above are what the mode does
today. Counts, timers and scores are drafts for the balance pass.
- CAKE (bottom lanes): a cake promise and the next recipe line; doubles the held cake value.
- LIE (top lanes): scores the held cake value with "THE CAKE IS A LIE"; no voice.
- Both in one ball: the five-line scrawl and a bonus.
- 1B test "cake": spell CAKE once. Sign: "SPELL CAKE".
- Drain with an unpaid cake: "all the cake is gone" (the held value drops to a floor).
- Period 2 (Fine Print): each CAKE letter a promise; LIE the catch (an award); both: "CONTRACT
FULFILLED".
- Hacking egg: 10+ lane-change taps with no letter change; a lane completion within 10 s:
"Done! Hacked!".
- Slide: modes/lanes/slides/lanes_hit.tscn - implemented with an original hazard-gold line-art
icon (three peaked posts, deliberately abstract given the turret hook is unconfirmed) on a dark
tinted panel, per the approved "Aperture Display Signage" graphics proposal. Plays on both
top_lanes_complete/bottom_lanes_complete.
- Show: modes/lanes/shows/lanes_hit.yaml - implemented (2026-08-27) as a simple
white-pop-to-gold flash per lane hit, layered over the persistent gold light_player state, not the
full turret-gauntlet animation (still unconfirmed).
- Sound: modes/lanes/shows uses machinefolder/sounds/sfx/lanes_turret_chirp.wav - implemented
(2026-08-27) from the user's own full Portal 2 sound extract, a real turret reaction clip on every
lane hit. DRAFT pick, user plans to review/adjust manually.
Only 4 "lane-b" LEDs exist (led-lane-b1..b4) for 5 bottom lane switches (s-bottomlane1..5) - one
bottom lane currently has no dedicated feedback LED. Worth confirming against the cabinet before
finalizing the shot_group's LED mapping. Fixed (2026-08-27): added led-lane-b5 as DRAFT
hardware (chain 1 - a second, real, scanned LED-driver board that was completely unused, per
hardware-basic.yaml's scan comment), and wired simple light_player: feedback for all 8 lane
shots (gold on first hit, stays lit for the rest of the ball - not the unconfirmed 2x-blink spell,
just a plain "hit it yet" indicator). Verified in tests/test_lanes.py. Superseded
(2026-10-04): there are only 4 bottom lanes - the 5th switch on their harness (was
s-bottomlane5) is the big rollover button, now s-button (owner). It left the bottom_lanes group
and scores on its own; led-lane-b5 was removed again, so the 4 lanes match the 4 led-lane-b1..b4
LEDs. Onshape CAD: toprail is a real large part spanning nearly the full top ~40% of the
playfield, consistent with being the backing rail behind the 3 top lanes - but no individual
per-lane parts exist, and no turret/rotating/pop-up mechanism was found near the top lanes, so the
"turret gauntlet" story hook above remains unconfirmed by CAD (a popup post assembly exists in the
document but its position wasn't checked). Bottom lanes still have zero identified CAD geometry. See
design/research/onshape-cad-findings.md.
- 2026-10-07, story pass: the top lanes aren't the turret gauntlet (that's the drop bank); the
bottom lanes' hook is CAKE. The 2x-hit "spell" mechanic is replaced by spelling the words.