Preview · not for publishing · written 2026-10-04 by an unattended Claude session
PACK OUT page: what needs Tim before this goes anywhere
The page at / is a preview on a pages.dev URL, noindexed. Every number on it comes from the game's own code or a script listed below. Nothing here is published, linked from the arcade, or on a real domain.
Blockers
-
STAGE PACK OUT is internal on the
arcade. This page hosts its own copy at
/play/. Publishing a page for a game the arcade hides is your call (games-portal/tools/stage.mjs). - NO PLAYERS Nobody has played it but the playtest gate. The repo's HANDOFF says your first run is the real test: does planning the load feel like the job? The page makes no play-time or fun claims, but please play jobs 1 to 6 before anything else.
-
PHONES The full game can't be started on a
phone. The title screen only advances on SPACE, and turn / undo /
Dell's note / close the doors are keys only
(
src/main.js). Taps would work once you're in a job. The page routes phones to the demo plus a "copy the link for your laptop" button. A start button and four on-screen buttons in the game would fix it. - YOUR VOICE First-person lines you have to own: "I wanted to know how rare the right answer is, so I counted" (Claude ran the count, with the scripts below) and "Nobody outside my test runs has played it". The figure caption calls the manifest-order loader "its dumbest test loader".
-
DRIFT
/play/is a copy of~/Programming/games/puzzle/pack-outat8800c0e. If the game changes, refresh it (command in the instanceCONTEXT.md) and rerunbuild/check-page.mjsand the probes.
Review items
- The game's title card is half wrong, and the page says so. It says first-stop things go "nearest the door". The page's Big Idea is that a clear run to the door is the rule, not nearness: on job 2 the clean load puts the first-stop boxes deep in the truck on the top row. You might want the title card to say "with a clear run to the door".
-
Dell's note only knows one load.
hint()compares your load to the single authored solution (twins allowed), so if you're building one of the other clean loads it tells you to lift something that was fine. The page lists this as a gripe. Fix: check whether the current partial load can still reach any 3-star load. - British English. The game says telly, pavement, roundabout, halls of residence, colours. The page is in American English but quotes the game as-is and uses "pavement" throughout so the report lines match.
- Demo coach lines. Two lines in the demo are page-written: "In your hands: the ___. Tap the truck where it goes. N still on the lawn." and "N still on the lawn. Pick the next thing off the manifest." Every other line (refusals, drive, report) is the game's string.
-
The demo writes your save. Finishing job 2 in the hero stores
the result under the game's own key (
packout-save-v1), so the full game's title ledger shows it. Same origin only: it won't carry to the arcade. -
Stale repo screenshot.
shots/estate-pavement.pngin the game repo shows an old coach line ("Books's in the way"). The page uses a fresh capture instead. - Rows 10+ have no number key (already in the game's HANDOFF). Job 6 has 13 items.
The counts, and a bug in the first count
Every legal way to get the whole manifest on the truck, matching items
(same type, same stop) counted once, graded by the game's
evaluate():
- Job 1: 216 loads, 140 clean (one stop, so only crushing can cost a star).
- Job 2: 16,380 loads, 548 clean.
- Job 3: 1,814,400 loads, 230 clean. Job 3 fills the truck, so every load is a tiling and support is automatic.
The first script reported 2,730 / 67 and 40,320 / 8. It had a bug: the signature it used to skip repeated states dropped the stop number on one-cell items, so first-stop and second-stop boxes looked the same and real loads got pruned. An independent recount caught it. Three different counters now agree on jobs 1 and 2, and the page never shipped the wrong numbers.
Scripts (they import /play/src/sim/; download the site
and run with Node):
-
probe-tilings.mjs:
node probes/probe-tilings.mjs 2for job 3 (about 80 seconds). - probe-tilings-validate.mjs and probe-loads-check.mjs: two independent counts for jobs 1 and 2.
-
probe-hands.mjs: what the
game's three naive loaders do, drawn as text.
node probes/probe-hands.mjs 1shows the crushed bike.
Pipeline record
Stage outputs live in single-page-sales/pages/pack-out/.
Both human checkpoints before the final one were auto-proceeded
because nobody was around; the final checkpoint is held:
publish is not approved.
Reader panel: three cycles of 10 simulated readers, averaging 3.50, then 3.96, then 4.00. That passes every threshold, right at the line, with 8 of 10 saying they would play. The two holdouts are phone readers, and what stops them is the keyboard requirement. The panel caught a false piano line in cycle 2 (the robes ride on the piano and come off first), and it was fixed in all three places it appeared. Details are in 08-test-readers/output/feedback-synthesis.md.