Skip to content

Plate

Defined in: packages/xray/src/plate.ts:26

The shipped structural capture of a component’s rendered DOM — the data a Skeleton renders from (see CONTEXT.md). Self-contained: pre-serialized chunks plus one scoped CSS string; depends on nothing in the consumer’s build (ADR 0003). Built from the RenderNode tree at plugin load (see chunk.ts), so the adapter injects strings instead of walking a tree on the latency-critical first paint — and no per-framework serializer ships to the client (ADR 0008).

chunks: Chunk[] | null

Defined in: packages/xray/src/plate.ts:35

The root’s children, pre-serialized (ADR 0008): a stitch-free run is one HTML string; a stitch is { r: name }; a stitch-bearing element is { c: className, k: chunk[] }. Null until first capture.


css: string

Defined in: packages/xray/src/plate.ts:39

Layout-relevant CSS (incl. @media) scoped under the plate root, paint stripped.


name: string

Defined in: packages/xray/src/plate.ts:29

Capture name; comes from the virtual-module specifier, never typed at a call site.


optional refs?: Record<string, Plate>

Defined in: packages/xray/src/plate.ts:46

Child plates named by the chunks’ { r } stitches, resolved through the import graph (ADR 0006). Populated by the loader’s generated imports, never serialized into the plates JSON; absent in production when there are no stitches. In dev the live store takes precedence, so this need not be present.


optional rootCls?: string

Defined in: packages/xray/src/plate.ts:37

The root node’s own content classes (its inherited font context), if any.


v: number

Defined in: packages/xray/src/plate.ts:27