luft/render/metabar.lisp
--------------------------------------------------------------------- The viewer's existing authored settings as an open metabar vocabulary.
This remains the viewer renderer's own coherent replacement boundary. The metabar only schedules it there and never remeshes in pointer input.
--------------------------------------------------------------------- Viewer instrument attachment.
The dispatcher refreshes only present attachments. Keep a fully closed
drawer present for its final refresh, which detaches and releases it;
encode and event methods below remain no-ops while it is closed.
McCLIM authors and publishes the retained semantic revision outside
the game's render pass. encode below is replay-only.
Begin sliding viewer's metabar away, if present.
Attach viewer's shared metabar and release relative pointer capture.
Lisp development may have extended the open CLOS vocabulary while this drawer was sliding out. Reopening is its publication boundary.
Modal while open: an outside click dismisses without throwing a ball or recapturing relative pointer mode in the same event.
(owner)Return OWNER's ordered group identities. Group identities remain owned by the application; symbols are sufficient when they are the vocabulary.
(control owner)Return CONTROL's cheap authored value. This runs during owner refresh, never inside repaint.
Global construction-edge strength. The atelier toggles it between 0 and 1.
(control owner value)Format the already observed VALUE for CONTROL.
(bevel-width)(control owner value)Return scalar VALUE's clamped position from 0 to 1.
Division of two represented quantities.
Logical disjunction of tests and raw truth values.
Subtraction or unary negation.
(control owner)Return NIL for an immediate value, or a short semantic marker such as :REBUILD when realizing CONTROL involves deferred derived work.
(control owner)Return :CONTINUOUS or :COMMIT-ON-RELEASE. The latter previews a pointer drag but applies only its last value after release, which keeps expensive derived work out of motion-event bursts.
(viewer enabled-p)(viewer)(viewer bevel-width)Logical conjunction of tests and raw truth values.
Test whether two compatible scalars are equal.
(&optional (viewer *viewer*)
&key (solid (make-mountain-sanctuary-scene))
(bevel-width
(and viewer
(viewer-bevel-width viewer)))
(bevel-profile
(and viewer
(viewer-bevel-profile viewer))))(viewer value)The maximum of compatible quantities.
The minimum of compatible quantities.
Multiplication and scalar scaling.
(viewer value)(control owner direction multiplier)At OWNER's frame boundary, move CONTROL by signed DIRECTION and MULTIPLIER.
The non-negative remainder of integer division.
Addition over compatible quantities.
(control owner fraction)At OWNER's frame boundary, set scalar CONTROL from clamped FRACTION.
(control owner)At OWNER's frame boundary, toggle switch CONTROL.
Logical negation of one test or raw truth value.
One named verb over a session.
(&optional (viewer *viewer*))(viewer)An explicitly owned AVFrame.
(viewer)(viewer)(instrument)Return INSTRUMENT's input and visual stacking priority.
(instrument viewer)Whether INSTRUMENT currently participates in VIEWER.
(instrument viewer)Publish INSTRUMENT's already-owned state at VIEWER's frame boundary.
(frame)Compare compatible quantities and produce dimensionless values.
Test whether one compatible scalar is greater than another.
Test whether one compatible scalar is less than another.
(viewer instrument)Detach and release INSTRUMENT at a frame boundary. Return true when it was attached. Release is synchronous with the caller and therefore cannot overlap a native frame which still borrows the instrument.
(instrument viewer pass surface-texture physical-extent)Encode INSTRUMENT into VIEWER's final PASS at PHYSICAL-EXTENT.
Replay COMPOSITOR's textureless McCLIM mirror into PASS under affine STATE. DESTINATION-TEXTURE describes the open pass for format and clipping. FRAME-TEXTURE names the bounded in-flight presentation slot whose host-visible buffers are safe to update; normally both arguments are the same texture.
(frame viewport-logical-extent slide)(viewer)(instrument viewer)Release INSTRUMENT while VIEWER's GPU device is live.
(frame)(viewer)(viewer &key (title "LUFT metabar"))(viewer)(canvas enabled)Capture or release relative pointer motion for CANVAS.
(owner canvas context device &key (title "metabar"))(frame &key (errorp t))A retained McCLIM command stream replayed into a caller-owned GPU pass. The caller supplies one 4x4 clip-space affine state and the actual destination texture for each frame. Semantic solids, analytic shapes, gradients, images, lattices, and Slug text are evaluated at that texture's native resolution; there is no…
(viewer instrument)Attach INSTRUMENT at VIEWER's frame boundary in explicit priority order. ADD consumes a newly offered INSTRUMENT on both success and terminal rejection. Once VIEWER begins stopping, the rejected instrument is released exactly once before APPLICATION-ATTACHMENT-CLOSED is signalled.
(viewer)(name (&rest lambda-list) documentation &body body)(instrument viewer canvas event)Handle EVENT for INSTRUMENT and return true when world input must stop.
A native destination with a lifetime and frame clock.
(frame event)(frame pointer-x pointer-y viewport-logical-extent slide)(frame event local-x local-y)
luftadapter for the shared retained-GPU metabar instrument.