Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Templates — choose the whole visual system

A template controls the background, semantic palette, glow character and any page chrome for the entire movie. Choose it once near the top of the file:

canvas("9:16");
template("mono");

mono is the default. If a DSL file does not call template(...), it renders exactly as if template("mono") had been written. Keeping the call explicit is useful in shared examples; omitting it is convenient for ordinary authoring.

Available templates

templatebest forcharacter
monoprofessional explainers, proofs and restrained Reelsblack-and-white editorial surface, clear luminance hierarchy, subtle glow
plainlegacy or intentionally colourful scenesoriginal neon semantic colours on near-black
terminalcode, algorithms and technical demosneon terminal frame and stronger chrome
papertextbook figures, worksheets and printwhite page, dark ink, crisp low-glow rendering
blueprintgeometry, engineering and constructioncyan/white drafting marks on deep navy
shortsenergetic social content where hue mattersrestrained dark creator palette

Useful aliases are monochrome, blackwhite, black-white, and bw for mono; light and print for paper; and blue for blueprint.

Mono in practice

// Mono is the default; keep this line explicit when teaching or sharing.
title("Mono template");
canvas("16:9");
template("mono");

rect(card, (640, 360), 930, 430);
color(card, panel);

text(head, (640, 205), "ONE PALETTE · CLEAR HIERARCHY");
size(head, 42);
color(head, fg);
hidden(head);

circle(a, (410, 370), 58); color(a, cyan); hidden(a);
circle(b, (640, 370), 58); color(b, magenta); hidden(b);
circle(c, (870, 370), 58); color(c, lime); hidden(c);

text(al, (410, 470), "PRIMARY"); color(al, fg); hidden(al);
text(bl, (640, 470), "SECONDARY"); color(bl, dim); hidden(bl);
text(cl, (870, 470), "SUCCESS"); color(cl, lime); hidden(cl);

show(head, 0.4);
par {
  show(a, 0.5);
  show(b, 0.5);
  show(c, 0.5);
}
par {
  show(al, 0.35);
  show(bl, 0.35);
  show(cl, 0.35);
}
pulse(c);
wait(1);

Named colours remain meaningful under mono. fg, dim, panel, cyan, magenta, lime, gold, red, orange, and blue are mapped to deliberately different greys instead of collapsing to identical white. This preserves hierarchy and correct-answer contrast while keeping the export monochrome.

Use named colours for template-aware work:

color(answer, lime);       // success role; becomes a bright mono tone
color(note, dim);          // secondary role; remains visually quiet

hue(...) is intentionally an explicit colour choice and bypasses semantic palette remapping. Avoid it when the output must remain strictly black and white.

DSL selection versus export override

The DSL call travels with the scene. The command-line option is useful for a one-off alternate render:

manic scene.manic --still 4.0
manic scene.manic --record out --template paper

An explicit --template NAME export option overrides the DSL template for that run. This is a quick way to proof the same semantic scene on mono, paper and blueprint without editing the source.

Creator and Reel guidance

Start with mono for a polished black-and-white identity. It works especially well for mathematics, question cards, native social icons and technical timers:

canvas("9:16");
// template("mono") is optional because mono is the default.
creator(me, "@anish2good yt=zarigatongy x=@anish2good web=8gwifi.org/manic footer=social");
quiz(q, "Which statement is true?");

Switch to shorts when accent hue communicates part of the channel identity, or to paper for an exam-sheet or textbook treatment. Template choice does not change Creator layout, safe areas, timing, option labels or social-platform selection—it changes only their visual system.

Practical checks

  • Review one reading frame and one reveal frame at phone size.
  • In mono, check luminance contrast rather than relying on colour names.
  • Prefer one semantic accent role; do not make every object equally bright.
  • Use plain when migrating an older example that must preserve its neon hue.
  • Use paper or blueprint to test whether a construction remains legible on a very different surface.

Next: Colour, glow and semantic roles →