mcclim/shader-lab.lisp
One bounded diagnosis of frame, process, mirror, canvas, and responsiveness.
Compile entry's current method without discarding its last good lowering.
Return the current successfully compiled shader method results in frame.
Shader operators are ordinary symbols; arithmetic is CL's own.
Render expression as nested selectable mathematical presentations.
Keep the machine occurrence selected. selected-shader-expression follows
reverse provenance so the source view still lights up at the same time.
Recompile on the frame's command thread. A broken edit remains visible as diagnostic state while ENTRY retains its previous successful lowering.
Inspect frame's actual top-level mirror and native canvas on its process.
Best-effort bounded backtrace capture for an unresponsive frame process.
Return a status and structured frame/process/mirror/canvas health report.
Redisplay frame and capture its direct-GPU McCLIM presentation.
Open a callback-only shader lab, capture it, and tear it down.
This frame only needs to paint once. Avoid starting a durable command loop merely to photograph its real mirror texture.
Open a live-definition, expression, and SSA workbench on luv's backend.
pipelines may contain a running demo's live shader artifacts; their installed
revision and last diagnostic then appear alongside the source definition.
Presentation gestures are read by the application frame's command loop, not SDL's native event thread. Construct and run the frame in one durable process.
Destroy an open-shader-lab frame and its luv canvas.
Headings, paragraphs, figures and their IDs, mentions, marks.
One bounded diagnosis of frame, process, mirror, canvas, and responsiveness.
((call tool-call) stream)((sheet sheet) (event shader-lab-health-event))(entry &key force)Logical disjunction of tests and raw truth values.
Logical conjunction of tests and raw truth values.
(dependent)(dependent)(role stage)Return the current durable shader specification for ROLE and STAGE.
(specification)(dependent revision)Record that the consumer finished attempting REVISION. A newer concurrent notification remains pending.
(role stage label pipeline)(generic-function arguments)(specification &key label)(object)(dependent)()Return the little world's horizontal RGBA8 atlas as packed pixel words. RGB is the material's procedural colour and A is opaque coverage. The array spans the full tile capacity; tiles past the painted count stay zero, waiting for a material to claim them.
(frame stream)(frame stream)(frame stream)(frame stream)An explicitly owned AVFrame.
(type)(name stream)(operator)Addition over compatible quantities.
Subtraction or unary negation.
Multiplication and scalar scaling.
Division of two represented quantities.
(operator)(specification)(word)Extract the unsigned bit field (BYTE SIZE POSITION) of one unsigned scalar.
(stream atlas tile left top &key (scale 3))(tile &optional (domain *block-atlas-tile-domain*))(frame stream definition left top)One top-level defining form of a source file.
(frame stream block number left top)Test whether two compatible scalars are equal.
(factors)(specification)(dimension)(specification)(positions)(layout)How the children of a list are arranged.
(specification layout)(expression stream frame)(literal)(reference)The homogeneous result of applying a represented semantic map.
A virtual sampling product projected from a homogeneous map application.
A checked semantic name for a represented value, with no codegen effect.
(expression)An explicitly meaningful value constructed from semantically raw source.
(expression)An explicit assumption that an opaque represented value has a meaning.
(expression)An explicit exposure of a semantic value's raw machine representation.
(expression)An explicit linear unit conversion that may emit numerical scaling.
(expression)(expression)(stream declaration)PROPERTY: VALUES; -- the property a keyword, the values a list written space-separated.
(stream resource)One descriptor-backed uniform block with ordered, inspectable members.
(binding)(expression)(form stream)(frame stream instruction)(instruction)(instruction-or-class)(expression)(role stage pipelines)(pipelines)(frame)(frame function timeout)Renderer-independent McCLIM display connection owned by luv.
A native destination with a lifetime and frame clock.
A McCLIM sheet's relationship with a luv presentation target. TARGET is initially a native canvas. It is intentionally not part of the mirror's identity: a later target may be a texture presented on a 3D quad.
Logical negation of one test or raw truth value.
Protocol class for objects receiving canvas events.
(process &key (timeout 0.25))(frame &key (timeout 0.5))(frame &key (timeout 1.0))(frame pathname &key (timeout 10.0))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.
(mirror pathname)(pathname &key specification
(server-path '(:luv-gpu))
(title "Luv mathematical shader browser"))A McCLIM frame manager constrained by luv's current native host.
(&key specification specifications pipelines
(server-path '(:luv-gpu))
(startup-timeout 10.0)
(title "Luvcraft material and shader workbench"))Open a live-definition, expression, and SSA workbench on luv's backend. PIPELINES may contain a running demo's live shader artifacts; their installed revision and last diagnostic then appear alongside the source definition.
(arguments)(frame)
A presentation-oriented browser for mathematical shaders and lowered SSA.