§8, §16 — Controlling the display setOptions · onViewOptionsChange · registerColorScheme · toolbar ↔ external controls stay in sync
Use ctrl.setOptions() to drive the map programmatically, and onViewOptionsChange to receive toolbar changes back into your app. The external controls in the sidebar stay in sync with the toolbar — change either one and both update. The programmatic action buttons demonstrate resetZoom() and highlightBin.

The colour-scheme dropdown includes teal-rose, a custom palette this page registers with registerColorScheme() before rendering — pick it here, or open the toolbar's own palette picker and see it listed there too. That is the point of registering rather than passing colours per call: a registered scheme becomes available everywhere, with no further wiring. Note this is the data palette (die colours). Theming the surrounding chrome is a separate mechanism — see the theming demo.
External controls
Custom colour scheme
registerColorScheme('teal-rose', { forBin, forValue })

forBin(bin) returns a CSS colour for categorical bin modes. forValue(t) interpolates a colour for continuous value modes, t ∈ [0, 1]. Schemes are global, persist for the life of the page, and appear in every toolbar palette picker automatically.
Programmatic actions
Live state (from onViewOptionsChange)
plotMode
colorScheme
rotation
rings
quadrants