TtrajectoryCHARTS
PUBLIC DOCS

Trajectory charts as a public visualization system.

Use constructed charts for dashboard speed, low-level packages for custom visualizations, and renderer packages when dense data needs Canvas, WebGL2 planning, or GPU fallback policy. This site documents only public `@atropos/*` imports.

Install

pnpm add @atropos/charts @atropos/theme

Minimal chart

import { LineChart } from "@atropos/charts/basic/cartesian/line-area";

Package split

`algorithms`, `core`, `primitives`, `interaction`, `renderers`, `theme`, and `charts` can be adopted independently.

visx line chart

@visx/shape LinePath->@atropos/charts/basic/cartesian/line-area

visx scatter plot

@visx/glyph GlyphCircle->@atropos/charts/basic/cartesian/scatter

visx grouped bar

@visx/shape BarGroup->@atropos/charts/basic/bar/vertical

visx heatmap

@visx/heatmap HeatmapRect->@atropos/charts/basic/heatmap

visx brush

@visx/brush Brush->@atropos/core/brush

visx zoom

@visx/zoom Zoom->@atropos/core/zoom

visx annotations

@visx/annotation->@atropos/primitives/annotations

visx hierarchy

@visx/hierarchy Tree->@atropos/charts/expanded/families/hierarchy

visx network

@visx/network Graph->@atropos/charts/expanded/families/flow-network

visx wordcloud

@visx/wordcloud->@atropos/algorithms/wordcloud

Recharts line chart

LineChart + Line->@atropos/charts/basic/cartesian/line-area

Recharts scatter chart

ScatterChart + Scatter->@atropos/charts/basic/cartesian/scatter

Recharts bar chart

BarChart + Bar->@atropos/charts/basic/bar/vertical

Recharts area chart

AreaChart + Area->@atropos/charts/basic/cartesian/line-area

Recharts pie chart

PieChart + Pie->@atropos/charts/basic/radial

Recharts composed chart

ComposedChart->@atropos/charts/expanded/families/cartesian-statistical

Controlled legend state

Legend payload callbacks->@atropos/interaction/state

Tooltip semantics

Tooltip content render props->@atropos/interaction/event

Dense scatter fallback

SVG-only point marks->@atropos/renderers/gpu

Dashboard KPI

Custom Recharts card->@atropos/charts/basic/kpi/metric-card

Generated from package `exports` maps. Each row records the public import path, extracted symbols where source metadata is available, SSR guidance, and dependency-weight notes.

@atropos/algorithms

17 public subpaths generated from package exports.

