# PROCEDURAL3 — Two-Cartridge Arcade
Version 0.2.0 / October 2, 2026

Two expanded, original browser games starring the Volunteer Lawyer. Vanilla HTML, CSS, Canvas and Web Audio; no npm install, build step, remote assets, account, telemetry, or backend.

## Play locally

Extract the ZIP and open a terminal in procedural3_foundation:

```powershell
python serve.py
```

Open http://127.0.0.1:4173/. The optional server disables caching during development. For another port: python serve.py --port 8080. Python is only for local serving, not a game dependency. Any ordinary static server works.

Opening index.html directly also loads the games because levels are plain scripts, not fetched JSON or modules. For reliable shared saves, use HTTP: file URL storage behavior varies between browsers.

## Controls

Both games have a persistent D-pad and two action buttons.

| Action | Touch | Keyboard |
| --- | --- | --- |
| Move | D-pad | Arrow keys / WASD |
| Platformer jump | A or Up | Space / Z / J / Up / W |
| Platformer glide after charm | Hold A | Hold Space / Z / Up |
| Drop through a thin platform | Down + A | Down + Space |
| Platformer briefcase swat | B | X / E / K |
| Adventure interact | A | Space / Z / J |
| Adventure dash / swat | B | X / E / K |
| Pause | Pause button | P / Escape |
| Adventure inventory | BAG | I |

Standard gamepads: D-pad / left stick, bottom face button A, right face button B, Start to pause. Hardware mappings may vary; keyboard and touch remain available.

Native fullscreen is available through FULL. Browsers without native support use an expanded cabinet layout. Rotate your phone for a wider view. Portrait play uses a closer camera; landscape places controls over the lower corners, with a safe camera margin at the start.

## Cartridge I — Super Litigant Pros 3

Five-stage mini-campaign:
1. The Clerk's Counter — recover Notice and the striped-tail briefcase charm.
2. Service Contact Swamp — moving platforms; recover Record.
3. Record Completion Ridge — climb the upper route; recover Relief.
4. The Hall of Continuances — cross moving architecture.
5. The Gatekeeper Chamber — a three-phase original filing-tab dragon with returned forms, continuance volleys, and a final-decision barrage.

Swat or stomp rejection stamps. Reflected forms also damage the Gatekeeper. Receipt tokens award points, with a heart restored every 100 token points. Each stage has a healing checkpoint. Falls and exhausted hearts return you to it without removing recovered paperwork. Completed stages save between sessions. Continue starts at the beginning of the saved stage.

## Cartridge II — The Litigant of the Addenda

Five areas:
- Elder Archive — speak to the Archivist for the Addendum Satchel.
- Notice Annex — recover the document and route Sender → Courier → Recipient.
- Record Vault — recover the document and rebuild Event → Transcript → Index.
- Relief Chamber — collect the addendum and request a specific remedy.
- Appendix Catacombs — have the Indexer certify Notice → Record → Relief.

Use A near the room's desks and shrine. Return to the Elder Archive and open the Procedural Seal when all three seals and the certificate are ready. BAG shows each addendum, dependency, and shrine status. B dashes and swats nearby wraiths. A minimap marks doors, documents, and the player. Documents, restored seals, the satchel, and certification save between sessions; unfinished desk sequences restart on reload.

Complete both cartridges to reveal The Complete Record on the launcher.

## Options and saves

Pause, mute, Reduced Motion, and Friendly Procedure are in each game's menu. Friendly Procedure prevents hazard damage but still respawns falls. Options are shared. Simulation runs at 60 fixed steps per second and pauses when the tab loses focus.

Progress uses procedural3_save_v1 (version 2 data, compatible with version 1). If local storage is blocked, gameplay continues with an in-memory session save. Launcher reset requires a second click and clears both cartridges and options.

## Static deployment

Upload the contents of procedural3_foundation with index.html at the site root, or serve the folder under any subpath. No build command. All links and assets are relative. Python, Node, tests, and design docs are not required on the hosting server.

## Verify changes

Node is optional and only needed to run development checks:

```powershell
node tests/cabinet.cjs
node tests/gameplay.cjs
```

The checks exercise simultaneous input, fixed-step timing, save migration/failure, deterministic respawns, actual platformer movement through all five stages at normal difficulty, archive collision reachability, puzzle dependencies, wrong answers, and both endings.

Browser verification and limitations: docs/QA_CHECKLIST.md.
Implementation notes: docs/UPGRADE_NOTES.md.
Future work: docs/NEXT_RUN.md.

The original design bible, cartridge plans, and SOL_6_1_HANDOFF.md are preserved as reference material. Current implementation status is documented in the files above. Original procedural art and synthesized effects are bundled in code. See credits.html and NO_LICENSE_SELECTED.txt.
