canvas 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 | canvas |
| Layer | AUP cross-device primitive (AUP_PRIMITIVES) |
| Public status | unsupported (document) |
| Document capability | unsupported |
| Shared degradation chain | canvas → media → text |
| Author entry | AUP on interactive/visual targets |
| Document renderer / notes | No document native canvas path; chain applies |
| Showcase evidence | Interactive runtime / visual demos (not document sample) |
When to use
Freeform drawing or pixel surfaces on capable devices.
When not to use
Do not ship canvas demos as static docs capability.
Document sample
Not provided. Document capability is unsupported. Shared chain: canvas → media → text.
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 |