diff --git a/docs/validation/p1-starters-linux-2026-09-24.md b/docs/validation/p1-starters-linux-2026-09-24.md new file mode 100644 index 0000000..4e35113 --- /dev/null +++ b/docs/validation/p1-starters-linux-2026-09-24.md @@ -0,0 +1,42 @@ +# P1 starter projects: Linux checkpoint (2026-09-24) + +This is a focused validation of the four explicit new-project choices in commit +`cbb8b4508723e1a3a0bbd53c884e116a47b121dc`. It is not the final P1 acceptance +record. The run used Linux 7.0.0-31-generic x86_64, Clang 21.1.8, CMake 4.2.3, +and an NVIDIA GeForce RTX 2080 Ti with driver 595.84. + +The Editor CLI created C++ 2D, C++ 3D, Lua 2D, and Lua 3D projects in disposable +directories with `--new`, `--dimension`, and `--language`. The test checked the +project manifest, authored start scene, behavior binding, Lua script declaration, +LuaLS files, and the absence of a C++ gameplay stub in Lua-only projects. A real +Debug `faset_build` succeeded for C++ 2D and Lua 3D. Their built Players then +validated and rendered **both** corresponding scene dimensions using the same +language module, so all four templates exercised runtime schema and rendering. +Each headless one-frame render reported `validation_errors: 0` on the physical GPU. + +| Project | Built Player used | `--validate` | One-frame headless render | +| --- | --- | --- | --- | +| C++ 2D | C++ 2D | passed | passed | +| C++ 3D | C++ 2D | passed | passed | +| Lua 2D | Lua 3D | passed | passed | +| Lua 3D | Lua 3D | passed | passed | + +The C++ and Lua source files are identical within each language choice; the 2D/3D +difference is the authored scene. Reusing one built Player per language therefore +checks scene validity without repeating an identical native compile. The focused +CTest cases `process_and_cook` and `editor_ui_launcher` passed 2/2. They include a +two-service concurrent creation test: exactly one starter wins, and the other +cannot overwrite it. A fresh Lua starter was initialized as a Git repository; +`git check-ignore` confirmed `.faset/cache` is ignored while the LuaLS API +declaration `.faset/lua/faset.lua` can be committed. A strict MkDocs build passed. + +These captures are representative output from the C++ 2D and 3D scenes. Lua +scenes rendered the same layout with their own behavior module. + +![C++ 2D starter after one frame](p1-starters-linux-2026-09-24/cpp-2.png) + +![C++ 3D starter after one frame](p1-starters-linux-2026-09-24/cpp-3.png) + +The run did not test Windows, a relocated Release export, multi-frame gameplay +input, or the final P1 build-cache integration. Those belong to the P1 acceptance +matrix and must be recorded separately. diff --git a/docs/validation/p1-starters-linux-2026-09-24/cpp-2.png b/docs/validation/p1-starters-linux-2026-09-24/cpp-2.png new file mode 100644 index 0000000..d8755c5 Binary files /dev/null and b/docs/validation/p1-starters-linux-2026-09-24/cpp-2.png differ diff --git a/docs/validation/p1-starters-linux-2026-09-24/cpp-3.png b/docs/validation/p1-starters-linux-2026-09-24/cpp-3.png new file mode 100644 index 0000000..8f2dc44 Binary files /dev/null and b/docs/validation/p1-starters-linux-2026-09-24/cpp-3.png differ