luvcraft/body-gallery.lisp
One native analytic body as a browser-facing shader and framing preset.
Covers gnome-figure-radius throughout every
published knob range, including the tallest leaned hat.
Covers cat-figure-radius throughout its knob ranges.
Compile every catalog body from the shared shader graph to WGSL.
Encode the catalog and actual native knob metadata for JavaScript.
Build the luvcraft web application and its currently installed pages.
Compile the web-facing artifacts once, then serve luvcraft until stopped.
One native analytic body as a browser-facing shader and framing preset.
()The radius, in figure units, of a sphere about *GNOME-BODY-CENTRE* that holds every part of the gnome the knobs are currently asking for. The billboard is a conservative proxy and nothing outside it is drawn, so this has to be recomputed rather than assumed: a hat raised past a fixed radius does not overflow, it…
Test whether two compatible scalars are equal.
(group)(specification &key overrides)(role stage)Return the current durable shader specification for ROLE and STAGE.
(name)(knob bundle)One live value: where it lives, what it measures, and -- by its class -- what SESSION must do after a change for the change to show.
Logical disjunction of tests and raw truth values.
(knob bundle)An open document and the context it was opened in.
(knob bundle)(knob)(bundle base-path)(&optional (bundles (compile-body-gallery))
(base-path "/bodies"))(name)(id bundles)(path bundles)Logical conjunction of tests and raw truth values.
A semantic page mounted at one URL subtree.
(&optional (bundles (compile-body-gallery)))(receiver path)Return a WEB-RESPONSE for PATH from a web application or mounted page.
(&optional (text *page*) (name "test"))(content-type body)(&key bundles showcase-directory)(&rest pages)(&key directory media-path)(&key (host "127.0.0.1") (port 8765))(application &key (host "127.0.0.1") (port 8765))
The browser edge for luvcraft's analytic agent bodies.
A
web-body-typeis the small piece of application knowledge that the browser needs around the shader graph: which shader role names the body, which knob group belongs to it, and the conservative sphere that its billboard rasterizes. Everything else -- WGSL and knob metadata -- is derived from the same Lisp objects that the native game uses.