Overview
The layers, and the three couplings that are easy to miss.
Three worlds
The settings page, the Quick Bar and the script are separate JavaScript runtimes.
The bundle
No modules, one global scope, and the three things that follow from it.
Run lifecycle
What happens between Play and Stop.
Page router
One place decides what is on screen, one queue decides who acts on it.
Play loop
One round, from the walk in to proving it is over.
Settings model
Three copies of every setting, and what keeps them one.
Build and release
From src/ to a zip, and from a zip to the catalogue the app reads.