Skip to content

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