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.