跳到主要內容

Sample contract · AUP cross-device · ARC 2.0.0-beta.28

`table` primitive

Present columnar data as a table primitive; distinguish GFM tables and chart fallback tables.

table 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

FieldValue
Primitive nametable
LayerAUP cross-device primitive (AUP_PRIMITIVES)
Public statusreleased
Document capabilitynative
Shared degradation chainEmpty AUP table → “No data” body (not a degradation chain)
Author entryAUP tree (columns/rows) · GFM pipe tables (Markdown path, often HTML text)
Document renderer / notesrenderer/primitives/table.ts
Showcase evidencereport / finance compositions; GFM path verified on document unit pages

When to use

You need semantic columns and rows as an AUP table node, or a static GFM table in content Markdown.

When not to use

Do not confuse a chart degradation table with an author-written table. GFM tables are not a deep AUP table props contract.

Sample contract

FieldValue
PurposeStatic columnar content in docs (GFM path)
BoundariesNot an editable grid; not chart fallback chrome; not every AUP table prop combination
Author entryPipe table in Markdown
SurfaceWeb Device document
Public statusreleased (GFM path verified)
Fallback / failureMalformed pipes → ordinary Markdown / broken table; empty AUP table → “No data” (AUP path)
VerificationRoutes below · arc --version = 2.0.0-beta.28

Document sample (GFM table)

This is the Markdown/GFM path on the document target. It is not a live claim of every AUP table prop combination.

Source:

markdown
| File | Purpose | Writes data |
| --- | --- | --- |
| `content.md` | Content item | No |
| `layout.aup` | Page layout | No |

Rendered:

FilePurposeWrites data
content.mdContent itemNo
layout.aupPage layoutNo

Unit page: GFM table.

AUP node shape (source-only on this page)

Interactive / full-web authoring uses explicit columns / rows. Empty AUP tables render a “No data” cell. That string is table empty-state chrome, not proof of a chart.

json
{
  "id": "rates",
  "type": "table",
  "props": {
    "columns": [
      { "key": "name", "label": "Name" },
      { "key": "value", "label": "Value" }
    ],
    "rows": [{ "name": "alpha", "value": "1" }]
  }
}

Failure and limits

SituationExpected result
Malformed pipesOrdinary Markdown / broken table, not a runtime error surface
Empty body rows in GFMAuthor content only — no automatic “No data” chrome from the chart chain
Assuming AUP table props from a GFM sampleWrong path depth; write AUP JSON/DSL when you need that node
Chart degradation tableSeparate unsupported chart path — not this sample

Verification evidence

ItemValue
Baseline2026-08-09 · arc --version → 2.0.0-beta.28
Capability rowdocs/aup/capability-matrix.md (internal, non-routed) · table · GFM table
Implementationcontent-reader.ts (table case); renderer/primitives/table.ts
Public routes/en/docs/aup/primitives/table/ · /zh/docs/aup/primitives/table/
Local runarc service start --blocklet blocklets/arcblock --port 4900 · open routes; compare source fence to rendered table
AcceptSource and rendered table match; no edit controls; no chart claim

Evidence anchors

ItemValue
Registrypackages/aup/src/aup-types.ts · AUP_PRIMITIVES
Document capsproviders/runtime/web-device/src/device-caps.ts · DEVICE_CAPS_DOCUMENT
Degradationpackages/aup/src/degradation.ts · DEGRADATION_CHAINS
Internal matrixdocs/aup/capability-matrix.md (internal, non-routed)
Taxonomy hubPrimitive taxonomy and evidence
Sample contract rulesLive examples: scope and contract

Nearby pages