mcclim/command-menu.lisp
Uniform translucent inks remain uniform composita in McCLIM. The direct
compositor carries their alpha with the semantic primitive and
premultiplies rgb in its vertex shader before blending over the game.
One cached, executable command-table entry displayed by M-x.
Return the command tables whose executable vocabulary M-x shows.
The default is owner-frame's complete table. Applications may either pass an
explicit list to make-embedded-command-menu or specialize this protocol when
their semantic layers should remain separately inspectable.
Whether name is a command M-x can execute without prompting yet.
Return cached M-x entries read from tables.
Each command appears once even when command-table inheritance exposes it in
several layers. owner-frame, when supplied, excludes commands which that
application currently disables. Commands with required arguments remain out
until M-x has an argument-prompting interaction instead of becoming dead rows.
Return entries whose labels contain every whitespace-separated query word.
Command discovery happens explicitly at construction or refresh time. Repaint reads only these cached rows and never invokes application code.
A one-pane overlay has no layout job. Making SHEET the layout also keeps an HRACK-PANE (and its opaque McCLIM background) out of the retained GPU stream, including the rounded panel's transparent corner samples.
Synchronously filter frame's cached entries without repainting it.
Re-read frame's application vocabulary outside its repaint method.
Return frame's visible result window and its zero-based start index.
Every surface is an analytic primitive. Layered filled roundrects provide borders without invoking McCLIM's decomposed outline path.
Assert frame contains analytic/text GPU media and no rasterized image path.
Synchronously rebuild and publish frame's retained semantic GPU stream.
An embedded GPU mirror performs no drawable acquisition, command submission, readback, or GPU wait here. It snapshots and uploads the complete semantic revision for replay by the owning application's next presentation pass.
Mark frame changed and synchronously repaint it when it is realized.
Ensure frame has a complete retained revision for direct composition.
Static semantic media must still observe live shader revisions.
Return a centered affine state measured in destination logical pixels.
At scale one, one command-menu coordinate occupies one logical pixel in the game viewport. The final direct render therefore receives the destination's native pixel density automatically: a 2x drawable evaluates every analytic edge and Slug glyph at twice the samples without a raster upscale.
Map a destination-logical pointer to frame coordinates, or return NIL.
Handle one portable key press and return action and optional COMMAND.
action is :CONTINUE, :DISMISS, or :EXECUTE. This function never calls the
application command while it is updating or repainting M-x; the host dismisses
its modal surface first and passes COMMAND to execute-command-menu-command.
Select the result row at local X,Y and return action and COMMAND.
Execute command on frame's owner, after optional before-execute.
The owner is captured first so before-execute may destroy frame while removing
the modal surface. Application commands therefore never run underneath M-x.
Create owner-frame's retained direct-GPU M-x surface on canvas.
The returned frame owns no native window and no raster backing texture. Its prepared semantic commands are replayed by the host application's existing GPU pass.
Publish one complete initial revision before the host attaches its compositor. This is an embedded upload only, never a drawable or queue wait.
(red green blue alpha)One cached, executable command-table entry displayed by M-x.
A simple Org table without formulas.
((call tool-call) stream)(owner-frame)Return the command tables whose executable vocabulary M-x shows. The default is OWNER-FRAME's complete table. Applications may either pass an explicit list to MAKE-EMBEDDED-COMMAND-MENU or specialize this protocol when their semantic layers should remain separately inspectable.
(owner-frame canvas context device
&key command-tables (inherited (null command-tables)) (title "M-x"))Create OWNER-FRAME's retained direct-GPU M-x surface on CANVAS. The returned frame owns no native window and no raster backing texture. Its prepared semantic commands are replayed by the host application's existing GPU pass.
(tables &key owner-frame (inherited nil))Return cached M-x entries read from TABLES. Each command appears once even when command-table inheritance exposes it in several layers. OWNER-FRAME, when supplied, excludes commands which that application currently disables. Commands with required arguments remain out until M-x has an argument-prompting interaction…
Logical conjunction of tests and raw truth values.
Logical disjunction of tests and raw truth values.
(entries query)(frame &key reset-selection-p)An explicitly owned AVFrame.
((agent application-agent) &key)The non-negative remainder of integer division.
The minimum of compatible quantities.
The maximum of compatible quantities.
Subtraction or unary negation.
Addition over compatible quantities.
(stream entry top selected-p)(sheet x1 y1 x2 y2 &rest options
&key (radius 7) (filled t) &allow-other-keys)Division of two represented quantities.
An ordered McCLIM drawing stream containing no software pixel surface.
((pane lobby-hud-pane) region)((medium luv-gpu-medium) string &key text-style (start 0) end)Test whether two compatible scalars are equal.
(frame &key (errorp t))A direct GPU target for an ordered LUV-GPU-MEDIUM drawing stream. An embedded mirror retains an immutable prepared CPU revision for the game's final pass; a standalone mirror renders into its native canvas drawable.
(sheet)(medium)Describe which BASIC-MEDIUM fallbacks fed MEDIUM's GPU polygon leaf. Each entry reports semantic calls, polygon points produced by McCLIM, and GPU triangles emitted by luv. Direct polygon calls are named :DIRECT-POLYGON.
(frame)Synchronously rebuild and publish FRAME's retained semantic GPU stream. An embedded GPU mirror performs no drawable acquisition, command submission, readback, or GPU wait here. It snapshots and uploads the complete semantic revision for replay by the owning application's next presentation pass.
(frame)(mirror &key
(target-format nil target-format-p)
(depth-stencil nil depth-stencil-p))Prepare MIRROR's compositor for its current immutable GPU revision. Applications call this at their pre-pass refresh boundary even when McCLIM's semantic command stream is unchanged. It deliberately accepts only a direct GPU mirror: raster mirrors have no retained semantic revision and are not a fallback for…
(viewport-extent)Multiplication and scalar scaling.
(frame viewport-logical-extent)Return a centered affine state measured in destination logical pixels. At scale one, one command-menu coordinate occupies one logical pixel in the game viewport. The final direct render therefore receives the destination's native pixel density automatically: a 2x drawable evaluates every analytic edge and Slug glyph…
(frame pointer-x pointer-y viewport-logical-extent)Test whether one compatible scalar is at most another.
(frame delta)(frame query)(frame event)Handle one portable key press and return ACTION and optional COMMAND. ACTION is :CONTINUE, :DISMISS, or :EXECUTE. This function never calls the application command while it is updating or repainting M-x; the host dismisses its modal surface first and passes COMMAND to EXECUTE-COMMAND-MENU-COMMAND.
One named verb over a session.
(frame command &key before-execute)Execute COMMAND on FRAME's owner, after optional BEFORE-EXECUTE. The owner is captured first so BEFORE-EXECUTE may destroy FRAME while removing the modal surface. Application commands therefore never run underneath M-x.
Test whether one compatible scalar is less than another.
(frame x y button)A native destination with a lifetime and frame clock.
A MuPDF context: its allocator, its store, and its error stack.
A McCLIM frame manager constrained by luv's current native host.
(frame)
M-x is an application instrument, not a game feature. It reads an application's existing command tables, retains one searchable snapshot, and executes the selected command on the frame which owns that vocabulary. Nothing in this file knows about a luvcraft session or a
luftviewer.