luvcraft/renderer.lisp
Release every resource owned by component.
Component release is an owner boundary: callers name the component once, rather than reproducing its private resource inventory.
The two resolution domains installed together at a frame boundary.
Replace component's frame-sized state at a frame boundary.
extents names both the expensive game-scene resolution and the final
drawable-matched resolution where native-density application UI is composed.
One slot is the publication point for the complete extent-sized cohort. Readers can therefore never observe a new colour image with an old depth or presentation image while a live resize is being installed.
The cache and both inventories are private implementation details of this owner. A construction-time rollback list may precede it, but a completed session has no second resource ledger. See #V9VH79.
The sole owner of a session's frame attachments, layouts, pipelines, and per-drawable GPU state. The session coordinates this owner with simulation, streaming, overlays, and presentation; it does not duplicate its inventory.
Return renderer's live pipelines from their one authoritative slot set.
(component)Release every resource owned by COMPONENT. Component release is an owner boundary: callers name the component once, rather than reproducing its private resource inventory.
(component extents)Replace COMPONENT's frame-sized state at a frame boundary. EXTENTS names both the expensive game-scene resolution and the final drawable-matched resolution where native-density application UI is composed.
The sole owner of a session's frame attachments, layouts, pipelines, and per-drawable GPU state. The session coordinates this owner with simulation, streaming, overlays, and presentation; it does not duplicate its inventory.
A MuPDF context: its allocator, its store, and its error stack.
How the children of a list are arranged.
The named live-pipeline slots whose values form the renderer inventory.
(renderer)Test whether two compatible scalars are equal.
Logical conjunction of tests and raw truth values.
luvcraft-session has about one hundred slots spanning world production, simulation, input, GPU attachments, layouts, pipelines, video, text, overlays, and frame state. luvcraft:start-luvcraft is 623 lines. During startup a GPU object can simultaneously be a lexical binding, a named session slot, an element of…
The GPU-owned half of a running luvcraft session.