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("black");
black is the default. If a DSL file does not call template(...), it renders
exactly as if template("black") had been written. Keeping the call explicit is
useful in shared examples; omitting it is convenient for ordinary authoring.
Available templates
| template | best for | character |
|---|---|---|
black | creator stories, vivid explainers and general authoring | exact #000000 canvas, full semantic colour, no chrome |
mono | professional explainers, proofs and restrained Reels | black-and-white editorial surface, clear luminance hierarchy, subtle glow |
plain (alias blank) | dark indigo neon scenes | original neon semantic colours on a subtly tinted near-black surface |
terminal | code, algorithms and technical demos | neon terminal frame and stronger chrome |
paper | textbook figures, worksheets and print | white page, dark ink, crisp low-glow rendering |
blueprint | geometry, engineering and construction | cyan/white drafting marks on deep navy |
shorts | energetic social content where hue matters | restrained dark creator palette |
Useful aliases are monochrome, blackwhite, black-white, and bw for
mono; blank and clean for plain; light and print for paper; and
blue for blueprint.
black and plain are intentionally different. black is a truly black,
chrome-free creator canvas; plain retains Manic’s original indigo-black neon
surface.
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, blue, teal, violet, coral,
indigo, and mint 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 black when colour is part of the explanation. It gives Creator stories a clean, cinema-dark canvas while preserving semantic accents:
canvas("9:16");
// template("black") is optional because black is the default.
creator(me, "@anish2good yt=zarigatongy x=@anish2good web=maniclang.com footer=social");
quiz(q, "Which statement is true?");
Choose mono for an intentionally black-and-white identity, shorts for a
tinted studio surface, or 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.
- On black, inspect dim lines and labels as well as bright accents.
- In mono, check luminance contrast rather than relying on colour names.
- Prefer one semantic accent role; do not make every object equally bright.
- Use
plainwhen you specifically want the original indigo-neon surface. - Use
paperorblueprintto test whether a construction remains legible on a very different surface.