SubpathImportExportsSSRWeight
.@atropos/algorithms*SSR-safe for module import and deterministic server rendering.Low-level package entrypoint intended for selective imports.
./curve@atropos/algorithms/curvecreateAreaPath, createCurveDescriptor, createLinePath, CurveDescriptor, CurveKind, CurvePathOptionsSSR-safe for module import and deterministic server rendering.Low-level package entrypoint intended for selective imports.
./delaunay@atropos/algorithms/delaunaycreateDelaunayTriangulation, createVoronoiDiagram, DelaunayTriangle, DelaunayTriangulation, DelaunayVertex, nearestVoronoiCell, VoronoiCell, VoronoiDiagramSSR-safe for module import and deterministic server rendering.Low-level package entrypoint intended for selective imports.
./geometry@atropos/algorithms/geometryaddPoints, Bounds2D, clampPoint, cross, distance, dot, expandBounds, isFinitePointSSR-safe for module import and deterministic server rendering.Low-level package entrypoint intended for selective imports.
./hexbin@atropos/algorithms/hexbincreateHexbin, hexagonPath, hexagonPoints, HexbinBin, HexbinOptions, HexbinResult, hexToPoint, pointToHexSSR-safe for module import and deterministic server rendering.Low-level package entrypoint intended for selective imports.
./geo@atropos/algorithms/geocreateGeoProjection, fitGeoProjection, FitGeoProjectionOptions, geoBounds, GeoBounds, geoCentroid, GeoCoordinate, GeoProjectedPointSSR-safe for module import and deterministic server rendering.Low-level package entrypoint intended for selective imports.
./hierarchy@atropos/algorithms/hierarchycreateHierarchy, flattenHierarchy, HierarchyDatum, HierarchyNode, HierarchyOptions, HierarchyPointNode, HierarchyRectNode, HierarchyTreeLayoutOptionsSSR-safe for module import and deterministic server rendering.Low-level package entrypoint intended for selective imports.
./network@atropos/algorithms/networkcreateAdjacencyMap, createNetworkLayers, detectNetworkCycles, ForceNetworkLayoutOptions, layoutCircularNetwork, layoutForceNetwork, NetworkGraph, NetworkLayerSSR-safe for module import and deterministic server rendering.Low-level package entrypoint intended for selective imports.
./flow@atropos/algorithms/flowcreateSankeyLayout, FlowLayout, FlowLayoutLink, FlowLayoutNode, FlowLinkInput, FlowNodeInput, SankeyLayoutOptions, sankeyLinkPathSSR-safe for module import and deterministic server rendering.Low-level package entrypoint intended for selective imports.
./wordcloud@atropos/algorithms/wordcloudcreateWordcloudLayout, createWordCloudLayout, createWordCloudSpatialIndex, measureWordBox, measureWordCloudToken, placeWordInCloud, PlaceWordInCloudOptions, WordBoxSSR-safe for module import and deterministic server rendering.Low-level package entrypoint intended for selective imports.
./contour@atropos/algorithms/contourclipContourToBounds, ContourLine, ContourOptions, ContourThreshold, contourThresholds, createContourLines, createFilledContours, FilledContourSSR-safe for module import and deterministic server rendering.Low-level package entrypoint intended for selective imports.
./topology@atropos/algorithms/topologyDecodedTopology, decodeTopoJsonTopology, simplifyTopologyCoordinates, topoJsonFeature, topoJsonMesh, Topology, topologyBounds, TopologyFeatureSSR-safe for module import and deterministic server rendering.Low-level package entrypoint intended for selective imports.
./geo-io@atropos/algorithms/geo-iofitGeoFeatures, GeoIoOptions, GeoJsonFeature, GeoJsonFeatureCollection, GeoJsonGeometry, joinShapefileAttributes, normalizeGeoJson, readDbfSSR-safe for module import and deterministic server rendering.Low-level package entrypoint intended for selective imports.
./pack@atropos/algorithms/packCircleInput, circleIntersects, CirclePackOptions, encloseCircles, layoutCirclePack, PackedCircle, PackedSiblingCircle, PackHierarchyNodeSSR-safe for module import and deterministic server rendering.Low-level package entrypoint intended for selective imports.
./numeric@atropos/algorithms/numericfiniteExtent, normalizeNumericValues, NumericDatumSSR-safe for module import and deterministic server rendering.Low-level package entrypoint intended for selective imports.
./series@atropos/algorithms/seriesseriesId, SeriesIdentityInput, seriesName, visibleSeries, VisibleSeriesEntrySSR-safe for module import and deterministic server rendering.Low-level package entrypoint intended for selective imports.
./spatial@atropos/algorithms/spatialcreateDensePointIndex, DensePointIndex, nearestIndexedPointSSR-safe for module import and deterministic server rendering.Low-level package entrypoint intended for selective imports.

@atropos/core

10 public subpaths generated from package exports.

SubpathImportExportsSSRWeight
.@atropos/core*SSR-safe for module import and deterministic server rendering.Low-level package entrypoint intended for selective imports.
./axis@atropos/core/axisAxisConfig, AxisDominantBaseline, AxisGridLineModel, AxisLabelModel, AxisLineModel, AxisModel, AxisModelOptions, axisOffsetSSR-safe for module import and deterministic server rendering.Low-level package entrypoint intended for selective imports.
./brush@atropos/core/brushBrushCallbacks, BrushExtent, BrushState, clampBrushExtent, createBrushState, normalizeBrushExtentSSR-safe for module import and deterministic server rendering.Low-level package entrypoint intended for selective imports.
./composition@atropos/core/compositionComposedChartMark, ComposedChartPlanOptions, ComposedChartRenderPlan, ComposedChartSeriesPlan, ComposedChartTooltipOptions, ComposedChartTooltipPayload, ComposedSeriesDescriptor, createCategoricalPlotScalesSSR-safe for module import and deterministic server rendering.Low-level package entrypoint intended for selective imports.
./core@atropos/core/coreareaPath, clamp, datumValues, DEFAULT_MARGIN, finiteNumbers, linearScale, linePath, lttbDownsampleSSR-safe for module import and deterministic server rendering.Low-level package entrypoint intended for selective imports.
./data@atropos/core/datachartSeriesId, chartSeriesName, createDensePointIndex, DensePointIndex, nearestIndexedPoint, normalizeNumericValues, NumericDatum, visibleChartSeriesSSR-safe for module import and deterministic server rendering.Low-level package entrypoint intended for selective imports.
./expanded-layout@atropos/core/expanded-layoutbinPointCloud, createBandLayout, createBoxPlotLayout, createBumpLayout, createDependencyTopology, createDistributionLayout, createErrorBarLayout, createGeoPointLayoutSSR-safe for module import and deterministic server rendering.Low-level package entrypoint intended for selective imports.
./geometry@atropos/core/geometryaddPoints, Bounds2D, clampPoint, createAreaPath, createCurveDescriptor, createDelaunayTriangulation, createHexbin, createLinePathSSR-safe for module import and deterministic server rendering.Low-level package entrypoint intended for selective imports.
./scales@atropos/core/scalesBandScale, BandScaleOptions, ColorScaleDescriptor, ColorScaleOptions, ContinuousScaleDescriptor, createBandScale, createDivergingColorScale, createDivergingScaleSSR-safe for module import and deterministic server rendering.Low-level package entrypoint intended for selective imports.
./zoom@atropos/core/zoomclampZoomDomain, clampZoomState, coordinateToDomain, domainFromRange, domainToCoordinate, isZoomStateEmpty, mergeZoomState, normalizeZoomDomainSSR-safe for module import and deterministic server rendering.Low-level package entrypoint intended for selective imports.

