luv

Workshop wiki

construction.lisp

captures/construction.lisp

system luv/showcase · 3 definitions · on GitHub

in-package#:luv.showcase

The construction proposal as a reproducible little scene. This is the first capture recipe attached to the possible-world design. #Y7X7WK

defuncall-with-construction-proposal-capture

Call function with a hidden session, gnome, and inert wall proposal.

let
sessionnil
approvalnil
unwind-protect
let*
camera
make-instance'luvcraft:fly-camera:position
luvcraft::make-vec35.5d05.0d01.5d0
:yaw0.15d0:pitch-0.25d0
setfsession
luvcraft:start-luvcraft:title"construction proposal capture":width960:height640:visible-pnil:frames-per-secondnil:worldworld:cameracamera:sky-clock

The lobby is useful in a game and accidental in a design plate.

dolist
overlay
copy-list
luvcraft:luvcraft-session-overlayssession
let*
gnome
agent:spawn-agent:sessionsession:x6:y2:z8
proposal
setfapproval
make-instance'agent::construction-approval:agentnil:presencegnome:sessionsession:change-setchange-set
funcallfunctionsessiongnomeproposal
whenapproval
agent:deny-tool-approvalapproval"Capture complete."
whensession
luv:define-captureconstruction-proposal-still
:figurey7x7wk:kind:image:extension"png":description"The textured, glowing possible-world wall beside its proposing gnome."
pathname
call-with-construction-proposal-capture
lambda
sessiongnomeapproval
declare
ignoreapproval
luvcraft:capture-luvcraft-screenshotsessionpathname:camera-pose:include-viewmodel-pnil
luv:define-captureconstruction-proposal-orbit
:figurey7x7wk:kind:video:extension"mp4":description"A short focus-camera orbit around the inert construction proposal."
pathname
call-with-construction-proposal-capture
lambda
sessiongnomeapproval
declare
ignoreapproval
let
frame-rate24
luvcraft:film-luvcraft-sessionsessionpathname:seconds4:frame-rateframe-rate:include-viewmodel-pnil:before-frame
lambda
luvcraft::set-camera-pose
luvcraft:luvcraft-session-camerasession
when
zerop
modframeframe-rate
formatt"capture construction-proposal-orbit: second ~D/4~%"
1+
/frameframe-rate
finish-output