Archive P1 iteration workflow and manual checkpoint

This commit is contained in:
Emil
2026-09-24 03:45:18 +03:00
parent d7a7a7c3a4
commit 822b44f1d7
201 changed files with 100058 additions and 29 deletions
+1
View File
@@ -3,6 +3,7 @@
These files preserve bounded checks and their inputs. Each record states its source revision or working-tree limitation; a passing record does not certify later commits or every supported platform.
- [MVP acceptance dossier](mvp-acceptance.md): criterion-by-criterion closure, tested revisions and remaining compatibility coverage.
- [P1 gameplay iteration](p1-iteration-2026-09-24/README.md): repeatable Debug C++/Lua workflow, raw samples, toolchain provenance, real compiler navigation and coverage limits.
- [P2 GPU visibility Linux evidence](p2-gpu-visibility-2026-09-23/README.md): Debug/Release GPU acceptance, lavapipe functional checks, relocated Player exports, and explicit platform/performance limits.
- [P2 pinned SwiftShader compatibility](p2-swiftshader-2026-09-23/README.md): the Windows CI regression, shader capability fix, independent review closure, final native CI and relocated Player evidence.
- [Windows software Vulkan](windows-software-vulkan-2026-09-18/README.md): fresh native build, 35 tests, launcher/window/MCP workflows and both relocated Release games on SwiftShader.
@@ -45,8 +45,14 @@ ctest --test-dir build/linux-release --no-tests=error --output-on-failure \
The render used the Player's synthetic fixed timestep and offscreen Vulkan
presentation. It does not establish manual window interaction or physical
Windows GPU compatibility. The Windows graphics workflow now includes this Lua
package beside both C++ examples under a pinned SwiftShader Vulkan driver; its
result must be recorded separately after CI completes.
Windows GPU compatibility. The separate
[Windows graphics run at `4ac02ee`](https://github.com/emil28092005/Faset_Engine/actions/runs/35937433040)
passed 61/61 CTests and relocated all three Release games under pinned SwiftShader.
The Lua-only package validated and completed 120 offscreen frames with its source
project paths hidden. Its device is a **software** Vulkan implementation; the
Khronos validation layer was not active on that Windows worker. The
[P1 dossier's Windows report](../p1-iteration-2026-09-24/windows-4ac02ee/playable-report.json)
retains the source/package identities and result. This does not establish
physical Windows GPU compatibility.
![Lua game rendered by the relocated Release Player](lua.png)
@@ -0,0 +1,119 @@
# P1 gameplay iteration: measured Linux workflow
The [unaltered version 2 workflow report](report.json) was produced by a clean
`6c2e8fa80036315a695f67f3c53524165fb4b10a` checkout on 2026-09-24.
It used disposable copies of the checked-in `collect-3d` and `examples/lua`
projects. Every sample, process log and Player profile is retained under `raw/`;
[the run log](workflow.log) shows the order and completion. The report identifies
each input revision by SHA-256, and records all command arguments, phase labels,
configuration and dirty-tree state. Its SHA-256 is
`fd463c0cd12eed0a22143aa68bd732386804b0df4ecb2a3d9caa26f59dcfe6e2`.
The original report's `toolchain.slang` is `null` because that version looked
for `slangc` on `PATH`, while CMake used a configured executable. A **separate**
[post-run provenance supplement](provenance.json), generated after commit
`abd8c21` from the surviving disposable [compressed CMake cache](CMakeCache.txt.gz), hashes
the selected CMake, Ninja, C/C++ compiler, Slang, Editor and UI-probe binaries.
It binds to the original report hash and records both script revisions. The
measured report was not rewritten. Subsequent workflow runs include these
identities in their report directly. `4ac02ee` changed only the Windows CI export
fixture location; neither follow-up is presented as the measured code revision.
## Measurement conditions and results
The host ran Linux 7.0, Ryzen 7 1700, 32 GiB RAM, RTX 2080 Ti and NVIDIA 595.84.
The disposable project used Debug, Clang 21.1.8, CMake 4.2.3, Ninja 1.13.2 and
Slang 2026.18. The Player rendered offscreen Vulkan at 1280×720 with validation
active and full-frame readback. The run did not overlap the separate P3 GPU sweep.
Build times still depend on ambient CPU load, filesystem cache and prepared
dependencies. The `cold` row means an empty project `.faset` cache, **not** a cold
OS page cache or a first dependency download.
| Observation | Samples | Median | Nearest-rank p95 | Scope |
| --- | ---: | ---: | ---: | --- |
| Initial configure and native build | 1 | 106.01 s | — | Disposable Debug project |
| Unchanged build | 5 | 11.53 s | 13.12 s | All five reused the verified schema/package generation |
| Changed `Gameplay.cpp` build | 5 | 28.16 s | 30.33 s | One warm-up edit excluded |
| Changed `Gameplay.hpp` build | 5 | 23.89 s | 25.51 s | One warm-up edit excluded |
| Watched Lua edit to reload log | 5 | 0.502 s | 0.504 s | Persistent Player; includes watcher polling |
| First completed offscreen Player frame | 5 | 0.284 s | 0.333 s | From `main()`; excludes OS loader and window presentation |
| Synthetic Editor input to rendered state | 100 | 13.97 ms | 18.03 ms | Ten warm-ups; offscreen retained-UI frame, not input-to-photon |
The intentional C++ compile failure took 10.00 s and the corrected recovery
build 19.93 s. The failed job preserved its prior successful build pointer.
The run also imported the small Blender bundle cold and cached in 49 and 52 ms,
respectively; Editor process startup dominates that tiny asset sample, so those
two values do not establish import-cache speedup. The raw
[failed-build job](raw/build_failure-01-stdout.txt) exposed a navigation defect:
the compiler named the immutable source snapshot, and the original structured
diagnostic omitted `file`. A later fix maps only the verified staged `Scripts`
subtree to project-relative source. A [real failed-build replay](diagnostic-replay.json)
with the corrected Editor returns `Scripts/Gameplay.cpp`, line 73, column 2.
The `build_diagnostics` test also covers project-contained snapshot paths and
Windows drives; `build_schema_publication` verifies that an error after 250
third-party warnings survives the 200-row diagnostic limit. These are separate
from this unmodified measurement.
The [3,000-frame lifecycle profile](raw/cpp-3000-frame-lifecycle.json) completed
with zero Vulkan validation errors. Maximum explicit Vulkan allocation was
15,787,008 bytes in both frames 101–200 and 2901–3000, a measured growth of zero;
the live texture count remained one. These counters exclude driver-internal
memory and do not prove absence of all resource leaks.
The generated [527-entity scene](raw/generated-512.scene.json) adds 512 seeded
copies to the 15-entity source and ran for 240 offscreen frames with zero Vulkan
validation errors. Its [raw profile](raw/generated-512-profile.json) reports p95
frame wall 149.39 ms, simulation 48.19 ms, scene snapshot 68.12 ms, renderer call
36.51 ms and GPU timestamp 0.911 ms. It exposes a significant CPU scaling cost
in this synthetic content; it is not a typical-game benchmark or a Release budget
failure for the tiny checked-in sample.
## Reference budgets and coverage
The [2026-09-18 Release reference baseline](../linux-release-2026-09-18/README.md)
measured the **exact** `collect-2d` and `collect-3d` packaged scenes on this host,
at 1280×720 with validation/readback. Its 240-frame p95s met the initial tracking
budgets: frame 2.684/2.732 ms versus ≤4; GPU 0.579/0.600 ms versus ≤1; readback
0.633/0.608 ms versus ≤1; simulation 0.258/0.300 ms and snapshot 0.215/0.257 ms
versus ≤0.5 each. Explicit allocations were about 15.02/15.06 MiB versus
≤20 MiB; first-frame startup from `main()` was 265.5/260.8 ms versus ≤500 ms.
That baseline was an evolving working tree in September, not a fresh Release
measurement of `6c2e8fa`; its numbers are **historical** and are not compared with
this Debug workflow's timing. A current-revision, quiet-host Release rerun remains
needed before claiming the budgets again.
The [Lua-only Linux Release dossier](../lua-release-2026-09-24/README.md) separately
records a relocated package that validated and rendered 120 frames after hiding
its source project, with 0 validation errors. The final fixture placement was
checked in clean-revision [`4ac02ee` Windows graphics CI](https://github.com/emil28092005/Faset_Engine/actions/runs/35937433040):
61/61 CTests passed on pinned SwiftShader, the real 2D/3D Release export
integration passed, and **all three** relocated Release games (`collect-2d`,
`collect-3d`, Lua-only) validated and rendered 120/120 frames with source paths
unavailable. The [Windows playable report](windows-4ac02ee/playable-report.json)
contains package and source hashes, device identity, result details and capture
checksums; [integration results](windows-4ac02ee/integration-result-2.json),
[integration manifests](windows-4ac02ee/integration-manifest-2.json),
[Vulkan probe](windows-4ac02ee/vulkan-probe.json) and
[toolchain record](windows-4ac02ee/toolchain.json) preserve representative raw
evidence. The parallel [native/manual CI](https://github.com/emil28092005/Faset_Engine/actions/runs/35937433211)
passed on Linux and Windows. This is **software** Vulkan; Windows did not have an
active Khronos validation layer (`validation_enabled: false`), and no physical
Windows GPU/driver performance claim follows. A later CI run must cover the
`d7a7a7c` real diagnostic-navigation assertion added after this export run.
## P1 acceptance record
| Area | Evidence and current limit |
| --- | --- |
| Lua | Linux native and Release [relocated Lua result](../lua-release-2026-09-24/README.md); Windows CPU/SwiftShader 61-test suite and [relocated Lua-only Release report](windows-4ac02ee/playable-report.json), 120 completed frames. |
| Cache and rollback | [Five verified hits](report.json), `build_cache` and `build_schema_publication` contracts for headers, toolchain, schema/shader corruption and source races; the raw failed/recovered build retains the previous pointer. |
| Diagnostics | `build_diagnostics` fixtures cover Clang, clang-cl, Lua, Unicode and unparseable output. The raw real failure above found a staged-source mapping gap; [the replay](diagnostic-replay.json), parser case, warning-flood case and real BuildService integration assertion cover the correction. |
| Starters/navigation | [Four runnable C++/Lua × 2D/3D starters](../p1-starters-linux-2026-09-24.md) plus launcher/CLI and source-open tests. |
| Autosave | `editor_session_settings`, UI tests and [workspace behavior](../../manual/editor/workspace.md#create-and-save-a-scene): idle coalescing, unnamed Save As, external/revision conflicts, Undo and recovery. |
| Iteration | This report, 179 raw files, 3,000-frame and seeded larger-scene profiles; no CI timing gates. |
| Documentation | The English Manual describes build/reload, templates, navigation, autosave and profile interpretation; strict MkDocs and full platform test totals are recorded in the implementation journal. |
The [profiling guide](../../manual/editor/profiling.md#measure-editor-c-and-lua-iteration)
documents how to repeat the run and interpret its deliberately distinct timing
labels. C++ hot reload, state-preserving Lua reload and Player-world MCP are not
part of this P1 contract.
File diff suppressed because one or more lines are too long
@@ -0,0 +1,53 @@
{
"format": "faset.workflow-provenance-supplement",
"version": 1,
"captured_at_utc": "2026-09-24T00:17:12.501486+00:00",
"measurement_revision": "6c2e8fa80036315a695f67f3c53524165fb4b10a",
"collector_revision": "abd8c21273ac886f6afe30e728a27a65b882f11f",
"report_sha256": "fd463c0cd12eed0a22143aa68bd732386804b0df4ecb2a3d9caa26f59dcfe6e2",
"measurement_script_sha256": "dc13c1b253b8093ac4a528b7194a1e54e0cb00fdfe0881021e6740de40717ee3",
"collector_script_sha256": "8fd8098c11e01ef6e0b2c0681f26d62b1dedf0e25840222642ec5d77df248868",
"archived_cmake_cache": "CMakeCache.txt.gz",
"binary_provenance": {
"cmake_cache_sha256": "d82a2b2ed39430f9ebba82b87b182a1a8822e2419a69778eb4dadcb074064c73",
"binaries": {
"cmake": {
"path": "/usr/bin/cmake",
"sha256": "6e1dccda39845415d68eabb934c598998949c99ec4668625d571aee1827b05c7",
"version": "cmake version 4.2.3"
},
"ninja": {
"path": "/usr/bin/ninja",
"sha256": "91e9548850cda2799facfdaa7abe33f9e978832f85e98212255708a7bbe437f2",
"version": "1.13.2"
},
"c": {
"path": "/usr/lib/llvm-21/bin/clang",
"sha256": "412bbe8c60571a1eb06f48fde89635033621caeb01a9b4ee76d46711bae8e932",
"version": "Ubuntu clang version 21.1.8 (6ubuntu1)"
},
"cxx": {
"path": "/usr/lib/llvm-21/bin/clang",
"sha256": "412bbe8c60571a1eb06f48fde89635033621caeb01a9b4ee76d46711bae8e932",
"version": "Ubuntu clang version 21.1.8 (6ubuntu1)"
},
"slang": {
"path": "/home/emil/Desktop/Faset_Engine/.cache/slang/bin/slangc",
"sha256": "ff47ad16a3110e43f96a45e90720e6f894371d27f5e47715b298159e395b75e8",
"version": "2026.18"
},
"editor": {
"path": "/home/emil/Desktop/.worktrees/Faset_Engine-p1-p3/build/linux-debug/faset_editor",
"sha256": "e0cd1a3e7dec54e6960723b1a9068602a17e84e14e490289ea6de6ebf3964657",
"version": null
},
"ui_latency_binary": {
"path": "/home/emil/Desktop/.worktrees/Faset_Engine-p1-p3/build/linux-debug/faset_editor_ui_latency",
"sha256": "c1b7f68c0e68d5c38d458330d22cbaa7dd6ed2d2962df520fd99cf7eb71ea1ed",
"version": null
}
}
},
"note": "Captured after the completed run from its surviving disposable CMake cache and unchanged measured binaries; report.json is the unmodified original run output.",
"cmake_cache_archive_sha256": "da52ab111b3b1a14a73f322e4ad7594ac55e72512074ec92c1889f03ae98a38b"
}
@@ -0,0 +1,2 @@
Command exited with non-zero status 1
{"peak_rss_kib":303308}
File diff suppressed because one or more lines are too long
@@ -0,0 +1,17 @@
{
"seconds": 9.99945926599321,
"returncode": 1,
"build_configuration": "Debug",
"source_hash": "9cf76ceab03f32fc0baf1eebf6db150fe386fe685ee3a9137271a806f97bdff9",
"command": [
"/home/emil/Desktop/.worktrees/Faset_Engine-p1-p3/build/linux-debug/faset_editor",
"--project",
"/tmp/faset-p1-workflows-20260924-3/project",
"--command",
"{\"name\": \"faset_build\", \"arguments\": {}}",
"--wait"
],
"stdout": "raw/build_failure-01-stdout.txt",
"stderr": "raw/build_failure-01-stderr.txt",
"peak_rss_kib": 303308
}
@@ -0,0 +1 @@
{"peak_rss_kib":351984}
File diff suppressed because one or more lines are too long
@@ -0,0 +1,17 @@
{
"seconds": 19.928895885997918,
"returncode": 0,
"build_configuration": "Debug",
"source_hash": "801fb7ba8f67c774ab1d7ec6350c8f099bf37aa6cd34afc952f7e81954df971e",
"command": [
"/home/emil/Desktop/.worktrees/Faset_Engine-p1-p3/build/linux-debug/faset_editor",
"--project",
"/tmp/faset-p1-workflows-20260924-3/project",
"--command",
"{\"name\": \"faset_build\", \"arguments\": {}}",
"--wait"
],
"stdout": "raw/build_recovery-01-stdout.txt",
"stderr": "raw/build_recovery-01-stderr.txt",
"peak_rss_kib": 351984
}
@@ -0,0 +1 @@
{"peak_rss_kib":9248}
@@ -0,0 +1,210 @@
{
"error": "",
"id": "import-ae79d218-16e3-4275-a83b-1c3ac2aa99f3",
"kind": "import",
"progress": 1.0,
"request": {
"allow_removed_outputs": false,
"path": "Assets/exit-arch/manifest.json",
"settings": null
},
"result": {
"asset_id": "5832763b-3ed0-44d6-9088-0b524f196a91",
"cache_hit": true,
"diagnostics": [],
"generation": "4a5bfcc1437a7b4d65c388da2beace0308cceda8e16503d08ce676260f21d5c2",
"manifest": {
"asset_id": "5832763b-3ed0-44d6-9088-0b524f196a91",
"files": [
{
"path": "meshes/mesh-fc069a07a87e0f831fd92efdbc4efa1f-0.fmesh",
"sha256": "98b38aca7d2786c58a2265ba4d1f2255123f03d31d947e239232cf55bfdc2c97",
"size": 928
},
{
"path": "meshes/mesh-0961e2a3f92977836a3aa80cab09277e-0.fmesh",
"sha256": "98b38aca7d2786c58a2265ba4d1f2255123f03d31d947e239232cf55bfdc2c97",
"size": 928
},
{
"path": "meshes/mesh-93b5b3e52cb6bb120fefb80e2d8e222b-0.fmesh",
"sha256": "3875c16ea628d4126373ebfe07816621fbad3961596a2fcd112f1eec0e378071",
"size": 928
}
],
"generation": "4a5bfcc1437a7b4d65c388da2beace0308cceda8e16503d08ce676260f21d5c2",
"importer": "faset-gltf-1/cgltf-1.15",
"input_key": {
"bundle_sha256": "7a13347adc89761fb02ebeab3c58ba87f319cd62f53ec87a3bb61bcd066ffa55",
"dependencies": {},
"importer": "faset-gltf-1/cgltf-1.15",
"settings": {},
"source": "ee6c748a212905fc9c465cbe95c033e94b80be643624f4f240ad5353761205b3",
"target_profile": "desktop-static-pbr-v1",
"toolchain": {
"cgltf": "360db1a95480fe102ae9c69b27c5d101167ff5ba",
"stb": "2c980bb59875b0d32144a71867fbdebb2f77cd20"
}
},
"kind": "scene",
"materials": [
{
"alpha_cutoff": 0.5,
"alpha_mode": "OPAQUE",
"base_color": [
0.2199999988079071,
0.28999999165534973,
0.3400000035762787,
1.0
],
"base_color_texture": -1,
"double_sided": true,
"emissive": [
0.0,
0.0,
0.0
],
"emissive_texture": -1,
"format": "faset.material",
"id": "material-bb63b094febbf90bb7049c9bcf7587bc",
"metallic": 0.07999999821186066,
"metallic_roughness_texture": -1,
"name": "Weathered stone",
"normal_texture": -1,
"occlusion_texture": -1,
"roughness": 0.800000011920929,
"unlit": false,
"version": 1
}
],
"meshes": [
{
"id": "mesh-fc069a07a87e0f831fd92efdbc4efa1f",
"name": "Cube.001",
"primitives": [
{
"material": 0,
"path": "meshes/mesh-fc069a07a87e0f831fd92efdbc4efa1f-0.fmesh"
}
]
},
{
"id": "mesh-0961e2a3f92977836a3aa80cab09277e",
"name": "Cube.002",
"primitives": [
{
"material": 0,
"path": "meshes/mesh-0961e2a3f92977836a3aa80cab09277e-0.fmesh"
}
]
},
{
"id": "mesh-93b5b3e52cb6bb120fefb80e2d8e222b",
"name": "Cube.003",
"primitives": [
{
"material": 0,
"path": "meshes/mesh-93b5b3e52cb6bb120fefb80e2d8e222b-0.fmesh"
}
]
}
],
"nodes": [
{
"id": "node-cec6e8cea80cf5a98ba3263a0156bee4",
"local_transform": [
1.0,
0.0,
0.0,
0.0,
0.0,
1.0,
0.0,
0.0,
0.0,
0.0,
1.0,
0.0,
0.0,
1.4500000476837158,
1.2999999523162842,
1.0
],
"mesh": 0,
"name": "Left post",
"parent_id": "",
"stable_source_id": true
},
{
"id": "node-5f8a90a6c4d27020d20bd4fa81d1d958",
"local_transform": [
1.0,
0.0,
0.0,
0.0,
0.0,
1.0,
0.0,
0.0,
0.0,
0.0,
1.0,
0.0,
0.0,
1.4500000476837158,
-1.2999999523162842,
1.0
],
"mesh": 1,
"name": "Right post",
"parent_id": "",
"stable_source_id": true
},
{
"id": "node-482463e486a8d1fd741340c653cd128f",
"local_transform": [
1.0,
0.0,
0.0,
0.0,
0.0,
1.0,
0.0,
0.0,
0.0,
0.0,
1.0,
0.0,
0.0,
3.0,
0.0,
1.0
],
"mesh": 2,
"name": "Lintel",
"parent_id": "",
"stable_source_id": true
}
],
"outputs": [
"node-cec6e8cea80cf5a98ba3263a0156bee4",
"node-5f8a90a6c4d27020d20bd4fa81d1d958",
"node-482463e486a8d1fd741340c653cd128f",
"mesh-fc069a07a87e0f831fd92efdbc4efa1f",
"mesh-0961e2a3f92977836a3aa80cab09277e",
"mesh-93b5b3e52cb6bb120fefb80e2d8e222b",
"material-bb63b094febbf90bb7049c9bcf7587bc"
],
"payload_source": "/tmp/faset-p1-workflows-20260924-3/project/Assets/exit-arch/payload/ee6c748a212905fc9c465cbe95c033e94b80be643624f4f240ad5353761205b3.glb",
"schema_version": 1,
"settings": {},
"source": "/tmp/faset-p1-workflows-20260924-3/project/Assets/exit-arch/manifest.json",
"source_sha256": "ee6c748a212905fc9c465cbe95c033e94b80be643624f4f240ad5353761205b3",
"textures": []
},
"previous_generation": "4a5bfcc1437a7b4d65c388da2beace0308cceda8e16503d08ce676260f21d5c2",
"removed_output_ids": []
},
"stage": "complete",
"state": "succeeded"
}
@@ -0,0 +1,17 @@
{
"seconds": 0.05242176400497556,
"returncode": 0,
"build_configuration": "Debug",
"source_hash": "5d419786a6861d7f14ed4eca54634694d8cd43be5dbbd60a2c6790db665c3a6a",
"command": [
"/home/emil/Desktop/.worktrees/Faset_Engine-p1-p3/build/linux-debug/faset_editor",
"--project",
"/tmp/faset-p1-workflows-20260924-3/project",
"--command",
"{\"name\": \"faset_import\", \"arguments\": {\"path\": \"Assets/exit-arch/manifest.json\"}}",
"--wait"
],
"stdout": "raw/cached_asset_import-01-stdout.txt",
"stderr": "raw/cached_asset_import-01-stderr.txt",
"peak_rss_kib": 9248
}
@@ -0,0 +1 @@
{"peak_rss_kib":353052}
File diff suppressed because one or more lines are too long
@@ -0,0 +1,17 @@
{
"seconds": 29.83193460397888,
"returncode": 0,
"build_configuration": "Debug",
"source_hash": "f94e26cbed75fee4b6f565adb64f525eb702221116ecb4fb3034b08bb2f5647a",
"command": [
"/home/emil/Desktop/.worktrees/Faset_Engine-p1-p3/build/linux-debug/faset_editor",
"--project",
"/tmp/faset-p1-workflows-20260924-3/project",
"--command",
"{\"name\": \"faset_build\", \"arguments\": {}}",
"--wait"
],
"stdout": "raw/changed_cpp_build-01-stdout.txt",
"stderr": "raw/changed_cpp_build-01-stderr.txt",
"peak_rss_kib": 353052
}
@@ -0,0 +1 @@
{"peak_rss_kib":353088}
File diff suppressed because one or more lines are too long
@@ -0,0 +1,17 @@
{
"seconds": 30.331249505019514,
"returncode": 0,
"build_configuration": "Debug",
"source_hash": "34bb0f6974f75e16bd13b79ea568c79b6d3baddb4387a461e7d4e4fc2d08e439",
"command": [
"/home/emil/Desktop/.worktrees/Faset_Engine-p1-p3/build/linux-debug/faset_editor",
"--project",
"/tmp/faset-p1-workflows-20260924-3/project",
"--command",
"{\"name\": \"faset_build\", \"arguments\": {}}",
"--wait"
],
"stdout": "raw/changed_cpp_build-02-stdout.txt",
"stderr": "raw/changed_cpp_build-02-stderr.txt",
"peak_rss_kib": 353088
}
@@ -0,0 +1 @@
{"peak_rss_kib":352196}
File diff suppressed because one or more lines are too long
@@ -0,0 +1,17 @@
{
"seconds": 28.16259147101664,
"returncode": 0,
"build_configuration": "Debug",
"source_hash": "3fe71ff715f01db9806ddf106732ba8feb0accba537dd67dc27e138e7779e1ce",
"command": [
"/home/emil/Desktop/.worktrees/Faset_Engine-p1-p3/build/linux-debug/faset_editor",
"--project",
"/tmp/faset-p1-workflows-20260924-3/project",
"--command",
"{\"name\": \"faset_build\", \"arguments\": {}}",
"--wait"
],
"stdout": "raw/changed_cpp_build-03-stdout.txt",
"stderr": "raw/changed_cpp_build-03-stderr.txt",
"peak_rss_kib": 352196
}
@@ -0,0 +1 @@
{"peak_rss_kib":350492}
File diff suppressed because one or more lines are too long
@@ -0,0 +1,17 @@
{
"seconds": 23.87008932500612,
"returncode": 0,
"build_configuration": "Debug",
"source_hash": "df24f88db381080b0a35932ec60ca4f8e4e8d60cc5de6390c131c3320895b25d",
"command": [
"/home/emil/Desktop/.worktrees/Faset_Engine-p1-p3/build/linux-debug/faset_editor",
"--project",
"/tmp/faset-p1-workflows-20260924-3/project",
"--command",
"{\"name\": \"faset_build\", \"arguments\": {}}",
"--wait"
],
"stdout": "raw/changed_cpp_build-04-stdout.txt",
"stderr": "raw/changed_cpp_build-04-stderr.txt",
"peak_rss_kib": 350492
}
@@ -0,0 +1 @@
{"peak_rss_kib":350092}
File diff suppressed because one or more lines are too long
@@ -0,0 +1,17 @@
{
"seconds": 23.2658868439903,
"returncode": 0,
"build_configuration": "Debug",
"source_hash": "7eff8ea8356f18111f2c7707d0cb68cc3c492462043c9bfae0911498ed567012",
"command": [
"/home/emil/Desktop/.worktrees/Faset_Engine-p1-p3/build/linux-debug/faset_editor",
"--project",
"/tmp/faset-p1-workflows-20260924-3/project",
"--command",
"{\"name\": \"faset_build\", \"arguments\": {}}",
"--wait"
],
"stdout": "raw/changed_cpp_build-05-stdout.txt",
"stderr": "raw/changed_cpp_build-05-stderr.txt",
"peak_rss_kib": 350092
}
@@ -0,0 +1 @@
{"peak_rss_kib":353760}
File diff suppressed because one or more lines are too long
@@ -0,0 +1,17 @@
{
"seconds": 25.510155372990994,
"returncode": 0,
"build_configuration": "Debug",
"source_hash": "84196f783326fe0af644e753ab6b34cc23ccbce5959d8b3ec822b5e60144f41a",
"command": [
"/home/emil/Desktop/.worktrees/Faset_Engine-p1-p3/build/linux-debug/faset_editor",
"--project",
"/tmp/faset-p1-workflows-20260924-3/project",
"--command",
"{\"name\": \"faset_build\", \"arguments\": {}}",
"--wait"
],
"stdout": "raw/changed_header_build-01-stdout.txt",
"stderr": "raw/changed_header_build-01-stderr.txt",
"peak_rss_kib": 353760
}
@@ -0,0 +1 @@
{"peak_rss_kib":350316}
File diff suppressed because one or more lines are too long
@@ -0,0 +1,17 @@
{
"seconds": 24.47404430899769,
"returncode": 0,
"build_configuration": "Debug",
"source_hash": "a02a44499754c3efe8249d1411ba9e7df0a7ce7cd8209b5280db9ef5b19dbf49",
"command": [
"/home/emil/Desktop/.worktrees/Faset_Engine-p1-p3/build/linux-debug/faset_editor",
"--project",
"/tmp/faset-p1-workflows-20260924-3/project",
"--command",
"{\"name\": \"faset_build\", \"arguments\": {}}",
"--wait"
],
"stdout": "raw/changed_header_build-02-stdout.txt",
"stderr": "raw/changed_header_build-02-stderr.txt",
"peak_rss_kib": 350316
}
@@ -0,0 +1 @@
{"peak_rss_kib":353336}
File diff suppressed because one or more lines are too long
@@ -0,0 +1,17 @@
{
"seconds": 23.558627322985558,
"returncode": 0,
"build_configuration": "Debug",
"source_hash": "2ce729db59e1897b43c04a6bb2de43016d296a7aa1df2e4db5c68e27f2525d84",
"command": [
"/home/emil/Desktop/.worktrees/Faset_Engine-p1-p3/build/linux-debug/faset_editor",
"--project",
"/tmp/faset-p1-workflows-20260924-3/project",
"--command",
"{\"name\": \"faset_build\", \"arguments\": {}}",
"--wait"
],
"stdout": "raw/changed_header_build-03-stdout.txt",
"stderr": "raw/changed_header_build-03-stderr.txt",
"peak_rss_kib": 353336
}
@@ -0,0 +1 @@
{"peak_rss_kib":353788}
File diff suppressed because one or more lines are too long
@@ -0,0 +1,17 @@
{
"seconds": 23.88723594098701,
"returncode": 0,
"build_configuration": "Debug",
"source_hash": "dd368d4b5f5b3e442274eab2fac3bcbf7b8f49fc95e638859d8751ee19566f0e",
"command": [
"/home/emil/Desktop/.worktrees/Faset_Engine-p1-p3/build/linux-debug/faset_editor",
"--project",
"/tmp/faset-p1-workflows-20260924-3/project",
"--command",
"{\"name\": \"faset_build\", \"arguments\": {}}",
"--wait"
],
"stdout": "raw/changed_header_build-04-stdout.txt",
"stderr": "raw/changed_header_build-04-stderr.txt",
"peak_rss_kib": 353788
}
@@ -0,0 +1 @@
{"peak_rss_kib":353780}
File diff suppressed because one or more lines are too long
@@ -0,0 +1,17 @@
{
"seconds": 23.52752869098913,
"returncode": 0,
"build_configuration": "Debug",
"source_hash": "801fb7ba8f67c774ab1d7ec6350c8f099bf37aa6cd34afc952f7e81954df971e",
"command": [
"/home/emil/Desktop/.worktrees/Faset_Engine-p1-p3/build/linux-debug/faset_editor",
"--project",
"/tmp/faset-p1-workflows-20260924-3/project",
"--command",
"{\"name\": \"faset_build\", \"arguments\": {}}",
"--wait"
],
"stdout": "raw/changed_header_build-05-stdout.txt",
"stderr": "raw/changed_header_build-05-stderr.txt",
"peak_rss_kib": 353780
}
@@ -0,0 +1 @@
{"peak_rss_kib":9248}
@@ -0,0 +1,210 @@
{
"error": "",
"id": "import-057b55f6-bdf7-4db3-bbc4-62396067f1c2",
"kind": "import",
"progress": 1.0,
"request": {
"allow_removed_outputs": false,
"path": "Assets/exit-arch/manifest.json",
"settings": null
},
"result": {
"asset_id": "5832763b-3ed0-44d6-9088-0b524f196a91",
"cache_hit": false,
"diagnostics": [],
"generation": "4a5bfcc1437a7b4d65c388da2beace0308cceda8e16503d08ce676260f21d5c2",
"manifest": {
"asset_id": "5832763b-3ed0-44d6-9088-0b524f196a91",
"files": [
{
"path": "meshes/mesh-fc069a07a87e0f831fd92efdbc4efa1f-0.fmesh",
"sha256": "98b38aca7d2786c58a2265ba4d1f2255123f03d31d947e239232cf55bfdc2c97",
"size": 928
},
{
"path": "meshes/mesh-0961e2a3f92977836a3aa80cab09277e-0.fmesh",
"sha256": "98b38aca7d2786c58a2265ba4d1f2255123f03d31d947e239232cf55bfdc2c97",
"size": 928
},
{
"path": "meshes/mesh-93b5b3e52cb6bb120fefb80e2d8e222b-0.fmesh",
"sha256": "3875c16ea628d4126373ebfe07816621fbad3961596a2fcd112f1eec0e378071",
"size": 928
}
],
"generation": "4a5bfcc1437a7b4d65c388da2beace0308cceda8e16503d08ce676260f21d5c2",
"importer": "faset-gltf-1/cgltf-1.15",
"input_key": {
"bundle_sha256": "7a13347adc89761fb02ebeab3c58ba87f319cd62f53ec87a3bb61bcd066ffa55",
"dependencies": {},
"importer": "faset-gltf-1/cgltf-1.15",
"settings": {},
"source": "ee6c748a212905fc9c465cbe95c033e94b80be643624f4f240ad5353761205b3",
"target_profile": "desktop-static-pbr-v1",
"toolchain": {
"cgltf": "360db1a95480fe102ae9c69b27c5d101167ff5ba",
"stb": "2c980bb59875b0d32144a71867fbdebb2f77cd20"
}
},
"kind": "scene",
"materials": [
{
"alpha_cutoff": 0.5,
"alpha_mode": "OPAQUE",
"base_color": [
0.2199999988079071,
0.28999999165534973,
0.3400000035762787,
1.0
],
"base_color_texture": -1,
"double_sided": true,
"emissive": [
0.0,
0.0,
0.0
],
"emissive_texture": -1,
"format": "faset.material",
"id": "material-bb63b094febbf90bb7049c9bcf7587bc",
"metallic": 0.07999999821186066,
"metallic_roughness_texture": -1,
"name": "Weathered stone",
"normal_texture": -1,
"occlusion_texture": -1,
"roughness": 0.800000011920929,
"unlit": false,
"version": 1
}
],
"meshes": [
{
"id": "mesh-fc069a07a87e0f831fd92efdbc4efa1f",
"name": "Cube.001",
"primitives": [
{
"material": 0,
"path": "meshes/mesh-fc069a07a87e0f831fd92efdbc4efa1f-0.fmesh"
}
]
},
{
"id": "mesh-0961e2a3f92977836a3aa80cab09277e",
"name": "Cube.002",
"primitives": [
{
"material": 0,
"path": "meshes/mesh-0961e2a3f92977836a3aa80cab09277e-0.fmesh"
}
]
},
{
"id": "mesh-93b5b3e52cb6bb120fefb80e2d8e222b",
"name": "Cube.003",
"primitives": [
{
"material": 0,
"path": "meshes/mesh-93b5b3e52cb6bb120fefb80e2d8e222b-0.fmesh"
}
]
}
],
"nodes": [
{
"id": "node-cec6e8cea80cf5a98ba3263a0156bee4",
"local_transform": [
1.0,
0.0,
0.0,
0.0,
0.0,
1.0,
0.0,
0.0,
0.0,
0.0,
1.0,
0.0,
0.0,
1.4500000476837158,
1.2999999523162842,
1.0
],
"mesh": 0,
"name": "Left post",
"parent_id": "",
"stable_source_id": true
},
{
"id": "node-5f8a90a6c4d27020d20bd4fa81d1d958",
"local_transform": [
1.0,
0.0,
0.0,
0.0,
0.0,
1.0,
0.0,
0.0,
0.0,
0.0,
1.0,
0.0,
0.0,
1.4500000476837158,
-1.2999999523162842,
1.0
],
"mesh": 1,
"name": "Right post",
"parent_id": "",
"stable_source_id": true
},
{
"id": "node-482463e486a8d1fd741340c653cd128f",
"local_transform": [
1.0,
0.0,
0.0,
0.0,
0.0,
1.0,
0.0,
0.0,
0.0,
0.0,
1.0,
0.0,
0.0,
3.0,
0.0,
1.0
],
"mesh": 2,
"name": "Lintel",
"parent_id": "",
"stable_source_id": true
}
],
"outputs": [
"node-cec6e8cea80cf5a98ba3263a0156bee4",
"node-5f8a90a6c4d27020d20bd4fa81d1d958",
"node-482463e486a8d1fd741340c653cd128f",
"mesh-fc069a07a87e0f831fd92efdbc4efa1f",
"mesh-0961e2a3f92977836a3aa80cab09277e",
"mesh-93b5b3e52cb6bb120fefb80e2d8e222b",
"material-bb63b094febbf90bb7049c9bcf7587bc"
],
"payload_source": "/tmp/faset-p1-workflows-20260924-3/project/Assets/exit-arch/payload/ee6c748a212905fc9c465cbe95c033e94b80be643624f4f240ad5353761205b3.glb",
"schema_version": 1,
"settings": {},
"source": "/tmp/faset-p1-workflows-20260924-3/project/Assets/exit-arch/manifest.json",
"source_sha256": "ee6c748a212905fc9c465cbe95c033e94b80be643624f4f240ad5353761205b3",
"textures": []
},
"previous_generation": "",
"removed_output_ids": []
},
"stage": "complete",
"state": "succeeded"
}
@@ -0,0 +1,17 @@
{
"seconds": 0.049359967990312725,
"returncode": 0,
"build_configuration": "Debug",
"source_hash": "5d419786a6861d7f14ed4eca54634694d8cd43be5dbbd60a2c6790db665c3a6a",
"command": [
"/home/emil/Desktop/.worktrees/Faset_Engine-p1-p3/build/linux-debug/faset_editor",
"--project",
"/tmp/faset-p1-workflows-20260924-3/project",
"--command",
"{\"name\": \"faset_import\", \"arguments\": {\"path\": \"Assets/exit-arch/manifest.json\"}}",
"--wait"
],
"stdout": "raw/cold_asset_import-01-stdout.txt",
"stderr": "raw/cold_asset_import-01-stderr.txt",
"peak_rss_kib": 9248
}
@@ -0,0 +1 @@
{"peak_rss_kib":399412}
File diff suppressed because one or more lines are too long
@@ -0,0 +1,17 @@
{
"seconds": 106.00909288399271,
"returncode": 0,
"build_configuration": "Debug",
"source_hash": "5d419786a6861d7f14ed4eca54634694d8cd43be5dbbd60a2c6790db665c3a6a",
"command": [
"/home/emil/Desktop/.worktrees/Faset_Engine-p1-p3/build/linux-debug/faset_editor",
"--project",
"/tmp/faset-p1-workflows-20260924-3/project",
"--command",
"{\"name\": \"faset_build\", \"arguments\": {}}",
"--wait"
],
"stdout": "raw/cold_configure_build-01-stdout.txt",
"stderr": "raw/cold_configure_build-01-stderr.txt",
"peak_rss_kib": 399412
}
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,100 @@
{
"completed_frames": 1,
"device": "NVIDIA GeForce RTX 2080 Ti",
"dimension": 3,
"effective_visibility_mode": "direct",
"fixed_delta_seconds": 0.016666666666666666,
"format": "faset.player-profile",
"height": 720,
"percentile_method": "nearest_rank_all_completed_frames_no_warmup_exclusion",
"presentation_mode": "offscreen",
"requested_frames": 1,
"resource_notes": "gpu_allocated_bytes sums live Vulkan memory allocations, including alignment, excluding driver internals. texture_count includes the white fallback texture.",
"samples": [
{
"draw_calls": 31,
"dropped_simulation_seconds": 0.0,
"effective_visibility_mode": "direct",
"fixed_ticks": 1,
"frame": 1,
"gpu_allocated_bytes": 15787008,
"gpu_ms": 0.59856,
"gpu_visibility_active": false,
"interpolation_alpha": 0.0,
"physics_debug": false,
"render_call_ms": 7.854837,
"renderer_cpu_ms": 7.839347,
"renderer_readback_cpu_ms": 3.776714,
"simulation_ms": 1.784256,
"snapshot_ms": 4.927574,
"texture_count": 1,
"tick": 1,
"vertices": 576,
"wall_ms": 14.73763
}
],
"simulation_mode": "synthetic_fixed_timestep",
"startup_ms": {
"main_to_first_frame": 333.160143,
"renderer_initialization": 309.801491,
"scene_read": 4.437901,
"world_initialization": 3.94415
},
"summary_ms": {
"gpu": {
"max": 0.59856,
"min": 0.59856,
"p50": 0.59856,
"p95": 0.59856,
"samples": 1
},
"render_call": {
"max": 7.854837,
"min": 7.854837,
"p50": 7.854837,
"p95": 7.854837,
"samples": 1
},
"renderer_cpu": {
"max": 7.839347,
"min": 7.839347,
"p50": 7.839347,
"p95": 7.839347,
"samples": 1
},
"renderer_readback_cpu": {
"max": 3.776714,
"min": 3.776714,
"p50": 3.776714,
"p95": 3.776714,
"samples": 1
},
"simulation": {
"max": 1.784256,
"min": 1.784256,
"p50": 1.784256,
"p95": 1.784256,
"samples": 1
},
"snapshot": {
"max": 4.927574,
"min": 4.927574,
"p50": 4.927574,
"p95": 4.927574,
"samples": 1
},
"wall": {
"max": 14.73763,
"min": 14.73763,
"p50": 14.73763,
"p95": 14.73763,
"samples": 1
}
},
"timing_notes": "Durations use steady_clock wall time, not thread CPU usage. render_call/renderer_cpu include GPU waits, readback and window presentation. renderer_readback_cpu measures map/copy/unmap wall time within that call. GPU timestamps cover submitted rendering, not CPU work. A missing/zero GPU timestamp is null. Frame durations exclude profile bookkeeping and final capture/profile file writes. Startup begins at Player application entry after platform argument normalization, excluding OS loader/launcher.",
"validation_enabled": true,
"validation_errors": 0,
"version": 1,
"visibility_mode": "direct",
"width": 1280
}
@@ -0,0 +1,100 @@
{
"completed_frames": 1,
"device": "NVIDIA GeForce RTX 2080 Ti",
"dimension": 3,
"effective_visibility_mode": "direct",
"fixed_delta_seconds": 0.016666666666666666,
"format": "faset.player-profile",
"height": 720,
"percentile_method": "nearest_rank_all_completed_frames_no_warmup_exclusion",
"presentation_mode": "offscreen",
"requested_frames": 1,
"resource_notes": "gpu_allocated_bytes sums live Vulkan memory allocations, including alignment, excluding driver internals. texture_count includes the white fallback texture.",
"samples": [
{
"draw_calls": 31,
"dropped_simulation_seconds": 0.0,
"effective_visibility_mode": "direct",
"fixed_ticks": 1,
"frame": 1,
"gpu_allocated_bytes": 15787008,
"gpu_ms": 0.598432,
"gpu_visibility_active": false,
"interpolation_alpha": 0.0,
"physics_debug": false,
"render_call_ms": 5.788018,
"renderer_cpu_ms": 5.774693,
"renderer_readback_cpu_ms": 2.647514,
"simulation_ms": 2.082418,
"snapshot_ms": 4.23007,
"texture_count": 1,
"tick": 1,
"vertices": 576,
"wall_ms": 12.290383
}
],
"simulation_mode": "synthetic_fixed_timestep",
"startup_ms": {
"main_to_first_frame": 275.88316,
"renderer_initialization": 253.823289,
"scene_read": 5.586778,
"world_initialization": 3.908372
},
"summary_ms": {
"gpu": {
"max": 0.598432,
"min": 0.598432,
"p50": 0.598432,
"p95": 0.598432,
"samples": 1
},
"render_call": {
"max": 5.788018,
"min": 5.788018,
"p50": 5.788018,
"p95": 5.788018,
"samples": 1
},
"renderer_cpu": {
"max": 5.774693,
"min": 5.774693,
"p50": 5.774693,
"p95": 5.774693,
"samples": 1
},
"renderer_readback_cpu": {
"max": 2.647514,
"min": 2.647514,
"p50": 2.647514,
"p95": 2.647514,
"samples": 1
},
"simulation": {
"max": 2.082418,
"min": 2.082418,
"p50": 2.082418,
"p95": 2.082418,
"samples": 1
},
"snapshot": {
"max": 4.23007,
"min": 4.23007,
"p50": 4.23007,
"p95": 4.23007,
"samples": 1
},
"wall": {
"max": 12.290383,
"min": 12.290383,
"p50": 12.290383,
"p95": 12.290383,
"samples": 1
}
},
"timing_notes": "Durations use steady_clock wall time, not thread CPU usage. render_call/renderer_cpu include GPU waits, readback and window presentation. renderer_readback_cpu measures map/copy/unmap wall time within that call. GPU timestamps cover submitted rendering, not CPU work. A missing/zero GPU timestamp is null. Frame durations exclude profile bookkeeping and final capture/profile file writes. Startup begins at Player application entry after platform argument normalization, excluding OS loader/launcher.",
"validation_enabled": true,
"validation_errors": 0,
"version": 1,
"visibility_mode": "direct",
"width": 1280
}
@@ -0,0 +1,100 @@
{
"completed_frames": 1,
"device": "NVIDIA GeForce RTX 2080 Ti",
"dimension": 3,
"effective_visibility_mode": "direct",
"fixed_delta_seconds": 0.016666666666666666,
"format": "faset.player-profile",
"height": 720,
"percentile_method": "nearest_rank_all_completed_frames_no_warmup_exclusion",
"presentation_mode": "offscreen",
"requested_frames": 1,
"resource_notes": "gpu_allocated_bytes sums live Vulkan memory allocations, including alignment, excluding driver internals. texture_count includes the white fallback texture.",
"samples": [
{
"draw_calls": 31,
"dropped_simulation_seconds": 0.0,
"effective_visibility_mode": "direct",
"fixed_ticks": 1,
"frame": 1,
"gpu_allocated_bytes": 15787008,
"gpu_ms": 0.598464,
"gpu_visibility_active": false,
"interpolation_alpha": 0.0,
"physics_debug": false,
"render_call_ms": 6.148188,
"renderer_cpu_ms": 6.13379,
"renderer_readback_cpu_ms": 2.782249,
"simulation_ms": 1.782522,
"snapshot_ms": 4.154998,
"texture_count": 1,
"tick": 1,
"vertices": 576,
"wall_ms": 12.241041
}
],
"simulation_mode": "synthetic_fixed_timestep",
"startup_ms": {
"main_to_first_frame": 284.109137,
"renderer_initialization": 263.406445,
"scene_read": 4.604566,
"world_initialization": 3.645396
},
"summary_ms": {
"gpu": {
"max": 0.598464,
"min": 0.598464,
"p50": 0.598464,
"p95": 0.598464,
"samples": 1
},
"render_call": {
"max": 6.148188,
"min": 6.148188,
"p50": 6.148188,
"p95": 6.148188,
"samples": 1
},
"renderer_cpu": {
"max": 6.13379,
"min": 6.13379,
"p50": 6.13379,
"p95": 6.13379,
"samples": 1
},
"renderer_readback_cpu": {
"max": 2.782249,
"min": 2.782249,
"p50": 2.782249,
"p95": 2.782249,
"samples": 1
},
"simulation": {
"max": 1.782522,
"min": 1.782522,
"p50": 1.782522,
"p95": 1.782522,
"samples": 1
},
"snapshot": {
"max": 4.154998,
"min": 4.154998,
"p50": 4.154998,
"p95": 4.154998,
"samples": 1
},
"wall": {
"max": 12.241041,
"min": 12.241041,
"p50": 12.241041,
"p95": 12.241041,
"samples": 1
}
},
"timing_notes": "Durations use steady_clock wall time, not thread CPU usage. render_call/renderer_cpu include GPU waits, readback and window presentation. renderer_readback_cpu measures map/copy/unmap wall time within that call. GPU timestamps cover submitted rendering, not CPU work. A missing/zero GPU timestamp is null. Frame durations exclude profile bookkeeping and final capture/profile file writes. Startup begins at Player application entry after platform argument normalization, excluding OS loader/launcher.",
"validation_enabled": true,
"validation_errors": 0,
"version": 1,
"visibility_mode": "direct",
"width": 1280
}
@@ -0,0 +1,100 @@
{
"completed_frames": 1,
"device": "NVIDIA GeForce RTX 2080 Ti",
"dimension": 3,
"effective_visibility_mode": "direct",
"fixed_delta_seconds": 0.016666666666666666,
"format": "faset.player-profile",
"height": 720,
"percentile_method": "nearest_rank_all_completed_frames_no_warmup_exclusion",
"presentation_mode": "offscreen",
"requested_frames": 1,
"resource_notes": "gpu_allocated_bytes sums live Vulkan memory allocations, including alignment, excluding driver internals. texture_count includes the white fallback texture.",
"samples": [
{
"draw_calls": 31,
"dropped_simulation_seconds": 0.0,
"effective_visibility_mode": "direct",
"fixed_ticks": 1,
"frame": 1,
"gpu_allocated_bytes": 15787008,
"gpu_ms": 0.598048,
"gpu_visibility_active": false,
"interpolation_alpha": 0.0,
"physics_debug": false,
"render_call_ms": 5.88439,
"renderer_cpu_ms": 5.871325,
"renderer_readback_cpu_ms": 2.628759,
"simulation_ms": 1.830583,
"snapshot_ms": 3.721981,
"texture_count": 1,
"tick": 1,
"vertices": 576,
"wall_ms": 11.614519
}
],
"simulation_mode": "synthetic_fixed_timestep",
"startup_ms": {
"main_to_first_frame": 281.461192,
"renderer_initialization": 261.263413,
"scene_read": 4.600859,
"world_initialization": 3.76886
},
"summary_ms": {
"gpu": {
"max": 0.598048,
"min": 0.598048,
"p50": 0.598048,
"p95": 0.598048,
"samples": 1
},
"render_call": {
"max": 5.88439,
"min": 5.88439,
"p50": 5.88439,
"p95": 5.88439,
"samples": 1
},
"renderer_cpu": {
"max": 5.871325,
"min": 5.871325,
"p50": 5.871325,
"p95": 5.871325,
"samples": 1
},
"renderer_readback_cpu": {
"max": 2.628759,
"min": 2.628759,
"p50": 2.628759,
"p95": 2.628759,
"samples": 1
},
"simulation": {
"max": 1.830583,
"min": 1.830583,
"p50": 1.830583,
"p95": 1.830583,
"samples": 1
},
"snapshot": {
"max": 3.721981,
"min": 3.721981,
"p50": 3.721981,
"p95": 3.721981,
"samples": 1
},
"wall": {
"max": 11.614519,
"min": 11.614519,
"p50": 11.614519,
"p95": 11.614519,
"samples": 1
}
},
"timing_notes": "Durations use steady_clock wall time, not thread CPU usage. render_call/renderer_cpu include GPU waits, readback and window presentation. renderer_readback_cpu measures map/copy/unmap wall time within that call. GPU timestamps cover submitted rendering, not CPU work. A missing/zero GPU timestamp is null. Frame durations exclude profile bookkeeping and final capture/profile file writes. Startup begins at Player application entry after platform argument normalization, excluding OS loader/launcher.",
"validation_enabled": true,
"validation_errors": 0,
"version": 1,
"visibility_mode": "direct",
"width": 1280
}
@@ -0,0 +1,100 @@
{
"completed_frames": 1,
"device": "NVIDIA GeForce RTX 2080 Ti",
"dimension": 3,
"effective_visibility_mode": "direct",
"fixed_delta_seconds": 0.016666666666666666,
"format": "faset.player-profile",
"height": 720,
"percentile_method": "nearest_rank_all_completed_frames_no_warmup_exclusion",
"presentation_mode": "offscreen",
"requested_frames": 1,
"resource_notes": "gpu_allocated_bytes sums live Vulkan memory allocations, including alignment, excluding driver internals. texture_count includes the white fallback texture.",
"samples": [
{
"draw_calls": 31,
"dropped_simulation_seconds": 0.0,
"effective_visibility_mode": "direct",
"fixed_ticks": 1,
"frame": 1,
"gpu_allocated_bytes": 15787008,
"gpu_ms": 0.598624,
"gpu_visibility_active": false,
"interpolation_alpha": 0.0,
"physics_debug": false,
"render_call_ms": 5.633747,
"renderer_cpu_ms": 5.618087,
"renderer_readback_cpu_ms": 2.608962,
"simulation_ms": 1.790348,
"snapshot_ms": 3.765843,
"texture_count": 1,
"tick": 1,
"vertices": 576,
"wall_ms": 11.350601
}
],
"simulation_mode": "synthetic_fixed_timestep",
"startup_ms": {
"main_to_first_frame": 287.111981,
"renderer_initialization": 253.633771,
"scene_read": 16.718226,
"world_initialization": 4.908179
},
"summary_ms": {
"gpu": {
"max": 0.598624,
"min": 0.598624,
"p50": 0.598624,
"p95": 0.598624,
"samples": 1
},
"render_call": {
"max": 5.633747,
"min": 5.633747,
"p50": 5.633747,
"p95": 5.633747,
"samples": 1
},
"renderer_cpu": {
"max": 5.618087,
"min": 5.618087,
"p50": 5.618087,
"p95": 5.618087,
"samples": 1
},
"renderer_readback_cpu": {
"max": 2.608962,
"min": 2.608962,
"p50": 2.608962,
"p95": 2.608962,
"samples": 1
},
"simulation": {
"max": 1.790348,
"min": 1.790348,
"p50": 1.790348,
"p95": 1.790348,
"samples": 1
},
"snapshot": {
"max": 3.765843,
"min": 3.765843,
"p50": 3.765843,
"p95": 3.765843,
"samples": 1
},
"wall": {
"max": 11.350601,
"min": 11.350601,
"p50": 11.350601,
"p95": 11.350601,
"samples": 1
}
},
"timing_notes": "Durations use steady_clock wall time, not thread CPU usage. render_call/renderer_cpu include GPU waits, readback and window presentation. renderer_readback_cpu measures map/copy/unmap wall time within that call. GPU timestamps cover submitted rendering, not CPU work. A missing/zero GPU timestamp is null. Frame durations exclude profile bookkeeping and final capture/profile file writes. Startup begins at Player application entry after platform argument normalization, excluding OS loader/launcher.",
"validation_enabled": true,
"validation_errors": 0,
"version": 1,
"visibility_mode": "direct",
"width": 1280
}
@@ -0,0 +1,513 @@
{
"device": "NVIDIA GeForce RTX 2080 Ti",
"format": "faset.editor-ui-latency",
"measured_frames": 100,
"method": "KeyDown gizmo toggle through EditorUI::frame and offscreen Vulkan render completion; no window present",
"presentation_mode": "offscreen",
"samples": [
{
"gizmo": "Rotate",
"iteration": 1,
"milliseconds": 15.302926
},
{
"gizmo": "Move",
"iteration": 2,
"milliseconds": 15.305611
},
{
"gizmo": "Rotate",
"iteration": 3,
"milliseconds": 14.80163
},
{
"gizmo": "Move",
"iteration": 4,
"milliseconds": 13.830348
},
{
"gizmo": "Rotate",
"iteration": 5,
"milliseconds": 13.96889
},
{
"gizmo": "Move",
"iteration": 6,
"milliseconds": 14.219943
},
{
"gizmo": "Rotate",
"iteration": 7,
"milliseconds": 14.201539
},
{
"gizmo": "Move",
"iteration": 8,
"milliseconds": 13.780744
},
{
"gizmo": "Rotate",
"iteration": 9,
"milliseconds": 14.035675
},
{
"gizmo": "Move",
"iteration": 10,
"milliseconds": 13.506637
},
{
"gizmo": "Rotate",
"iteration": 11,
"milliseconds": 13.779112
},
{
"gizmo": "Move",
"iteration": 12,
"milliseconds": 14.123612
},
{
"gizmo": "Rotate",
"iteration": 13,
"milliseconds": 13.869142
},
{
"gizmo": "Move",
"iteration": 14,
"milliseconds": 13.82618
},
{
"gizmo": "Rotate",
"iteration": 15,
"milliseconds": 13.551272
},
{
"gizmo": "Move",
"iteration": 16,
"milliseconds": 13.897796
},
{
"gizmo": "Rotate",
"iteration": 17,
"milliseconds": 13.94796
},
{
"gizmo": "Move",
"iteration": 18,
"milliseconds": 13.723507
},
{
"gizmo": "Rotate",
"iteration": 19,
"milliseconds": 13.808788
},
{
"gizmo": "Move",
"iteration": 20,
"milliseconds": 13.88428
},
{
"gizmo": "Rotate",
"iteration": 21,
"milliseconds": 13.673211
},
{
"gizmo": "Move",
"iteration": 22,
"milliseconds": 14.288763
},
{
"gizmo": "Rotate",
"iteration": 23,
"milliseconds": 13.996752
},
{
"gizmo": "Move",
"iteration": 24,
"milliseconds": 13.973939
},
{
"gizmo": "Rotate",
"iteration": 25,
"milliseconds": 13.734207
},
{
"gizmo": "Move",
"iteration": 26,
"milliseconds": 13.740779
},
{
"gizmo": "Rotate",
"iteration": 27,
"milliseconds": 13.848472
},
{
"gizmo": "Move",
"iteration": 28,
"milliseconds": 13.858
},
{
"gizmo": "Rotate",
"iteration": 29,
"milliseconds": 15.123558
},
{
"gizmo": "Move",
"iteration": 30,
"milliseconds": 14.551038
},
{
"gizmo": "Rotate",
"iteration": 31,
"milliseconds": 14.440279
},
{
"gizmo": "Move",
"iteration": 32,
"milliseconds": 14.431663
},
{
"gizmo": "Rotate",
"iteration": 33,
"milliseconds": 14.824213
},
{
"gizmo": "Move",
"iteration": 34,
"milliseconds": 13.75192
},
{
"gizmo": "Rotate",
"iteration": 35,
"milliseconds": 13.846358
},
{
"gizmo": "Move",
"iteration": 36,
"milliseconds": 13.411037
},
{
"gizmo": "Rotate",
"iteration": 37,
"milliseconds": 14.734714
},
{
"gizmo": "Move",
"iteration": 38,
"milliseconds": 14.482628
},
{
"gizmo": "Rotate",
"iteration": 39,
"milliseconds": 15.009132
},
{
"gizmo": "Move",
"iteration": 40,
"milliseconds": 14.43537
},
{
"gizmo": "Rotate",
"iteration": 41,
"milliseconds": 15.463719
},
{
"gizmo": "Move",
"iteration": 42,
"milliseconds": 16.68906
},
{
"gizmo": "Rotate",
"iteration": 43,
"milliseconds": 18.491421
},
{
"gizmo": "Move",
"iteration": 44,
"milliseconds": 14.457832
},
{
"gizmo": "Rotate",
"iteration": 45,
"milliseconds": 15.032806
},
{
"gizmo": "Move",
"iteration": 46,
"milliseconds": 18.033447
},
{
"gizmo": "Rotate",
"iteration": 47,
"milliseconds": 17.958836
},
{
"gizmo": "Move",
"iteration": 48,
"milliseconds": 17.882281
},
{
"gizmo": "Rotate",
"iteration": 49,
"milliseconds": 14.852426
},
{
"gizmo": "Move",
"iteration": 50,
"milliseconds": 13.185903
},
{
"gizmo": "Rotate",
"iteration": 51,
"milliseconds": 13.129006
},
{
"gizmo": "Move",
"iteration": 52,
"milliseconds": 13.087026
},
{
"gizmo": "Rotate",
"iteration": 53,
"milliseconds": 13.045167
},
{
"gizmo": "Move",
"iteration": 54,
"milliseconds": 16.631802
},
{
"gizmo": "Rotate",
"iteration": 55,
"milliseconds": 18.466073
},
{
"gizmo": "Move",
"iteration": 56,
"milliseconds": 19.194777
},
{
"gizmo": "Rotate",
"iteration": 57,
"milliseconds": 13.86886
},
{
"gizmo": "Move",
"iteration": 58,
"milliseconds": 14.824093
},
{
"gizmo": "Rotate",
"iteration": 59,
"milliseconds": 13.839786
},
{
"gizmo": "Move",
"iteration": 60,
"milliseconds": 13.751499
},
{
"gizmo": "Rotate",
"iteration": 61,
"milliseconds": 13.118786
},
{
"gizmo": "Move",
"iteration": 62,
"milliseconds": 13.773692
},
{
"gizmo": "Rotate",
"iteration": 63,
"milliseconds": 14.554163
},
{
"gizmo": "Move",
"iteration": 64,
"milliseconds": 17.283983
},
{
"gizmo": "Rotate",
"iteration": 65,
"milliseconds": 17.264296
},
{
"gizmo": "Move",
"iteration": 66,
"milliseconds": 14.515491
},
{
"gizmo": "Rotate",
"iteration": 67,
"milliseconds": 13.658153
},
{
"gizmo": "Move",
"iteration": 68,
"milliseconds": 14.575905
},
{
"gizmo": "Rotate",
"iteration": 69,
"milliseconds": 14.761344
},
{
"gizmo": "Move",
"iteration": 70,
"milliseconds": 15.629161
},
{
"gizmo": "Rotate",
"iteration": 71,
"milliseconds": 13.972697
},
{
"gizmo": "Move",
"iteration": 72,
"milliseconds": 13.691957
},
{
"gizmo": "Rotate",
"iteration": 73,
"milliseconds": 14.149099
},
{
"gizmo": "Move",
"iteration": 74,
"milliseconds": 14.211577
},
{
"gizmo": "Rotate",
"iteration": 75,
"milliseconds": 14.433196
},
{
"gizmo": "Move",
"iteration": 76,
"milliseconds": 13.605013
},
{
"gizmo": "Rotate",
"iteration": 77,
"milliseconds": 13.829056
},
{
"gizmo": "Move",
"iteration": 78,
"milliseconds": 13.822674
},
{
"gizmo": "Rotate",
"iteration": 79,
"milliseconds": 13.829537
},
{
"gizmo": "Move",
"iteration": 80,
"milliseconds": 13.480508
},
{
"gizmo": "Rotate",
"iteration": 81,
"milliseconds": 13.722324
},
{
"gizmo": "Move",
"iteration": 82,
"milliseconds": 13.599974
},
{
"gizmo": "Rotate",
"iteration": 83,
"milliseconds": 13.785924
},
{
"gizmo": "Move",
"iteration": 84,
"milliseconds": 13.678202
},
{
"gizmo": "Rotate",
"iteration": 85,
"milliseconds": 13.287915
},
{
"gizmo": "Move",
"iteration": 86,
"milliseconds": 13.412911
},
{
"gizmo": "Rotate",
"iteration": 87,
"milliseconds": 13.547034
},
{
"gizmo": "Move",
"iteration": 88,
"milliseconds": 14.633944
},
{
"gizmo": "Rotate",
"iteration": 89,
"milliseconds": 18.651182
},
{
"gizmo": "Move",
"iteration": 90,
"milliseconds": 19.098846
},
{
"gizmo": "Rotate",
"iteration": 91,
"milliseconds": 14.07486
},
{
"gizmo": "Move",
"iteration": 92,
"milliseconds": 13.844745
},
{
"gizmo": "Rotate",
"iteration": 93,
"milliseconds": 13.630912
},
{
"gizmo": "Move",
"iteration": 94,
"milliseconds": 13.887917
},
{
"gizmo": "Rotate",
"iteration": 95,
"milliseconds": 13.999718
},
{
"gizmo": "Move",
"iteration": 96,
"milliseconds": 15.139478
},
{
"gizmo": "Rotate",
"iteration": 97,
"milliseconds": 13.341235
},
{
"gizmo": "Move",
"iteration": 98,
"milliseconds": 13.303424
},
{
"gizmo": "Rotate",
"iteration": 99,
"milliseconds": 13.759013
},
{
"gizmo": "Move",
"iteration": 100,
"milliseconds": 14.262944
}
],
"validation_enabled": true,
"validation_errors": 0,
"version": 1,
"warmup_frames": 10
}
@@ -0,0 +1 @@
{"peak_rss_kib":201432}
@@ -0,0 +1 @@
Measured 100 synthetic Editor input frames
@@ -0,0 +1,13 @@
{
"seconds": 2.011972838023212,
"returncode": 0,
"build_configuration": "Debug",
"source_hash": "801fb7ba8f67c774ab1d7ec6350c8f099bf37aa6cd34afc952f7e81954df971e",
"command": [
"/home/emil/Desktop/.worktrees/Faset_Engine-p1-p3/build/linux-debug/faset_editor_ui_latency",
"/tmp/faset-p1-workflows-20260924-3/raw/editor-input-latency.json"
],
"stdout": "raw/editor_ui_probe_process-01-stdout.txt",
"stderr": "raw/editor_ui_probe_process-01-stderr.txt",
"peak_rss_kib": 201432
}
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -0,0 +1 @@
{"peak_rss_kib":8604}
@@ -0,0 +1,8 @@
{
"dimension": 3,
"format": "faset.project",
"id": "example-collect-3d-project",
"name": "Collect & Escape 3D",
"start_scene": "Scenes/main.scene.json",
"version": 1
}
@@ -0,0 +1,17 @@
{
"seconds": 0.025940723018720746,
"returncode": 0,
"build_configuration": "Debug",
"source_hash": "5d419786a6861d7f14ed4eca54634694d8cd43be5dbbd60a2c6790db665c3a6a",
"command": [
"/home/emil/Desktop/.worktrees/Faset_Engine-p1-p3/build/linux-debug/faset_editor",
"--project",
"/tmp/faset-p1-workflows-20260924-3/project",
"--command",
"{\"name\": \"faset_project\", \"arguments\": {}}",
"--wait"
],
"stdout": "raw/headless_editor_command_startup-01-stdout.txt",
"stderr": "raw/headless_editor_command_startup-01-stderr.txt",
"peak_rss_kib": 8604
}
@@ -0,0 +1 @@
{"peak_rss_kib":8488}
@@ -0,0 +1,8 @@
{
"dimension": 3,
"format": "faset.project",
"id": "example-collect-3d-project",
"name": "Collect & Escape 3D",
"start_scene": "Scenes/main.scene.json",
"version": 1
}
@@ -0,0 +1,17 @@
{
"seconds": 0.04091821500333026,
"returncode": 0,
"build_configuration": "Debug",
"source_hash": "5d419786a6861d7f14ed4eca54634694d8cd43be5dbbd60a2c6790db665c3a6a",
"command": [
"/home/emil/Desktop/.worktrees/Faset_Engine-p1-p3/build/linux-debug/faset_editor",
"--project",
"/tmp/faset-p1-workflows-20260924-3/project",
"--command",
"{\"name\": \"faset_project\", \"arguments\": {}}",
"--wait"
],
"stdout": "raw/headless_editor_command_startup-02-stdout.txt",
"stderr": "raw/headless_editor_command_startup-02-stderr.txt",
"peak_rss_kib": 8488
}
@@ -0,0 +1 @@
{"peak_rss_kib":8396}
@@ -0,0 +1,8 @@
{
"dimension": 3,
"format": "faset.project",
"id": "example-collect-3d-project",
"name": "Collect & Escape 3D",
"start_scene": "Scenes/main.scene.json",
"version": 1
}
@@ -0,0 +1,17 @@
{
"seconds": 0.022082765004597604,
"returncode": 0,
"build_configuration": "Debug",
"source_hash": "5d419786a6861d7f14ed4eca54634694d8cd43be5dbbd60a2c6790db665c3a6a",
"command": [
"/home/emil/Desktop/.worktrees/Faset_Engine-p1-p3/build/linux-debug/faset_editor",
"--project",
"/tmp/faset-p1-workflows-20260924-3/project",
"--command",
"{\"name\": \"faset_project\", \"arguments\": {}}",
"--wait"
],
"stdout": "raw/headless_editor_command_startup-03-stdout.txt",
"stderr": "raw/headless_editor_command_startup-03-stderr.txt",
"peak_rss_kib": 8396
}
@@ -0,0 +1 @@
{"peak_rss_kib":178920}
@@ -0,0 +1 @@
warning: material material-bb63b094febbf90bb7049c9bcf7587bc has features beyond the initial base-color/PBR renderer
@@ -0,0 +1,2 @@
New round: collect the three gold cubes, then reach the green exit. E resets.
{"device":"NVIDIA GeForce RTX 2080 Ti","dimension":3,"effective_visibility_mode":"direct","frames":240,"gpu_visibility_active":false,"ticks":240,"validation_errors":0,"visibility_mode":"direct"}
@@ -0,0 +1,21 @@
{
"seconds": 33.95408695601509,
"returncode": 0,
"build_configuration": "Debug",
"source_hash": "3fb9976da7d2b3b85f5a370d6728a86cb874d69172ae0bcd157a784d9dbf4eed",
"command": [
"/tmp/faset-p1-workflows-20260924-3/project/.faset/cache/builds/87b1c9a0-2493-4aa5-84ff-1b078f010980/faset_player",
"--scene",
"/tmp/faset-p1-workflows-20260924-3/raw/generated-512.scene.json",
"--assets",
"/tmp/faset-p1-workflows-20260924-3/project/.faset/cache",
"--headless",
"--frames",
"240",
"--profile",
"/tmp/faset-p1-workflows-20260924-3/raw/generated-512-profile.json"
],
"stdout": "raw/larger_generated_scene_process-01-stdout.txt",
"stderr": "raw/larger_generated_scene_process-01-stderr.txt",
"peak_rss_kib": 178920
}
@@ -0,0 +1,13 @@
Lua player ready: A/D move, Space jump, E reset
Lua player ready: A/D move, Space jump, E reset
Lua reloaded: scene restarted; runtime state reset
Lua player ready: A/D move, Space jump, E reset
Lua reloaded: scene restarted; runtime state reset
Lua player ready: A/D move, Space jump, E reset
Lua reloaded: scene restarted; runtime state reset
Lua player ready: A/D move, Space jump, E reset
Lua reloaded: scene restarted; runtime state reset
Lua player ready: A/D move, Space jump, E reset
Lua reloaded: scene restarted; runtime state reset
Lua player ready: A/D move, Space jump, E reset
Lua reloaded: scene restarted; runtime state reset
@@ -0,0 +1 @@
{"device":"NVIDIA GeForce RTX 2080 Ti","dimension":2,"effective_visibility_mode":"direct","frames":973,"gpu_visibility_active":false,"ticks":1,"validation_errors":0,"visibility_mode":"direct"}
@@ -0,0 +1 @@
{"peak_rss_kib":399232}
File diff suppressed because one or more lines are too long

Some files were not shown because too many files have changed in this diff Show More