chart is an AUP cross-device primitive, not a Web Device layout component and not a Web-only widget. It is one of the 18 names in AUP_PRIMITIVES and appears in every target's DeviceCaps.primitives map as native, webview, partial, or unsupported.
Contract
| Field | Value |
|---|---|
| Primitive name | chart |
| Layer | AUP cross-device primitive (AUP_PRIMITIVES) |
| Public status | experimental |
| Document capability | unsupported |
| Shared degradation chain | chart → table → text (document yields a table, not Chart.js) |
| Author entry | AUP/DSL on interactive Web · no ::chart Markdown directive |
| Document renderer / notes | Full-web Chart.js path; document: degrade + optional static reshape to table (arc#3458) |
| Showcase evidence | blocklets/showcase-dsl/.aup/pages/chart.aup |
When to use
Full interactive Web surface with chart capability and Chart.js presentation.
When not to use
Do not publish a live chart as a document capability. Do not invent ::chart in site content.
Document sample
No live chart sample. Facts on the static document target:
| Fact | Current boundary |
|---|---|
| Document capability | DEVICE_CAPS_DOCUMENT does not list chart → unsupported |
| Shared chain | chart → table → text |
| What you get | A table, not a Chart.js graphic; no CDN chart load on this path |
| Data reshape | When the runtime includes static reshape (arc#3458), inline labels/datasets become table columns/rows instead of an empty “No data” table |
| Markdown | No defined ::chart directive |
| Docs policy | Prefer an author-written Markdown or AUP table when the page needs data |
Showcase chart is evidence for the interactive surface only. Upstream issue closed ≠ docs-safe live chart (see Device capabilities and degradation and internal capability-matrix §0.5–0.6).
Evidence anchors
| Item | Value |
|---|---|
| Registry | packages/aup/src/aup-types.ts · AUP_PRIMITIVES |
| Document caps | providers/runtime/web-device/src/device-caps.ts · DEVICE_CAPS_DOCUMENT |
| Degradation | packages/aup/src/degradation.ts · DEGRADATION_CHAINS |
| Internal matrix | docs/aup/capability-matrix.md (internal, non-routed) |
| Taxonomy hub | Primitive taxonomy and evidence |
| Sample contract rules | Live examples: scope and contract |
Deck path exception (not a general MD chart dialect)
On document articles, chart stays on the degradation chain (table/text). There is still no product-wide ::chart Markdown dialect for arbitrary docs.
On a slides: true deck, the runtime may use DEVICE_CAPS_DECK (arc#4005 / #4011) so chart stays a progressive-enhance shell. Markdown array props arrive as strings and need coercion (arc#4013). Capability-tour demos are deck-scoped evidence, not a rewrite of this unit contract for every page.