surface 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 | surface |
| Layer | AUP cross-device primitive (AUP_PRIMITIVES) |
| Public status | unsupported (document) |
| Document capability | unsupported |
| Shared degradation chain | No shared chain |
| Author entry | AUP / widget surface mounts on supporting runtimes |
| Document renderer / notes | Document unsupported; see frames/surfaces docs for Web Device mounts |
| Showcase evidence | Interactive surfaces / comments-surface etc. (widgets may host surfaces) |
When to use
Host a named interactive surface mount in an AUP tree where the runtime defines that surface.
When not to use
Do not equate AUP surface with Web Device surfaces/* layout mounts (docs-page, pagination, …). Different layers.
Document sample
Not provided. Document capability is unsupported. No shared degradation chain invents a safe stand-in. For Web Device page chrome surfaces, use Web Device documentation — not this primitive page.
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 |