Skip to main content

Module runtime

Module runtime 

Source
Expand description

The Core: one window. It owns everything that survives across frames and belongs to this window alone (interaction state, scroll and edit stores, focus) plus the reusable per-frame tree — and the frame-builder state itself. Builder state living here (not in a borrowing wrapper) is what lets flat C bindings drive a frame through one opaque pointer; the Rust Ui is a thin safe façade.

What must not be duplicated per window — the resource registry, the shaping caches, the glyph atlas and the audio store — lives in the crate::session::Session a core is constructed against. Core::new makes a private one, so a single-window app never sees it.

Modules§

cause
Why a frame was drawn (backlog F111): two readings a view can take of the frame it is building, for an app that keeps a ledger of its frames and wants to know why one ran with nothing on screen moving.
devtools
The devtools panel, drawn by the core into any app’s frame (docs/adr/0024-the-devtools-are-the-cores.md).
follow
A held drag following its scroller (docs/adr/0029-a-selection-follows-the-pointer-past-the-edge.md).
inspect
The frame as a list a tool can read back: every node the last finished frame laid out, with what it is, where layout put it, and the handful of declarations that explain the rest. What a devtools tree view and node inspector are built from (docs/adr/0021, the harness’s dock).

Structs§

Core
Owed
What a frame left owed, by kind: Core::owed. any() is what Core::animating answers; beyond_cycles() is the same with a keyframe cycle — which never ends — left out (backlog F64).

Enums§

Content
What a node opened through Core::open_from holds: a box (left open for its children), a fragment (likewise), a cells grid or a stroke (leaves, closed by the door).

Traits§

Extension
A frontend that draws into the shared tree each frame — the trait the runner uses to host Lua (or any other) extensions without knowing what they are. Origins are assigned by the runner.