Skip to content

Glossary

Short definitions of the words that show up throughout these docs. Each entry points to where the concept is covered in full.

Passage

A named unit of content, introduced by a :: Name header in a .ana file. Navigating means moving from one passage to another. One file can hold many passages, and the engine discovers every .ana file under passages/ automatically. See Files & Passages.

Zone

A named region of the on-screen layout, such as text, options, a sidebar, or the header. A @zone(name) line directs the content after it into that region. Which zones exist is set by the active layout. See Zones & Layout.

Layout

The arrangement of zones on screen, chosen in GameInit with (layout: Layout_Standard) and defined in a .layout file. Switching layouts rearranges where content appears without changing the content itself. See Zones & Layout.

Macro

A verb written as (name: args). Macros do the work in a passage: branch ((if:)), link ((link:)), navigate ((goto:)), change state ((set:), (add:)), and so on. Some macros take a block of content in square brackets, as in (link: "Open")[ ... ]. Every macro is listed in the Macro Reference.

Directive

A structural marker that starts with @. Directives are not verbs; they describe a passage or region. @zone(text) targets a region, @system(init) marks GameInit, and @hook / @into / @on / @wrap wire up injection and events.

Sigil

The leading symbol on a variable name that says how long it lives. $ marks a global variable and _ marks a temporary one.

Global variable

A variable written with a $ sigil, such as $player.gold. Globals are declared in GameInit, persist for the whole game, and are written into save files. See State & Variables.

Temp variable

A variable written with a _ sigil, such as _id. Temps are scratch values that exist only while the current passage renders and reset on every navigation. They are never saved. They are most often loop variables. See State & Variables.

Render tier

How much of the screen a navigation refreshes. (goto:) rebuilds the whole scene, (update:) refreshes the text and options zones for a new beat in the same scene, and (action:) makes a small targeted change. See Navigation.

Reactive binding

Content that re-renders by itself when a variable it depends on changes, set up with (watch: $variable)[ ... ]. Bindings are backed by signals and are torn down automatically when their zone is rebuilt, so they never fire after you navigate away. See Time, Scheduling & Reactivity.

Hook

A named injection point declared with @hook(name). By itself a hook does nothing visible; it marks a spot where other content can be inserted. See the Modding Guide.

Injection

Content from one passage placed into a hook elsewhere, using @into(name). Injection lets a mod add to the base game without editing the base game's files. See the Modding Guide.

Wrap

Content that runs before and after a target passage, declared with @wrap(PassageName) and marking the original's position with @wrapped(). Useful for framing a passage with shared header or footer content. See the Modding Guide.

Event handler

A passage that runs when something happens, declared with @on(eventName). Built-in events include goto, dayAdvance, periodChange, and gameLoad, and you can fire your own custom events. See Hooks & Events.

GameInit

The special passage marked @system(init), kept in passages/_init.ana. It holds your declarations and configuration. It runs once when a new game starts and again whenever a save loads, with saved values applied over it, so it should contain declarations and config rather than one-time story beats. See the Quick Start's Where your game lives.

Theme

A set of color and style values applied through CSS variables, switched at runtime with (theme:) and remembered between sessions. Built-in themes (dark, light, sepia) ship with the engine, and authors can add their own. See Theming & Modals.

Mod

A package under mods/ that adds passages, assets, or JavaScript-backed macros to a game through injection, without editing the base game. Each mod carries a mod.meta describing it. See the Modding Guide.

Load order

The sequence in which mods load, resolved from the dependencies each mod declares in its mod.meta. Load order decides which mod wins when two change the same thing. See the Modding Guide.

Save slot

A numbered place a player's game state is stored, in the browser's IndexedDB. Slot 0 is reserved for the autosave. Saves are validated and migrated when loaded, and they belong to the origin the game is served from. See Building & Distributing for the origin caveat and Config, Save, Keybinds & Passage Utilities for the macros.

Autosave

An automatic save the engine writes to slot 0 so a refresh or accidental close can be recovered. It is configured in GameInit. See Boot, Saves & Mods.