Top level
| Field | Required | Meaning |
|---|---|---|
version | yes | Always 1. |
revision | yes | Non-negative integer; every accepted edit increments it by one. |
name | no | Display name. |
budget | yes | Upper limits the world must respect (below). |
materials | yes | 1–32 named materials. |
parts | yes | The objects of the world, at least one. |
rhythms | no | Up to 16 shared drivers that parts follow. |
lighting | no | World light: ambient, sun, bloom, bloom_threshold, exposure, fog. |
environment | no | background as linear [r, g, b] and grid as a boolean. |
Budgets: triangles 1–20,000, nodes 1–256, lights 0–8, particles 0–1,024. If a world goes over its budget, Blank rejects it. It does not simplify it for you. A recipe is at most 512 KiB.
Identifiers (part, material and rhythm names) match [a-z][a-z0-9_-]{0,63}. Distances are metres in a right-handed space with +Y up. Angles are radians.