Evaluation advanced what the alerts have consumed; save the chart state, deliver nothing.
The alerts a restore carries, for an AlertController to load.
The brand mark changed; the payload is its options, or false when it was removed.
The host switched chart type. A link group follows it.
A right click, axis strips included. Call preventDefault to show your own menu.
The pointer moved over the plot, or left it (every field null).
Every crosshair position a readout should show: the pointer's, and a linked chart's (source: 'linked').
setDataContext changed the instrument, interval or variant; the payload is the new context.
Studies were invalidated because the primary bars or the clock they read changed; a write fires it before data:update.
setBarsProvider or invalidateRequestedData ran; studies that fetch ask again.
The primary source was written: a live bar, a reset or a page of history.
Set handled to stop the chart's own double-click action.
Once, at the end of destroy(), with the chart already torn down. Every listener is dropped after it.
A press on a draggable primitive, before it moves.
A drawing was created, once per drawing.
A copy reached the clipboard (copies, not the live drawings).
A cut wrote to the clipboard and then deleted.
A controller was destroyed and let go of the chart.
The eraser was switched on or off.
The measure gesture started or ended.
The drawings a paste created, after their own draw:add.
Where a drag is carrying drawings, before it commits (copies).
A drag preview ended, committed or not.
A drawing was deleted, once per drawing.
fromJSON or a chart restore replaced every drawing.
The selection changed; id is the primary (first picked) id. Fires with drawing:select.
A drawing tool became active, or none is (tool: null).
A drawing's anchors, style, text or flags changed, once per drawing.
One per mutation, after the per-drawing draw:* events.
The unselected drawing under the pointer changed.
The whole selection, when it changed.
The drawings a restore carries, for the draw tier to load. Opaque to the base.
A timeline event marker was clicked.
Chart-owned timeline events, or their visibility, changed.
The pointer entered or left a hit-testable primitive.
A condition a study descriptor declared came true on a live bar.
A study legend's settings button was pressed. The engine ships no form.
A study legend's source button was pressed (a descriptor with hasSource: true).
The host switched timeframe. A link group follows it.
A setter that changes the saved layout, and has no event of its own, ran.
The view neared the oldest bar and the history loader ran.
The source, study or chart object inventory changed. Re-read it; the payload says nothing.
The visible window moved without changing its span.
A pane divider drag was released.
A pick resolved or was cancelled.
beginPick started.
movePriceAxis moved a pane's prices to the other strip.
Once, on the microtask after the chart is built, so a listener added on the next line still hears it.
A GPU backend lost its context or proved unusable; every pane draws through canvas2d from now on.
The container size changed, by the resize observer or an applySize that changed it.
restoreState began. A listener may start a newer restore, which supersedes this one.
Appearance settings a link group mirrors were applied, as the values that changed.
The host switched instrument. The widget emits it; a link group and a drawing link follow it.
The visible window's span changed.
Every event on the chart's bus, by name, with the payload a listener receives.
chart.on,onceandofftake these names and type the listener from here; the draw tier adds thedraw:*anddrawing:*names. Add a name of your own by declaration merging (see the module note).