site.yaml reference¶
Every model and field a site.yaml can hold, read from engine/spec.py (136 models). The Studio forms, studio schema and the MCP tool spec_schema come from the same source, so this page is what the engine accepts today.
- Unknown keys are errors: every model rejects fields it does not define.
- Default is what the engine uses when you leave the field out; required fields have none.
- Optional fields have the default
null: leaving them out means the feature is off.
Pages¶
- Site and theme: The whole file, and the settings that apply to the whole site. (12 models)
- Scenes: Sections with a scroll-driven visual. Each is chosen by
type. (16 models) - Blocks: Static content sections. Each is chosen by
type. (14 models) - Nested models: The pieces the models above are built from. (94 models)
Scene and block types¶
The type of a section picks its model.
type |
Model | What it is |
|---|---|---|
film |
FilmScene | AI film scrubbed by scroll. |
artwork |
ArtworkScene | Any image, drawn and painted in stages as you scroll. |
scene3d |
Scene3DScene | Live 3D: a zoom journey through nested levels built from generator presets (or glTF models). |
sequence |
SequenceScene | A 3D model rendered to an image sequence (turntable, explode, assemble) and scrubbed by scroll. |
parallax |
ParallaxScene | Photos turned into 2.5D camera moves with an estimated depth map; one photo per step, or several captions over one photo (a step without an image keeps the photo … |
type |
TypeScene | Kinetic typography driven by scroll. |
vector |
VectorScene | A logo or line drawing whose strokes draw themselves, then fill. |
chart |
ChartScene | A data story: a chart that draws, zooms, highlights and annotates itself as the steps scroll past. |
map |
MapScene | A geographic journey on a live vector map. |
splat |
SplatScene | A real place, scanned: a Gaussian splat the camera flies through as you scroll. |
code |
CodeScene | Fly through a codebase in live 3D, following an agent at work: the scene opens on its prompt, dives into the files it reads, stops at each edit while the diff applies … |
showroom |
ShowroomScene | The real product, live in the page: three.js renders the product's normalised GLB with studio environment lighting and a soft shadow; scroll turns, explodes and zooms it … |
diorama |
DioramaScene | A miniature world: a tilt-shift diorama (a tiny harbour town, a desk, a factory floor, a studio) rendered live in the page. |
inside |
InsideScene | The product as the set: the camera flies into the product and the page happens inside it (between the layers of a board, past the cone and magnet of a speaker, along a … |
light |
LightScene | Light as the scroll: one place, relit from dawn to night as the page scrolls. |
stages |
StagesScene | One subject through its states, in order: a sequence of stills of exactly the same view (a drawing becoming the thing, a room before and after, a product being made) … |
intro |
IntroBlock | |
features |
FeaturesBlock | |
stats |
StatsBlock | |
timeline |
TimelineBlock | |
quote |
QuoteBlock | |
cta |
CtaBlock | |
gallery |
GalleryBlock | |
hero |
HeroBlock | A full-screen opening: headline over a photo or looping video, with an optional badge and buttons. |
product |
ProductBlock | Product or service panel: a large image and/or a phone on one side, copy, tags and buttons on the other. |
strip |
StripBlock | A row of photos that slides sideways as you scroll. |
orbit |
OrbitBlock | Services arranged around a centre on rings that turn as you scroll, each with a status. |
faq |
FaqBlock | Questions and answers as an accordion (works without JavaScript). |
logos |
LogosBlock | A strip of partner or customer logos, in one colour: 'Trusted by teams at ...'. |
signup |
SignupBlock | An email signup: a headline, a line of copy and an inline email field with its button (a plain HTML form that posts to the action you name, or opens an email with … |
Every model¶
Art · ArtworkScene · AtBox · AtGrid · Badge · Beat · BeatFrame · BlockBase · Brand · CameraKey · CameraMove · CameraPreset · Carry · ChartScene · Cinemagraph · CodeFile · CodeScene · CodeTerminal · CtaBlock · CutAnchor · Device · DeviceOption · DioramaCamera · DioramaLook · DioramaMover · DioramaPlace · DioramaProp · DioramaScene · DioramaStop · DioramaTraffic · DioramaWorld · Directions · EditRegion · Faces · FaqBlock · FaqItem · Feature · FeaturesBlock · FilmScene · Finish · FontFile · Footer · FrameMatch · Freeze · FreezeDetail · FreezeKey · FreezeLayer · FreezeLayers · FreezeMove · GalleryBlock · GalleryItem · Glow · Gradient · HeroBlock · Hud · ImageEdit · ImageInput · Imagery · InsideLight · InsideScene · InsideStop · IntroBlock · Journey · JourneyBlockout · JourneyMove · JourneyPose · JourneyStop · Level · LightLamps · LightScene · LightStructure · LightSun · LightTime · Link · LiveDetail · Loader · Logo · LogoRow · LogosBlock · MapScene · Marker · MotionTokens · Nav · OrbitBlock · OrbitItem · Page · PalettePool · ParallaxScene · PartMaterial · Pointer · Pool · Product · ProductBlock · ProductLayer · ProductShot · QuoteBlock · Rating · Reveal · RevealAt · RevealRegion · Route · Scene3DScene · SceneBase · Scroll · SequenceScene · ShadeTokens · ShowroomScene · SignupBlock · SignupForm · Site · SpaceTokens · SplatKey · SplatScene · Stage · StageFrame · StageFront · StageReveal · StagesScene · Stat · StatData · StatsBlock · Step · StripBlock · StripItem · Subject · Take · Theme · TimelineBlock · TimelineItem · Trailer · TrailerShot · Transition · TypeScene · TypeTokens · VectorScene · Wan · WorldObject · WorldPlace