Text

Responsibility

Text carries content and font identity. Runtime resolves font metrics, shaping, line layout, and glyph data before a renderer consumes it.

{
  "id": "title",
  "type": "text",
  "payload": {
    "text": "Neonix V2",
    "font": { "assetId": "font-roboto-regular" },
    "fontSize": 64,
    "lineHeight": 1.2,
    "align": "center",
    "verticalAlign": "middle"
  },
  "frame": { "width": 800, "height": 160 }
}

Frame semantics

The text frame is the immutable layout area. Alignment positions shaped lines inside that frame. A high-level editor may calculate a convenient frame, but the atomic text node receives an explicit frame.

Fonts

Fonts should be resolved through an asset reference so preview and export can use the same font bytes. A CDN URL is an asset delivery detail, not a text atom field.