Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Entity masks

Personal mods use cinnabar:world-draw/masks@0.1.0 to retain actor selections across successful callbacks. User grants apply in local and remote worlds. Server grants do not authorize this interface.

OperationRequired grants/behavior
create(test)entity_highlight; scene-depth-tested coverage
create(always)Also render_through_walls
entityentity_observe and render_through_walls; resolves an authorized runtime ID without exposing pose/mesh data
selectAtomically replaces membership; empty selection clears coverage
set-styleHost outline/glow; no arbitrary shader permission
register-effectAlso render_post; binds only this owner’s explicit live masks
removeReleases the mask; remove referencing render passes first or get in-use

Each component owns its handles and quota. Foreign, removed and replaced actors return stale-handle. Session changes, transfers, reloads, traps and revocation clear masks. Numeric bounds live in mod_api::drawing.

Coverage is the union of admitted body/equipment draws, preserving alpha cutouts and blended-material alpha. Shared edges have no internal boundary. Missing pipelines, artwork or geometry fail closed. No unadmitted attachment is enumerated. Exceeding the aggregate attachment budget disables masks for that frame.

Style colours are sRGB [0, 1], including alpha; radii are physical pixels. Alpha zero disables a layer; none removes style. One mask gives intersecting actors one exterior outline; use separate masks for different colours. Identical permitted unions share coverage and blur work. Failed glow allocation retains the crisp outline. Composition follows grading/post effects and precedes UI; it is independent of world HDR emission and bloom.

Effects read declared selections with mask(index, uv); undeclared indices read zero. Missing coverage skips the whole effect. No graphics resources or global entity-ID buffer are exposed. See the WIT and host checks.