Retained game construction
Native 2D and 3D drafts can retain the construction that built them. Preparation produces accepted resources. A bounded construction program uses literal inputs and pinned asset bindings to produce a native document. Play executes that document with separate session state.
Construct and save
Read the game builder pack.
constructGame({inputs, seed}, (inputs, builder) => { return document; }) returns
a bundle for saveGame. The callback has explicit inputs and cannot close over
outer variables. The builder provides typed parameters, prefab definitions and
instances with explicit keys. Names and construction order do not supply IDs.
Retained metadata stores the program, inputs, authoring seed, generated baseline, parameter schemas and prefab relationships. Native documents keep their existing 2D or 3D schema version. Documents without retained metadata remain supported.
Review and apply a rebuild
nodetool.games.previewAuthoring(id, {program}) returns a candidate with changed
entities, dependencies, conflicts and a restart requirement. Omit program to
rebuild the saved construction. Preview writes no draft or publication.
nodetool.games.applyAuthoring(id, candidate) rebakes and compares the result to
the preview. It saves only if the draft timestamp and digest still match and all
conflicts are resolved. Publishing remains a separate operation.
The Game editor exposes construction source, inputs and typed parameter controls.
Preview highlights affected entities. Apply is disabled for stale candidates or
unresolved conflicts. Rebuilds reject external capabilities, including network,
workspace, media storage, secrets and host modules. Use builder.random() for
seeded authoring randomness.
Continue editing
Moving a generated object records property overrides. A later scale change can propagate while its overridden position remains intact. Deleting a generated object records suppression, which survives later rebuilds. The inspector exposes inherited, generated and overridden fields, prefab identity, reset and detach. Suppressed objects can be restored from the construction panel.
Removing a referenced or overridden generated object, colliding with a manual object’s ID, or making competing changes to scene settings produces a conflict. Reset the manual override, detach the object, or adjust construction to resolve it. Behavior arrays are atomic override values. Rebuilding does not migrate live behavior state.
Active retained-game sessions keep their accepted definition and asset bindings. Restart play to adopt a rebuilt draft. Runtime spawn, collection and death state never becomes authored content.
Verification
The delivery fixture moves a collectible, suppresses another, changes player and prefab parameters, then rebuilds twice and verifies a fixed-input win with snapshot restoration and captured frames. Use the existing game replay harness for additional routes.