mcclim/status-bar.lisp
Leave the read-only status line transparent to ordinary game input.
ADD owns rejection cleanup once ownership was transferred.
Attach session's shared top status line exactly once at a frame boundary.
The detailed lobby remains an explicitly opened tool. Its radio is already live, so the compact line can represent the same semantic state.
A direct McCLIM surface mounted in the presentation HUD.
(overlay)Return where OVERLAY draws: :SCENE, :WORLD-PANEL, :VIEWMODEL, :HUD, or :NONE. Scene overlays inhabit world depth; viewmodels are first-person geometry above the world but below held items and the crosshair. World panels retain world projection and depth while drawing analytic application graphics at native…
(owner)Return OWNER's ordered status channel symbols. The default method supplies the application channels. A game adds sparse fields with an ordinary method which appends to CALL-NEXT-METHOD; it never has to replace the status frame or its sampling and presentation policy.
(channel owner status-bar)Return CHANNEL's cheap semantic value for OWNER and STATUS-BAR. Methods run only on the throttled frame-boundary sample, never during paint. They must inspect already-owned state and must not perform I/O or wait.
(overlay session)Publish any complete pending render state for OVERLAY at a frame boundary.
(bar logical-width &key (now (get-internal-real-time)))(overlay session pass surface-texture)Encode OVERLAY into SESSION's open scene PASS for SURFACE-TEXTURE.
A native destination with a lifetime and frame clock.
(bar viewport-logical-extent)(focus session)Return a non-negative targeting score when FOCUS can be entered by TAB.
(overlay session canvas event)Handle EVENT projected onto OVERLAY, returning true when consumed.
(overlay session)Return left, top, right, and bottom pixel insets obscured by OVERLAY.
(session)(session)Logical disjunction of tests and raw truth values.
(owner canvas context device logical-width &key (title "status"))(bar &key (errorp t))(session overlay)Attach OVERLAY at SESSION's next native frame boundary and return it. ADD consumes a newly offered OVERLAY on both success and terminal rejection. Once SESSION begins stopping, the rejected overlay is released exactly once before APPLICATION-ATTACHMENT-CLOSED is signalled.
Logical conjunction of tests and raw truth values.
(session overlay &key (release-p t))Detach OVERLAY at a frame boundary and optionally release it there. The no-release path is intentionally preserved for FUSE-LUVCRAFT-OVERLAY: that path may run inside a frame whose command stream still borrows OVERLAY.
Logical negation of one test or raw truth value.
(session)(canvas function)Run FUNCTION with a timestamp on CANVAS's native frame/event thread. The initial native implementation is synchronous: the caller waits for the function's values. The protocol leaves room for a real frame scheduler.
(session)Attach the player HUD supplied by the loaded presentation system. LUVCRAFT/CORE deliberately has no presentation-system dependency. LUVCRAFT/MCCLIM specializes this at the session boundary and returns its attached overlay.
Luvcraft's attachment and semantic fields for the shared status line.