World

In plain words: Foundry: building game worlds

Designed 4 min read 6 glossary terms 11 connected pages
The short version written for the Snayu team

How Foundry compiles an inert world plan (space, placements, spawns, physics, navigation, gameplay) into an engine-native world, with Godot as the first engine candidate.

Why read it: Read when working on world assembly, procedural generation, Godot integration or AI-proposed levels.
  1. 1The world plan is data, never code or live mutation authority.
  2. 2Godot is the first proposed engine; headless mode does not prove containment.
  3. 3Models may propose plans or patches but cannot claim playability or execute code.

Designed Engine study dated 2026-08-08; no delivered Godot adapter.

Words on this page, decoded click one for its card

The original text Underlined words open their plain-English card.

A room needs more than visible walls to become a playable place. The player must spawn somewhere, collide with the right surfaces, navigate a route, trigger an interaction, and leave evidence that those relations work. World compiles those meanings into an engine-native candidate from admitted design, source, assets, and motion.

The engine-profile study was reviewed 2026-08-08. Foundry is an accepted application design; this candidate tool path proves no delivered PatternWorkflow, Godot adapter, TombSandbox, project store, or permission to execute hostile projects.

One inert assembly plan

design and admitted catalogue
→ inert WorldAssemblyPlan@1 or closed procedural recipe
→ schema, reference, bounds, cardinality, and target validation
→ contained engine compiler
→ collision, navigation, presentation, and controller bake
→ static probes and declared gameplay scenario
→ candidate world revision

WorldAssemblyPlan@1 describes one bounded 2D/3D world or slice. It may be authored, compiled from a closed recipe, or proposed by a Mind. It is inert data, never GDScript, Python, an engine scene, shell, or live-world mutation authority.

Facet Required facts
source frame exact design, project, asset-catalogue, Form assembly, Kinesis motion, and parent-world revisions
space 2D or 3D coordinates, units, axes, origin, bounds, zones, layers, chunks, and streaming roles
placements stable node or entity ids, exact artifact facets, transforms, variants, parentage, and instance bounds
anchors player and actor spawns, cameras, entrances, exits, interactions, checkpoints, targets, and authored landmarks
collision and physics body role, shapes, materials, layers, masks, joints, gravity zones, backend profile, and declared tolerances
navigation agent profiles, walkable regions, links, avoidance policy, bake parameters, unreachable policy, and expected routes
presentation lights, probes, audio zones, occlusion, ambience, level of detail, visibility, and performance budgets
motion use exact clips, target rigs, controller states, transitions, blending, root-motion policy, and event bindings
gameplay actors, components, interactions, triggers, state, win or stop predicates, and separately referenced source behavior
procedure seed, closed generator revision, opened parameters, maximum counts, spatial envelope, and termination rule
target EngineProfile@1, platform, quality profile, scenario set, and build acceptance criteria

The principal PatternWorkflow uses game.assemble_world@1, game.bake_world@1, and game.validate_world@1 as semantic SpellsSteps to turn the plan into an inspectable candidate. The compiler checks identities, references, bounds/cardinality, units/axes, placements, physics/navigation, resource ceilings, and target support. It returns unsupported facets in WorldFindingSet@1 instead of silently dropping them.

When baking succeeds, WorldBakeReceipt@1 preserves source/result digests, compiler/profile, transforms, generated collision/navigation/lighting/LOD, warnings, validation, and loss. That receipt explains the relationship between the plan and the resulting world.

Engine .tscn/.scn files and resources emitted by the world compiler, along with import caches, navmeshes, lightmaps, and shader caches, remain derivatives. They do not replace the plan, project source, source assets, Form assembly, or Kinesis clips.

Godot is the first engine profile

The dated first candidate is Godot: an MIT engine with command-line import, headless execution, export, and scene/navigation/animation facilities for the proposed 2D/3D slices. EngineToolJob@1 bounds each finite inspect, import, assemble, bake, validate, test, or export by exact root, operation, inputs, profile, limits, outputs, findings, cancellation, and receipt. Playtest separately owns the live PlaytestSession@1.

A Worker delivers the job to a trusted executor or TombSandbox through a pinned ToolProfile. Independent residency, queue, lifecycle, or remote work may justify ana AnimatorModel Runtime JobGrant; direct Godot is no SoulstoneLocal Model. Editor ports, debug consoles, generic RPC, arbitrary CLI arguments, and project scripts cannot be the stable contract.

To make an engine result assessable, EngineProfile@1 pins the engine binary/build digest, export-template digest, platform/renderer, and GPU/display/audio mode. It also fixes physics backend/tick/substeps/threading, navigation settings per agent, importers/plug-ins/revisions/licences, and locale/timezone/random streams. Network policy, CPU/GPU/RAM/disk/time ceilings, and trusted-fixture versus TombSandbox posture bound how that environment may run.

Running headless does not prove containment, deterministic rendering, or audio behavior. Treat project scripts, native extensions, plug-ins, shaders, resource references, archives, and generated code as hostile. General execution must wait for Tomb evidence covering filesystem, process, device, network, secret, resource, cancellation, and residue boundaries.

Reproducibility is similarly specific: physics/navigation results hold only within the exact profile and asserted tolerances. A changed backend, hardware, driver, threading configuration, or engine needs new evidence.

Portable sources and engine derivatives

The first portable 3D asset/assembly projection is glTF/GLB, validated by the Khronos validator before import. OpenUSD/UsdSkel remains a later studio-interchange profile; FBX is optional lossy compatibility and not required for the FOSS road. Blender may prepare contained Form/Kinesis/assets and previews. Opening its scene does not prove engine physics, navigation, gameplay, or playability.

The asset import keeps its transformations in AssetImportReceipt@1. WorldBakeReceipt@1 owns world collision matrices, navigation joins, spawn, streaming, behavior, and controller binding. Reuse preserves their source lineage.

Procedural and model-assisted worlds

A Mind can propose a plan or reviewed project patch. It cannot invent rights, open an unbounded catalogue, install plug-ins, execute generated source, or claim playability from prose. GDScript, C#, native code, shaders, and build configuration pass ordinary diff review, containment, tests, and playtest; they cannot hide in the closed recipe grammar. Video world models return PrismVision & Media pixels; spatial models return Form candidates. Both still need normal admission and engine proof.

Begin actors with project-owned deterministic state machines, behavior trees, navigation policies, and fixture controllers. If a later ActorPolicyProfile@1 admits bounded model observations/actions, the build must already specify what happens when results are unavailable, late, malformed, or unsafe. Admitting that policy grants no console, filesystem, scene mutation, network, or world authority.

Playable evidence handoff

Playtest owns GameplayScenario@1, PlaytestSession@1, and EngineObservationSet@1; Build owns the complete fixtures and candidate. World supplies exact plan, bake receipt, engine profile, and findings.

Spectre may receive a world/build/profile and playtest evidence for VRHabitat@1 admission. It separately checks runtime, spatial, comfort, accessibility, retention, and exit requirements; a successful game scenario does not admit a Habitat.

The neighboring worlds

Shadow owns counterfactual branch lineage and prepares Promotion Requests. Blockworld owns persistent-server missions/effects. Foundry owns the local project candidate: offline .schem or grid import grants no live placement. Signing, upload, rollout/rollback, public players, and remote-copy receipts require a future distribution owner.