3D

Live UI on panels in space, a real lens and light, from the @intentface-launch/three add-on.

pnpm launch add three, then import { … } from "@intentface-launch/three". Use 3D for transitions and moments of awe; go flat when the viewer has to read.

Stage and camera

ToolWhat it does
Stage3DA 3D stage rendered like a film camera: real depth of field, shutter motion blur and anti-aliasing, summed in 32-bit float. Each sample is smoothed by its depth before it is summed (smoothBokeh, on by default), so bokeh is a smooth disc, not separate copies.
rigA camera move from keyframed framings: target, distance, elevation, azimuth, fov, blur.
pushIn, pullBack, orbitMove, turntable, macroSlide, topDown, dollyThroughNamed camera moves, two keys each.
sequenceChains lens functions, each taking over at its frame.
handheldSeeded operator sway on any lens.
followA lagging look-at.
fillDistanceThe camera distance at which something fills the frame.
samplesForBlurThe samples a Stage3D needs for blur of a given size in pixels; samples also takes a function of the frame, to spend them only while the blur is there.
apertureFor, cocPxThe aperture for a blur size, and the blur size for an aperture.
project, pixelsPerUnit, orbitLens maths: where a world point lands on screen, and how large.

UI in space

ToolWhat it does
PanelLive DOM on a slab, posed per frame. region shows one part, so a snapshot splits into layers.
centerOfPlaces a region panel where it sits in the UI.
stack, fan, grid, explodedLayouts that give the pose of panel i of n.
mixPose, offsetPosePoses between two layouts, and relative to another.
Phone, Tablet, LaptopGeneric devices whose screens show their children live.
Overlay3DDOM pinned to a point in the scene: sharp labels that follow a panel.
surfacesSlab materials: frosted, glass, aluminium, anodised, matte, plastic, gloss.
FloorAn invisible ground plane that shows only reflections and soft shadows.

Light

ToolWhat it does
BeamA soft or crisp ribbon of light, optionally split into a spectrum.
RingA ring of light: an echo on a surface, a rim.
WaveA soft wave of light spreading over a surface.
GlowA soft point of light.
ConeA cone of light through haze: a spotlight's beam.
PrismA glass prism that splits a beam into a spectrum by real refraction.
SmearA rainbow where a spectrum lands on a surface.
LightThe lights above as components, for scenes with a few of them.
useStageItemPuts your own three.js objects on the stage, posed per sample.
spectrumBands, glasses, refractiveIndex, wavelengthToLinearSpectral colour and glass maths for your own light.

Lighting and finish

ToolWhat it does
threePoint, keyLight, rimLightSoft boxes around a target.
sweepA strip light that runs over glossy faces and edges.
environment (prop)Reflections from a preset or an .hdr/.exr, animatable.
post (prop)Bloom, vignette, aberration, a grade and a LUT, and effects from postprocessing. Off by default.
gradesGrade presets: neutral, warm, cool, premium.
htmlInCanvasWhether the browser can draw DOM into WebGL (needed for panel textures).

Post effects

pmndrs' postprocessing (bloom, glitch, noise, chromatic aberration, pixelation and the rest) on the video's clock: every pass renders at the frame's time and each effect draws from a random stream seeded by the frame, so any frame renders alone, in any order, the same every time.

ToolWhat it does
usePostEffectBuilds a postprocessing effect once per mount, seeded, and disposes it with the shot. Set its values in the render from the frame.
PostFXApplies effects to any DOM (a snapshot, type, a whole shot), drawn in through HTML-in-Canvas. With no effects it matches the DOM.
post.effects (prop)Applies effects to a Stage3D's averaged samples, before its own finishing.
EffectChainThe pass runner both use, for a texture of your own.
CrtAny DOM (a terminal, a code editor) on a subtle CRT with a soft glow: a slight bulge, colour fringing, scanlines on lit pixels only, a slow roll bar, flicker and a vignette; no grain by default, since it compresses badly. Every option can change per frame.
CrtEffectThe same CRT pass as an effect, for PostFX or post.effects.

Effects that need depth (depth of field, SSAO, god rays, selective bloom, SMAA) are refused: the stage's lens and samples already do that. GlitchEffect's sporadic mode keeps its own clock: switch mode by frame instead.