Charts
Charts is Apple’s declarative charting framework. tswift models its focused 2D
surface as a render-host API: Chart and its marks evaluate into the shared
SwiftUI UIIR tree, so a host can render them without giving the interpreter a
separate chart IR or native Apple framework dependency.
Current status: the focused 2D chart surface and both render hosts are
shipped. Chart, its seven common marks, plottable values, mark styling,
chart modifiers, and axis-content leaves all produce structured UIIR values.
The web host renders deterministic SVG; the iOS host lowers to native Charts.
The coverage reference calls the 58 registered members partial because the
website reserves ✅ for APIs exercised by a tagged golden fixture. The remaining
two scoped members are Chart.body and View.chartGesture.
Legend: ✅ Implemented · 🟡 Partial · ⬜ Missing · 🚫 Out of scope.
Member counts below are generated by python3 tools/framework-inventory/coverage.py --framework charts --emit-json — nothing on this page is hand-typed.
0 implemented · 58 partial · 9 missing (67 total)
7 additional members are out of scope.
Chart (2)
bodyvarMissinginitinitPartial
BarMark (1)
initinitPartial
PlottableValue (1)
valuefuncPartial
LineMark (1)
initinitPartial
PointMark (1)
initinitPartial
AreaMark (1)
initinitPartial
RuleMark (1)
initinitPartial
RectangleMark (1)
initinitPartial
SectorMark (1)
initinitPartial
ChartContent (21)
accessibilityHiddenfuncPartialaccessibilityIdentifierfuncPartialaccessibilityLabelfuncPartialaccessibilityValuefuncPartialalignsMarkStylesWithPlotAreafuncPartialannotationfuncPartialblurfuncPartialclipShapefuncPartialcompositingLayerfuncPartialcornerRadiusfuncPartialforegroundStylefuncPartialinterpolationMethodfuncPartiallineStylefuncPartialmaskfuncPartialoffsetfuncPartialopacityfuncPartialpositionfuncPartialshadowfuncPartialsymbolfuncPartialsymbolSizefuncPartialzIndexfuncPartial
View (32)
chart3DCameraProjectionfuncOut of scopechart3DPosefuncOut of scopechart3DRenderingStylefuncOut of scopechartAngleSelectionfuncPartialchartBackgroundfuncPartialchartForegroundStyleScalefuncPartialchartGesturefuncMissingchartLegendfuncPartialchartLineStyleScalefuncPartialchartOverlayfuncPartialchartPlotStylefuncPartialchartScrollPositionfuncPartialchartScrollTargetBehaviorfuncPartialchartScrollableAxesfuncPartialchartSymbolScalefuncPartialchartSymbolSizeScalefuncPartialchartXAxisfuncPartialchartXAxisLabelfuncPartialchartXAxisStylefuncPartialchartXScalefuncPartialchartXSelectionfuncPartialchartXVisibleDomainfuncPartialchartYAxisfuncPartialchartYAxisLabelfuncPartialchartYAxisStylefuncPartialchartYScalefuncPartialchartYSelectionfuncPartialchartYVisibleDomainfuncPartialchartZAxisfuncOut of scopechartZAxisLabelfuncOut of scopechartZScalefuncOut of scopechartZSelectionfuncOut of scope
AxisMarks (1)
initinitPartial
AxisGridLine (1)
initinitPartial
AxisTick (1)
initinitPartial
AxisValueLabel (1)
initinitPartial
No members match your filters.
What’s wired
- Chart container and marks —
Chart,BarMark,LineMark,PointMark,AreaMark,RuleMark,RectangleMark, andSectorMarkbecome UIIR view values.PlottableValue.valuepreserves each mark’s labelled data. - Mark styling — foreground styles, symbols, line styles, interpolation, annotations, layering, opacity, shadows, masking, and positioning are kept as modifier records on the mark.
- Chart configuration — axes, scales, legends, plot/background/overlay, scrolling, selection, and symbol scale modifiers are retained on the chart value and lowered by each host.
- Axis content —
AxisMarks,AxisGridLine,AxisTick, andAxisValueLabelnest into the corresponding axis modifier.
Scope
This inventory intentionally covers the practical 2D render-host surface, not
the whole Apple Charts SDK. RealityKit and visionOS-only 3D charts — including
Chart3D, camera poses, 3D rendering styles, and Z-axis APIs — are out of
scope. They are explicitly counted separately rather than implying support.
Both hosts deliberately expose an honest fidelity tier: the web renderer is an
SVG approximation rather than pixel-identical native Charts, while iOS uses
best-effort lowering for some modifier forms. The remaining scoped API gaps are
Chart.body and View.chartGesture.