Describe staged source verification boundaries accurately

This commit is contained in:
Emil
2026-09-24 04:04:39 +03:00
parent 523dbd76a4
commit bf51ff0ec4
6 changed files with 26 additions and 13 deletions
+4 -3
View File
@@ -28,7 +28,7 @@ Player is observed by the Editor, which keeps its logs and authoring state.
An unchanged second build still asks CMake/Ninja to verify their dependency graph.
When the native outputs, gameplay sources, toolchain, shaders and runtime inputs
match the validated package, **Jobs** reports `schema_cache_hit` and
`generation_reused` as true and returns the same immutable generation without a
`generation_reused` as true and returns the same verified generation without a
second SchemaExporter run or package copy. A changed `.cpp`, header, Lua declaration,
build recipe or relevant tool invalidates that reuse. A damaged cached package is
not treated as a hit. The job also exposes elapsed phases and a build fingerprint;
@@ -64,9 +64,10 @@ Development builds use **Debug**. Exports default to **Release** and use a separ
CMake cache. The BuildService API also accepts `RelWithDebInfo` for exports. Exporting
does not change the configuration of your development Player.
Each successful export creates an immutable directory under
Each successful export creates a versioned directory under
`Exports/MyGame/generations/<generation>`. `current.json` points to the active
generation. Distribute the **whole generation directory**, not just the executable.
generation. The Editor leaves published generations untouched. Distribute the
**whole generation directory**, not just the executable.
If building, cooking or verification fails, the previous pointer and package remain
available. Cancelling a job does not delete earlier exports.
+1 -1
View File
@@ -36,7 +36,7 @@ Add explicit entry scripts to `project.faset.json`:
This is a manifest fragment, not a complete project file. Each entry must return one
`faset.behavior` table with a unique custom TypeId. All sources live beneath `Scripts`
and are captured as an immutable build/export snapshot. Paths must be project-relative;
and are copied into a content-verified build/export snapshot. Paths must be project-relative;
symlinks and paths outside `Scripts` are rejected. Auxiliary modules do not need to
appear in the entry list.