interface ChartState {
    barSpacing?: number;
    crosshairMode?: "normal" | "magnet";
    drawings?: unknown;
    grid?: { horzLines: boolean; vertLines: boolean };
    indicators?: IndicatorState[];
    panes?: PaneState[];
    series?: SeriesState[];
    version: number;
    viewport?: { from: number; to: number };
}

Properties

barSpacing?: number
crosshairMode?: "normal" | "magnet"
drawings?: unknown

Opaque slot the drawing tier fills. The base engine round-trips it untouched, so an app that persists state keeps drawings for free once the tier is loaded.

grid?: { horzLines: boolean; vertLines: boolean }
indicators?: IndicatorState[]
panes?: PaneState[]
series?: SeriesState[]

Informational: restoreState does not recreate these (it has no data).

version: number
viewport?: { from: number; to: number }

Visible logical range at save time.