The last critic round on the owner-approved story, before the build goes on. Comments only:
nothing here is removed, rejected or decided; a worry is a worry, and every fix is an extra
option next to what it's built from (the brainstorm's rule, README.md). New hybrids continue
from H81 (critics-agreed-story.md), so they start at H82.
design/STORY.md, the whole file: the one-paragraph story, the playfield tour, howowner-decisions.md (D1-D28; STORY.md's header still saysdesign/rule-sheets.md (rules per chapter,design/callouts.md (the voice script andcave_fifties_intro07 and glados_privatetalk05_head), docs/scoring.md section 6 (thedesign/sounds/catalog.csv (grepped) anddesign/sounds/script-*.md); buildability againstmachinefolder/config/ (4 balls installed, 6-ball trough), machinefolder/modes/, the draftconfig/hardware-draft.yaml) and tools/hw_console/data/components.yaml; balancedesign/research/playthrough-agreed-story.md; known mis-tags against TODO.md.critics.md, critics-agreed-story.md, critics-period5.md,critics-play-modes.md, gaps.md, worries-and-champions.md) were skimmed. A worry that wasMarta, the veteran pinball designer (invented). Thirty years of rule sheets, a dozen
licensed games, one home machine of her own she still hasn't finished. She reads a story as a
list of shots, timers and held balls: how long until the first payoff, what's lit when, which
toys pull double duty, and what MPF 0.80 on this cabinet can actually do today. She cares more
about the fourth game of the evening than the first.
Ezra, the Portal lore purist (invented). Has played both games with commentary on, owns the
Lab Rat comic in print and can tell Portal 1's GLaDOS from Portal 2's by the room tone. He
doesn't mind the machine inventing ("canon-adjacent" is fine), but he wants every real line to
mean what it meant in the game, and Valve's mix of jokes and grief kept intact.
Sanne, the first-time player (invented). Played Portal 1 once at a friend's, years ago;
knows the cake and the portals, not much else. Has played maybe five pinball games, all on
holiday. She reads the machine as it talks to her: the sign, the lights, the voice. If she can't
tell what to shoot within a minute, she's lost.
Ravi, the canon gap-finder (invented). A completionist: every achievement, every Rattmann
den, the ARG, the co-op DLC, the commentary nodes. He doesn't check what the story gets wrong -
that's Ezra - but what it leaves out, and whether the machine could carry it.
"The story's done; now it has to survive four balls of real play. My test for each section:
what's lit, how long until it pays, what's physically there today, and what happens when the
player drains in the middle of it."
First, the ground truth. Every story toy is still in config/hardware-draft.yaml on MPF's
virtual platform: VUK1-8, Div1, Servo1, Drp1, Up2, Up4, the magnet. story_p1.yaml says it
plainly (lines 13-14): "the lock VUKs aren't wired yet, so a 'lock' here is progress only and the
ball isn't held." The magnet, shaker, KD1, hint LED row, tilt bob and slam, launch-lane
diverter, co-op button and small screen are all "Idea, not obtained" in the registry. So
everything below that says ball held (D22's choice grammar, the cube chain's long lines,
C0-C5, period 5's 1 s holds, D27) currently has no physical hold. That's not a story problem,
but it decides the build order.
docs/scoring.md 6). It turns counts, clocks, gates andcritics-agreed-story.md (shared worry 7): partly fixed (H62's chapter layers keep 1A clean),super_wizard's ruleset (D28), and the mercy rule (acritics-agreed-story.md (F7, skipped by D22): still open as a worry;tests/ should get one scripted run per ending, or a change in period 2 will silently break E5."The last round fixed the big continuity breaks (PotatOS off the refuse path, the deletion lines
in E4). What's left is smaller and sharper: real lines doing a job that's the opposite of the
one they did in the game. I checked each against the scripts indesign/sounds/."
script-portal2-coop.mdwheatley_openinghello01, Portal 2 ch. 1) and the chamber signglados_taunt_trickfire_handstand01). "Speedy thing goes in" on the momentum test:critics-agreed-story.md (H78): now fixed. The turret bank's classic lines:gaps.md ("Portal 1's turret voice isn't in the rip"): now fixed by D12turret_turret_* files are Portal 1's voice.script-portal1.md or script-portal2.md, nor in the catalogue; gaps.md attributes it toglados_13_part1_euthanized-1,glados_epiloguekillyou02),glados_05_part1_nag5-1 "Quit now and cake will be served immediately" isscript-portal2.md line 113, ch. 1) ends "...and I'm just going to wait for you up ahead." Oncritics-agreed-story.mdcave_fifties_repulsion_intro02), Propulsion in the seventies (cave_seventies_outro01),cave_eighties_intro06). Caroline only seeded; the Adhesion Gelcave_dlc2_2900_caveprime_moneyverse04, 9.6 s, andcave_dlc2_0630_altcave_johnsons_run01, 28.6 s), i.e. the alternate Caves. STORY and the ruleglados_chellgladoswakeup01, Portal 2 ch. 1) as the reunion,script-portal1.mdTODO.md line 98, open).glados_01_part2_success-1), in Cave's ending.critics-agreed-story.md (Ravi's gap 1): nowglados_epilogue04 before the turn ("...taught me an even more valuableannouncer_openingcourtesy01), cut at the right place."I played it in my head with the rule sheets closed, at the default level, with only what the
screen, the lights and the voices tell me. I'd get through period 1, maybe into period 2. So
that's where I looked hardest."
critics-agreed-story.md (Sanne: "always show the meter"):"
gaps.mdfound 48 holes in the brainstorm;critics-agreed-story.mdfound what the picks
dropped. Most of those are closed now: the deletion lines, Speedy thing, the PTI Caves, the
neurotoxin clock, the rocket, the murals, the Adhesion Gel, the infinite fall, the test chamber
sign. So this table checks the final files only (STORY.md, rule-sheets.md, callouts.md),
grepping each item, and marks what's covered with its home and what's still missing. Covered
items get no comment."
Where: S = STORY.md, R = rule-sheets.md, C = callouts.md; main = the refuse path, W =
the Wheatley branch only, co = co-op only. Voiceable = a catalogue row exists (file given);
music = a music file; display = no recording exists, text only.
| Item | Game / chapter | Covered by, or missing | How the machine could use it | Voiceable line (file) |
|---|---|---|---|---|
| "The cake is a lie" | P1, Rattmann's dens | S Act II (LIE/CAKE), R 1B, C rule 10 | - | display (graffiti) |
| "This was a triumph" / Still Alive | P1 credits | S credits lap, C E1 - but C still calls it missing from the library (it isn't) | E1 and the credits lap, now; H97 | music music_portal_still_alive.ogg (176.5 s) |
| "I'm not even angry" | P1 credits (lyric) | R period 3 tilt; C gaps "display text" | a vocal slice of Still Alive (H97) | music slice; near-echo glados_escape_00_part1_nag10-1.ogg "I'm not angry. Just go back to the testing area." (4.2 s) |
| "Are you still there?" | P1 turrets | C ball search, turret idle | - | turret_turret_search_1.ogg |
| "Speedy thing goes in, speedy thing comes out" | P1 ch. 10 | S 1A, R 1A, C 1A | - | glados_06_part1_success_2-1.ogg (9.8 s, split) |
| "When life gives you lemons..." / "Combustible lemons" | P2 ch. 7 | S, R, C 2C multiball | - | cave_eighties_outro09.ogg, cave_eighties_outro11.ogg |
| "SPAAACE!" | P2 ch. 9 | W (E7) + 2B's faster Space Core (main) | - | space_core_space22.ogg (1.8 s) |
| Want You Gone | P2 credits | C credits lap (W) | - | music music_Portal2-13-Want_You_Gone.ogg |
| Cara Mia Addio | P2 ch. 9 | S colours, C the opera | - | music music_Portal2-12-Cara_Mia_Addio.ogg |
| "You monster" | P2 ch. 1 | C 3A later plunges (held, once) | - | glados_chellgladoswakeup06.ogg (11.6 s) |
| "You are a horrible person" | P2 ch. 2 | S, C period 1 small ending | - | glados_sp_laser_powered_lift_completion02.ogg |
| "[Subject Name Here]" | P1 ch. 04 | C bonus, high-score files | - | glados_03_part1_success-1.ogg |
| "Now you're thinking with portals" | P1 tagline | S, R, C display | - | display (not a game line) |
| "Goodbye, Caroline." / "Caroline deleted." | P2 ch. 9 | S/C E4 | - | glados_epilogue12.ogg, announcer_carolyndeleted02.ogg |
| "Do NOT plug that little idiot..." | P2 ch. 5 | S/C C0 | - | glados_sp_a2_core02.ogg |
| "NOW WHO'S A MORON?" | P2 ch. 5 | W | - | wheatley_bw_fgb_heel_turn15.ogg |
| "I AM NOT! A MORON!" | P2 ch. 5 | missing | the branch's 3A first drain, or C0's plug-in side | wheatley_bw_fgb_heel_turn21.ogg (2.6 s) |
| "BECAUSE I'M A POTATO." | P2 ch. 6 | W | - | glados_potatos_longfall_speech03.ogg |
| "Science isn't about why..." | P2 ch. 6 | S, C risky shot | - | cave_fifties_fifth_test_complete09.ogg (split) |
| "Cave Johnson. We're done here." | P2 DLC (PTI) | listed in S/R period 2, but C: "not in the rip" | period 4's Cave (Ezra) | cave_dlc2_2900_caveprime_moneyverse04.ogg (9.6 s, split) |
| "Killing you? Is hard." | P2 epilogue | C E1 (and P1 ball save) | - | glados_epiloguekillyou02.ogg |
| "Didn't we have some fun, though?" | P1 escape | S/C period 3 small ending | - | glados_escape_nags_07.ogg |
| "The rocket really is the way to go" | P1 escape | C climax | - | glados_escape_02_spheredestroy1-10.ogg |
| "I invited your best friend the companion cube..." | P1 escape | missing | the burned cube remembered in period 3 (H91) | glados_escape_02_miscbabble-23.ogg (6.5 s) |
| "The Companion Cube will never threaten to stab you" | P1 ch. 17 | missing | the cube chain's step 2-3, held | glados_13_part1_middle-2.ogg (8.4 s) |
| "It made shoes for orphans" | P1 escape | missing | an Incinerator burn in 3B (no adoption joke in it) | glados_escape_02_miscbabble-07.ogg (8.7 s) |
| "Like an eagle. Piloting a blimp." | P2 ch. 3 | missing | the first Faith Plate jackpot | glados_sp_catapult_fling_sphere_peek_completion01.ogg (6.2 s) |
| "Android hell is a real place" | P1 ch. 14 | missing | 1B's live-fire test complete, or a slam tilt | glados_11_part1_success-1.ogg (9.9 s, split) |
| "Initiating surprise in three... two... one." / "Surprise." | P2 ch. 4 | missing | a fake-out award (H88) | glados_testchambermisc34.ogg (4.8 s), glados_testchambermisc41.ogg |
| "This sentence is false" | P2 ch. 9 | missing | display on the branch's 3B | display; near-echo glados_potatos_sp_a4_intro_paradox07.ogg (3.2 s) |
| The birds | P2 ch. 6, epilogue | missing | E1 colour (her "days used to be like...") | glados_epilogue19.ogg (11.7 s, held) |
| "Goodbye, my only friend" | unverified (no script line) | R/C display | Ezra: check the source | display only |
| "Hear the turret for it is knell" | P2 graffiti | R 3B | - | display |
| "Exile Vilify" | P2 ch. 9 | missing (and not in the rip, TODO.md) |
the credits lap on the branch | none in the library |
| Wheatley's apology | P2 post-credits | C E7 text | - | display (TODO.md: not found) |
| Item | Game / chapter | Covered by, or missing | How the machine could use it | Voiceable line (file) |
|---|---|---|---|---|
| Portals, the dual device | P1 ch. 00-04 | S, R 1A | - | - |
| Weighted Storage Cube | P1 ch. 01 | C 1A Super Button | - | - |
| Companion Cube | P1 ch. 17 | S/R/C 1B chain, C1 | - | - |
| Edgeless Safety Cube | co-op | S Act I | - | glados_mp_coop_fling_3end01.ogg |
| Discouragement Redirection Cube | P2 ch. 2 | missing | the spinner as the laser relay (H89) | glados_sp_a2_laser_stairs_intro02.ogg (11.4 s, held) |
| Buttons (Super, pedestal, Stalemate) | P1, P2 | S, R | - | - |
| Turrets (floor, defective, oracle, singing, rocket) | both | S, R, C | - | - |
| Energy pellets | P1 ch. 06-09 | R 1B pops | - | - |
| Aerial Faith Plate | P2 ch. 2 | S, R | - | glados_faith_plate_intro01.ogg (15 s, unused) |
| Hard Light Bridge | P2 ch. 3 | S, R (Bridge Shield) | - | - |
| Excursion Funnel | P2 ch. 8 | S, R (no reversed polarity) | - | - |
| Lasers, Thermal Discouragement Beams, relays | P2 ch. 2-4 | missing from the final files (in the brainstorm: CH-3, MU-M10) | H89 | the redirection-cube line above |
| Gels (Repulsion, Propulsion, Conversion, Adhesion) | P2 ch. 6-7 + cut | S, R period 2 | - | - |
| Crushers / panels | both | R period 3 slings | - | - |
| Emancipation Grill / fizzling | both | R drain "a fizzle at the grill", C sfx_portal_fizzle_01; not in S (D23 put it there) |
- | glados_prehub26.ogg (8.1 s) |
| Neurotoxin | P1 finale, P2 ch. 5 | S, R 3A | - | - |
| Incinerator | P1 ch. 17 | S, R | - | - |
| Personality cores (P1's four) | P1 escape | S, R (the Morality Core not named) | H83 | glados_escape_02_spheredestroy1-05.ogg "It was a morality core..." |
| Corrupted cores (Space, Fact, Adventure) | P2 ch. 9 | W | - | - |
| PotatOS | P2 ch. 6-9 | W | - | - |
| The moon portal | P2 ch. 9 | W | - | - |
| Frankenturrets | P2 ch. 8 | missing | the branch's 3A: a lit standup that "walks" one target along each few seconds | music music_Portal2-03-FrankenTurrets.ogg; sfx_box_monster_chitter_01.ogg |
| Long Fall Boots | P2 | missing | the fall's landing and the ball save's name (H90) | glados_potatos_sp_a3_00_fall14.ogg (8.2 s, W only) |
| Intelligence Dampening Sphere | P2 ch. 9 | missing | H101 | glados_potatos_fgb_confrontation12.ogg (9.7 s) |
| Party escort bot | P1 end | S/C E2 | - | - |
| Observation rooms / cameras | both | R pops as cameras | - | - |
| Test chamber sign | both | S (D13, D14, D26) | - | display |
| Achievements | all | missing as a system (the certificate wall in attract is close) | award names on the certificate wall | display |
| Item | Game / chapter | Covered by, or missing | Pinball mechanism | Voiceable line (file) |
|---|---|---|---|---|
| Momentum through portals | P1 ch. 10 | S/R 1A (Left Orbit) | the orbit out of a portal VUK | see above |
| Flinging | P1 ch. 11-12 | R 1B (Propulsion Run) | the up-ramp | - |
| The infinite fall | P1 easter egg | S/R 1A | chained portal swaps (VUK to VUK) | sfx_egg_infinite_portal_01 |
| Bounce (Repulsion) | P2 ch. 6 | R 2A | pops, slings | - |
| Speed (Propulsion) | P2 ch. 7 | R 2B | orbits, spinner | - |
| Speed + bounce together (the long jump) | P2 ch. 7 | missing (H35 not taken) | a pop or sling hit, then the Propulsion Run within ~3 s (H102) | sfx_player_enter_speed_paint_01.ogg + sfx_player_bounce_jump_paint_01.ogg |
| Conversion (any surface takes a portal) | P2 ch. 7 | R 2C | the Faith Plate window | - |
| Sticking (Adhesion, cut) | P2 cut | S, R | the magnet (not obtained) | sfx_player_enter_stick_paint_01 |
| Faith Plate arcs | P2 ch. 2 | S | VUK onto the platform | - |
| Funnels carrying you | P2 ch. 8 | S (left ramp) | the tube ramp | - |
| Reversed funnel polarity | P2 ch. 8 | missing | the left ramp's diverter sending the ball back (period 2 already uses it) | - |
| Fizzling at the grill | both | R/C drain | the outlane | sfx_portal_fizzle_01 |
| Rockets redirected through portals | P1 escape | S/R climax | Drp1 -> Orange -> Blue | - |
| Sucked into space | P2 ch. 9 | W (magnet) | the magnet at the Orange Portal | - |
| A portal on the wrong surface | both | missing | an unlit portal VUK gives the invalid-surface buzz, not a portal | sfx_portal_invalid_surface_01.ogg (2.4 s) |
| Laser redirect | P2 ch. 2-4 | missing | the spinner + the LED strips (H89) | - |
| Item | Game / chapter | Covered by, or missing | How the machine could use it | Voiceable line (file) |
|---|---|---|---|---|
| P1 chambers 00-19, the escape, GLaDOS's chamber | P1 | S Acts II, V | - | - |
| P2 ch. 1 The Courtesy Call | P2 | S 1A, Act I | - | - |
| P2 ch. 2 The Cold Boot | P2 | lines used (3A "Oh... it's you"), name missing | 3A's card (Ezra) | display |
| P2 ch. 3 The Return | P2 | name missing | a chapter-card option | display |
| P2 ch. 4 The Surprise | P2 | missing (lines and name) | H88 | glados_testchambermisc34/35/41.ogg |
| P2 ch. 5 The Escape | P2 | S 1C | - | - |
| P2 ch. 6 The Fall | P2 | S Act III | - | - |
| P2 ch. 7 The Reunion | P2 | S 3A (re-meant) | - | - |
| P2 ch. 8 The Itch / ch. 9 The Part Where He Kills You | P2 | W | - | - |
| P2 ch. 10 credits, the turret opera | P2 | S credits lap, the opera | - | - |
| Co-op: Calibration, courses 1-5, the vault | co | S/R co-op | - | - |
| Co-op DLC: Art Therapy / Peer Review | co | missing (gaps.md H32 not taken) | H93 | glados_dlc1_mp_coop_separation_1_intro03.ogg "Welcome. To the future." (2.3 s); glados_dlc1_mp_coop_portal_bts_outrob03.ogg (8.9 s) |
| Perpetual Testing Initiative | DLC | R/C period 4 glitches | - | - |
| Rattmann's dens | P1 | S/R period 5 (six dens) | - | music music_sp_a1_intro3_r1.ogg |
| Rattmann's murals | P2 | S period 5, attract | - | - |
| Lab Rat | comic | S E6 (the file, the box) | - | display |
| The ARG radios | P1 patch | C period 5 (A8 slices) | - | sfx_dinosaur1-26 |
| Valve's commentary track | P1, P2 | missing from the final files (lore-and-meaning.md B only) | H92: the explanation mode | 83 commentary_com-*.wav rows (Portal 2 only; Portal 1's audio isn't in the rip) |
| Black Mesa rivalry | P2 ch. 7 | missing | a Cave seventies bite | cave_seventies_intro16.ogg (18 s, split) |
| The Morality Core and why the neurotoxin starts | P1 escape | missing | H83 | glados_escape_02_spheredestroy1-05.ogg |
| Wheatley built to make GLaDOS stupid | P2 ch. 9 | missing | H101 | see above |
Count: 100 items checked; 71 covered (about a dozen of them on the branch or in co-op only),
29 missing or partly missing (a name, a line or a home missing). The categories that improved most since gaps.md are the iconic quotes and the
features; what's left is Portal 2's middle (lasers, ch. 3-4, the Surprise), the jokes between the
famous ones, and the commentary track.
music_portal_still_alive.ogg (176.5 s) wasTODO.md line 407), but callouts still says "not in the library yet",Champions (three or four critics):
Shared worries:
critics-agreed-story.md (worry 7): partly fixed, still open for 1B.critics-agreed-story.md, F23); stretch after stretch.Each is an extra option next to what it's built from; none replaces anything. "Changes" names
a decided item it would touch; "none" means it fits the decisions as they stand.
| # | Option | Built from | Changes |
|---|---|---|---|
| H82 | One refusal wording. STORY.md's climax step 3 says what the rule sheets and the build do: only the first core is refused (once at level 2; never at level 0; every core once at level 3), the rest burn on the first shot. | D28 (climax), playthrough answer 3, difficulty R1, rule-sheets 3B | none (STORY text follows the built rule) |
| H83 | The canon core order. The first core burned is the Morality Core: "You are kidding me." (glados_escape_02_spheredestroy1-01, 1.0 s) -> "Did you just toss the Aperture Science Thing..." (-02, 7.0 s) -> held during its refusal: "It was a morality core they installed after I flooded the Enrichment Center with a deadly neurotoxin..." (-05, 10.1 s), which is why the neurotoxin clock starts. The first core to fall after a rocket gets "Time out for a second. That wasn't supposed to happen." (spheredrop1-01, 3.0 s); the CAROLINE glitch keeps its other option (a stuttered line ✂). Comply (she survives): "All I know is I'm the only thing standing between us and them. Well, I was." (spheredestroy4-04, 6.9 s, held), weakened rather than threatening. E8 (defy): the explosion, the shaker and her own death scream (TODO.md line 98), with spheredestroy4-01 (2.0 s, speech-to-text "Rrr, I hate you", to listen). |
D23 (E8), H70, D28, callouts climax rows, script-portal1.md lines 261-268, 386 |
D23: E8's line ("You are kidding me." as her destruction) and STORY's E8 row |
| H84 | One meaning for "Bring Your Daughter to Work Day". (a) Keep level 0's name; E3's card leads with the scratched-out "200-" (H53) and names the day only in its last line. (b) Rename level 0 after Cave's own joke: "CONTROL GROUP" ("You're not part of the control group, by the way"). (c) Keep both and make the joke land: E3's card adds "YOUR TESTING PROTOCOL WAS NAMED AFTER THIS DAY." | docs/scoring.md 6 (CHANGES #97), E3, H75, H53 |
none for (a)/(c); (b) changes CHANGES #97's level name |
| H85 | One colour grammar. Every shot keeps one name and one colour on the sign and on its insert: blue for the Blue Portal side, orange for the Orange Portal, yellow for the current test (the floor's yellow test lines), white for the PA's "official" shot, red only for Rattmann (H56). C1's two sides are then two colours, not two names. | D13, D14, D26, H56, H57 | none |
| H86 | C5 hands over. E3, E4 and E5 show as "CHAPTER ENDING" with "NEXT: THE TRUE STORY" and the game goes on to period 5; E6 closes the game. On the arrow route (period 5 already played) they're followed straight by E6's file. E6 "always last" reads "last of every game that reaches period 5". | D18, H61, the ending table, rule-sheets period 4 | none (clarifies D18/D20) |
| H87 | C1b's tally. The three C1b picks count as one C1b: Caroline's side wins with 2 of 3. The speaker bar keeps the tally visible (Cave's face or hers, per decade), and siding with her lights one CAROLINE letter faintly at once, so the choice shows. | D21, H71, H72 | none (clarifies D21's single C1b) |
| H88 | The Surprise (Portal 2 ch. 4). A rare fake-out: on a random extra-ball-lit chance or a lit-but-pointless Super Button press in period 1, "Initiating surprise in three... two... one." (glados_testchambermisc34, 4.8 s, held) -> confetti on the sign -> "Surprise." (-41, 0.8 s) -> "I made it all up." (-35, 1.1 s), and a small real award anyway. Only these three lines: the ones around them in the chapter are adoption jokes (rule 9). |
Portal 2 ch. 4, callouts rule 9 | none |
| H89 | The laser relay. The spinner is a Thermal Discouragement Beam relay: in 1B (or 3A as a side mode) spinning lights an LED-strip "beam" toward one lit shot, and that shot "receives the laser" for a short window. The plunge plays the redirection-cube line (glados_sp_a2_laser_stairs_intro02, 11.4 s, held). |
gaps.md (CH-3, MU-M10), the toy table (the spinner has no period-1 role), the LED strips |
none |
| H90 | Long Fall Boots. "LONG FALL BOOTS: ENGAGED" on the sign at Act III's fall, on every ball the dropper or the Faith Plate drops, and as period 2's ball-save name; on the branch PotatOS says it (glados_potatos_sp_a3_00_fall14, 8.2 s, held). |
gaps.md, Act III, D20 (PotatOS branch-only) |
none |
| H91 | The cube remembered. If C1 burned the cube, period 3 brings it back once, held (the 3B card or a drain): "I invited your best friend the companion cube. Of course, he couldn't come because you murdered him." (glados_escape_02_miscbabble-23, 6.5 s). If kept, its icon rides on the jackpot tour's sign. Plus, in 1B, "The Enrichment Center reminds you that the Weighted Companion Cube will never threaten to stab you..." (glados_13_part1_middle-2, 8.4 s) at the dropper hold. |
C1, the ending colours, gaps.md |
none |
| H92 | The explanation mode, with Valve's voices, and findable. Hold both flippers in attract: HOW TO PLAY shows each period's sign rules, and, per toy, a real commentary node (the welcome, the Faith Plate, the turrets, the Frankenturrets) from the 83 commentary_com-*.wav rows (Portal 2 only). Attract only, never in a game. |
D2, commentary-portal2.md, lore-and-meaning.md B, STORY attract ("hidden") |
none (a real-voice alternative inside D2; STORY's "hidden" becomes "on a flipper hold") |
| H93 | Art Therapy, co-op's encore. After the human vault, an encore course: GLaDOS's art-gallery lines on the toys ("Welcome. To the future.", glados_dlc1_mp_coop_separation_1_intro03, 2.3 s), ending on Peer Review's intruder tease (glados_dlc1_mp_coop_portal_bts_outrob03, 8.9 s). |
D15, gaps.md H32, critics-play-modes.md |
D15 (a sixth course after the vault) |
| H94 | "No character speaks" as period 5's wording, so the broken PA words D16 asked for aren't a contradiction. | D16, D28, STORY Act VIII, callouts rule 7 | none (wording) |
| H95 | A fallback for every unobtained toy, in one table in STORY's build order: lock VUKs -> virtual locks, and a "held" moment becomes the next ball waiting in the shooter lane (callouts rule 2 already counts it as held); magnet -> a post (Up4) holding the ball; shaker -> a coil thump and flashers; hint LED row -> the sign only; KD1 -> "already down" in software (as waves 2-3); tilt bob -> no tilt lines yet; co-op button -> start held at game start; small screen -> the main display; launch-lane diverter -> the shot fallback (exists). | Build order 3, D6, D7, rule-sheets Q 2-3, the registry's "Idea, not obtained" parts | none |
| H96 | Numbers per level. Re-run tools/sim/playthrough.py with each level's dials; STORY's "25-30 min" becomes "at Advanced Testing", with level 0's figures next to it; the high-score file shows the level. |
playthrough model, docs/scoring.md 6, F24 |
none |
| H97 | Still Alive, now. Wire music_portal_still_alive.ogg (176.5 s) to E1 and the refuse path's credits lap; cut a vocal slice "I'm not even angry" (to listen) for period 3's first tilt warning once a tilt exists; update callouts' gaps table. |
F19, H65, H77, callouts gaps, TODO.md line 407 |
none |
| H98 | 2B's speed without the Space Core. The orbits speed up with the Propulsion Gel sound (sfx_player_enter_speed_paint_01) and Cave's seventies bites, each a little faster (the same pitch-up as edit A2); the faster Space Core copies move to the branch and E7. Or keep them as a labelled "SIGNAL FROM THE FUTURE" glitch, once per game. |
rule-sheets 2B, D22 (F25 skipped), edit A2 | none (aligns the rule sheet with D22) |
| H99 | Locks per player in compete: locks are counted per player (virtual); a ball physically held at ball end is released (or kept only if the next player has the same lock lit). | D15, H48, rule-sheets' 3 locks | none |
| H100 | 3A as "The Cold Boot" (or "The Return"), the Portal 2 chapter its lines come from; "The Reunion" stays available. | H69, F13 | D21 (a chapter name only) |
| H101 | What Wheatley is. On the branch's 3B, before the boobytrapped button (held): PotatOS's Intelligence Dampening Sphere line (glados_potatos_fgb_confrontation12, 9.7 s), then "Yes. You're the tumor." |
gaps.md H38, the branch |
none |
| H102 | The long jump (speed + bounce gel). In 2B, a pop or sling hit then an orbit within ~3 s is a LONG JUMP: it counts double, like the loop combos, with the gel combo sound (sfx_player_bounce_jump_paint_01); level 0 widens the window. Gives the lightest chapter a shot of its own. |
H35, rule-sheets 2B, playthrough finding 7 | none |
| H103 | Drip the layers. 1B starts LIE/CAKE, the meter and Rattmann's hints; Wheatley's visits and sabotage start in 1C (where the escape needs him); the small ones (catch me, the singing turret, hacking, the oracle) from period 2 or at level 3 only. | H62, F6, critics-agreed-story.md worry 7 |
none (STORY Act II's "the layers start here" list, not a D) |
| H104 | Chapter-start scores on their own board, labelled with the chapter, so the main table stays full games. | D21, D27, the high_score mode |
none |
| H105 | C1's way out. If the fork waits ~30 s (or the ball drains), GLaDOS's nags escalate and then she decides: "the cube is kept for further testing" (the keep side, so nothing is burned without the player's shot); the sign says so. | D22 (the 10 s default for choices), C1, glados_13_part1_endnag-* |
D22's grammar extended to the C1 shot fork |
STORY.md's "Open points", one row each.
| Open point | Marta | Ezra | Sanne | Ravi |
|---|---|---|---|---|
| The 3 core locks | Until VUK5/7/8 get ball switches, the 3 multiball locks are fine (Q 2); don't let it hold up period 3 | Three locks for four cores is canon-correct if the fourth falls from the box | I won't know the difference | Name them on the sign: Curiosity, Cake (Intelligence), Anger; the Morality Core is the box's (H83) |
| Drp1's hidden passage | It needs a switch behind it, or the dens and the climax both run on "Drp1 went down" | Rattmann's crawlspace behind a panel: canon | Show me the passage light when it's open | It's also the rocket turret: keep the two looks distinct on the sign |
| Up2's shortcut gate | Put it where it shortens a 3A test you can see from the flippers | No canon stake | A gate I can see open is the best "shortcut" signal | Wheatley's death-trap reuse on the branch (H34) still fits it |
| The LED strips and the hint LED row | Strips first (they serve 1C, 2A and H89); the hint row can wait (H95) | The yellow strips are Portal 1's floor lines: good | The blue line in 2A is the clearest skill shot in the game | The hint row as his wall is canon art (his murals) in lights |
| The small playfield screen | Stretch; the main display carries the chamber number | No stake | I'd never look at it mid-ball | The test chamber sign's number is enough |
| Magnet, shaker, launch-lane diverter, co-op button, tilt | Shaker and tilt first (cheap, used in every period); the magnet only has two uses | The magnet's "SPACE!" grab is the best physical canon beat on the branch | The shaker is the one I'd feel | The diverter is the Vital Apparatus Vent's refill: worth it for the cube chain |
| KD1, a knock-down coil on one turret target | Nice, not needed: software "already down" works (H95) | A sabotaged turret falling by itself is canon (ch. 5) | Only if I can see it fall | Pair it with a defective turret's line when it drops |
| Cave in short bites | The most important audio edit: period 2 lives on it | Pick bites from the same decade as the chapter | Short is the only way I'd hear him | 819 candidates; tag each by decade in cave-bites.csv |
| The broken PA fragments | Fine as made (A3) | Call them "no character speaks" (H94) | I need one word I can act on ("EXIT") | A4's single words are the real gap |
| The faster Space Core copies | Keep them; best speed cue | Branch only, or a labelled glitch (H98) | Funny | Keep SPACE! somewhere on the main path |
| Caroline's speech-to-text lines | Listen before wiring any | Listen; "I do not want this!" only if the owner wants the darker reading | - | It's real Valve audio; listen, then use it |
| The chapter rule sheets | Done for the trunk; numbers per level next (H96) | Fine | The sign rules are my rule sheet | Add the missing toys (H89, H102) as rule-sheet options |
| The callout script | Name the lemon speech's exception to rule 2 | Fix the climax lines (H83) and period 1's ball save | Fewer, shorter lines in 1B | Update the gaps table (H97) |
The art list (plans/art-and-screens.md) |
Sign icons first; they're the rules | Murals and den art from the games, sources noted (D4) | Big arrows in period 5 | The commentary concept art could feed the ending gallery |
| Earlier hardware questions (Portal A, standups, VUK roles) | Settle Portal A before more portal code | No stake | One name per portal (H85) | - |
Concrete disagreements found while reading, with file and line (line numbers as of this branch).
Comments only; which side is right is the owner's call.
STORY.md 195-196: the Incinerator "refuses each core once or twice, thenrule-sheets.md 309-312: "Only the first core is refused, 1-2 times... the restSTORY.md 193-194: the rocket is "why the fourth core fallsrule-sheets.md 305-308: every core falls after a rocket (the 3 seatedSTORY.md 163 and rule-sheets.md 189 put it at period 2's front deskcallouts.md 329: "Not in the rip". The catalogue has it, but only in the PTIcave_dlc2_2900_caveprime_moneyverse04, cave_dlc2_0630_altcave_johnsons_run01).callouts.md 265 ("then Still Alive (see gaps)") and 331 ("Not in themusic_portal_still_alive.ogg (176.5 s) and TODO.md 407 (checked offSTORY.md 341-342: a shuffled Portal 2 soundtrack playlist (AT2,callouts.md 323: music_looping_radio_mix with staticSTORY.md 11: "numbered D1-D24", while STORY itself cites D26-D28owner-decisions.md runs to D28.STORY.md 329: ~25-30 min for an expert (owner, 2026-10-07);owner-decisions.md 31 (D22): "~20 minute expert run". The later owner answer supersedes it,STORY.md 117: 1A is "chambers 00-05"; rule-sheets.md 94 adds chamber 10STORY.md 227 "No voice in this period" vs 229-230 "a few broken spokencallouts.md 53, rule 7, "a few broken PA words"). -> H94.STORY.md 233-235: Drp1 is "the way into his dens: six dens";rule-sheets.md 375-378: four dens via Drp1's passage, two secret dens by other conditionsowner-decisions.md 31 (D22): F25, the Space Corerule-sheets.md 225-226: 2B plays the Space Core's linesSTORY.md 372, edit A2 in callouts.md 346). -> H98.callouts.md 42-44 (rule 2: at most 4 s in live play) vscallouts.md 190 (the lemon speech, 11.8 s + 20.6 s, under the live multiball) and 130 (theSTORY.md 52-55 and 72-74: Portal A and Portal B (Portal A "needsrule-sheets.md 20-22, 44-45: the Orange Portal [Up3] and the Blue PortalSTORY.md 286 ("Always last, after period 5") vs STORY.md 203 andrule-sheets.md 317-318 (E1, escape + comply, ends the game before periods 4-5). -> H86.STORY.md 219-224 and rule-sheets.md 350-354 give E3/E4/E5 at C5, and onlycallouts.md 235: "Opening (after E8: the dark)", but period 4 isSTORY.md 203-205).rule-sheets.md 12-13: the counts and timers are level 2'sdocs/scoring.md 150: level 0 is the default. STORY.md 327-329 (beatrule-sheets.md 293 and 311 use it asSTORY.md 283 and callouts.md 245, 267 use it as E3.STORY.md 197 ("GLaDOS survives, chastened") vs the linecallouts.md 223 gives it, glados_escape_02_spheredestroy4-08 "STOP! Okay, enough. ISTORY.md 198 and 288 and callouts.md 224, 272: "You are kidding me." isscript-portal1.md 261 has it as her reaction to the first core burned.callouts.md 91: period 1's ball save plays "Killing you? Iscallouts.md 265 and STORY.md 281 save it for E1.owner-decisions.md 32 (D23): "the Emancipation Grill on everyrule-sheets.md 82 and callouts.md 92 but not in STORY.md.rule-sheets.md 257-258 and callouts.md 93-94 script the