How-to guides
Direct a cinematic world
Pack direction, galleries, effects, and an audit into the cinematic-world workflow, then review before selecting.
The cinematic-world built-in workflow runs the complete planning-and-review loop for one admitted spatial scene: inspect the world, check and compile authored direction, plan a bounded gallery per axis, bind declared effects into each preview render, and audit sampled temporal evidence. Its input is one inert slopcamera.spatial-recipe-pack document — bounded JSON data, never code.
This guide is the durable-graph counterpart of the scene, direction, and effects commands covered in Render and edit spatial scenes. The commands ship in current source; check slopcamera help scene and slopcamera workflows show cinematic-world --json for the installed contract before relying on them in a release.
Author and check the direction
A slopcamera.spatial-direction document describes beats, actions, camera coverage, and look intents semantically. Its projectDigest must equal the scene's canonical SHA-256:
slopcamera scene inspect world.json --json # read sceneSha256
slopcamera scene direction check direction.json --scene world.json --json
The same direction compiles deterministically into proposed performance, camera, cinema, material-lighting, and shot documents through slopcamera scene direction plan, and slopcamera scene direction gallery plans bounded variants along one axis — performance, camera, lighting, materials, effects, or sequence. Declared effects bind to a render through scene effects plan and scene effects check, and scene temporal-audit reports sampled evidence without launching a renderer. The workflow below composes exactly these operations.
Author the recipe pack
A recipe pack names the scene by digest, one direction document, the gallery axes to explore, named preview render requests, an optional effects block, and optional temporal-audit inputs:
{
"kind": "slopcamera.spatial-recipe-pack",
"schemaVersion": 1,
"packId": "recipe_reveal",
"sceneSha256": "<scene canonical sha-256>",
"direction": { "kind": "slopcamera.spatial-direction", "schemaVersion": 1 },
"cameraId": "camera_main",
"axes": ["camera", "lighting"],
"previews": [{
"name": "reel",
"request": {
"cameraId": "camera_main",
"mode": { "kind": "beauty" },
"selection": { "kind": "frame", "timeUs": 0 }
}
}],
"effects": {
"renderPlan": {
"kind": "slopcamera.spatial-render-plan",
"schemaVersion": 1,
"quality": {
"outputBytes": 8000000, "particleCount": 0, "pixelBudget": 2073600,
"simulationSteps": 0, "texturePixelBudget": 2073600, "tier": "preview"
}
},
"particleSystems": [],
"simulationBakes": []
},
"temporalAudit": { "timesUs": [0, 2000000, 4000000] }
}
The pack's own rules: axes takes 1–6 unique values from the six axis names; previews admits at most 4 named render requests; temporalAudit requires cameraId and bounds timesUs to 64 samples; packId carries a recipe_ prefix. Omit effects or temporalAudit entirely to skip those branches — the workflow does not guess defaults for them.
Plan the workflow
The workflow input wraps the pack with the admitted scene and the repository path of the same scene:
{
"pack": { "...the recipe pack above..." },
"scene": { "...the slopcamera.spatial-scene document..." },
"source": { "path": "scenes/world.json" }
}
pack.sceneSha256 must equal the canonical digest of the embedded scene, and every preview request is revalidated against the render-request schema at admission. Planning compiles the graph and reports its requirements without executing any operation:
slopcamera workflows plan cinematic-world --input input.json --json
Run and review
slopcamera workflows run cinematic-world --input input.json --json
The run produces inspect output, a direction check report, a verified: false direction compilation, one bounded gallery plan per axis, an integrity-bound effects document per preview, each preview render receipt, and a temporal-audit report. Durable runs resume through slopcamera runs show and runs resume with the same receipts and recovery rules as every other workflow — see Run or recover a workflow.
What the workflow never does
- It never selects or promotes a candidate.
slopcamera scene project select-candidateand the creative-selection workflow are separate explicit operations after review. - Compiled direction stays
verified: false; it is a proposal document, not applied state. - Planning and graph compilation execute no operations, read no credentials, contact no providers, and mutate no project state.
- A recipe pack cannot register operations, executors, source paths beyond the declared render source, permissions, secrets, or remote URLs. It is inert data validated before graph construction — see Extend Slopcamera for the full trust model.
Iterate
Change the direction, axes, previews, or effects block and repack — the pack digest changes, and planning produces a new deterministic plan identity. Equivalent inputs always yield the same plan, so a diff in graphPlanSha256 is a diff in declared intent.