4.1 KiB
P1 and P3 integrated acceptance — 2026-09-24
The final code revision is ed523c61c106b8e19614e4d56f0b5d39b8392478.
The Release export report records a clean source checkout and the
exact Editor SHA-256. The Editor exported collect-2d, collect-3d with its
Blender exit arch, and the Lua-only example. Each package was relocated to a
Unicode-named path outside its disposable source project; those source paths
were hidden while the Player validated and rendered from an unrelated working
directory. All three packages passed 120/120 offscreen frames on a physical
NVIDIA GeForce RTX 2080 Ti with active Vulkan validation and zero errors. The
file checksums, package manifests for
2D,
3D and
Lua, and raw 2D,
3D, and Lua
profiles preserve the result without duplicating native build directories.
| Final-code check | Result |
|---|---|
| Linux Debug full CTest | 76 passed, 1 compositor-dependent native window skip, 0 failed (77 registered) |
| Linux Release P1/P3-focused CTest | 24 passed, 0 failed |
| Relocated Release games on physical Linux GPU | C++ 2D, C++ 3D, Lua-only: 120 frames each; validation active, 0 errors |
| Native/manual CI | Linux and Windows native checks plus strict MkDocs passed |
| Windows software-Vulkan CI | 78/78 CTests, Release export integration and three relocated 120-frame C++/Lua games passed on SwiftShader; validation layer unavailable |
The P1 queued-edit regression verifies that an asynchronous Build or Export reports the gameplay-source hash captured by its worker, not the hash from when the command entered the queue. The P3 shader-reload regression first reproduced a null-pipeline crash during Direct-to-GPU switching with TAA active; the failed transition now preserves the old pipelines and history and can be retried after restoring the shader package. Both regressions are in the full Linux suite and Windows native/graphics checks.
The final P3 temporal matrix
records 1,386 lossless frames across Direct, GPU frustum and GPU occlusion,
plus an independent 90-frame 720p profile. All captures used active Vulkan
validation with zero errors; its 1,388 PNG files are byte-identical to the
earlier branch matrix. The integrated lighting study
contains 7,560 frame rows from the earlier clean 4a3453e revision, on the
same physical GPU and shader path. Its dense tile build+raster case was slower
than forward; the localized-light case was faster, so Auto remains forward.
The P1 240-frame Release reference
passed the original small-demo timing budgets but missed the old 20 MiB
explicit-allocation target at 43.02/43.12 MiB because both shadow atlases are
allocated eagerly. The final revision does not change that allocation policy.
TAA and 0.67 Upscale remain opt-in. The 2× spatial reference was more accurate on the fixed thin-wire fixture, and Upscale did not reduce whole-frame GPU time in the sparse 720p test. These checks cover one physical Linux GPU and Windows SwiftShader functionality; a physical Windows GPU and broader driver families still need separate testing.
Reproduce the relocated Release check from a clean source checkout with the documented dependencies:
cmake --preset linux-release
cmake --build --preset linux-release --target faset_editor --parallel 2
python3 tools/verify_playable_exports.py \
--editor build/linux-release/faset_editor \
--output /tmp/faset-p1-p3-export-new \
--standalone-root /tmp/faset-p1-p3-games-new \
--include-lua
Use fresh output paths. The verifier retains the full packages and captures outside the repository, while this dossier commits the report, selected manifests, per-frame profiles, and run records.