API reference

Feature coverage matrix

Compare implemented behavior and supported public boundaries.

This matrix connects Braven Charts' defining features to a public API and a runnable showcase surface. A release-facing claim should appear here before it is added to package marketing.

Defining feature Public API Showcase evidence
Zoom and pan InteractionConfig, chart toolbar, gesture and keyboard handlers Interaction
X/Y viewport scrolling showXScrollbar, showYScrollbar, ScrollbarConfig Interaction, Render Range
Tooltips TooltipConfig, TooltipStyle, callbacks Gallery, Interaction, Tracking Lab
Crosshair tracking CrosshairConfig, CrosshairMode, CrosshairDisplayMode Tracking Lab, Gallery
Cartesian value summary CartesianValueSummaryConfig, fixed overlay and draggable annotation CartesianValueSummaryPresentation, deterministic CartesianValueSummaryValuePolicy chains, family-aware automatic and builder CartesianValueSummaryContent, tri-state CartesianValueSummaryStyle clears, CartesianValueSummaryTheme presets, anchor-relative ChartOverlayPlacement, CartesianValueSummaryController pinning, grouped semantics with debounced announceChanges, portable artifacts and generated Source Value Summary
Synchronized Cartesian interaction ChartInteractionGroupController, ChartInteractionGroupOptions, ChartXViewport Line Charts — Synchronized
Full-domain Cartesian navigation CartesianNavigator, CartesianNavigatorBehavior, CartesianNavigatorSnapPolicy, CartesianNavigatorStyle Interaction — Navigator; Live Stream — Live Navigator; Gallery — Synchronized Cartesian; Line — Synchronized; Area — Forecast; Bar — Categories; Scatter — Correlation; Candlestick — Stock
Annotations ChartAnnotation subtypes, AnnotationController, editing dialogs Annotations, Lactate Threshold, Gallery
Line charts LineChartSeries, LineInterpolation, PathAnimationStyle, explicit per-series entrance/update timing, entrance replay, value interpolation, and stable boundary-topology motion Line Charts, Chart Types, Gallery
Area charts and baselines AreaChartSeries, baseline and above/below fill properties, PathAnimationStyle, explicit per-layer timing, and synchronized value and stable boundary-topology motion Area Charts, Baseline Fill, Gallery
Range Area charts RangeAreaDataPoint, RangeAreaChartSeries, RangeAreaBoundaryStyle, RangeAreaLabelConfig, RangeAreaInteractionDetails, typed low/high tracking, explicit gaps, nested-band and Line composition, atomic motion, grammar authoring through RangeAreaMark / BravenChart.geomRangeArea(low:, high:) with nullable bounds for gaps, artifacts, Data, and Source Range Area Charts, Selection — Range Area
Bar charts BarChartSeries, BarOrientation, horizontal multi-axis mapping, inherited RTL canvas text and semantics, rangeStartValues, BarLayoutMode, first-class diverging/Likert roles and center line, BarChartStyle, non-colour BarPatternStyle, BarTrackStyle, BarLollipopStyle, first-class BarBulletStyle, ParetoChartData mixed bar-line compositions, HistogramChartData continuous-sample binning, keyed entrance/update/exit BarMotionStyle, viewport-virtualized geometry and indexed hit testing, spatially indexed chart-wide collision-aware BarLabelStyle, stack totals, BarGroupInfo Bar Lab Stress, Bar Lab RTL, Bar Lab Histogram, Bar Lab Pareto, Bar Lab Lollipop, Bar Lab Likert, Bar Lab Bullet, Bar Lab Patterns, Bar Lab, Chart Types, Gallery
Candlestick charts CandlestickDataPoint, CandlestickChartSeries, CandlestickChartStyle, CandlestickAnimationStyle, CandlestickDensityGrouping, typed OHLC tracking, ordered viewport culling, live latest-candle upsert, lossless artifacts, and Line/Area/Scatter overlays Candlestick Charts, Chart Types
Heatmap charts HeatmapDataPoint, explicit missing cells, optional unequal axis-aligned rectangles through HeatmapCellBounds, configurable finite empty-value presentation through HeatmapEmptyValueStyle, one or more independently scaled HeatmapChartSeries values, sequential/diverging/threshold HeatmapColorScale, compact HeatmapColorLegendGroup presentation for multiple colour axes, HeatmapSharedColorDomain for comparable independent small multiples, portable dim/hide windows through HeatmapValueFilter, optional interactive continuous legend filtering, categorical X/Y axes, deterministic entrance and stable-identity update motion, regular-grid and explicit-rectangle viewport culling, host-owned viewport-backed matrices through HeatmapTileSource, HeatmapMatrixDomain, and HeatmapViewportController, portable allowlisted provider reconnection through HeatmapViewportProviderDescriptor and ChartRuntimeBindings, bounded decoded image presentation through HeatmapRasterTileSource, HeatmapRasterViewportController, and HeatmapRasterImageResource, bounded canonical raster companions through HeatmapRasterSemanticDescriptor, portable raster reconnection and named fallbacks through HeatmapRasterViewportProviderDescriptor, typed interaction, rendered-cell rectangle selection with touched-cell/source-row/source-column HeatmapSelectionExpansion, bounded semantics, typed 2D histogram/density/contour preparation, deterministic matrix clustering, portable dendrogram branch and node geometry, standalone themeable HeatmapDendrogram and HeatmapDendrogramStyle composition with cached branch paths, configurable automatic screen-space level of detail, bounded labels, and independently shaped, filled, and bordered leaf/merge markers, artifacts, lossless tables, generated Source, Grammar, and fluent configuration Heatmap Charts, Chart Types, Gallery
Scatter plots ScatterChartSeries, ScatterMarkerStyle, ScatterInteractionStyle, area-correct ScatterSizeEncoding, continuous or piecewise ScatterColorEncoding, ScatterOpacityEncoding, independent point channels, quantitative legends, unsorted-data culling, and point-accurate 2D interaction Scatter Charts, Chart Types, Gallery
Pie charts PieChartSeries, PieChartStyle, PieChartTheme, PieElevationStyle, dual inside/outside PieDataLabelConfig, shared explode/lift RadialSelectionStyle Pie Charts, Chart Types
Donut charts DonutChartSeries, DonutChartStyle, DonutCenterContent, runtime center builders, partial sweeps, variable radii, and shared explode/lift RadialSelectionStyle Donut Charts, Chart Types, Gallery
Concentric Donut charts two or more DonutChartSeries, ConcentricDonutConfig, composition-wide lift selection, ring-aware legends, native tables, exact generated Source, artifacts Concentric Donut, Chart Types, Gallery
Polar Column and Rose charts one or more compatible signed PolarColumnChartSeries values, layered, grouped, or diverging stacked PolarColumnCompositionConfig, per-category targetValues and PolarColumnTargetMarkerStyle, pane-wide PolarThreshold references, absolute PolarColumnInterval endpoints with whisker or annular-band PolarColumnIntervalStyle, PolarColumnPreset, gradient/elevation/motion-aware PolarColumnStyle, independently positioned and styled category/value/radial labels, angular category axis, shared numeric radial axis, linear or area-correct scaling, bounded visual label/spoke density, shared explode/lift RadialSelectionStyle Polar Column, Chart Types, Gallery
Conditional series styling SegmentStyle, series style helpers Segment Styling, Series Styling, Gallery
Multiple Y axes YAxisConfig, yAxisId, maxAxesPerSide, BravenChartController Multi-Axis, Axis Slots
Normalization NormalizationMode, MultiAxisNormalizer, automatic detection Multi-Axis, Tracking Lab, Gallery
Configurable X axis XAxisConfig, top/bottom/mirrored XAxisPosition, general numeric/categorical tick-label rotation, rotation-aware XAxisTickLabelCollisionPolicy, configurable label spacing, CategoryAxisConfig, CategoryLabelDensity, CategoryLabelOverflow Axes, Bar Lab Categories, Minor Ticks, Render Range
Streaming data StreamingConfig, StreamingController Streaming
Direct live ingestion LiveStreamController, StreamingBuffer, external viewport ownership through manageViewport: false, frame-coalesced host following through dataRevision Gallery, Live Stream — Live Navigator
Theming ChartTheme and component theme types, including radial defaults Theming, Pie Charts, Gallery
Loading and empty UX isLoading, ChartLoadingConfig, ChartEmptyStateConfig Loading States
Runtime control BravenChartController, ChartController, callbacks Axis Slots, Annotations, Live Stream
Host chart actions Visible Workbench actions, ChartContextAction native menus, and configurable ChartOverlayAction buttons sharing one stable handle Chart Workbench
Native chart data ChartTableModel, ChartDataTable, copy and CSV export Chart Artifacts, Chart Workbench, Pie Charts, Polar Column
Portable chart artifacts ChartArtifact, canonical JSON, preview capture, hydration Chart Artifacts, Pie Charts, Polar Column
Reusable chart workbench BravenChartWorkbench, resizable Split view, revision-safe linked point identity, nestable shared mode and selector scope Chart Workbench; all chart-family guides
Generated Dart source ChartDartSourceGenerator, ChartDartSourceOptions, ChartDisplayMode.source, ChartWorkbenchSourceState Chart Workbench; Line, Area, Bar, Scatter, Pie, Donut, Concentric Donut, and Polar Column guides
Document comparison ChartComparisonBuilder, explicit mapping and source-preserving CSV Chart Workbench
Chart grammar and fluent surface sealed Mark hierarchy (LineMark, AreaMark, BarMark, ScatterMark, CandlestickMark, RangeAreaMark, TrendMark), typed Channel/CategoryChannel encodings, PlotSpec, PlotSpecLowering.lower(), the BravenPlot widget, the chained BravenChart facade, coded GrammarDiagnosticCode failures, and the opt-in package:braven_charts/braven_charts_fluent.dart barrel of generated withX/withoutX/inheritX/clearX/updateX modifiers Chart Grammar
Serializable/tool-driven charts ChartConfigBuilder, chart agent interfaces and schemas, including complete advanced bar, pie, and donut contracts Bar Lab, Pie Charts, API documentation
Dense-data performance bounded buffers, viewport culling, render caches, Scatter spatial indexing and geometry-aware hit testing, Polar Column cached label eligibility and deterministic visual-density caps Performance, Scatter Charts, Polar Column, Live Stream

Current boundary

Cartesian charts support one configurable X axis and multiple independent Y axes. Multiple simultaneous X axes are not part of the public contract. One Candlestick series may share a plot with Line, Area, and Scatter overlays; a second Candlestick or same-plot Bar series is rejected in V1. A Pie accepts exactly one PieChartSeries; a standalone Donut accepts one DonutChartSeries; and two or more Donut series form one Concentric Donut composition. Partition-radial charts have no Cartesian axes and cannot mix with line, area, bar, or scatter series. Polar Column accepts one or more compatible series, layered in declaration order, grouped into angular sub-bands, or stacked with independent positive/negative accumulators, on shared angular-category and radial-numeric axes. Category order, preset, and unit must match. Targets, thresholds, and lower/upper intervals are absolute references on that shared numeric scale. Intervals are available for ordinary, layered, and grouped columns but not cumulative stacks. Polar Column cannot mix with either Cartesian or partition-radial series. Heatmap accepts exactly one HeatmapChartSeries and cannot mix with another Cartesian family in V1.