Web Device surface — not an AUP primitive (surface); not an AUP widget (wm-surface / same-named widgets); not a theme layout component.
Package: providers/runtime/web-device/surfaces/in-page-toc/ (manifest.json + render.js).
Purpose
Shared in-page reading navigation built from headings on long-form content.
Boundaries
- Surface packages are mounted by boards/routes/layout shells — they are not Markdown directives.
- Same type name as a widget does not merge layers; this page is the surface contract only.
- Do not document multiple surfaces on this page.
Author entry
docs/page shell
Common author-facing props (from manifest): entries, label
Surfaces
As implemented by this package (document shell, layout list, interactive site, etc. — see notes).
Public status
released
Fallback
No headings → empty TOC.
Sample
Live surface: the docs board shell that renders this documentation set. There is no separate fake HTML mock inside this page body — the shell is the evidence surface.
Evidence
| Item | Path |
|---|---|
| Surface package | providers/runtime/web-device/surfaces/in-page-toc/ |
| Manifest | …/in-page-toc/manifest.json |
| Renderer | …/in-page-toc/render.js |
| Internal matrix | docs/aup/capability-matrix.md §4 (internal, non-routed) |
| Matrix row concept | surface · in-page-toc |
Notes
Mounted by docs-page and similar shells.
Related
- Surfaces hub — navigation only
- Components hub
- Markdown hub