Glossary
Checked against e0ebca4 on 2026-11-10 by Capy (after arch-migration-policy). The files it covers are unchanged since.
Terms in alphabetical order. Each links to the page that explains it.
App origin: the origin a native app’s document has for storage, since it
has no URL: https://<app>.app.niso, or what the host sets with
niso_dom_set_app_origin (Storage).
Baseline: the web’s own measure of which features work across browsers, from the web-features project. niso’s WPT suite runs every Baseline feature’s tests (Web platform support).
Binding: the code that gives a language the DOM: the JS binding (glue,
niso_js.c, generated host functions) on each engine, JNI for the JVM, the C
headers for C, Zig and Go.
Bracket (call bracket): what wraps every call into the core: catch panics, deliver what the call queued (tree moves, scripts, custom element reactions, microtasks, animation promises), end at a safe point, return a status (Architecture).
Composition: putting the C runtime header and the JS glue together at
build time from sections that each belong to a crate (niso-compose,
crates/niso-compose/sections.txt). “A build is the set of crates it links.”
Contract: a crate’s CONTRACT.md: what it owns, its API, its invariants,
its threading and lifetime rules (Crates).
Driver: an interface a host can implement to replace a built-in part, such as the storage driver (Storage).
Engine: the JavaScript engine running a page: QuickJS-ng, V8 or JavaScriptCore through Node-API, or Porffor (Engines).
Glue: the JavaScript half of niso’s web APIs, shared by every engine (Glue).
Handle: a 64-bit generational id for a DOM object, never a pointer; 0 is null (The document).
Host: the native program around a document: it owns the window, runs the
event loop each frame, draws the render stream and reports input. Apple
(SwiftUI), Android (Compose), iced; niso-run and niso-node are headless
hosts (Hosts).
IFC (inline formatting context): a run of inline content laid out as lines, such as a paragraph. Each is one native text view.
Layer: a crate’s level in the dependency order (L0 foundation, L1 web APIs
and the document, L2 document extensions, L3 compositions), enforced by
cargo xtask layers (Architecture).
Native control: an HTML element drawn as the platform’s own control while
its appearance is auto (Native controls).
Native module: an API a page imports as niso:<name>, implemented in the
app’s native code and declared in WebIDL (Native modules).
Platform style: the platform’s base sheet and --niso-* tokens a page asks
for with the niso-platform-style meta (Platform style).
Render node: a box in the laid-out tree that the host keeps one native view for; its id is the DOM handle of the element or anonymous box generating it.
Render stream: the per-frame binary list of changes to the box tree that
niso_render_frame returns and hosts apply (Rendering,
format).
Safe point: the end of a call or task, with nothing borrowed, where objects
freed during it get their freed callback.
Surface: an element with data-niso-surface, sent to a widget, Live
Activity, notification or CarPlay instead of being drawn in the page
(Surfaces).
Template: a surface’s box tree with text as strings, in the format template targets take (Surfaces).
Turn: one task with its microtask checkpoint, or one piece of input the host delivers; the unit the event loop runs.
Virtual time: the event loop skipping its clock ahead to the next due timer instead of waiting, so headless runs and tests take milliseconds.
Wake hook: the callback a document calls, from any thread, when something arrived (a worker’s message, the network, a native module) and the host should run it again.
WPT: web-platform-tests, the browsers’ shared conformance suite, which niso runs headless (Run WPT).