chart 是 AUP 跨设备 primitive,不是 Web Device 的 layout 组件,也不是 Web-only widget。它属于 AUP_PRIMITIVES 中的 18 个名称之一,并出现在每个 target 的 DeviceCaps.primitives map 中(取值为 native、webview、partial 或 unsupported)。
合同
| 字段 | 值 |
|---|---|
| Primitive 名称 | chart |
| 层级 | AUP 跨设备 primitive(AUP_PRIMITIVES) |
| 公共状态 | experimental |
| Document 能力 | unsupported |
| 共享 degradation chain | chart → table → text(document 得到表,不是 Chart.js) |
| 作者入口 | 交互 Web 上的 AUP/DSL · 没有 ::chart Markdown 指令 |
| Document renderer / 备注 | Full-web Chart.js path; document: degrade + optional static reshape to table (arc#3458) |
| Showcase 证据 | blocklets/showcase-dsl/.aup/pages/chart.aup |
何时使用
具备 chart 能力并用 Chart.js 呈现的完整交互 Web 表面。
何时不要使用
不要把 live chart 写成 document 能力。不要在站点内容发明 ::chart。
Document sample
不提供 live chart sample。 静态 document target 上的事实:
| 事实 | 当前边界 |
|---|---|
| Document 能力 | DEVICE_CAPS_DOCUMENT 未列出 chart → unsupported |
| 共享 chain | chart → table → text |
| 你得到的 | 一张表,不是 Chart.js 图形;本路径不加载 CDN chart |
| 数据 reshape | runtime 含静态 reshape(arc#3458)时,内联 labels/datasets 变为表 columns/rows,而不是空 “No data” 表 |
| Markdown | 没有已定义的 ::chart 指令 |
| 文档策略 | 页面需要数据时优先作者手写 Markdown 或 AUP table |
Showcase chart 仅作为交互表面证据。上游 issue 关闭 ≠ docs-safe live chart(见 设备能力与降级 与内部 capability-matrix §0.5–0.6)。
证据锚点
| 项 | 值 |
|---|---|
| 注册表 | 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 |
| 内部矩阵 | docs/aup/capability-matrix.md(内部,不对外路由) |
| Taxonomy hub | Primitive 类型分类与证据 |
| Sample 合同规则 | Live 示例:范围与合同 |
相关页面
Slides / deck 路径(web)
普通 document 页使用 DEVICE_CAPS_DOCUMENT。含 deck 的树(Markdown slides: true)可走 DEVICE_CAPS_DECK,使 chart/map 等保留 progressive-enhance shell,而不是文章降级链(arc#4005 / #4011)。这不是「任意文档页都能 live Chart.js」的通用产品声明。
Markdown directive 属性仍是字符串;tour 里 JSON 数组属性还需运行时 coercion(arc#4013)。