The luvcraft showcase gazetteer
The showcase is an atlas with three lanes #RFUR2R
The showcase should say what luvcraft can actually do, preserve good views of those things, and occasionally be beautiful enough to stand on its own. Those are related jobs, but not identical ones. The useful catalogue has three lanes:
- Scenes are composed editorial images: terrain, inhabitants, architecture, and light arranged as a picture. They normally omit the crosshair, hotbar, and first-person body.
- Surfaces show interaction in context: a terminal wall, phone, inventory, metabar, approval, or other pane at the moment its purpose is legible. HUD and viewmodel layers belong when they are part of that purpose.
- Plates hold a camera and one variable still for comparison: materials, hours, shadows, blocklight, glyphs, poses, and backend-sensitive effects. These are reference imagery even when they are too diagnostic for the front of the public page.
This page is a source-backed roster, not a claim that all these recipes exist.
Names in verbatim are proposed literal capture names. Each figure can own a
still and one or more films under the executable media contract #IVRWI8. A
recipe only joins luv/showcase when it can render from source without private
ambient state; networked, credentialed, and Darwin-only views remain authored
shots until they acquire a deterministic fixture.
The first folio should be small enough to art-direct: the pre-noon ridge #NLCFX0, a crystal afterglow #Q8ZIFD, a terminal at home in the terrain #2TMUKK, the instrument family #DYJZBK, inhabitants #W7T2IT, physics #CSCFGF, and the already composed birthday world #L5G2WQ. The rest of the gazetteer prevents those hero shots from becoming the only visual memory of the game.
Referenced from code:defconstant +gallery-portrait-width+ gallery.lisp:8 ↗
Pre-noon light on the little world #NLCFX0
The principal landscape should be a recognizably generated little world, not a bespoke diorama. The terrain source already supplies rolling grass, sand, stone and snow with rocks and broad-canopied trees. The sky can pin any hour, while the HDR presentation in the renderer supplies fog, bloom, vignette, focus blur, and screen-space sunlight shafts.
The composition wants a ridge or shallow valley from seed 121 or another recorded seed: warm light from the left at roughly ten in the morning, the sun just inside or just outside the frame, two or three tree crowns breaking it into shafts, a bright middle-distance slope, and a cooler fogged horizon. The camera should be near human height rather than the old gazetteer's aerial debugging angle. The grade may make the pre-noon sun warmer, but should not raise shaft or bloom gain until the entire frame looks veiled.
pre-noon-ridge-still— clean 3:2 hero still, no HUD or viewmodel.pre-noon-ridge-glide— six to eight seconds moving slowly across the foreground while keeping the ridge and sun relationship intact.pre-noon-under-the-trees— a lower companion view with trunks and leaves providing foreground occlusion and obvious shafts.
The still establishes the picture. The glide proves that shadows, fog, lens effects, streamed terrain products, and exposure remain coherent when the camera moves.
Mentioned in: The showcase is an atlas with three lanes, The sky deserves one fixed camera across a whole day, Player instruments should be readable in context, Author the pre-noon ridge
Referenced from code: Generated terrain: the same real little world as #NLCFX0 and #TRYHPN,
recomposed vertically rather than cropped after rendering. The first landscape subject in the showcase gazetteer: one seed, one
art-directed view, and one grade shared by its still and motion proof.
#NLCFX0 #2ILB5Ddefine-capture pre-noon-under-the-trees gallery.lisp:142 ↗
defconstant +pre-noon-ridge-day-fraction+ pre-noon.lisp:7 ↗
The sky deserves one fixed camera across a whole day #TRYHPN
A time-of-day folio should use one seed, one camera, one viewport, and one
grade. Only the pinned sky-clock reading changes. That makes the default
profile's midnight, sunrise, morning, noon, sunset, and dusk keyframes visible
as a system rather than as unrelated pretty pictures.
little-world-blue-hour— the world still readable before sunrise.little-world-sunrise— warm horizon, long shadows, cool zenith.little-world-pre-noon— the neutral comparison for #NLCFX0.little-world-noon— high sun, shortest shadows, strongest material read.little-world-sunset— warm lateral light and fog colour.little-world-deep-night— ambient silhouette without an artificial moon.little-world-one-day— an eight-second authored time-lapse through the same fixed view; no camera orbit to confuse lighting change with parallax.
The six stills are reference plates. The film is where continuous profile interpolation, shadow motion, cloud movement, and exposure transitions become visible.
Referenced from code: One fixed little-world plate at six hours and across one continuous day.
The clock is the only authored variable: world, camera, viewport, sky
profile, presentation grade, and compositing layers stay fixed. #TRYHPN Call The caller may change only the clock's pinned day fraction. Teardown restores
the process-wide grade even when session shutdown or These controls are process globals because the renderer reads
them on its canvas thread. Set them before constructing the
pipelines and restore them only after the session is gone. Generated terrain: the same real little world as #NLCFX0 and #TRYHPN,
recomposed vertically rather than cropped after rendering.defparameter *little-world-day-cycle-grade* day-cycle.lisp:7 ↗
defun call-with-little-world-day-cycle-capture day-cycle.lisp:19 ↗
function with the fixed #TRYHPN session and its pinned sky clock.function signals.define-capture pre-noon-under-the-trees gallery.lisp:142 ↗
Crystal afterglow shows luminous materials #Q8ZIFD
The crystal is simultaneously a textured material, a blocklight emitter, and
an HDR surface emitter. A small grove at late dusk can show all three: crystal
light reaching grass, stone, trunks, and the underside of leaves; faceted
normal relief on the near blocks; and a restrained bloom spread against a dark
sky. The existing glow-floor and crystal-seam gazetteer views already
provide the diagnostic core in
luvcraft/gazetteer.lisp.
crystal-grove-afterglow-still— a composed near/middle/far scene with one crystal close enough to read its facets and several hidden among trees.crystal-grove-night-orbit— a slow lateral arc, not a full turntable, so changing occlusion shows the blocklight volume.crystal-chunk-seam-plate— the existing flat seam proof promoted into the capture system as reference imagery.crystal-bloom-ladder— three fixed plates at zero, ordinary, and strong bloom gain for tuning regressions; never a public hero card.
Mentioned in: The showcase is an atlas with three lanes
A terminal is a place, a pane, and a carried thing #2TMUKK
The world terminal discovers an authored rectangle of blocks, sizes a Ghostty grid to it, draws styled cell backgrounds and Slug glyph geometry, and adds a separately lit screen panel and glass faceplate. The same terminal surface protocol reaches the graphite slab in the player's hand. A terminal showcase should therefore keep enough oblique perspective for the rim, glass, and world placement to survive; a square-on crop makes the surface look like a pasted screenshot.
terminal-camp-golden-hour— a three-by-two or four-by-three shell wall in a small stone-and-wood shelter, warm exterior light, luminous styled text, and no modal HUD.terminal-shell-closeup— the same deterministic fixture from its ordinary off-axis focus pose, sharp enough to inspect bold and coloured cells.terminal-mode-hotbar— focused wall plus the mode-aware hotbar showing Shell, Film, and Telegram as the wall's own choices.phone-shell-in-hand— first-person body and phone retained, terminal full of a short deterministic fixture rather than a machine-specific prompt.phone-focus-pull— a short film of taking the phone out, glancing at it, focusing it, typing one line, leaving focus, and pocketing it while the shell remains alive.
The shell fixture should contain colour, bold text, a command and output, but no hostname, home directory, credential, or wall-clock reading.
Mentioned in: The showcase is an atlas with three lanes
Referenced from code: A world terminal photographed through its existing display ownership.
Shell fixtures cross the real PTY/Ghostty path; Film fixtures cross the
existing video-screen path and remain under the terminal faceplate.
#2TMUKK #TWKA93defconstant +terminal-cinema-width+ terminal-cinema.lisp:8 ↗
Player instruments should be readable in context #DYJZBK
The main panes are already McCLIM frames composited into the one game canvas. They should be photographed over a quiet midtone landscape which gives their edges contrast without competing with their text.
hotbar-material-palette— the ordinary bottom hotbar with procedural block icons, numbered wells, selection edge, and selected-material caption from mcclim/hotbar.lisp.inventory-natural,inventory-building, andinventory-luminous— the category sidebar, paged item grid, quickbar, quantity, and item inspector from mcclim/inventory.lisp. The building plate should inspect a film so its title/uploader/duration specialization is retained in visual memory.metabar-grading— the grading group open over the #NLCFX0 scene, so exposure, bloom, light-shaft, shaft-reach, and vignette controls are visibly attached to their consequence.metabar-physics— the physics group over a sleeping pile of balls; useful as a reference for the knob/action vocabulary rather than a hero shot.keymap-legend— the generated sections and live bindings from the keymap legend.command-menu-filter—M-xwith a useful partial query and several matches, showing that game commands are an inspectable command table.tape-prompt— the small YouTube-code prompt with neutral fixture text and its validation line.lobby-radio— the quiet corner instrument in offline, connecting, and two-peer fixture states; only the two-peer plate belongs on the public page.
An authored instrument-tour film may open hotbar, inventory, metabar, legend,
and command menu in a stable sequence, but the individual stills remain the
better reference for typography and layout.
Mentioned in: The showcase is an atlas with three lanes
Referenced from code: Focused inhabitants and player instruments, each photographed through its
real interaction owner. Fixture speech and menu state live here in source;
no Player instruments remain live McCLIM frames composited into the one game
canvas. The fixtures below configure those owners directly. #DYJZBK Open the real metabar on grading and select its light-shafts knob. A still wants the fully open endpoint, not wall-clock easing captured at
an arbitrary phase.defconstant +character-focus-film-seconds+ characters-instruments.lisp:7 ↗
world-agent or network-backed conversation is created. #W7T2IT #DYJZBKdefun configure-capture-metabar characters-instruments.lisp:164 ↗
World-native panes should keep their depth cues #FSDUXL
Some panes live on world surfaces rather than in the HUD. Their showcase pair is an environmental view proving placement and a close view proving content. Both keep the surface slightly off-axis.
film-browser-on-wall— the stone-cased file browser from terminal-film-browser.lisp, with directories, playable films, sizes, paging marks, and footer message supplied by a temporary deterministic fixture tree.communicator-dialogs-on-wall— a credential-free Telegram console snapshot containing avatar colours, dialog rows, transcript text, photo/video thumbnails, composer, and scrollbar. A live private account must never be a capture dependency.paper-sheet-on-wall— the separateluvcraft/papersystem showing a known repository PDF page with McCLIM text replayed as sharp world geometry.terminal-six-faces— one compact reference scene exercising front, back, left, right, top, and bottom terminal surface frames.
The communicator and paper are real capabilities, but need small source-owned fixtures before they can enter the default Chapel render set.
Inhabitants need portraits and motion #W7T2IT
The little world now has box-built turtles and independently ray-marched gnome and cat bodies. Their pictures should show scale against blocks and ground, not isolate them on a transparent turntable.
turtle-meadow-portrait— promote the three posed animals from the old gazetteer into a warmer, lower composition with walking, turning, and resting poses all readable.turtle-crossing— a short lateral film of gait, rest, turning, cast shadow, and a small terrain obstacle.ride-a-turtle— first-person authored film of mounting with Tab, walking a small path from the moving seat, and dismounting safely.gnome-garden-portrait— one gnome at conversational distance among grass, stone and flowers, preserving hat, beard, face, rim light, and world scale.cat-in-the-sun— the seated cat in warm side light with the tail silhouette clear against a simpler background.gnome-and-cat-two-shot— the shared embodied-agent vocabulary made visible without pretending the two bodies share a shader.inhabitant-turns— a restrained film of turtle gait, gnome walking, and the cat's breathing proxy, cut as three shots rather than one busy arena.
Mentioned in: The showcase is an atlas with three lanes
Referenced from code: Focused inhabitants and player instruments, each photographed through its
real interaction owner. Fixture speech and menu state live here in source;
no The focused FoV and dialogue are the gnome's own interaction, not a crop or
a separately painted caption. #W7T2ITdefconstant +character-focus-film-seconds+ characters-instruments.lisp:7 ↗
world-agent or network-backed conversation is created. #W7T2IT #DYJZBKdefine-capture gnome-garden-conversation characters-instruments.lisp:91 ↗
define-capture cat-in-the-sun-conversation characters-instruments.lisp:128 ↗
cat inherits the embodied-agent conversation protocol but retains its own
SDF body, face position, audience distance, and focused camera pose.
These portrait recipes enter that actual interaction. #W7T2IT
Agent work has four visible surfaces #HA4V5Q
The agent is visually larger than its gnome. Its work appears as a top-right cassette HUD, bubbles and dialogue around an embodied presence, an ANSI transcript written onto a terminal wall, and a clean over-the-shoulder surroundings observation. Construction adds the fifth special case already captured by #Y7X7WK: an inert possible world awaiting approval.
agent-cassette-hud— a source-owned synthetic turn with prompt, thought, one running call, one completed call, elapsed times, output, and final text. Do not call a model to render it.gnome-conversation— the same synthetic records as world bubbles plus a short dialogue subtitle, with the gnome itself in frame.agent-wall-transcript— the records rendered as coloured Ghostty geometry on a terminal wall, including prompt and one tool cassette.agent-surroundings-glance— the clean third-person image fromcapture-surroundings-observation, paired in the wiki with its pose and voxel-census text.construction-proposal-stillandconstruction-proposal-orbit— retain the existing recipes; add a futureconstruction-approvefilm which ends with the preview becoming ordinary world geometry.
Synthetic transcript objects keep typography and layout deterministic. A separate authored film may show a real model turn, but it should be presented as an observed session rather than as a reproducible capture recipe.
Physics is best shown with causality #CSCFGF
The physics presentation draws true patterned spheres, posts the player and animals as kinematic obstacles, and turns the fountain and lava spring blocks into persistent body sources. A still can show materials and a settled pile; motion is required to show the system.
ball-in-hand— viewmodel reference with the worn banded ball carried low.throw-and-settle— one throw, one bounce, a roll down a small slope, contact with another ball, and sleep; keep the camera fixed so causality reads.party-ball-cascade— beach, smiley, marble, and classic balls spilling down stone steps under side light.turtle-and-ball— a rolling ball deflected by a turtle, which visibly startles; a playful proof that physics and critter protocols meet.fountain-courtyard— water drops spraying from the fountain block and splashing over a built basin.lava-spring-night— glowing gobbets rising, falling, sticking, cooling, and fading against a dark slate setting.dig-and-place-particles— a close short film of one removal and placement, preserving the ordinary block-particle feedback.
The spring films need a bounded clock and fixed emission sequence so their authored motion remains repeatable enough to compare.
Mentioned in: The showcase is an atlas with three lanes
The birthday world is the authored ensemble shot #L5G2WQ
The luvcraft/birthday system is already a composed scene rather than a bag
of demonstrations. The party owner
places a gazebo in a flowered meadow, ties back-lit balloons to it, rings it
with dancing gnomes and physical balls, runs a terminal-based marquee, pins
the sky, and starts the fireworks. It deserves both a coherent film and
smaller portraits of the work that disappears in the ensemble.
birthday-gazebo-golden-hour— wide establishing still with meadow, flower ring, gazebo, marquee, balloons, gnome troupe, and enough terrain beyond to locate the party in a world.birthday-balloon-backlight— close still with latex glint, transmitted sunlight, strings, gazebo edge, and one dancing gnome for scale.birthday-marquee-and-gnomes— medium still preserving animated banner design and the troupe's individual colours.birthday-fireworks— the existing staged party film or a six-to-ten-second extract containing launch, peony, ring, and willow shapes over the gazebo.birthday-afterparty— turtles entering after the main act among settled party balls.birthday-cutscenes— the complete authored two-act film remains a feature, not a default looping card if its length overwhelms the rest of the page.
Mentioned in: The showcase is an atlas with three lanes
A world within a world needs its own folio #TWKA93
Film walls and portals both put a moving image onto a world panel, but they prove different things. Film can use the hardware-backed video path; the showcase renderer can also cross the same wall texture, screen-panel, and faceplate ownership with a tiny generated clip and a deliberately selected decoder. A portal shows another live luvcraft process through a shared IOSurface and is Darwin-only.
wall-cinema-at-dusk— a deterministic locally generated film playing on a terminal rectangle while the faceplate, shelter, ground, and dusk light remain visible.wall-cinema-at-dusk-film— three seconds of the same fixed theater view while the source-owned stone-age car actually crosses the wall.choose-and-play-film— authored sequence from Film mode, through the wall browser, to moving picture and back to Shell.film-reel-in-inventory— the carried film's title, uploader, duration, and flange icon in the item inspector.terminal-portal— a child little world framed by its parent's terminal wall, with enough oblique perspective to show it is a transmission surface.portal-recursion— an authored Darwin film moving the child camera while the parent moves slightly too; the two parallax systems should remain distinguishable and tear-free.
Portal entries stay out of the Chapel default set unless the render host and capture operation acquire an explicit Darwin route. “Hw accelerated” film captures require the hardware path; a silent software fallback does not prove the feature being shown.
Referenced from code: A world terminal photographed through its existing display ownership.
Shell fixtures cross the real PTY/Ghostty path; Film fixtures cross the
existing video-screen path and remain under the terminal faceplate.
#2TMUKK #TWKA93defconstant +terminal-cinema-width+ terminal-cinema.lisp:8 ↗
Reference plates make failures legible #OK1OC8
The diagnostic gazetteer remains valuable beside the editorial showcase. Its
existing views should be wrapped by small capture recipes instead of copied or
retired: gazetteer-little-world-noon, little-world-dusk, shadow-forest,
glow-floor, crystal-seam, turtle-meadow, and shadow-yard.
The broader reference shelf should add:
material-raking-lineup— every placeable block in category order under one low neutral sun, including colour and generated normal relief.atlas-colour-and-normal— exact colour and normal atlases as technical plates, not upscaled screenshots of blocks.shadow-yard-stillandshadow-yard-motion— simple caster/receiver evidence plus a consecutive camera or sun sequence.shadow-forest-motion— representative trees and terrain paired with the existing derivative diagnostics, keeping host timing out of a visual claim.world-text-closeup— the existing Slug text proof at native resolution.terminal-type-plate— regular/bold, ANSI colours, background cells, cursor, and faceplate at near and far camera distances.body-proportion-plate— gnome and cat at one block ruler for shader-knob reviews.viewport-shapes— the same quiet scene at landscape, square, portrait, and a resized live viewport, preserving safe HUD insets.
Reference captures should keep their ordinary PNGs and short MP4s available even when only selected scenes appear on the front showcase grid. The current flat manifest does not need categories yet: the page can remain flat until enough real captures make navigation a demonstrated problem.
Referenced from code: Small source-owned recipes for the deterministic diagnostic gazetteer.
Scene construction and rendering remain owned by Render gazetteer defun render-gazetteer-reference-plate reference-plates.lisp:7 ↗
luvcraft's named views;
these wrappers only adapt their output to the capture manifest. #OK1OC8view-name to the capture protocol's exact pathname.
Every still has a motion companion when time matters #I380Q9
An orbit is useful when the claim is shape, depth, or attachment to the world. It is not a universal video template. The film should move the variable that the subject owns:
| Subject | Still establishes | Film must establish |
|---|---|---|
| Terrain light | Composition and grade | Stable shafts, shadows, fog, streaming |
| Day cycle | Keyframe appearances | Continuous interpolation and shadow motion |
| Terminal | Glyph and surface quality | Focus, typing, mode and lifetime transitions |
| Pane | Layout and legibility | Opening, selection, feedback and dismissal |
| Inhabitant | Model, material and scale | Gait, breath, turn, ride or conversation |
| Physics | Material and settled state | Contact, bounce, flow, cooling and sleep |
| Proposal | Finished counterfactual | View-dependent orbit and approval transition |
| Portal or film | Panel placement | Independent moving image without tearing |
capture-luvcraft-screenshot already chooses HUD and viewmodel layers,
and film-luvcraft-session gives authored code a before-frame
boundary. A recipe should reuse one scene constructor across its still and
film whenever they depict the same subject. That makes their difference an
authored camera or clock path rather than accidental world state.
Referenced from code: The first broad gallery folio: portrait compositions for phones, clean
authored motion, and one deliberately gameplay-shaped landscape walk.
Each subject still owns its world and motion; this file only shares the
hidden-session lifecycle and the portrait frame. #RFUR2R #I380Q9defconstant +gallery-portrait-width+ gallery.lisp:8 ↗
DONE Author the pre-noon ridge #2ILB5D
Intent. Turn #NLCFX0 into the first new subject after the construction proposal: one composed terrain still and one motion proof from the same hidden session, with the seed, camera, sky profile, clock, grade, and layer choices in source.
Evidence. The current capture protocol already renders hidden sessions, stills, and MP4s; the terrain source supplies trees and relief; the post stack already exposes bloom and light shafts. What is missing is art direction and visual acceptance, not another capture abstraction.
Done when. pre-noon-ridge-still and pre-noon-ridge-glide render on the
showcase host, the still reads as warm pre-noon terrain rather than a diagnostic
aerial, the film has responsive consecutive frames with no streaming pop or
shadow shimmer, teardown leaves no surviving session, and both published cards
are inspected at their actual browser size.
The Chapel capture at source 2f251e7f5957 rendered the complete 81-chunk
resident scene into both artifacts. Every hidden Vulkan canvas closed; the
published glide reached 1.43 seconds during browser playback with a visibly
advanced camera and no changed terrain, while the still and film remained clean
of HUD and viewmodel layers.
Referenced from code: The first landscape subject in the showcase gazetteer: one seed, one
art-directed view, and one grade shared by its still and motion proof.
#NLCFX0 #2ILB5Ddefconstant +pre-noon-ridge-day-fraction+ pre-noon.lisp:7 ↗
DONE Open the phone-first gallery #GS5XNW
Intent. Grow the first folio into something that can be browsed for pleasure: dozens of distinct stills and films, with clean portrait compositions taking the lead on phones and a smaller set of landscape play views retaining the crosshair, hotbar, and first-person body when those are the subject.
Evidence. Source revision a3283ebe9a0a publishes 39 capture recipes: 27
stills and 12 films, including 14 portrait cards. The portrait films use the
LUFT Atelier vocabulary from #SY26PO: a 720 by 1280 frame, authored
position/look/FOV paths, eased Catmull-Rom travel, field scale 1.25, collision
clearance, and a clean presentation. New terrain, day-cycle, crystal,
inhabitant, and physics subjects sit beside one ordinary landscape walk with
its HUD and viewmodel.
The public index serves 480-pixel WebP stills and video posters, with
768-pixel WebP alternatives for landscape stills; the PNG and MP4 originals
remain linked. At a 390 by 844 browser viewport, all 39 phone-card assets
total 503,406 bytes. The 12 videos remain at media readyState zero until the
visitor plays one. Browser acceptance played the LUFT clay flight, crystal
night arc, party-ball cascade, and landscape HUD walk; each decoded at its
declared 720 by 1280 or 1200 by 800 dimensions and advanced continuously.
Chapel's RX 6600 XT rendered two raw Vulkan jobs in 10.195 seconds in parallel
versus 20.276 seconds sequentially, with byte-identical PNG frames. Parallel
x264 did not pass the stronger film gate: encoded files and decoded frames
differed from an isolated render even with one encoder thread. The published
path therefore remains sequential and now fails closed unless Vulkan resolves
the explicit RADV ICD to the discrete RX 6600 XT.
DONE Put action, inhabitants, and authored surfaces in the gallery #BX4TG3
Intent. Make the enlarged folio show things one can do as well as places one
can admire: mine a wall, build a brick arch, converse through the focused-FOV
inhabitant view, inspect the metabar and M-x command table, use a real
terminal wall, and watch a locally authored film in a dusk shelter.
Evidence. Source revision e8b6fc8 registers twelve new recipes through the
existing concrete owners, bringing the executable gallery to 51 cards: 34
stills, 17 films, and 16 portrait compositions. The two gameplay films call
ordinary centre-ray :remove and :place edits and retain the crosshair,
hotbar, and first-person body. The gnome and cat pairs use the embodied-agent
focus/dialogue path, with the cat pair composed at 720 by 1280. The two
instrument stills repaint the real McCLIM metabar and command-menu state. The
terminal pair runs a finite, credential-free shell through an actual PTY and
Ghostty/Slug surface; the cinema pair generates and plays a deterministic H.264
clip through the existing Film wall.
Focused Chapel captures visually accepted every family. The mining film opens a broad stone wall and throws brick fragments to reveal crystal; the building film completes a brick arch around its wooden scaffold. Dialogue, instrument text, ANSI terminal lines, glass faceplate, shelter perspective, and the moving cinema picture all remain legible at their card shapes.
Chapel's current RADV H.264 decode loses the graphics device at the first
decoded picture. The cinema recipe therefore selects software decode
explicitly rather than disguising a failed hardware proof as :auto fallback;
the world rendering itself remains on the fail-closed RX 6600 XT RADV route.
The file-browser film choice remains deferred because its current entry point
depends on the ambient home directory instead of a source-owned fixture.



