Archived decision board from HIGH WATER (2026). Picked: Time slows almost to a stop and three rolled finishers sit on the face buttons, each with a benefit tag. The GRAB and EXECUTE prompts show only for the first three. ← back to the archive
Studio Hitstop · Slate (Director lane) · board · 2026-09-28

Execution menu

Jonas: agency over which finisher you get and how to pull it off. When a finisher is armed, time drops to a crawl and three are offered on the three face buttons. One press picks one; every finisher states what it buys you.

The moment

Mockup at 1280 × 720, over a frame from the finisher lab. The world keeps crawling at 0.08 speed behind the cards, so it stays a moment in the fight, not a menu screen. The rolls are drawn by the same rules the game will use.

HW-07 OPTICAL REC ● · DISCOVERY · 開示
TIME ×0.08 · 処刑選択
SELECT TERMINATION3 OFFERS · 1 PRESS
AUTO: BEST FIT IN 0.9 s
(LB) GATE · abort, WATERLINE keptthe thug stays in your glove until you pick

How it flows

Tested against the finisher research (findings F1–F8) and Jonas's "never interrupt the flow" rule.

Trigger: punch, not grab

WATERLINE full, holding a thug, punch opens the menu, as today. Opening on grab would hijack every grab-and-throw while the meter is full; punching a held thug already means "execute". The HUD's teaching prompts ((B) GRAB, (X) EXECUTE) show for the first three finishers only (Readout).

One press, no cursor

Each card maps to a face button: X, Y, B on the pad, which are punch, kick and grab (keyboard X V C). The best-fit card is always on X, so punch-punch executes the best-fit pick at once: the fast path costs one extra tap.

A crawl, not a pause

Time runs at 0.08, sound goes under water, and the street dims around you. You are invulnerable and rooted while it's open (DOOM: finishers are safe). After 1.5 s of real time it picks the best fit by itself. The finisher itself still runs its 0.4–1.0 s and hands control back on its payoff.

Abort

LB / Shift (GATE) closes the menu with no finisher: time snaps back, the WATERLINE stays full and the thug stays in your glove.

The roll

  • Slot X: the context's best fit (wall, pier, barrel, a second thug in reach, a crowd, a caught pull). In the open, it takes the next of a rotation.
  • Slots Y and B: drawn from what is valid here. A wall finisher needs a wall, Merger needs a second thug and Liquidity needs a barrel. They never repeat the previous menu's pair while other options exist.
  • Deterministic: drawn from Clock.rng, the gameplay stream.

Research check

  • F2 said players never learn a command list. The menu is that list, learned by playing, with no memorisation.
  • F3 said 36–60 f. The choice adds a decision; the auto-pick and the X fast path cap it.
  • F6, the payoff, becomes the tags below: a finisher has to pay off in a way the player can choose.

What each one buys (the RPG layer)

Jonas: every finisher heals (DOOM glory kills), one constant: Finishers.HEAL = 2 armour. On top, each carries one tag: two resources (TRANCHES, WATERLINE) and three situational (CROWD, STRUCTURE, ARMOUR BREAK). The choice is a resource now versus solving the room.

TagEffectFinishers
◑ TRANCHESRailgun cells refilled: all three TRANCHES.Due Diligence · Contract Terminated
≋ WATERLINEThe meter restarts at 70 %, not 35 %: the next finisher comes about twice as soon.Hostile Takeover · Wall Street
⌖ CROWDKnocks the room down: sweeps, quakes and volleys that hit everyone in reach.Market Sweep · Asset Consolidation · Downsizing · Merger
▥ STRUCTUREOpens the level: breaches a wall, drops a pier, sets off barrels.Severance Package · Load-Bearing Review · Liquidity Event
◇ ARMOUR BREAKStrips armour from the victim and every armoured thug within 3 m (Ballast, Doorman); +2 damage to armoured targets meanwhile.Compliance Check · Chiropractic Review

The API between Slate and Readout (agreed)

Slate (the mechanic)

Emits Events.finisher_choice_open(options, timeout, 0) after the time drops. Each option: {id, name, tag, tag_jp, note, placeholder} plus extras. Resolves finisher_choice_picked(index, auto) on the next physics tick and emits finisher_choice_close() when it closes the cards itself (dash, hit, scene exit). Handles dash as the abort. Backstop auto-pick 0.5 s after the timeout. Dials: Finishers.choice_delay / choice_slow / choice_reveal / choice_stagger.

Readout (the cards)

Owns the cards and the picking input (attack / kick / grab = left / middle / right, deaf for 0.2 s), a UiStack FULL ticket "choice" at 110, and the countdown. Without Readout's cards (tools that load arena.tscn) Slate draws a placeholder and reads the buttons itself.

Open for Jonas