@atropos/theme

3 public subpaths generated from package exports.

SubpathImportExportsSSRWeight
.@atropos/theme*SSR-safe for module import and deterministic server rendering.Low-level package entrypoint intended for selective imports.
./animation@atropos/theme/animationchartAnimationDelay, ChartAnimationOptions, chartAnimationStyle, deterministicStaggerIndex, easeChartProgress, normalizeChartAnimation, ResolvedChartAnimation, useChartAnimationSSR-safe for module import and deterministic server rendering.Low-level package entrypoint intended for selective imports.
./styles.css@atropos/theme/styles.cssDeclaration-only or CSS entrySSR-safe for module import and deterministic server rendering.CSS-only side effect import.

@atropos/primitives

7 public subpaths generated from package exports.

SubpathImportExportsSSRWeight
.@atropos/primitives*SSR-safe for module import and deterministic server rendering.Low-level package entrypoint intended for selective imports.
./annotations@atropos/primitives/annotationscreateReferenceBandModel, createReferenceLineModel, createReferenceMarkerModel, MarkerAnchor, MarkerLabel, MarkerLabelProps, ReferenceBand, ReferenceBandModelSSR-safe for module import and deterministic server rendering.Low-level package entrypoint intended for selective imports.
./defs@atropos/primitives/defsClipRect, ClipRectProps, createClipPathId, LinearGradientDef, LinearGradientDefProps, MarkerArrow, MarkerArrowProps, stableSvgIdSSR-safe for module import and deterministic server rendering.Low-level package entrypoint intended for selective imports.
./group@atropos/primitives/groupcreateScaleTransform, createTranslateTransform, Group, GroupProps, joinTransforms, ScaleInput, TranslateInputSSR-safe for module import and deterministic server rendering.Low-level package entrypoint intended for selective imports.
./responsive@atropos/primitives/responsiveBoundsSize, normalizeBoundsSize, ResponsiveFrame, ResponsiveFrameProps, useElementBoundsSSR-safe for module import and deterministic server rendering.Low-level package entrypoint intended for selective imports.
./shape@atropos/primitives/shapearcPath, AreaPath, areaPathFromPoints, AreaPathProps, LinePath, linePathFromPoints, LinePathProps, PointMarkSSR-safe for module import and deterministic server rendering.Low-level package entrypoint intended for selective imports.
./text@atropos/primitives/textestimateTextWidth, splitTextLines, SvgText, SvgTextProps, WrappedText, WrappedTextPropsSSR-safe for module import and deterministic server rendering.Low-level package entrypoint intended for selective imports.

@atropos/interaction

5 public subpaths generated from package exports.

