Lexicon
The words used throughout the documentation, with the page that explains each one.
Drawing
| Term | Means |
|---|---|
| Cell | One position in the grid. Holds a whole grapheme cluster and one style — not a char. See Text and width |
| Frame | One complete picture of the screen, composed in memory and written in one call. See Rendering |
| Surface | The cell grid a frame is composed in. See Rendering |
| Region | A rectangle on the surface with its own coordinates and its own clipping. See Layout |
| Flow cursor | The row the next AppendLine writes to. See Layout |
| Clip | A scope confining every write to a rectangle, whatever coordinates the writing code uses. See Layout |
| Column | The unit width is measured in. A wide symbol is two. See Text and width |
| Role | A named entry in the palette — Header, Secondary, Error. Views pick roles, not colors. See Theming |
| Palette | The object behind the roles. See Theming |
The application
| Term | Means |
|---|---|
| View | A screen. A plain class implementing IArlecchinoView. See Views and navigation |
| Route | The name of a screen — a ViewRoute, which is a string wearing a type. See Views and navigation |
ViewKind | The generated class holding one route per view, so routes read like an enum. See Source generator |
LocString | The generated name of one piece of text, resolved by Loc. See Localization |
| Navigator | What shows a route and keeps the history. See Views and navigation |
| View scope | The DI scope one screen lives in. See Views and navigation |
| Frame loop | The thread that drains input, runs the ticker and draws. See The frame loop |
| Drawing thread | The one thread allowed to touch a view, a widget, an atom or the surface. See The frame loop |
| Repaint request | The "this frame is stale" flag the loop waits on. See The frame loop |
| Ticker | Scheduled work, run between frames on the drawing thread. See The frame loop |
Input
| Term | Means |
|---|---|
| Binding | A key plus its exact modifiers, and optionally a second combination. See Keyboard |
| Keymap | Every key the framework itself reacts to, in one object. See Keyboard |
| Command | A key, a label and something to run — visible to the palette, the hints box and the keys screen. See Commands |
| View command | The same, belonging to one screen. See Commands |
| Palette (the other one) | The modal listing commands, opened with :. See Commands |
| Hints box | The box in the bottom-right corner listing a screen's keys. See Views and navigation |
| Keys screen | F1 — everything the application answers to. See Keyboard |
| Focus ring | The cycle of focusable elements inside one view. See Focus |
State
| Term | Means |
|---|---|
| Atom | One observable cell of state that asks for a repaint when it changes. See Atoms |
| Tracked / local | Whether an atom's edits enter the undo history. See Atoms |
| Computed | A derived value that tracks whatever it read. See Atoms |
| Store | A class of atoms that registers itself. See Stores |
| Async atom | A load in progress, with its status as an atom. See Async atoms |
| Lifetime | The scoped object that cancels a screen's work when it goes away. See Async atoms |
| Application state | ArlecchinoState — the output line, the modal stack, the picker request. See Application state |
| Output line | The last row of the frame, and the newest notification. See Application state |
| Notification | Something the application said, kept after the row has cleared. See Diagnostics |
Pieces
| Term | Means |
|---|---|
| Widget | Something that draws into a region and hands back what is left. See Widgets |
| Interactive widget | A widget that also takes the focus. See Widgets |
| Modal | A dialog that takes every key while it is open. See Modals |
| Modal stack | Several open at once, each drawn offset from the one below. See Modals |
| Modal frame | What a dialog is handed for as long as it is on screen — where to draw, the words, the keys, how to close. See Modals |
| Form | Atoms rendered as editable rows, each opening the modal that matches its type. See Forms |
| Field | One row of a form. See Forms |
Words this framework does not have
Worth saying plainly, because they are the first thing a reader coming from another toolkit looks for:
| Not here | Instead |
|---|---|
| Component tree | A view draws. There is no tree of nested objects and no reconciliation |
| Layout engine | A view places things itself, with flow calls, absolute calls or regions |
| Container widget | Widgets do not nest — a composite lays its parts out and routes to them by hand |
| Data binding | Atoms notify, and a frame reads them fresh |
| Style sheet | A palette of roles |
| Window | One frame, one screen. A modal is drawn over it, not beside it |
| Event bubbling | A key is resolved in one documented order |