unknown-verb | error | A line starts with a word that is not a verb. |
misplaced-verb | error | A verb where it cannot appear: a path step outside a path block, a napkin line after the first, a layer inside a path, a newpage inside a group or a definition, a layer, group, clip or use inside a wipe or a stack. |
unsupported-verb | error | The verb, or this way of writing it, is known but not drawn by this build or by the host running the script; the instruction is skipped. |
expected-number | error | A number, or an expression in parentheses, was expected. |
expected-length | error | A length was expected: a number, a number with a unit (10mm, 0.5in, 12pt, 4px), a percentage, or an expression. |
expected-string | error | A double-quoted string was expected. |
expected-identifier | error | A bare name was expected: letters, digits and underscores, starting with a letter. |
expected-color | error | A CSS color was expected, such as #1f2328, red or rgb(31, 35, 40). |
expected-choice | error | One word from a fixed list was expected; the message lists them. |
expected-points | error | A list of points was expected: x y pairs separated by commas. |
expected-stops | error | A list of gradient stops was expected: (color offset, color offset, ...). |
unexpected-token | error | Something is left on the line after the instruction was read, or a character that cannot start anything. |
missing-argument | error | A required argument is missing; the message names it and shows how the verb is written. |
expected-block | error | A block was expected: { at the end of the line, the instructions it holds, and } to close it. |
unclosed-block | error | A block opened with { is never closed with }. |
unexpected-close | error | A } closes a block that was never opened. |
unclosed-string | error | A string runs to the end of the line without its closing quote. |
invalid-expression | error | An expression could not be read: an unknown operator, a missing operand, or an unclosed parenthesis. |
unit-unknown | error | A number carries a unit the language does not know. The units are px, in, mm and pt, and % for a share of the page. |
invalid-value | error | A value is out of range: an opacity above 1, a negative radius, a star with fewer than 2 points, a percentage where the page cannot measure one. |
version-missing | warning | The script does not start with napkin <version>; version 1 is assumed. |
version-unsupported | error | The script names a version newer than this build reads; the message names the newest it does. |
unknown-variable | error | An expression uses a name no let or repeat has set. |
unknown-definition | error | place names something no define recorded. |
unknown-shape | error | shape names something the shape library does not have. |
unknown-asset | error | image names an asset the host did not supply. |
unknown-document | error | use names a document the host did not supply. |
unknown-config | error | config names a Text Configuration no textconfig before it defined. |
image-size-unknown | warning | An image's size cannot be read from its data, so it is placed square: 100 by 100, or the one size given by itself. |
glyph-missing | warning | text as marks has a character the built-in face does not draw; it is left as a gap. |
unknown-field | warning | An instruction in a JSON script has a field its verb does not have; it is left out. |
recursive-definition | error | A definition places itself, directly or through another definition. |
division-by-zero | error | An expression divides by zero. |
budget-exceeded | error | The script ran more instructions, drew more marks, emitted more anchors or sampled points, or nested deeper than the limit allows; what it drew up to that point is kept. |
pop-without-push | error | pop with nothing saved to restore. |
unbalanced-push | warning | A push is never popped before its block ends; the saved state is restored there anyway. |
duplicate-definition | warning | A second define replaces an earlier one of the same name. |
link-unresolved | warning | A linked file could not be read for an output that has to draw it, so its placeholder was drawn instead. |
unused-effect | warning | An effect nothing took: no layer, group or mark followed it before its block, its page or the script ended. |
unused-blend | warning | A blend nothing took: no layer or group followed it before another blend, its block, its page or the script ended. A blend is a layer's, so a mark alone does not take it. |
unused-accent | warning | An accent nothing took: no text followed it before another accent, its block, its page or the script ended, or the text was drawn as marks. |
wipe-skipped | warning | A wipe's or a stack's block drew marks it cannot combine - text, pictures, linked files, eraser marks - and they are drawn as they are. |
wipe-empty | warning | A wipe or a stack left nothing: out-front's bottom mark wholly covered by the rest, say, or a stack remove taking every piece. |
wipe-failed | warning | A wipe or a stack could not combine its block's marks - fewer than two it can combine, more than it takes, or geometry it could not make - so they are drawn as they are. |
stack-missed | warning | A stack point is on none of the pieces its block's marks make, so it picks nothing; the message says which. |
split-missed | warning | A split point is within 4 px of no path drawn so far, or lands on the end of an open one, so nothing is cut. |
clip-open | warning | A clip block drew no closed shape to clip with, so it is a plain group. |
smear-missed | warning | A smear reaches no pencil mark drawn so far, so it spreads nothing. |
liquify-missed | warning | A warp, twirl, pucker or bloat reaches no mark it bends drawn so far, so it bends nothing. |
erase-skipped | warning | An eraser line reaches text or a picture, which it cannot cut, and passes over it. |