# RCWeb Bubblewrap Controller

The **RCWeb Bubblewrap Controller** app (`app/bubblewrap-c`) is the smartphone controller for `app/bubblewrap`.

![icon](pwa-512x512.png "Bubblewrap Control App Icon")

## What it does

- Registers the phone as a player in the current RCWeb room.
- Receives an assigned player color from the main Bubblewrap display.
- Shows the same 6x6 bubble grid as the display.
- Sends bubble taps to the main display using `rc.sendFunctionCall`.
- Updates its local board when the display broadcasts the latest game state.

## How to use it

1. Open `/bubblewrap-c/` from the QR code shown by `/bubblewrap/`.
2. Tap bubbles to claim them with your assigned color.
3. Use **New game** to reset the board for another round.

## Network API

The controller exposes these functions globally under `bubblewrapControl`:

- `bubblewrapControl.receiveState(snapshot)`: Applies a complete game snapshot from the display.
- `bubblewrapControl.receivePop(index, snapshot)`: Applies a snapshot and animates the recently popped bubble.

Controllers do not decide winners locally. The display app owns all rules and broadcasts the result.
