3D scene editor: motion presets, shots and cards

The scene editor is where 3D scenes get shaped — the outliner, the orbit viewport, the transform/material panels and the timeline, all editing the same scene.design.json state. It opens over a 3D project's preview and edits the scene live. Since 1.9.0 it also stages product shots, generates motion from presets and renders finished product cards.

The screen

Scene editor from a 3D project opens the editor: the outliner on the left lists the scene's parts, the viewport in the middle shows the object in orbit, and the panels on the right expose the selected part's transform, parameters and materials. The status bar tracks the revision and object count. Below the viewport sit the Product shot, Motion presets and Beat markers sections and the timeline.

The activity card sits above the 3D inspector and scrolls inside the stage, so its controls stay reachable while the inspector is open.

The scene editor — outliner, viewport, transform and material panels

Working the scene

  • Add primitives — box, sphere and the rest, from the toolbar
  • Select a part — in the outliner or the viewport, and the right panels show its transform and parameters
  • Transform — move, scale and rotate the part with the controls or the numeric fields
  • Materials — the material slots the part uses, color and finish
  • Parameters — the procedural fields the object exposes (height, radius, rings, hue, spin)
  • Cameras — Make camera in the Camera pane turns a part into an authored camera; Look through makes it the active view. Staging, camera moves and product cards all work from the active authored camera.

Edits preview live in the viewport; committing writes scene.design.json as one undoable step — the scene's state is a document, not a stack of operations.

Create a scene, add primitives, shape the transform, assign materials.

Procedural and native

The authoring backend shows on the status bar:

  • Procedural — always available; geometry from parameters in scene.design.json
  • Native — Blender-backed recipes, when Blender is installed (see Blender)

Procedural edits are the fast path — the parameters are sliders, not vertices. Native adds the heavier recipes when a shape needs real modeling.

Motion presets

Select one or more objects and open Motion presets. A preset compiles into ordinary keyframe tracks you can edit like any other:

  • turntable — spins each object on its Axis; Amount is revolutions
  • explode — pushes objects apart from their shared center and back; Amount is the distance in local units
  • float — moves each object along the axis and back, in local units
  • breathe — adds to local scale on the axis and back

The other fields are Duration, Delay, Stagger with its Stagger order (forward, reverse or random), Hold fraction (how long explode stays fully apart), Easing (linear, smooth, in-cubic, out-cubic, in-out-cubic) and Seed for the random order. Add to active clip puts the tracks on the current clip; clear it to get a new clip.

Preview selection loads the result onto the timeline without touching the document — scrub it to inspect. Apply tracks commits it as one undoable step; Discard drops it.

The settings are stored as a recipe on the document, together with each object's rest pose. Applied recipes are listed under the form:

  • Preview regeneration — recompiles the recipe against the current scene, so the motion follows a changed layout
  • Detach to editable tracks — ends the link; the tracks stay, the recipe no longer regenerates

Regeneration refuses to overwrite a generated track you have edited or locked. Detach the recipe, or put the new motion on a separate clip. A preset also refuses to add a track where the object already has one on the same channel in that clip.

Stage a product shot

Open Product shot, select the product, and pick an aspect (16:9, 1:1 or 9:16) and a Lighting preset:

  • Studio three-point
  • Soft overcast
  • Low-key
  • Silhouette

Frame and light selection creates a Product camera framed on the selection plus key, fill and rim lights, sets the environment intensity for the preset, and makes the new camera the active view — all in one undoable step. The lights are directional approximations of each look.

With an authored camera active, Camera orbit and Camera push add a 4-second camera move as editable position and rotation tracks — on the current clip, or on a new one if there's none. Framing fits a bounding sphere over the selection sampled across the active clip, so the subject stays in shot while it moves. If the camera already has position or rotation tracks in that clip, the move is refused — use a new clip or remove those tracks first.

Timeline: beats and loop

Beat markers stores named moments on the current clip. Type a Beat name and Mark playhead saves it at the playhead; reusing a name moves that beat. Each beat shows as a button with its time — click one to jump the playhead there. You can't mark a beat while a motion preset preview is loaded.

The Loop checkbox next to play decides whether preview playback wraps at the end of the clip or holds on the last frame. It's on by default.

Scrubbing a clip with material tracks no longer leaks into the base material: the authored opacity, transparency, emissive and alpha cutoff are restored between samples, so what you commit is what you authored.

Import baked motion

Import native motion in the toolbar takes a baked motion .json — a native scene document with baked meshes and clips, such as the output of the kit's rigid-animation compiler. It merges into your scene as one undoable step: every object, geometry, material, clip and track gets a fresh identity, so nothing collides with what's already there. The imported roots are selected and the first imported clip becomes active.

The source's document id, revision and provenance are recorded on the scene, with the mapping from source objects to new ones. A file that references external assets is refused — bring meshes in with Import GLB instead.

Product cards

With an authored camera active, Product card opens the Product card composition dialog: the live scene framed by that camera, a fitted title and subtitle, and a callout pinned to an object in the scene.

  • Aspect — 16:9, 1:1 or 9:16
  • Title and Subtitle — text that fits its box
  • Artwork — an optional PNG, JPEG or SVG
  • Ink — None, Draw-on diagram, Logo accent or Mascot gesture
  • Reduced motion — freezes entrances: text appears at rest and the scene holds a single frame instead of playing

Drag the frame slider to check any frame. Save composition writes composition.design.json with pinned scene snapshots; Open saved composition reloads it. The card works from a snapshot of the scene taken when you open the dialog.

Export PNG renders the current frame, Export PNG sequence every frame, and Export MP4 encodes and verifies a video using the ffmpeg and ffprobe on your PATH. Each export lands in its own exports/composition-* folder with a manifest.json of file hashes, the document hash, the frame range and the validation findings. Cancel export stops it without writing a completion manifest. If the scene's environment texture can't load, the render fails instead of producing untextured frames.

What a GLB export carries

Export ▾ → GLB — evaluated scene + clips writes exports/scene-<rev>.glb and, beside it, scene-<rev>.glb.manifest.json. The manifest records the document hash, the render backend and platform, the scene's assets, the motion check findings for every clip, and a line per animated channel saying what the GLB delivered: position, rotation and scale are baked in; material, light and camera property tracks are marked native-only, because the format omits them. Muted tracks are left out. See Export formats for the rest of the menu.

Steering a scene

The editor is one tool among the steering set:

  • Editor edits — direct parameter, part and material work
  • ⌥-click / follow-ups — ask the agent to reshape or relight
  • Versions — keep one shape while exploring another
  • Tweaks — the sliders the object exposes for fast parameter play

Tip: Edit the parameters before the primitives — "more rings, tighter spin" is a slider move in a procedural scene; hand-moving vertices is for when the shape outgrows its parameters, which is what Blender's for. For motion, start from a preset and detach only when you need to hand-key.