TEA-compatible brush primitive — range selection over a continuous axis.
Modelled after D3's brush but as pure state + messages with no DOM dependency.
Usage pattern:
Add brush: BrushState to your chart's Model
Add brush messages to your Message union
In update(), delegate to brushUpdate(model.brush, msg)
In view(), render the brush overlay + wire pointer events
Use brushExtent(model.brush) to filter/highlight data
TEA-compatible brush primitive — range selection over a continuous axis. Modelled after D3's brush but as pure state + messages with no DOM dependency.
Usage pattern:
brush: BrushStateto your chart's ModelbrushUpdate(model.brush, msg)brushExtent(model.brush)to filter/highlight data