SubpathImportExportsSSRWeight
.@atropos/interaction*SSR-safe for module import; browser-only renderer work must initialize after hydration.Low-level package entrypoint intended for selective imports.
./drag@atropos/interaction/dragcreateDragController, DragController, DragControllerOptions, DragControllerState, DragPhase, DragPointSSR-safe for module import; browser-only renderer work must initialize after hydration.Low-level package entrypoint intended for selective imports.
./event@atropos/interaction/eventChartEventBounds, ChartKeyboardMoveOptions, ChartPoint2D, ChartPointerEventOptions, ChartPointerSource, clampPointToBounds, keyboardDeltaFromEvent, localChartPointSSR-safe for module import; browser-only renderer work must initialize after hydration.Low-level package entrypoint intended for selective imports.
./expanded-interaction@atropos/interaction/expanded-interactioncreateExpandedKeyboardSummary, createExpandedLegendItems, createExpandedPointerIndex, createExpandedTooltipPayload, createExpandedTooltipPayloads, createRendererTooltipPayloads, ExpandedHitResult, ExpandedInteractiveDatumSSR-safe for module import; browser-only renderer work must initialize after hydration.Low-level package entrypoint intended for selective imports.
./state@atropos/interaction/stateChartInteractionModel, ControllableStateOptions, toggleSeriesHidden, useChartInteractionState, useControllableStateSSR-safe for module import; browser-only renderer work must initialize after hydration.Low-level package entrypoint intended for selective imports.

@atropos/renderers

5 public subpaths generated from package exports.

SubpathImportExportsSSRWeight
.@atropos/renderers*SSR-safe for module import; browser-only renderer work must initialize after hydration.Low-level package entrypoint intended for selective imports.
./expanded-render-plan@atropos/renderers/expanded-render-plancreateExpandedGpuRenderPlanSSR-safe for module import; browser-only renderer work must initialize after hydration.Low-level package entrypoint intended for selective imports.
./gpu@atropos/renderers/gpuacquireFloat32Buffer, calculateGpuReadbackDiagnostics, createGpuBufferPool, createGpuDrawPlan, createGpuGradient, createGpuPackedMarkBuffer, createGpuPickingIndex, createGpuRendererSSR-safe for module import; browser-only renderer work must initialize after hydration.Low-level package entrypoint intended for selective imports.
./render-plan@atropos/renderers/render-planassertValidRenderPlan, compileRenderPlanToCanvasCommands, compileRenderPlanToDrawCommands, compileRenderPlanToGpuDrawPlan, countRenderPlanMarks, countRenderPlanMarksByKind, flattenRenderPlanMarks, isSerializableRenderPlanValueSSR-safe for module import; browser-only renderer work must initialize after hydration.Low-level package entrypoint intended for selective imports.
./renderers@atropos/renderers/renderersChartRendererFeature, ChartRendererSelection, createLumaGpuAdapter, detectRendererEnvironment, LumaGpuAdapter, rendererCapabilities, RendererCapability, RendererEnvironmentSSR-safe for module import; browser-only renderer work must initialize after hydration.Low-level package entrypoint intended for selective imports.

@atropos/charts

21 public subpaths generated from package exports.