(name (&key figure kind extension (description "") (layout :landscape))
(pathname) &body body)Define one inspectable wiki capture recipe. NAME is its command-line identity. FIGURE is the stable six-character wiki figure ID; KIND is :IMAGE or :VIDEO; EXTENSION is the generated file suffix. LAYOUT is :LANDSCAPE by default or :PORTRAIT for uncropped 9:16 presentation. BODY is an ordinary named renderer function…
(function &key title seed pose day-fraction width height clean-p)(session pathname &key camera-pose metadata-function
(include-hud-p t) (include-viewmodel-p t))Render SESSION once offscreen and write its native GPU frame to PNG. This works for both live and hidden sessions. The call returns only after GPU readback and compressed PNG writing have completed; it does not inspect the host window or depend on the window being visible. CAMERA-POSE may be a pose or a function of…
(&key (portrait-p nil) (lateral-offset 0.0d0)
(height 8.75d0) (pitch 0.20d0))Quarter to ten in the morning, expressed as a fraction of one day.
The complete fixed presentation grade shared by the day-cycle folio.
Overall scene exposure multiplied into the sky profile's own exposure.
Luminance at which a fragment starts contributing to the bloom chain.
How much of the blurred bright-pass image is added back in linear light. The chain's kernel is wide and runs twice, so this is a glow spread over a sixth of the frame rather than a halo: past about a third it stops reading as light around the sun and starts reading as fog over everything.
How strongly sunlight scattered around the solar disc streaks the frame.
Per-tap attenuation along a light shaft; nearer one reaches further.
Corner falloff of the presented frame, as a fraction of full brightness.
How far the lens splits red from blue at the corners, in texels.
Saturation of the presented image, one being the filmic curve's own.
How far the presented image is pulled toward an S-curve.
(day-fraction function)Call FUNCTION with the fixed #TRYHPN session and its pinned sky clock. The caller may change only the clock's pinned day fraction. Teardown restores the process-wide grade even when session shutdown or FUNCTION signals.
(&key (chunk-width 16)
(chunk-height 16)
(chunk-depth 16)
(seed 121))(x y z)(day-fraction)(&key
(title "luv little block world — click, look, walk")
;; NIL means "as much of this display as
;; comfortably fits"; a capture asks for the
;; exact frame it intends to write out. A
;; KMSDRM console can only present at a real
;; display mode, so the environment may pin
;; the canvas to the panel's native size.
(width (let ((value (uiop:getenv "LUVCRAFT_WIDTH")))
(and value (parse-integer value))))
(height (let ((value (uiop:getenv "LUVCRAFT_HEIGHT")))
(and value (parse-integer value))))
(frames-per-second 60)
(visible-p t)
(fullscreen-p nil)
(high-pixel-density-p t)
(world (make-empty-little-block-world))
(mesher (make-instance
'exposed-face-mesher))
(camera (make-instance 'fly-camera))
player
(selected-block *stone-block*)
(inventory (make-block-inventory))
quit-function
;; A hidden capture wanting animals in frame
;; hands in a population it has already
;; placed; the ordinary game grows its own
;; around the player as it plays.
(critters
(make-instance 'critter-population))
checkpoint-writer
(provider *gpu-provider*)
(sky-clock (make-instance 'sky-clock))
(sky-profile (make-default-sky-profile))
(shadow-diagnostic-p nil)
;; The world-text banner is a proof of the
;; Slug path, not scenery: a caller that
;; wants one asks for it, and the ordinary
;; game sky stays empty.
(world-text-string nil)
(world-text-font-pathname
(cl-dejavu:font-pathname "DejaVuSans.ttf"))
(world-text-distance 8.0)
(world-text-lift 3.0)
(world-text-units-per-em 0.55)
(video-pathname nil)
(video-distance 13.0)
(video-lift 4.5)
(video-height 5.0)
(residency-radius 6)
(publication-limit 2)
(load-schedule-limit 4)
(mesh-capture-limit 1))Open a little CPU-meshed block world. Click to capture the pointer, look with the mouse, walk with WASD, and jump with Space. Once captured, left click removes the block at the centre of view and right click places the selected block. Number keys select materials, middle click picks the targeted material, Shift…
(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.
(session &key minimum (timeout 10.0))Wait outside frame encoding for a useful initial set of chunk meshes. MINIMUM defaults to nine or the whole desired set when it is smaller. The visible startup path asks only for the nearest product before its first presentation; deterministic captures wait for the broader default set.
(session)Stop SESSION exactly once and publish its result to every caller. The sole owner attempts every named release step and closes the canvas and device last. Concurrent and later callers observe the same values or RELEASE-ERROR without releasing a native handle twice.
(session)(session &key (title "luvcraft metabar"))An explicitly owned AVFrame.
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.
(name)(frame)(function spawn-function speech &key title width height day-fraction)A small SDF-rendered garden gnome carrying a WORLD-AGENT.
(session)A sitting SDF-rendered cat carrying the shared embodied WORLD-AGENT surface.
(session)The interactive block world built on luv.
(view-name pathname)(view directory &key width height (provider *gpu-provider*))Pictures that carry design evidence should be reproducible without making Git the video store. capture-specification is the semantic boundary: a stable name, wiki figure ID, media kind, extension, description, and an ordinary named renderer function. define-capture is only a thin definition-site macro over that…
The crystal is simultaneously a textured material, a blocklight emitter, and an HDR surface emitter. A small grove at late dusk can show all three: crystal light reaching grass, stone, trunks, and the underside of leaves; faceted normal relief on the near blocks; and a restrained bloom spread against a dark sky. The…
The physics presentation draws true patterned spheres, posts the player and animals as kinematic obstacles, and turns the fountain and lava spring blocks into persistent body sources. A still can show materials and a settled pile; motion is required to show the system. – ball-in-hand — viewmodel reference with the…
The luvcraft/birthday system is already a composed scene rather than a bag of demonstrations. The party owner places a gazebo in a flowered meadow, ties back-lit balloons to it, rings it with dancing gnomes and physical balls, runs a terminal-based marquee, pins the sky, and starts the fireworks. It deserves both a…
A tool approval should show its consequence, not merely ask whether a verb may run. Construction makes that unusually literal. tool-approval retains an inert semantic payload, its :proposed state, and a private decision mailbox; the provider's turn may wait in settle-command-result while the canvas keeps rendering. …
images/luft-arcade.png A cube world's reputation for making only boxes is a reputation for having no vocabulary. A round-headed opening is a column of cleared cells whose height follows a circle; a tower is a disc repeated up Z; a corbel is a course that oversails the one below. Each is a dozen lines…
A time-of-day folio should use one seed, one camera, one viewport, and one grade. Only the pinned sky-clock reading changes. That makes the default profile's midnight, sunrise, morning, noon, sunset, and dusk keyframes visible as a system rather than as unrelated pretty pictures. – little-world-blue-hour — the world…
The main panes are already McCLIM frames composited into the one game canvas. They should be photographed over a quiet midtone landscape which gives their edges contrast without competing with their text. – hotbar-material-palette — the ordinary bottom hotbar with procedural block icons, numbered wells, selection…
The little world now has box-built turtles and independently ray-marched gnome and cat bodies. Their pictures should show scale against blocks and ground, not isolate them on a transparent turntable. – turtle-meadow-portrait — promote the three posed animals from the old gazetteer into a warmer, lower composition…
The world terminal discovers an authored rectangle of blocks, sizes a Ghostty grid to it, draws styled cell backgrounds and Slug glyph geometry, and adds a separately lit screen panel and glass faceplate. The same terminal surface protocol reaches the graphite slab in the player's hand. A terminal showcase…
Film walls and portals both put a moving image onto a world panel, but they prove different things. Film can use the hardware-backed video path; the showcase renderer can also cross the same wall texture, screen-panel, and faceplate ownership with a tiny generated clip and a deliberately selected decoder. A portal…
The diagnostic gazetteer remains valuable beside the editorial showcase. Its existing views should be wrapped by small capture recipes instead of copied or retired: gazetteer-little-world-noon, little-world-dusk, shadow-forest, glow-floor, crystal-seam, turtle-meadow, and shadow-yard. The broader reference shelf…
The showcase should say what luvcraft can actually do, preserve good views of those things, and occasionally be beautiful enough to stand on its own. Those are related jobs, but not identical ones. The useful catalogue has three lanes: – Scenes are composed editorial images: terrain, inhabitants, architecture, and…
An orbit is useful when the claim is shape, depth, or attachment to the world. It is not a universal video template. The film should move the variable that the subject owns: capture-luvcraft-screenshot already chooses HUD and viewmodel layers, and film-luvcraft-session gives authored code a before-frame boundary. A…
The principal landscape should be a recognizably generated little world, not a bespoke diorama. The terrain source already supplies rolling grass, sand, stone and snow with rocks and broad-canopied trees. The sky can pin any hour, while the HDR presentation in the renderer supplies fog, bloom, vignette, focus blur,…
Intent. Turn #NLCFX0 into the first new subject after the construction proposal: one composed terrain still and one motion proof from the same hidden session, with the seed, camera, sky profile, clock, grade, and layer choices in source. Evidence. The current capture protocol already renders hidden sessions, stills,…
The first broad gallery folio: portrait compositions for phones, clean authored motion, and one deliberately gameplay-shaped landscape walk. Each subject still owns its world and motion; this file only shares the hidden-session lifecycle and the portrait frame. #RFUR2R #I380Q9