Manual
Overview
Language
IntroductionScenes & structureText & inlineGraphsCode panesAnimationDataReuse & logicExpressions & parameters
Elements
Text
ParagraphHeading 1Heading 2Heading 3Heading 4Unordered ListDivider
Media
ImageTableEquation
Callouts
NoteDefinitionExampleTask
Graph
GraphLinePolygonCurveIntegralScatterHistogramPointSegmentVectorCircleSquareRectangleTriangleStarDiamondHexagonTextAxis labelAxis BraceFitResidualsContourHeatmapParameter
Code
Code canvasLines
Animation
CueDraw cueTrace cueHighlight cueSpotlight cueType cue
Structure
SceneStep
Reference
Internote Reference
Inline
Formatting
BoldItalicsInline CodeHighlightLink
Text colour
Red textOrange textYellow textGreen textTeal textBlue textPurple textPink textGrey text
Maths
Maths
Reference
Internote ReferenceValueConstant
Other
FootnoteIcon
Directives
DatasetIncludeConstantsTemplatePresetConditionalForIgnore
Keyframes
KeyframeZoom keyframe
Attribute types
?
  1. Directives
  2. Preset

Preset

@presetDirective

A reusable attribute bundle. `@preset:text(size: 24)` is anonymous and applies to every `text` node; `@preset#accent(...)` is named and applied by hand with `preset: #accent`; `@preset#accent:text(...)` is both named and scoped to one type. The attribute group holds the target type’s attributes — which is why `node` itself cannot be set by a preset. Presets apply to block nodes only, must be declared before use, cannot reference other presets, and share one identifier namespace with every other `#id`.

Attributes

nodeImplicit
The node type the preset scopes to, written in the head: @preset:text. Omit it for an unscoped preset applied by id.The head shorthand supplies it: @preset:value

Examples

@preset:text(size: 24)
@preset#accent(colour: orange; text-size: 24)

curve(expression: x^2; preset: #accent)
On this page
AttributesExamples
Preset · Internote