Defuse Control is the phone controller for the defuse shared-display game. It holds the two halves of the game that never overlap: the modules this phone can operate, and the manual pages only this phone can read.
MY MODULES shows the close-up detail of every module assigned to you — the actual wire colours, the four keypad symbols, the button's colour and word, the Simon pads. This is the information the big screen withholds, so with a crew you have to describe it out loud.
MY MANUAL holds the rule pages. With two or more players they are pages for module types you do not operate; solo you hold the lot. Pages are headed by type, never by owner, so finding the right person is part of the game. The pages are static reference: no live data appears on this tab, which is exactly what forces the asking.
A persistent header carries your name and colour, the mirrored countdown, and the strike pips. The clock is mirrored from the viewer so it is the same clock the button module refers to.
The phone vibrates on a strike and on a cleared module. Names are remembered between sessions in local storage.
The controller sends intents only: joinPlayer, heartbeat, requestState, armBomb and moduleAction. The viewer validates everything and replies with a private assign payload, per-module moduleUpdate acknowledgements, and a broadcast publicState snapshot for the clock and strike count.