SubpathImportExportsSSRWeight
.@atropos/chartsAdjacencyMatrixChart, AlbersUsaMap, AreaChart, AreaChartProps, BarChart, BarChartProps, BeeswarmChart, BoxPlotChartSSR-safe for module import; browser-only renderer work must initialize after hydration.Constructed chart entrypoint; pulls React chart composition for the selected family.
./render-plan@atropos/charts/render-planchartRendererToRenderPlanHint, ChartRenderPlanAnnotationInput, ChartRenderPlanAxisInput, ChartRenderPlanAxisOrientation, ChartRenderPlanAxisTick, ChartRenderPlanCapabilityOptions, ChartRenderPlanGridInput, ChartRenderPlanInputSSR-safe for module import; browser-only renderer work must initialize after hydration.Constructed chart entrypoint; pulls React chart composition for the selected family.
./basic/bar/stacked-horizontal@atropos/charts/basic/bar/stacked-horizontalcreateHorizontalBarChartRenderPlan, createStackedBarChartRenderPlan, HorizontalBarChart, HorizontalBarChartProps, HorizontalBarChartRenderPlanOptions, StackedBarChart, StackedBarChartProps, StackedBarChartRenderPlanOptionsSSR-safe for module import; browser-only renderer work must initialize after hydration.Constructed chart entrypoint; pulls React chart composition for the selected family.
./basic/bar/vertical@atropos/charts/basic/bar/verticalBarChart, BarChartProps, BarChartRenderPlanOptions, createBarChartRenderPlanSSR-safe for module import; browser-only renderer work must initialize after hydration.Constructed chart entrypoint; pulls React chart composition for the selected family.
./basic/cartesian/line-area@atropos/charts/basic/cartesian/line-areaAreaChart, AreaChartProps, AreaChartRenderPlanOptions, createAreaChartRenderPlan, createLineChartRenderPlan, LineChart, LineChartProps, LineChartRenderPlanOptionsSSR-safe for module import; browser-only renderer work must initialize after hydration.Constructed chart entrypoint; pulls React chart composition for the selected family.
./basic/cartesian/scatter@atropos/charts/basic/cartesian/scattercreateScatterChartRenderPlan, ScatterChart, ScatterChartProps, ScatterChartRenderPlanOptionsSSR-safe for module import; browser-only renderer work must initialize after hydration.Constructed chart entrypoint; pulls React chart composition for the selected family.
./basic/heatmap@atropos/charts/basic/heatmapcreateHeatmapRenderPlan, Heatmap, HeatmapProps, HeatmapRenderPlanOptionsSSR-safe for module import; browser-only renderer work must initialize after hydration.Constructed chart entrypoint; pulls React chart composition for the selected family.
./basic/kpi/metric-card@atropos/charts/basic/kpi/metric-cardMetricCard, MetricCardPropsSSR-safe for module import; browser-only renderer work must initialize after hydration.Constructed chart entrypoint; pulls React chart composition for the selected family.
./basic/radial@atropos/charts/basic/radialcreateDonutChartRenderPlan, createRadarChartRenderPlan, createStatRingRenderPlan, DonutChart, DonutChartProps, DonutChartRenderPlanOptions, RadarChart, RadarChartPropsSSR-safe for module import; browser-only renderer work must initialize after hydration.Constructed chart entrypoint; pulls React chart composition for the selected family.
./expanded/families/cartesian-statistical@atropos/charts/expanded/families/cartesian-statisticalGroupedBarChart, HistogramChart, HorizontalStackedBarChart, StackedAreaChart, ThresholdChart, WaterfallChartSSR-safe for module import; browser-only renderer work must initialize after hydration.Constructed chart entrypoint; pulls React chart composition for the selected family.
./expanded/families/comparison-rank@atropos/charts/expanded/families/comparison-rankBumpChart, bumpLines, createBumpRenderPlan, createDotPlotRenderPlan, createLollipopRenderPlan, createSlopegraphRenderPlan, DotPlotChart, dotPlotMarksSSR-safe for module import; browser-only renderer work must initialize after hydration.Constructed chart entrypoint; pulls React chart composition for the selected family.
./expanded/families/distribution@atropos/charts/expanded/families/distributionBeeswarmChart, BoxPlotChart, boxPlots, createBoxPlotsRenderPlan, createDistributionShapesRenderPlan, createPointDistributionRenderPlan, DensityChart, distributionShapesSSR-safe for module import; browser-only renderer work must initialize after hydration.Constructed chart entrypoint; pulls React chart composition for the selected family.
./expanded/families/financial@atropos/charts/expanded/families/financialcandles, CandlestickChart, CandlestickVolumeChart, createDepthRenderPlan, createFinancialOhlcRenderPlan, depthAreas, DepthChart, depthLegendItemsSSR-safe for module import; browser-only renderer work must initialize after hydration.Constructed chart entrypoint; pulls React chart composition for the selected family.
./expanded/families/flow-network@atropos/charts/expanded/families/flow-networkAdjacencyMatrixChart, ChordChart, createAdjacencyMatrixRenderPlan, createChordRenderPlan, createDependencyGraphRenderPlan, createForceGraphRenderPlan, createNetworkRenderPlan, createSankeyRenderPlanSSR-safe for module import; browser-only renderer work must initialize after hydration.Constructed chart entrypoint; pulls React chart composition for the selected family.
./expanded/families/hierarchy@atropos/charts/expanded/families/hierarchyBubblePackChart, createBubblePackRenderPlan, createFlameGraphRenderPlan, createIcicleRenderPlan, createPackRenderPlan, createSunburstRenderPlan, createTreemapRenderPlan, createTreeRenderPlanSSR-safe for module import; browser-only renderer work must initialize after hydration.Constructed chart entrypoint; pulls React chart composition for the selected family.
./expanded/families/interval-uncertainty@atropos/charts/expanded/families/interval-uncertaintybandArea, ConfidenceBandChart, createConfidenceBandRenderPlan, createErrorBarsRenderPlan, createForecastFanRenderPlan, ErrorBarChart, errorBars, ForecastFanChartSSR-safe for module import; browser-only renderer work must initialize after hydration.Constructed chart entrypoint; pulls React chart composition for the selected family.
./expanded/families/radial-kpi@atropos/charts/expanded/families/radial-kpiBulletChart, createBulletRenderPlan, createFunnelRenderPlan, createGaugeRenderPlan, createMarimekkoRenderPlan, createPieSlicesRenderPlan, createPolarAreasRenderPlan, createRadialBarsRenderPlanSSR-safe for module import; browser-only renderer work must initialize after hydration.Constructed chart entrypoint; pulls React chart composition for the selected family.
./expanded/families/scalar-field@atropos/charts/expanded/families/scalar-fieldContourChart, contours, createContourRenderPlan, createRasterHeatmapRenderPlan, interpolate, marchingSquareSegments, raster, RasterHeatmapSSR-safe for module import; browser-only renderer work must initialize after hydration.Constructed chart entrypoint; pulls React chart composition for the selected family.
./expanded/families/spatial@atropos/charts/expanded/families/spatialAlbersUsaMap, BubbleMap, ChoroplethChart, createAlbersUsaMapRenderPlan, createBubbleMapRenderPlan, createChoroplethRenderPlan, createCustomProjectionMapRenderPlan, createGeoMapRenderPlanSSR-safe for module import; browser-only renderer work must initialize after hydration.Constructed chart entrypoint; pulls React chart composition for the selected family.
./expanded/families/specialty@atropos/charts/expanded/families/specialtycomposed, ComposedChart, createComposedChartRenderPlan, createCurveGalleryRenderPlan, createGlyphPlotRenderPlan, createSplitLineRenderPlan, createWordCloudRenderPlan, curveGallerySSR-safe for module import; browser-only renderer work must initialize after hydration.Constructed chart entrypoint; pulls React chart composition for the selected family.
./expanded/families/timeline@atropos/charts/expanded/families/timelinecreateEventTimelineRenderPlan, createGanttRenderPlan, createSwimlaneTimelineRenderPlan, createTimelineRenderPlan, EventTimelineChart, gantt, GanttChart, SwimlaneTimelineChartSSR-safe for module import; browser-only renderer work must initialize after hydration.Constructed chart entrypoint; pulls React chart composition for the selected family.
import { ScatterChart } from "@atropos/charts/basic/cartesian/scatter";

