Manual
The document
OverviewGrammarDocument headerSyntax cheatsheet Scene Step
Content
Text blocks
Paragraph Heading 1 Heading 2 Heading 3 Heading 4 List
Maths
Equation Maths
Tables & images
Table Image
Formatting
Bold Italics Inline Code Highlight
Text colours
Links & references
Link Footnote Icon Internote Reference
ValueWhere inline content works
Narrative only
Note Definition Example Task Divider
Graph pane
Graph
Curves & areas
Curve Integral
Data marks
Scatter Histogram
Fits
Fit Residuals
Surfaces
Contour Heatmap
Marks
Line Segment Vector Point Polygon Text
Shapes
Circle Square Rectangle Triangle Star Diamond Hexagon
Axis furniture
Axis label Axis Brace
Expressions
Code pane
Code Lines
Animation & interaction
Cues that wrap content
Cue Draw cue Trace cue Highlight cue Spotlight cue Type cue
Cues on a value
Value cue Zoom cue
Anchors & timing Parameter
Advanced features
Data Let Define Preset Include If For Ignore
Reference
All constructs A–ZAttribute types
Concepts
IdentifiersBody & detailDerived attributes
Guidance
The narrative contractWhat earns a place on the canvasParameter or cueHonest numbersCode demonstrates, never computesAuthor-attached data only
?
  1. Content
  2. Where inline content works

Where inline content works

Micronodes are not narrative-only — every mark label is rich text, so formatting and maths reach the canvas.

#Two places inline content is accepted

Micronodes are easy to mistake for a narrative-only vocabulary, because that is where a reader first meets them. They are not. Inline content is accepted in two places: prose, and any attribute whose declared type is rich-text — which in practice means every mark's label:. The same **bold**, $maths$, !teal{…}, link and !value that work in a paragraph work on the canvas.

canvas.graph{
    curve#bell(expression: exp(-x^2 / 2); label: $N(\mu, \sigma^2)$)
    point(x: 1; y: 2; label: !teal{turning point})
    fit#f(model: polynomial; degree: 1)
    text(x: 0; y: 4; label: slope = !value:#f.slope(digits: 2))
}

#Which attributes are rich text

Eighteen, and every one of them is a label: — on curve, point, scatter, histogram, integral, text, axis.label, the line-like marks (line, segment, vector, polygon) and all seven shapes. Every reference page names the type of each of its attributes, so rich-text in the type column is the reliable signal — this list is what it currently adds up to, not a rule of its own.

#What a label cannot hold

Rich text is inline content, not a body policy. A label renders formatting, maths, colour and live values; it cannot hold a paragraph, a list, a callout or another mark. Where a canvas genuinely needs block content, the scene's detail accepts it directly — paragraph, the four headings, list, equation, table and image are all legal there as well as in the narrative.

This is the practical reason the manual documents one content vocabulary rather than a narrative set and a canvas set: there is only one, and the difference between the two slots is a short list of narrative-only elements — the four callouts, divider, step and the internote card.
On this page
Two places inline content is acceptedWhich attributes are rich textWhat a label cannot hold
PrivacyTermsContact Support
Where inline content works · Internote