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. Reference
  2. Guidance
  3. The narrative contract

The narrative contract

Prose analyses the state the canvas is in. It never captions the interface.

#The failure this prevents

The classic failure of interactive documents is that the canvas is live and the prose is frozen, so the writing degenerates into captioning the interface: drag the slider to see what happens, notice how the curve changes. Those are instructions, not analysis. The reader is told to operate something and left to draw their own conclusion, which is the one job the author was there to do.

The rule that prevents it: prose analyses the state the canvas is in. It never describes the controls. If a sentence would still make sense with the canvas removed and replaced by a screenshot of a slider, it is caption, not argument.

#Steps pin claims to states

A step advances the scene, and cues fire against it. That is what makes the contract enforceable rather than aspirational: the sentence the reader is on at step two sits beside the canvas as it is at step two, because the same anchor drives both.

scene{
    Fitted straight, the residuals fan out at both ends — the model is
    missing curvature, not noise.
    ===
    A quadratic term flattens them.
}[
    canvas.graph{
        scatter(data: #survey)
        cue{ fit#linear(model: polynomial) }(in: 0)
        cue{ residuals(of: #linear) }(in: 0)
    }
]

Along the authored path, prose and evidence agree by construction. That is the medium's epistemics, and it is not weaker than a paper's: a printed figure is also the author's chosen state. The difference is that here the reader can prod the claim and watch whether it survives.

#Exploration is a departure, not a defeat

When a reader drags a parameter they leave the authored path. That is intended, and it is visible and reversible — scrubbing back re-synchronises. The contract is not that the reader cannot reach a state you did not narrate; it is that every state you hand them is one your prose can survive. Which is exactly what Parameter or cue decides.

#Writing to the contract

  • Name the claim, then let the canvas carry the evidence. Not "the graph shows a relationship" — say which relationship.
  • Never write a sentence whose subject is a control. slider, drag, click and hover in narrative prose are the smell.
  • Where a number appears in prose, read it live rather than typing it — see Honest numbers.
  • One claim per step. If the sentence needs an "and", it is probably two steps.
On this page
The failure this preventsSteps pin claims to statesExploration is a departure, not a defeatWriting to the contract
PrivacyTermsContact Support
The narrative contract · Internote