export function SalesOutliers({ data }) {
  return <ScatterChart data={data} xKey="margin" yKey="growth" />;
}
import { createLinearScale } from "@atropos/core/scales";
import { linePathFromPoints } from "@atropos/primitives/shape";

const x = createLinearScale({ domain: [0, 100], range: [0, 640] });
const path = linePathFromPoints(points.map((p) => ({ x: x(p.x), y: p.y })));

Public package hygiene checklist

packages/charts/docs/benchmarks/bundle-import-smoke.json

Documents package-boundary verification and fresh-app expectations.

Browser interaction smoke

packages/charts/docs/benchmarks/browser-interaction-smoke.json

Captures browser interaction smoke status and environment metadata.

Browser GPU runtime baseline

packages/charts/docs/benchmarks/browser-gpu-runtime-baseline.json

Separates draw-plan readiness, WebGL2 execution, and WebGPU experiments.

Visx parity smoke

packages/charts/docs/benchmarks/visx-parity-smoke.json

Baseline parity smoke artifact for public comparison claims.

Public performance claims remain bounded to raw artifacts and environment metadata. Browser/GPU claims must identify whether they prove draw-plan generation, WebGL2 execution, or WebGPU experimental behavior.

Readable summaries

Chart title, description, and dense-chart summaries are part of the public docs contract.

Interaction semantics

Tooltip, crosshair, legend, keyboard, reduced-motion, and screen-reader behavior are documented separately from visual renderer choices.

React SSR and Next.js

Public chart modules are import-safe in SSR. Browser-only renderer initialization must happen after hydration.

CSS imports

Theme CSS is explicit: import package styles once at the app boundary, then use chart modules from public `@atropos/*` paths.

Renderer selection

SVG remains the default authoring surface; Canvas and GPU modes are opt-in by data density.

Strict GPU mode

Strict mode should fail loudly when GPU initialization is required but unavailable.

Fallback overlays

Fallbacks must keep accessibility summaries and diagnostics available in the DOM.

Public imports only

Docs examples must import from package exports, never from `src`, `dist`, or removed legacy package paths.

Maintenance rules

Adding a public export requires API reference coverage; adding a gallery example requires compile verification; adding a benchmark claim requires raw artifact linkage.