Record final combined P1 Release reference and memory miss
Native and manual checks / native (ubuntu-24.04) (push) Failing after 36s
Native and manual checks / manual (push) Successful in 30s
Native and manual checks / native (windows-2025) (push) Canceled after 0s
Windows editor and software Vulkan / windows-graphics (push) Canceled after 0s
Native and manual checks / native (ubuntu-24.04) (push) Failing after 36s
Native and manual checks / manual (push) Successful in 30s
Native and manual checks / native (windows-2025) (push) Canceled after 0s
Windows editor and software Vulkan / windows-graphics (push) Canceled after 0s
This commit is contained in:
@@ -83,10 +83,20 @@ budgets: frame 2.684/2.732 ms versus ≤4; GPU 0.579/0.600 ms versus ≤1; readb
|
||||
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.
|
||||
That baseline was an evolving earlier working tree. Its values are **historical**
|
||||
and are not compared with this Debug workflow's timing.
|
||||
|
||||
The [fresh clean combined P1/P3 Release reference](final-release/README.md) at
|
||||
`4a3453e` repeats these exact scenes on the same physical RTX 2080 Ti, now with
|
||||
120-frame source-hidden relocation checks for C++ 2D/3D and Lua-only, plus
|
||||
sequential 240-frame C++ 2D/3D profiles. The frame, GPU, readback, simulation,
|
||||
snapshot and startup tracking budgets all pass. Explicit allocations instead
|
||||
reach **43.022/43.118 MiB**, above the former ≤20 MiB budget because the new
|
||||
renderer eagerly retains a 16 MiB sun atlas and a 16 MiB local atlas in both
|
||||
scenes. The 2D sample casts no sun shadows and neither sample uses local shadow
|
||||
faces. This is a measured tracking-budget miss, not a failed export or a reason
|
||||
to redefine the counter silently. The linked dossier retains exact values,
|
||||
atlas breakdown, raw profiles and source/toolchain provenance.
|
||||
|
||||
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
|
||||
@@ -104,19 +114,22 @@ checksums; [integration results](windows-4ac02ee/integration-result-2.json),
|
||||
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.
|
||||
Windows GPU/driver performance claim follows. The later [combined P1/P3 Windows
|
||||
graphics CI](https://github.com/emil28092005/Faset_Engine/actions/runs/35942307579)
|
||||
at `87230f3` passed 74/74 CTests, including real diagnostic navigation, real
|
||||
Release export integration and all three relocated games. The physical-GPU
|
||||
Linux reference above had active validation.
|
||||
|
||||
## 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. |
|
||||
| Lua | Linux native and Release [relocated Lua result](../lua-release-2026-09-24/README.md), repeated in the [clean combined three-game Release reference](final-release/README.md); Windows CPU/SwiftShader [combined 74-test suite](https://github.com/emil28092005/Faset_Engine/actions/runs/35942307579) 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. |
|
||||
| Iteration | This Debug report, 179 raw files, 3,000-frame and seeded larger-scene profiles, plus the [clean combined Release reference](final-release/README.md) with three relocated games and exact 2D/3D budgets. The allocation budget miss is recorded; 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)
|
||||
|
||||
@@ -0,0 +1,111 @@
|
||||
# Final combined P1/P3 Release reference — 2026-09-24
|
||||
|
||||
This is the clean-source, physical-GPU reference for the checked-in playable
|
||||
`collect-2d`, `collect-3d`, and Lua-only games at
|
||||
`4a3453e2b1868555d833f578d43f48b8bc47d41a`. The real Release Editor
|
||||
exported each project to a self-contained package. The packages were copied to
|
||||
Unicode-named paths outside their disposable source projects, and those source
|
||||
paths were hidden while each Player ran from an unrelated empty working
|
||||
directory. The 3D export imported and packaged the Blender exit arch. All three
|
||||
games passed standalone CPU validation and rendered **120/120** offscreen Vulkan
|
||||
frames on the physical NVIDIA GeForce RTX 2080 Ti with the Khronos validation
|
||||
layer active and **zero validation errors**. The [verifier report](report.json),
|
||||
[2D manifest](evidence/collect-2d-manifest.json),
|
||||
[3D manifest](evidence/collect-3d-manifest.json), and
|
||||
[Lua manifest](evidence/lua-manifest.json) retain input, package and binary
|
||||
hashes. The [toolchain supplement](provenance.json) binds the unmodified report
|
||||
and 240-frame summary to the exact Editor, CMake, Ninja, Clang and Slang
|
||||
binaries. The verifier recorded a clean checkout at its start, and the second
|
||||
profiles used the same relocated Player binaries.
|
||||
|
||||
| Relocated package | Runtime | Frames | GPU validation | Source paths hidden |
|
||||
| --- | --- | ---: | --- | --- |
|
||||
| `collect-2d` | C++ | 120/120 | active, 0 errors | yes |
|
||||
| `collect-3d` | C++ with Blender asset | 120/120 | active, 0 errors | yes |
|
||||
| `lua` | Lua-only | 120/120 | active, 0 errors | yes |
|
||||
|
||||
The two **same relocated C++ executables** then ran a second, sequential
|
||||
240-frame profile. For each run, the disposable source-project paths were again
|
||||
hidden and restored afterward. These exact 2D/3D samples used default Direct
|
||||
visibility and temporal Off, 1280×720 offscreen Vulkan, synchronous readback,
|
||||
the active Khronos validation layer and synthetic fixed-step simulation. No
|
||||
frame was discarded as a warm-up: the table uses nearest-rank p95 over all 240
|
||||
completed frames, including the first. Both profiles report zero validation
|
||||
errors. Raw [2D](reference-240/collect-2d-profile-240.json) and
|
||||
[3D](reference-240/collect-3d-profile-240.json) profiles, exact
|
||||
[2D invocation](reference-240/collect-2d-run-240.json) and
|
||||
[3D invocation](reference-240/collect-3d-run-240.json), and the
|
||||
[machine-readable budget comparison](reference-240/reference-summary.json)
|
||||
support every value below.
|
||||
|
||||
| Exact-scene observation | Initial P1 tracking budget | 2D | 3D |
|
||||
| --- | ---: | ---: | ---: |
|
||||
| Frame wall p95 | ≤4 ms | 2.694 ms | 3.036 ms |
|
||||
| GPU timestamp p95 | ≤1 ms | 0.573 ms | 0.617 ms |
|
||||
| Readback CPU p95 | ≤1 ms | 0.559 ms | 0.561 ms |
|
||||
| Simulation p95 | ≤0.5 ms | 0.242 ms | 0.300 ms |
|
||||
| Scene snapshot p95 | ≤0.5 ms | 0.197 ms | 0.288 ms |
|
||||
| `main()` to first frame | ≤500 ms | 295.4 ms | 248.3 ms |
|
||||
| Maximum explicit Vulkan allocation | ≤20 MiB | **43.022 MiB — miss** | **43.118 MiB — miss** |
|
||||
|
||||
The memory miss is real, not a profile rounding artifact: 2D used 45,112,032
|
||||
bytes and 3D used 45,212,272 bytes, while the earlier threshold was 20,971,520
|
||||
bytes. Each run counted a **16 MiB sun atlas and a 16 MiB local-light atlas**
|
||||
inside the live Vulkan allocation total. The 2D sprites produced no sun-shadow
|
||||
raster work; the 3D meshes rendered four sun cascades. Neither sample used a
|
||||
local shadow face. Both 2048² D32 atlases are currently allocated when the
|
||||
Renderer is created, even when the scene never uses them. The remaining explicit
|
||||
allocations were 11.022 MiB (2D) and 11.118 MiB (3D). Lazy local-atlas
|
||||
allocation is a sensible follow-up, but alone it would still leave the 3D
|
||||
scene above 20 MiB with its current 2048² sun atlas. We have kept the physical
|
||||
counter and shadow resolution intact and recorded the miss rather than silently
|
||||
changing either to satisfy an older threshold. The 20 MiB value is an initial
|
||||
**tracking budget** for tiny pre-P3 scenes, not a functional export gate; any
|
||||
revised shadow-memory budget needs its own measured baseline.
|
||||
|
||||
The Lua run establishes relocated Release execution, not a 2D/3D latency
|
||||
budget. The [2026-09-18 Release reference](../../linux-release-2026-09-18/README.md)
|
||||
used these scenes on the same GPU but an evolving earlier working tree; its
|
||||
numbers are historical context, not this clean combined revision. This run
|
||||
measures small scenes on one active Linux desktop and one driver (NVIDIA
|
||||
595.84). GPU timestamps exclude CPU work, `renderer_readback_cpu` is a
|
||||
map/copy/unmap duration inside the renderer call, and the explicit allocation
|
||||
counter excludes driver-internal memory. It does not establish production-game
|
||||
scaling, whole-process VRAM usage, display-paced FPS, physical Windows GPU
|
||||
performance or absence of all leaks.
|
||||
|
||||
## Reproduce and inspect
|
||||
|
||||
From this repository with the dependencies configured:
|
||||
|
||||
```sh
|
||||
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-release-new \
|
||||
--standalone-root /tmp/faset-p1-packages-new \
|
||||
--include-lua
|
||||
python3 docs/validation/p1-iteration-2026-09-24/final-release/profile_exact_scenes.py \
|
||||
--verification /tmp/faset-p1-release-new/report.json \
|
||||
--output /tmp/faset-p1-release-new/reference-240
|
||||
```
|
||||
|
||||
Use **new, empty** output and standalone directories. The second helper
|
||||
refuses an incomplete or dirty-tree verifier report, hides the disposable
|
||||
source projects during each 240-frame run, checks exact settings and validation,
|
||||
then restores them. The original [verifier log](verifier.log),
|
||||
[240-frame log](reference-240.log), raw 120-frame profiles for
|
||||
[2D](evidence/collect-2d-profile.json),
|
||||
[3D](evidence/collect-3d-profile.json) and
|
||||
[Lua](evidence/lua-profile.json), PPM captures, and the
|
||||
[SHA-256 file list](SHA256SUMS.txt) are retained here. The
|
||||
large disposable native build directories and relocated executable packages
|
||||
remain under `/tmp`; their input, manifest and executable hashes are in the
|
||||
reports.
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
@@ -0,0 +1,35 @@
|
||||
d5dca233d7ddbb7c32998ec920fda6cf67e6515c965372985c807ccd4ff54075 README.md
|
||||
d23e8614c133938974d1c1a865100d24175242ab818573cb1416ba82d1e62260 collect-2d.png
|
||||
f83799304917c2e0250605e83f69cbee4865818078ba3f9aed590c010f2b19b3 collect-3d.png
|
||||
3ca7066843c2875c86a4917782a07f93358a44ebd220d25a3f2457ae542ec415 evidence/collect-2d-export.json
|
||||
5f8de3eb000dc7207b256265f0fa20a29efe194dd1347ab4c3bf670cfdcfb2b0 evidence/collect-2d-manifest.json
|
||||
c45dc33981db0c2038d22cda2be4151de46445a4f368259d6b0002c35e402633 evidence/collect-2d-profile.json
|
||||
591329c7cb85c9fc0220deec7e76ca24e139037481d949c91882858c76c2621a evidence/collect-2d-run.json
|
||||
af24b1c312e67b0e0cbe2b5871888db17b9bb47e95eca5028c9e07d72b2f1bea evidence/collect-2d-validate.json
|
||||
f9d74067d87c1ebf30c6db372a26d93b7285791c8cb0307a24af5adb23bf201a evidence/collect-2d.ppm
|
||||
a00c55bbda0242e924781b4ca9d73910741506dce4df93dafde8d729389511a8 evidence/collect-3d-export.json
|
||||
7e09c5ae35c8f998510b83af51ded67bba0bc7483f8cfdb17a785368a8f9b2ca evidence/collect-3d-import.json
|
||||
484eda90411c48277385a2f679561cfa6304965a7a7be6ec065bfbd9dace1722 evidence/collect-3d-manifest.json
|
||||
96193de60cf7fa139fc110c99628e065779a378151e816ce947129ed4217f9a0 evidence/collect-3d-profile.json
|
||||
17e2ea46f9811432018704fa2468850f015b113f3407525bf795c21cf44b4fcb evidence/collect-3d-run.json
|
||||
f102446ff954cf1e9062726772a868ff1a30783da5ff77e2c3486227e8acc867 evidence/collect-3d-validate.json
|
||||
2905891c9766b2f1f65d5b4284056cb3839f1faae195f9fea39a56e3ebf44363 evidence/collect-3d.ppm
|
||||
737db5241ea2caba9393e18dbcf1e48ef6c106ae6f4fdc6ac3bfe0e2fc43325c evidence/lua-export.json
|
||||
3caecdb756b289c2bd1f61ec4e5a8c5194b35166f34f332a1651a5a846e7f631 evidence/lua-manifest.json
|
||||
eb985bd647266529ab98d0535150e20e7c54692a2546e0df935bbcfb71cbca66 evidence/lua-profile.json
|
||||
acce29b23725fba6a54e2e70827b0bd92137408eacaec4f58f5dee37666a8d0c evidence/lua-run.json
|
||||
f44cbe6db9ac6170c4db7f6f502fe09d62cc5da1e2535fe93cc474f6a28293ca evidence/lua-validate.json
|
||||
e2f4c3b84de75dadd2e31d388d0ba51abc1861f1ec76eb7ba51a4a2dcac720a7 evidence/lua.ppm
|
||||
5e395b08f275eadc6066697204abf2287e9a1ea124cba6cf6f5deca3924282aa evidence/vulkaninfo-summary.txt
|
||||
19c9b2c5a401af52980604fa074f89fe9452cfa728a606ad937c509a1c4164eb lua.png
|
||||
5d69428a1202c1e144779074c0ab88360c459e2dd99b22c1fcf8929dbeab2618 profile_exact_scenes.py
|
||||
fa49dae530785e24fe028ee5d0ade949fab61d540b118d8bf96d787267e6f87b provenance.json
|
||||
65858b1de2334d304ad3a0907180aaf4f79ead3da63762500e50b7298d922bfa reference-240/collect-2d-profile-240.json
|
||||
0d117fc6571fc497271921e818c97c729aeb58da6613bb2b1f24c815ae171319 reference-240/collect-2d-run-240.json
|
||||
b0c4c6b4020b1ded792917fff1f36510b76bb30864d89bd4e6e250b5693c5fe8 reference-240/collect-3d-profile-240.json
|
||||
ebbc376e8788b11b31f1eb7a767142348bcc6a6986e0593e20b44cb0e2d1e65d reference-240/collect-3d-run-240.json
|
||||
63da692b605621acc1cace00d4a3c9cf35de13abfd4351aea6653a88c870e03f reference-240/playable-report.json
|
||||
f8297f3cb0578addee56c0b3cb9439b37ae37707b02d433d662b534620f329e9 reference-240/reference-summary.json
|
||||
d97939ba5cee29ae237568c00714b68ab6849c4c506987cff05392750da5e0ca reference-240.log
|
||||
63da692b605621acc1cace00d4a3c9cf35de13abfd4351aea6653a88c870e03f report.json
|
||||
f4a0f3a487a5d7180caa08c8c254d2e39bad5d6cf5c4877d131af3dbd98fa777 verifier.log
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 3.9 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 31 KiB |
File diff suppressed because one or more lines are too long
+269
@@ -0,0 +1,269 @@
|
||||
{
|
||||
"asset_generations": {},
|
||||
"build_fingerprint": "b2559255996b7990919d5aa15cbfa53c225a0ee299e6a43ffbf04cd8bbb606db",
|
||||
"configuration": "Release",
|
||||
"executable": "faset_player",
|
||||
"files": [
|
||||
{
|
||||
"path": "README.txt",
|
||||
"sha256": "82bf72bc542643f6c4090e0a5de69b0014ca3fa17c6f9dfb12cc41e44c8b8db6",
|
||||
"size": 262
|
||||
},
|
||||
{
|
||||
"path": "Notices/Faset-NOTICE.txt",
|
||||
"sha256": "30c2e7e80f5153b31ab57675e07246aef9165965d64e36022b426a26449ece3f",
|
||||
"size": 204
|
||||
},
|
||||
{
|
||||
"path": "Notices/dependencies.json",
|
||||
"sha256": "a54639ad2d9ad13c2e5f1ec90d6775f5dfc493656789b78c7e44debe2a378fdc",
|
||||
"size": 2206
|
||||
},
|
||||
{
|
||||
"path": "Notices/stb/LICENSE",
|
||||
"sha256": "bebfe904b14301657e4e5d655c811d51fd31b97c455b9cc2d8600d6bac6cff63",
|
||||
"size": 2510
|
||||
},
|
||||
{
|
||||
"path": "Notices/json/LICENSE.MIT",
|
||||
"sha256": "46a65cffd1ea955132d95a8dd921640714a8d6b537d2e4e482d31145ae95b603",
|
||||
"size": 1076
|
||||
},
|
||||
{
|
||||
"path": "Notices/box3d/LICENSE",
|
||||
"sha256": "da5e31a26bf3cfd5ba5c96d6823e480128c81e76c107ef9d3ee5d94789184b90",
|
||||
"size": 1067
|
||||
},
|
||||
{
|
||||
"path": "Notices/box2d/LICENSE",
|
||||
"sha256": "68a3e676d7e94093b102d5cba0d4e04af812040d6f230c3db67a6664574e43d2",
|
||||
"size": 1067
|
||||
},
|
||||
{
|
||||
"path": "Notices/entt/LICENSE",
|
||||
"sha256": "0785027ce472d7c61f05fba664a1d3ba6639c1593ced351ad9e4bed868765d99",
|
||||
"size": 1097
|
||||
},
|
||||
{
|
||||
"path": "Notices/sdl3/LICENSE.txt",
|
||||
"sha256": "97f35b302b361680ec1e891e95d2d52097bb95abff361434916d99dc1305f127",
|
||||
"size": 884
|
||||
},
|
||||
{
|
||||
"path": "shaders/gpuTemporalVertexMain.reflection.json",
|
||||
"sha256": "7a8efe2645e7ce465ca44d19f8cfb2eb6c767abd1c3ce12ed69a149a50be8a8c",
|
||||
"size": 3308
|
||||
},
|
||||
{
|
||||
"path": "shaders/gpuTemporalVertexMain.spv",
|
||||
"sha256": "dfe7309aafbd41974668b295e179354965db440e4156b9f12d6a67db16b357f9",
|
||||
"size": 5996
|
||||
},
|
||||
{
|
||||
"path": "shaders/temporalFragmentMain.reflection.json",
|
||||
"sha256": "e36452227788f3703d7342b6d9a7a0efef74ce4da3aa96bb176a26e169ec3628",
|
||||
"size": 3874
|
||||
},
|
||||
{
|
||||
"path": "shaders/temporalFragmentMain.spv",
|
||||
"sha256": "03adc6673276979b3ea46becf3a36940d3061af77cb8c965c7471feff8dbf89a",
|
||||
"size": 30976
|
||||
},
|
||||
{
|
||||
"path": "shaders/temporalVertexMain.reflection.json",
|
||||
"sha256": "6f7812ce88b14bca62a6d2ad82a8657e2ee48c252558f34677c6a2bd980a7edb",
|
||||
"size": 3935
|
||||
},
|
||||
{
|
||||
"path": "shaders/temporalVertexMain.spv",
|
||||
"sha256": "6cc3535c952a33ee46fd417fbec7fcad8f24357508b2119256b3077be3d60955",
|
||||
"size": 1784
|
||||
},
|
||||
{
|
||||
"path": "shaders/temporalCompositeFragmentMain.reflection.json",
|
||||
"sha256": "44765a41fc362c9a97b1a19834f285e2e7facb24d8715e3d8559b8e9633a7a0e",
|
||||
"size": 959
|
||||
},
|
||||
{
|
||||
"path": "shaders/temporalCompositeFragmentMain.spv",
|
||||
"sha256": "9e21c8534c0e70a58ae018fb2d143bf9cfb70112e71b67585f525eef0aecad1b",
|
||||
"size": 768
|
||||
},
|
||||
{
|
||||
"path": "shaders/temporalCompositeVertexMain.reflection.json",
|
||||
"sha256": "a3a2ea858bd038423896043b0703704f707addceb5bd56721cd897f6bd092065",
|
||||
"size": 956
|
||||
},
|
||||
{
|
||||
"path": "shaders/temporalCompositeVertexMain.spv",
|
||||
"sha256": "6b19f65b64f40d0a249660fdfba9dd5d95831ffab7314a307bf1f5cf39c6a248",
|
||||
"size": 340
|
||||
},
|
||||
{
|
||||
"path": "shaders/temporalResolveMain.reflection.json",
|
||||
"sha256": "9407ee1522f32df231d996ea691224863c023c1ca42cc02ccd7e16de1d873082",
|
||||
"size": 3179
|
||||
},
|
||||
{
|
||||
"path": "shaders/temporalResolveMain.spv",
|
||||
"sha256": "4c5fc0da7a4c424e5426694c2c2d9f3cd17d1a64066712f5defe882ad8776662",
|
||||
"size": 22192
|
||||
},
|
||||
{
|
||||
"path": "shaders/gpuPostCullMain.reflection.json",
|
||||
"sha256": "19ce128388c7f88e0c517fb58a25e46f1382e35ae5f376b10eebe155a2811c4c",
|
||||
"size": 3591
|
||||
},
|
||||
{
|
||||
"path": "shaders/gpuHzbMain.reflection.json",
|
||||
"sha256": "589818f670881c64f3aba726ee3bc82fe4b9d835a347f99134e0e157dc4a112e",
|
||||
"size": 2050
|
||||
},
|
||||
{
|
||||
"path": "shaders/gpuCullMain.reflection.json",
|
||||
"sha256": "8986a45a8d29743d16f0caece9181b18c85d6490d93b4a56cdb4f53052890f3f",
|
||||
"size": 3587
|
||||
},
|
||||
{
|
||||
"path": "shaders/gpuShadowMain.reflection.json",
|
||||
"sha256": "96b3620b163dadf214933cfba6600b1b6a835c4d98b75b1f83e6ccd3dedb2425",
|
||||
"size": 2755
|
||||
},
|
||||
{
|
||||
"path": "shaders/gpuVertexMain.reflection.json",
|
||||
"sha256": "01a6cc1bbf3c11c558560d6f8557fd4582d392906ed20a8c729673d0ebf640ed",
|
||||
"size": 3098
|
||||
},
|
||||
{
|
||||
"path": "shaders/gpuPostCullMain.spv",
|
||||
"sha256": "1f8edd3be1f99f9433494a6f7be68f1317d6e7099e19354a7b8130d5d932224d",
|
||||
"size": 12548
|
||||
},
|
||||
{
|
||||
"path": "shaders/gpuHzbMain.spv",
|
||||
"sha256": "08682362ee2120ed19d260e613285071747c3e436bb09bb6238e46f9cedc2308",
|
||||
"size": 4140
|
||||
},
|
||||
{
|
||||
"path": "shaders/gpuCullMain.spv",
|
||||
"sha256": "e5ea6589ddb3613b59f8e58420be95a534cf4149816bc65bae26b1395c638955",
|
||||
"size": 16288
|
||||
},
|
||||
{
|
||||
"path": "shaders/gpuShadowMain.spv",
|
||||
"sha256": "f56e0ae3e9b31cb1e3f24e379c81e11c853f8a7102648aaaebc92a17c7e8e53c",
|
||||
"size": 2492
|
||||
},
|
||||
{
|
||||
"path": "shaders/gpuVertexMain.spv",
|
||||
"sha256": "32421d4a91f3a88d5210fee7af34b48bcad83072f14e2ccb9ef2ff983e45f78f",
|
||||
"size": 5016
|
||||
},
|
||||
{
|
||||
"path": "shaders/shadowMain.reflection.json",
|
||||
"sha256": "d39e2f83c797589296eac9dce139b9ad836a895d6685bc40f79dd2609d687fee",
|
||||
"size": 3597
|
||||
},
|
||||
{
|
||||
"path": "shaders/fragmentMain.reflection.json",
|
||||
"sha256": "2b07af2aae7578bdb6c2aa22658538821608b1dd5aeddd7b06e42b2e78cedf12",
|
||||
"size": 3596
|
||||
},
|
||||
{
|
||||
"path": "shaders/vertexMain.reflection.json",
|
||||
"sha256": "b3bdff863d53a0b385e06a36701a83a6ecafe9a93e97281a732cce8ff862c0db",
|
||||
"size": 3591
|
||||
},
|
||||
{
|
||||
"path": "shaders/lightTileMain.reflection.json",
|
||||
"sha256": "bf6a9256aaa6d6edacfa1e1c265d7c8ce2c1e4ea4036e0bea078c22fd4b536ca",
|
||||
"size": 1978
|
||||
},
|
||||
{
|
||||
"path": "shaders/lightTileMain.spv",
|
||||
"sha256": "92850edcc5ee5b586a90ce84ee69a98075a6fff3c13db4a57528d9431afe8b68",
|
||||
"size": 6800
|
||||
},
|
||||
{
|
||||
"path": "shaders/shadowMain.spv",
|
||||
"sha256": "7643b4d688492b5ee923b9606f0b0e70343ca05fa67673838206119a6f86d8d8",
|
||||
"size": 784
|
||||
},
|
||||
{
|
||||
"path": "shaders/fragmentMain.spv",
|
||||
"sha256": "fea4dd48664a510bad12b5e8582f2db798d4dbea62ce0de35dc2acfe32372733",
|
||||
"size": 28960
|
||||
},
|
||||
{
|
||||
"path": "shaders/vertexMain.spv",
|
||||
"sha256": "1ad2631c35d654f48166321ae43d4165043e1b919b14f1dc61caf97b1ada0898",
|
||||
"size": 1224
|
||||
},
|
||||
{
|
||||
"path": "faset_player",
|
||||
"sha256": "5936d8a1ceae9250c69f1b8ebccbadebc40b13e812bebeb9752da3d14d202a4a",
|
||||
"size": 6154704
|
||||
},
|
||||
{
|
||||
"path": "scene.fscene",
|
||||
"sha256": "0d7b221abc1cae5e9f1d04357c684ac6993f5878d634b4b950eec66dd8e55b2a",
|
||||
"size": 6214
|
||||
}
|
||||
],
|
||||
"format": "faset.export",
|
||||
"generation": "ca306aa8-a094-42bc-833f-a24a05cab73d",
|
||||
"lua_enabled": false,
|
||||
"lua_fingerprint": "",
|
||||
"platform": "linux",
|
||||
"prerequisites": [
|
||||
"Linux x86_64",
|
||||
"Vulkan 1.3 driver",
|
||||
"Compatible glibc and libstdc++ runtime"
|
||||
],
|
||||
"renderer_profile": {
|
||||
"api": "Vulkan 1.3",
|
||||
"materials": [
|
||||
"base-color factor and texture",
|
||||
"metallic and roughness factors"
|
||||
],
|
||||
"required_features": [
|
||||
"dynamicRendering",
|
||||
"synchronization2"
|
||||
],
|
||||
"shadow_atlases": {
|
||||
"caster_draw_limit": 4096,
|
||||
"fallback_resolution": 1024,
|
||||
"local_face_limit": 16,
|
||||
"preferred_resolution": 2048,
|
||||
"sampled_d32_required": true,
|
||||
"sun_cascade_limit": 4
|
||||
},
|
||||
"texture_sampling": "linear clamp, one mip level",
|
||||
"unsupported_material_features": [
|
||||
"normal maps",
|
||||
"metallic-roughness maps",
|
||||
"emissive and occlusion maps",
|
||||
"alpha mode selection",
|
||||
"unlit mode",
|
||||
"per-material face culling"
|
||||
]
|
||||
},
|
||||
"scene_hash": "fdfa1c49cf78a1cf52cd41b201c35bb0b5f852c90b7626b2a7f17da3e2e3e24c",
|
||||
"simulation": {
|
||||
"fixed_delta": 0.016666666666666666,
|
||||
"gravity": [
|
||||
0,
|
||||
-9.81,
|
||||
0
|
||||
],
|
||||
"max_catch_up_ticks": 4,
|
||||
"physics_substeps": 4
|
||||
},
|
||||
"units": {
|
||||
"angle": "radian",
|
||||
"coordinates": "right-handed Y-up",
|
||||
"distance": "metre"
|
||||
},
|
||||
"validation_log": "{\"dimension\":2,\"validated\":true}\n",
|
||||
"version": 1
|
||||
}
|
||||
+7284
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"arguments": [
|
||||
"/tmp/faset-p1-final-packages-4a3453e/Faset Café 世界/collect-2d/faset_player",
|
||||
"--headless",
|
||||
"--frames",
|
||||
"120",
|
||||
"--capture",
|
||||
"/tmp/faset-p1-final-packages-4a3453e/Faset Café 世界/collect-2d/verification.ppm",
|
||||
"--profile",
|
||||
"/tmp/faset-p1-final-packages-4a3453e/Faset Café 世界/collect-2d/profile.json"
|
||||
],
|
||||
"cwd": "/tmp/faset-p1-final-packages-4a3453e/empty-working-directory",
|
||||
"seconds": 0.6589637870201841,
|
||||
"exit_code": 0,
|
||||
"timed_out": false,
|
||||
"stdout": "New round: collect the three gold cubes, then reach the green exit. E resets.\n{\"device\":\"NVIDIA GeForce RTX 2080 Ti\",\"dimension\":2,\"effective_temporal_mode\":\"off\",\"effective_visibility_mode\":\"direct\",\"frames\":120,\"gpu_visibility_active\":false,\"temporal_mode\":\"off\",\"ticks\":120,\"validation_errors\":0,\"visibility_mode\":\"direct\"}\n",
|
||||
"stderr": ""
|
||||
}
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"arguments": [
|
||||
"/tmp/faset-p1-final-packages-4a3453e/Faset Café 世界/collect-2d/faset_player",
|
||||
"--validate"
|
||||
],
|
||||
"cwd": "/tmp/faset-p1-final-packages-4a3453e/empty-working-directory",
|
||||
"seconds": 0.008382081025047228,
|
||||
"exit_code": 0,
|
||||
"timed_out": false,
|
||||
"stdout": "{\"dimension\":2,\"validated\":true}\n",
|
||||
"stderr": ""
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+296
@@ -0,0 +1,296 @@
|
||||
{
|
||||
"asset_generations": {
|
||||
"5832763b-3ed0-44d6-9088-0b524f196a91": "4a5bfcc1437a7b4d65c388da2beace0308cceda8e16503d08ce676260f21d5c2"
|
||||
},
|
||||
"build_fingerprint": "bd02f95edc719dfab9193177d2839502f3322cd85b8fc8f6dcb4f9a2560362b1",
|
||||
"configuration": "Release",
|
||||
"executable": "faset_player",
|
||||
"files": [
|
||||
{
|
||||
"path": "README.txt",
|
||||
"sha256": "82bf72bc542643f6c4090e0a5de69b0014ca3fa17c6f9dfb12cc41e44c8b8db6",
|
||||
"size": 262
|
||||
},
|
||||
{
|
||||
"path": "Notices/Faset-NOTICE.txt",
|
||||
"sha256": "30c2e7e80f5153b31ab57675e07246aef9165965d64e36022b426a26449ece3f",
|
||||
"size": 204
|
||||
},
|
||||
{
|
||||
"path": "Notices/dependencies.json",
|
||||
"sha256": "a54639ad2d9ad13c2e5f1ec90d6775f5dfc493656789b78c7e44debe2a378fdc",
|
||||
"size": 2206
|
||||
},
|
||||
{
|
||||
"path": "Notices/stb/LICENSE",
|
||||
"sha256": "bebfe904b14301657e4e5d655c811d51fd31b97c455b9cc2d8600d6bac6cff63",
|
||||
"size": 2510
|
||||
},
|
||||
{
|
||||
"path": "Notices/json/LICENSE.MIT",
|
||||
"sha256": "46a65cffd1ea955132d95a8dd921640714a8d6b537d2e4e482d31145ae95b603",
|
||||
"size": 1076
|
||||
},
|
||||
{
|
||||
"path": "Notices/box3d/LICENSE",
|
||||
"sha256": "da5e31a26bf3cfd5ba5c96d6823e480128c81e76c107ef9d3ee5d94789184b90",
|
||||
"size": 1067
|
||||
},
|
||||
{
|
||||
"path": "Notices/box2d/LICENSE",
|
||||
"sha256": "68a3e676d7e94093b102d5cba0d4e04af812040d6f230c3db67a6664574e43d2",
|
||||
"size": 1067
|
||||
},
|
||||
{
|
||||
"path": "Notices/entt/LICENSE",
|
||||
"sha256": "0785027ce472d7c61f05fba664a1d3ba6639c1593ced351ad9e4bed868765d99",
|
||||
"size": 1097
|
||||
},
|
||||
{
|
||||
"path": "Notices/sdl3/LICENSE.txt",
|
||||
"sha256": "97f35b302b361680ec1e891e95d2d52097bb95abff361434916d99dc1305f127",
|
||||
"size": 884
|
||||
},
|
||||
{
|
||||
"path": "assets/5832763b-3ed0-44d6-9088-0b524f196a91/current.json",
|
||||
"sha256": "b0732959808ce61ef5a3223fba2d9ad8c17a3ea7873d4a81c00aadee6c51032e",
|
||||
"size": 134
|
||||
},
|
||||
{
|
||||
"path": "assets/5832763b-3ed0-44d6-9088-0b524f196a91/generations/4a5bfcc1437a7b4d65c388da2beace0308cceda8e16503d08ce676260f21d5c2/manifest.json",
|
||||
"sha256": "ee3f68794c6dc44ab492b1ba4640aa74e4de79a5ec10aed8dcdd45a03afc508e",
|
||||
"size": 4532
|
||||
},
|
||||
{
|
||||
"path": "assets/5832763b-3ed0-44d6-9088-0b524f196a91/generations/4a5bfcc1437a7b4d65c388da2beace0308cceda8e16503d08ce676260f21d5c2/meshes/mesh-93b5b3e52cb6bb120fefb80e2d8e222b-0.fmesh",
|
||||
"sha256": "3875c16ea628d4126373ebfe07816621fbad3961596a2fcd112f1eec0e378071",
|
||||
"size": 928
|
||||
},
|
||||
{
|
||||
"path": "assets/5832763b-3ed0-44d6-9088-0b524f196a91/generations/4a5bfcc1437a7b4d65c388da2beace0308cceda8e16503d08ce676260f21d5c2/meshes/mesh-0961e2a3f92977836a3aa80cab09277e-0.fmesh",
|
||||
"sha256": "98b38aca7d2786c58a2265ba4d1f2255123f03d31d947e239232cf55bfdc2c97",
|
||||
"size": 928
|
||||
},
|
||||
{
|
||||
"path": "assets/5832763b-3ed0-44d6-9088-0b524f196a91/generations/4a5bfcc1437a7b4d65c388da2beace0308cceda8e16503d08ce676260f21d5c2/meshes/mesh-fc069a07a87e0f831fd92efdbc4efa1f-0.fmesh",
|
||||
"sha256": "98b38aca7d2786c58a2265ba4d1f2255123f03d31d947e239232cf55bfdc2c97",
|
||||
"size": 928
|
||||
},
|
||||
{
|
||||
"path": "shaders/gpuTemporalVertexMain.reflection.json",
|
||||
"sha256": "7a8efe2645e7ce465ca44d19f8cfb2eb6c767abd1c3ce12ed69a149a50be8a8c",
|
||||
"size": 3308
|
||||
},
|
||||
{
|
||||
"path": "shaders/gpuTemporalVertexMain.spv",
|
||||
"sha256": "dfe7309aafbd41974668b295e179354965db440e4156b9f12d6a67db16b357f9",
|
||||
"size": 5996
|
||||
},
|
||||
{
|
||||
"path": "shaders/temporalFragmentMain.reflection.json",
|
||||
"sha256": "e36452227788f3703d7342b6d9a7a0efef74ce4da3aa96bb176a26e169ec3628",
|
||||
"size": 3874
|
||||
},
|
||||
{
|
||||
"path": "shaders/temporalFragmentMain.spv",
|
||||
"sha256": "03adc6673276979b3ea46becf3a36940d3061af77cb8c965c7471feff8dbf89a",
|
||||
"size": 30976
|
||||
},
|
||||
{
|
||||
"path": "shaders/temporalVertexMain.reflection.json",
|
||||
"sha256": "6f7812ce88b14bca62a6d2ad82a8657e2ee48c252558f34677c6a2bd980a7edb",
|
||||
"size": 3935
|
||||
},
|
||||
{
|
||||
"path": "shaders/temporalVertexMain.spv",
|
||||
"sha256": "6cc3535c952a33ee46fd417fbec7fcad8f24357508b2119256b3077be3d60955",
|
||||
"size": 1784
|
||||
},
|
||||
{
|
||||
"path": "shaders/temporalCompositeFragmentMain.reflection.json",
|
||||
"sha256": "44765a41fc362c9a97b1a19834f285e2e7facb24d8715e3d8559b8e9633a7a0e",
|
||||
"size": 959
|
||||
},
|
||||
{
|
||||
"path": "shaders/temporalCompositeFragmentMain.spv",
|
||||
"sha256": "9e21c8534c0e70a58ae018fb2d143bf9cfb70112e71b67585f525eef0aecad1b",
|
||||
"size": 768
|
||||
},
|
||||
{
|
||||
"path": "shaders/temporalCompositeVertexMain.reflection.json",
|
||||
"sha256": "a3a2ea858bd038423896043b0703704f707addceb5bd56721cd897f6bd092065",
|
||||
"size": 956
|
||||
},
|
||||
{
|
||||
"path": "shaders/temporalCompositeVertexMain.spv",
|
||||
"sha256": "6b19f65b64f40d0a249660fdfba9dd5d95831ffab7314a307bf1f5cf39c6a248",
|
||||
"size": 340
|
||||
},
|
||||
{
|
||||
"path": "shaders/temporalResolveMain.reflection.json",
|
||||
"sha256": "9407ee1522f32df231d996ea691224863c023c1ca42cc02ccd7e16de1d873082",
|
||||
"size": 3179
|
||||
},
|
||||
{
|
||||
"path": "shaders/temporalResolveMain.spv",
|
||||
"sha256": "4c5fc0da7a4c424e5426694c2c2d9f3cd17d1a64066712f5defe882ad8776662",
|
||||
"size": 22192
|
||||
},
|
||||
{
|
||||
"path": "shaders/gpuPostCullMain.reflection.json",
|
||||
"sha256": "19ce128388c7f88e0c517fb58a25e46f1382e35ae5f376b10eebe155a2811c4c",
|
||||
"size": 3591
|
||||
},
|
||||
{
|
||||
"path": "shaders/gpuHzbMain.reflection.json",
|
||||
"sha256": "589818f670881c64f3aba726ee3bc82fe4b9d835a347f99134e0e157dc4a112e",
|
||||
"size": 2050
|
||||
},
|
||||
{
|
||||
"path": "shaders/gpuCullMain.reflection.json",
|
||||
"sha256": "8986a45a8d29743d16f0caece9181b18c85d6490d93b4a56cdb4f53052890f3f",
|
||||
"size": 3587
|
||||
},
|
||||
{
|
||||
"path": "shaders/gpuShadowMain.reflection.json",
|
||||
"sha256": "96b3620b163dadf214933cfba6600b1b6a835c4d98b75b1f83e6ccd3dedb2425",
|
||||
"size": 2755
|
||||
},
|
||||
{
|
||||
"path": "shaders/gpuVertexMain.reflection.json",
|
||||
"sha256": "01a6cc1bbf3c11c558560d6f8557fd4582d392906ed20a8c729673d0ebf640ed",
|
||||
"size": 3098
|
||||
},
|
||||
{
|
||||
"path": "shaders/gpuPostCullMain.spv",
|
||||
"sha256": "1f8edd3be1f99f9433494a6f7be68f1317d6e7099e19354a7b8130d5d932224d",
|
||||
"size": 12548
|
||||
},
|
||||
{
|
||||
"path": "shaders/gpuHzbMain.spv",
|
||||
"sha256": "08682362ee2120ed19d260e613285071747c3e436bb09bb6238e46f9cedc2308",
|
||||
"size": 4140
|
||||
},
|
||||
{
|
||||
"path": "shaders/gpuCullMain.spv",
|
||||
"sha256": "e5ea6589ddb3613b59f8e58420be95a534cf4149816bc65bae26b1395c638955",
|
||||
"size": 16288
|
||||
},
|
||||
{
|
||||
"path": "shaders/gpuShadowMain.spv",
|
||||
"sha256": "f56e0ae3e9b31cb1e3f24e379c81e11c853f8a7102648aaaebc92a17c7e8e53c",
|
||||
"size": 2492
|
||||
},
|
||||
{
|
||||
"path": "shaders/gpuVertexMain.spv",
|
||||
"sha256": "32421d4a91f3a88d5210fee7af34b48bcad83072f14e2ccb9ef2ff983e45f78f",
|
||||
"size": 5016
|
||||
},
|
||||
{
|
||||
"path": "shaders/shadowMain.reflection.json",
|
||||
"sha256": "d39e2f83c797589296eac9dce139b9ad836a895d6685bc40f79dd2609d687fee",
|
||||
"size": 3597
|
||||
},
|
||||
{
|
||||
"path": "shaders/fragmentMain.reflection.json",
|
||||
"sha256": "2b07af2aae7578bdb6c2aa22658538821608b1dd5aeddd7b06e42b2e78cedf12",
|
||||
"size": 3596
|
||||
},
|
||||
{
|
||||
"path": "shaders/vertexMain.reflection.json",
|
||||
"sha256": "b3bdff863d53a0b385e06a36701a83a6ecafe9a93e97281a732cce8ff862c0db",
|
||||
"size": 3591
|
||||
},
|
||||
{
|
||||
"path": "shaders/lightTileMain.reflection.json",
|
||||
"sha256": "bf6a9256aaa6d6edacfa1e1c265d7c8ce2c1e4ea4036e0bea078c22fd4b536ca",
|
||||
"size": 1978
|
||||
},
|
||||
{
|
||||
"path": "shaders/lightTileMain.spv",
|
||||
"sha256": "92850edcc5ee5b586a90ce84ee69a98075a6fff3c13db4a57528d9431afe8b68",
|
||||
"size": 6800
|
||||
},
|
||||
{
|
||||
"path": "shaders/shadowMain.spv",
|
||||
"sha256": "7643b4d688492b5ee923b9606f0b0e70343ca05fa67673838206119a6f86d8d8",
|
||||
"size": 784
|
||||
},
|
||||
{
|
||||
"path": "shaders/fragmentMain.spv",
|
||||
"sha256": "fea4dd48664a510bad12b5e8582f2db798d4dbea62ce0de35dc2acfe32372733",
|
||||
"size": 28960
|
||||
},
|
||||
{
|
||||
"path": "shaders/vertexMain.spv",
|
||||
"sha256": "1ad2631c35d654f48166321ae43d4165043e1b919b14f1dc61caf97b1ada0898",
|
||||
"size": 1224
|
||||
},
|
||||
{
|
||||
"path": "faset_player",
|
||||
"sha256": "52fbe0067fc2be3807e60ffa5a77e819838dc50a4b723af51f16379b4a487e7c",
|
||||
"size": 6163816
|
||||
},
|
||||
{
|
||||
"path": "scene.fscene",
|
||||
"sha256": "21c364140669ec82c6886102667b255df5ccdf0ec77e0ca64060f84dd7b86632",
|
||||
"size": 8639
|
||||
}
|
||||
],
|
||||
"format": "faset.export",
|
||||
"generation": "004c6e18-969b-4ef5-95bb-5d7742f96564",
|
||||
"lua_enabled": false,
|
||||
"lua_fingerprint": "",
|
||||
"platform": "linux",
|
||||
"prerequisites": [
|
||||
"Linux x86_64",
|
||||
"Vulkan 1.3 driver",
|
||||
"Compatible glibc and libstdc++ runtime"
|
||||
],
|
||||
"renderer_profile": {
|
||||
"api": "Vulkan 1.3",
|
||||
"materials": [
|
||||
"base-color factor and texture",
|
||||
"metallic and roughness factors"
|
||||
],
|
||||
"required_features": [
|
||||
"dynamicRendering",
|
||||
"synchronization2"
|
||||
],
|
||||
"shadow_atlases": {
|
||||
"caster_draw_limit": 4096,
|
||||
"fallback_resolution": 1024,
|
||||
"local_face_limit": 16,
|
||||
"preferred_resolution": 2048,
|
||||
"sampled_d32_required": true,
|
||||
"sun_cascade_limit": 4
|
||||
},
|
||||
"texture_sampling": "linear clamp, one mip level",
|
||||
"unsupported_material_features": [
|
||||
"normal maps",
|
||||
"metallic-roughness maps",
|
||||
"emissive and occlusion maps",
|
||||
"alpha mode selection",
|
||||
"unlit mode",
|
||||
"per-material face culling"
|
||||
]
|
||||
},
|
||||
"scene_hash": "ee12794145c14ba5b599c5d9ae21648cccdfa91c47ee7742549f60d5fe7bc3e0",
|
||||
"simulation": {
|
||||
"fixed_delta": 0.016666666666666666,
|
||||
"gravity": [
|
||||
0,
|
||||
-9.81,
|
||||
0
|
||||
],
|
||||
"max_catch_up_ticks": 4,
|
||||
"physics_substeps": 4
|
||||
},
|
||||
"units": {
|
||||
"angle": "radian",
|
||||
"coordinates": "right-handed Y-up",
|
||||
"distance": "metre"
|
||||
},
|
||||
"validation_log": "warning: material material-bb63b094febbf90bb7049c9bcf7587bc has features beyond the initial base-color/PBR renderer\n{\"dimension\":3,\"validated\":true}\n",
|
||||
"version": 1
|
||||
}
|
||||
+7284
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"arguments": [
|
||||
"/tmp/faset-p1-final-packages-4a3453e/Faset Café 世界/collect-3d/faset_player",
|
||||
"--headless",
|
||||
"--frames",
|
||||
"120",
|
||||
"--capture",
|
||||
"/tmp/faset-p1-final-packages-4a3453e/Faset Café 世界/collect-3d/verification.ppm",
|
||||
"--profile",
|
||||
"/tmp/faset-p1-final-packages-4a3453e/Faset Café 世界/collect-3d/profile.json"
|
||||
],
|
||||
"cwd": "/tmp/faset-p1-final-packages-4a3453e/empty-working-directory",
|
||||
"seconds": 0.6575766110036056,
|
||||
"exit_code": 0,
|
||||
"timed_out": false,
|
||||
"stdout": "New round: collect the three gold cubes, then reach the green exit. E resets.\n{\"device\":\"NVIDIA GeForce RTX 2080 Ti\",\"dimension\":3,\"effective_temporal_mode\":\"off\",\"effective_visibility_mode\":\"direct\",\"frames\":120,\"gpu_visibility_active\":false,\"temporal_mode\":\"off\",\"ticks\":120,\"validation_errors\":0,\"visibility_mode\":\"direct\"}\n",
|
||||
"stderr": "warning: material material-bb63b094febbf90bb7049c9bcf7587bc has features beyond the initial base-color/PBR renderer\n"
|
||||
}
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"arguments": [
|
||||
"/tmp/faset-p1-final-packages-4a3453e/Faset Café 世界/collect-3d/faset_player",
|
||||
"--validate"
|
||||
],
|
||||
"cwd": "/tmp/faset-p1-final-packages-4a3453e/empty-working-directory",
|
||||
"seconds": 0.00796160800382495,
|
||||
"exit_code": 0,
|
||||
"timed_out": false,
|
||||
"stdout": "{\"dimension\":3,\"validated\":true}\n",
|
||||
"stderr": "warning: material material-bb63b094febbf90bb7049c9bcf7587bc has features beyond the initial base-color/PBR renderer\n"
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,294 @@
|
||||
{
|
||||
"asset_generations": {},
|
||||
"build_fingerprint": "0bfae1f2850e06540c91a793a50673f53e9768434c02b5625dbe4839e27f23f0",
|
||||
"configuration": "Release",
|
||||
"executable": "faset_player",
|
||||
"files": [
|
||||
{
|
||||
"path": "README.txt",
|
||||
"sha256": "82bf72bc542643f6c4090e0a5de69b0014ca3fa17c6f9dfb12cc41e44c8b8db6",
|
||||
"size": 262
|
||||
},
|
||||
{
|
||||
"path": "Notices/Faset-NOTICE.txt",
|
||||
"sha256": "30c2e7e80f5153b31ab57675e07246aef9165965d64e36022b426a26449ece3f",
|
||||
"size": 204
|
||||
},
|
||||
{
|
||||
"path": "Notices/dependencies.json",
|
||||
"sha256": "262e8f63cf21c516829b1fedb0900ac90e76d62aa8f78d9ad02d8f24e0359e74",
|
||||
"size": 2468
|
||||
},
|
||||
{
|
||||
"path": "Notices/lua/LICENSE.txt",
|
||||
"sha256": "e42d195c77d3ad7255ee9c874772d3c53998e7f60f9acf453d4630fa161e0bfe",
|
||||
"size": 1126
|
||||
},
|
||||
{
|
||||
"path": "Notices/stb/LICENSE",
|
||||
"sha256": "bebfe904b14301657e4e5d655c811d51fd31b97c455b9cc2d8600d6bac6cff63",
|
||||
"size": 2510
|
||||
},
|
||||
{
|
||||
"path": "Notices/json/LICENSE.MIT",
|
||||
"sha256": "46a65cffd1ea955132d95a8dd921640714a8d6b537d2e4e482d31145ae95b603",
|
||||
"size": 1076
|
||||
},
|
||||
{
|
||||
"path": "Notices/box3d/LICENSE",
|
||||
"sha256": "da5e31a26bf3cfd5ba5c96d6823e480128c81e76c107ef9d3ee5d94789184b90",
|
||||
"size": 1067
|
||||
},
|
||||
{
|
||||
"path": "Notices/box2d/LICENSE",
|
||||
"sha256": "68a3e676d7e94093b102d5cba0d4e04af812040d6f230c3db67a6664574e43d2",
|
||||
"size": 1067
|
||||
},
|
||||
{
|
||||
"path": "Notices/entt/LICENSE",
|
||||
"sha256": "0785027ce472d7c61f05fba664a1d3ba6639c1593ced351ad9e4bed868765d99",
|
||||
"size": 1097
|
||||
},
|
||||
{
|
||||
"path": "Notices/sdl3/LICENSE.txt",
|
||||
"sha256": "97f35b302b361680ec1e891e95d2d52097bb95abff361434916d99dc1305f127",
|
||||
"size": 884
|
||||
},
|
||||
{
|
||||
"path": "shaders/gpuTemporalVertexMain.reflection.json",
|
||||
"sha256": "7a8efe2645e7ce465ca44d19f8cfb2eb6c767abd1c3ce12ed69a149a50be8a8c",
|
||||
"size": 3308
|
||||
},
|
||||
{
|
||||
"path": "shaders/gpuTemporalVertexMain.spv",
|
||||
"sha256": "dfe7309aafbd41974668b295e179354965db440e4156b9f12d6a67db16b357f9",
|
||||
"size": 5996
|
||||
},
|
||||
{
|
||||
"path": "shaders/temporalFragmentMain.reflection.json",
|
||||
"sha256": "e36452227788f3703d7342b6d9a7a0efef74ce4da3aa96bb176a26e169ec3628",
|
||||
"size": 3874
|
||||
},
|
||||
{
|
||||
"path": "shaders/temporalFragmentMain.spv",
|
||||
"sha256": "03adc6673276979b3ea46becf3a36940d3061af77cb8c965c7471feff8dbf89a",
|
||||
"size": 30976
|
||||
},
|
||||
{
|
||||
"path": "shaders/temporalVertexMain.reflection.json",
|
||||
"sha256": "6f7812ce88b14bca62a6d2ad82a8657e2ee48c252558f34677c6a2bd980a7edb",
|
||||
"size": 3935
|
||||
},
|
||||
{
|
||||
"path": "shaders/temporalVertexMain.spv",
|
||||
"sha256": "6cc3535c952a33ee46fd417fbec7fcad8f24357508b2119256b3077be3d60955",
|
||||
"size": 1784
|
||||
},
|
||||
{
|
||||
"path": "shaders/temporalCompositeFragmentMain.reflection.json",
|
||||
"sha256": "44765a41fc362c9a97b1a19834f285e2e7facb24d8715e3d8559b8e9633a7a0e",
|
||||
"size": 959
|
||||
},
|
||||
{
|
||||
"path": "shaders/temporalCompositeFragmentMain.spv",
|
||||
"sha256": "9e21c8534c0e70a58ae018fb2d143bf9cfb70112e71b67585f525eef0aecad1b",
|
||||
"size": 768
|
||||
},
|
||||
{
|
||||
"path": "shaders/temporalCompositeVertexMain.reflection.json",
|
||||
"sha256": "a3a2ea858bd038423896043b0703704f707addceb5bd56721cd897f6bd092065",
|
||||
"size": 956
|
||||
},
|
||||
{
|
||||
"path": "shaders/temporalCompositeVertexMain.spv",
|
||||
"sha256": "6b19f65b64f40d0a249660fdfba9dd5d95831ffab7314a307bf1f5cf39c6a248",
|
||||
"size": 340
|
||||
},
|
||||
{
|
||||
"path": "shaders/temporalResolveMain.reflection.json",
|
||||
"sha256": "9407ee1522f32df231d996ea691224863c023c1ca42cc02ccd7e16de1d873082",
|
||||
"size": 3179
|
||||
},
|
||||
{
|
||||
"path": "shaders/temporalResolveMain.spv",
|
||||
"sha256": "4c5fc0da7a4c424e5426694c2c2d9f3cd17d1a64066712f5defe882ad8776662",
|
||||
"size": 22192
|
||||
},
|
||||
{
|
||||
"path": "shaders/gpuPostCullMain.reflection.json",
|
||||
"sha256": "19ce128388c7f88e0c517fb58a25e46f1382e35ae5f376b10eebe155a2811c4c",
|
||||
"size": 3591
|
||||
},
|
||||
{
|
||||
"path": "shaders/gpuHzbMain.reflection.json",
|
||||
"sha256": "589818f670881c64f3aba726ee3bc82fe4b9d835a347f99134e0e157dc4a112e",
|
||||
"size": 2050
|
||||
},
|
||||
{
|
||||
"path": "shaders/gpuCullMain.reflection.json",
|
||||
"sha256": "8986a45a8d29743d16f0caece9181b18c85d6490d93b4a56cdb4f53052890f3f",
|
||||
"size": 3587
|
||||
},
|
||||
{
|
||||
"path": "shaders/gpuShadowMain.reflection.json",
|
||||
"sha256": "96b3620b163dadf214933cfba6600b1b6a835c4d98b75b1f83e6ccd3dedb2425",
|
||||
"size": 2755
|
||||
},
|
||||
{
|
||||
"path": "shaders/gpuVertexMain.reflection.json",
|
||||
"sha256": "01a6cc1bbf3c11c558560d6f8557fd4582d392906ed20a8c729673d0ebf640ed",
|
||||
"size": 3098
|
||||
},
|
||||
{
|
||||
"path": "shaders/gpuPostCullMain.spv",
|
||||
"sha256": "1f8edd3be1f99f9433494a6f7be68f1317d6e7099e19354a7b8130d5d932224d",
|
||||
"size": 12548
|
||||
},
|
||||
{
|
||||
"path": "shaders/gpuHzbMain.spv",
|
||||
"sha256": "08682362ee2120ed19d260e613285071747c3e436bb09bb6238e46f9cedc2308",
|
||||
"size": 4140
|
||||
},
|
||||
{
|
||||
"path": "shaders/gpuCullMain.spv",
|
||||
"sha256": "e5ea6589ddb3613b59f8e58420be95a534cf4149816bc65bae26b1395c638955",
|
||||
"size": 16288
|
||||
},
|
||||
{
|
||||
"path": "shaders/gpuShadowMain.spv",
|
||||
"sha256": "f56e0ae3e9b31cb1e3f24e379c81e11c853f8a7102648aaaebc92a17c7e8e53c",
|
||||
"size": 2492
|
||||
},
|
||||
{
|
||||
"path": "shaders/gpuVertexMain.spv",
|
||||
"sha256": "32421d4a91f3a88d5210fee7af34b48bcad83072f14e2ccb9ef2ff983e45f78f",
|
||||
"size": 5016
|
||||
},
|
||||
{
|
||||
"path": "shaders/shadowMain.reflection.json",
|
||||
"sha256": "d39e2f83c797589296eac9dce139b9ad836a895d6685bc40f79dd2609d687fee",
|
||||
"size": 3597
|
||||
},
|
||||
{
|
||||
"path": "shaders/fragmentMain.reflection.json",
|
||||
"sha256": "2b07af2aae7578bdb6c2aa22658538821608b1dd5aeddd7b06e42b2e78cedf12",
|
||||
"size": 3596
|
||||
},
|
||||
{
|
||||
"path": "shaders/vertexMain.reflection.json",
|
||||
"sha256": "b3bdff863d53a0b385e06a36701a83a6ecafe9a93e97281a732cce8ff862c0db",
|
||||
"size": 3591
|
||||
},
|
||||
{
|
||||
"path": "shaders/lightTileMain.reflection.json",
|
||||
"sha256": "bf6a9256aaa6d6edacfa1e1c265d7c8ce2c1e4ea4036e0bea078c22fd4b536ca",
|
||||
"size": 1978
|
||||
},
|
||||
{
|
||||
"path": "shaders/lightTileMain.spv",
|
||||
"sha256": "92850edcc5ee5b586a90ce84ee69a98075a6fff3c13db4a57528d9431afe8b68",
|
||||
"size": 6800
|
||||
},
|
||||
{
|
||||
"path": "shaders/shadowMain.spv",
|
||||
"sha256": "7643b4d688492b5ee923b9606f0b0e70343ca05fa67673838206119a6f86d8d8",
|
||||
"size": 784
|
||||
},
|
||||
{
|
||||
"path": "shaders/fragmentMain.spv",
|
||||
"sha256": "fea4dd48664a510bad12b5e8582f2db798d4dbea62ce0de35dc2acfe32372733",
|
||||
"size": 28960
|
||||
},
|
||||
{
|
||||
"path": "shaders/vertexMain.spv",
|
||||
"sha256": "1ad2631c35d654f48166321ae43d4165043e1b919b14f1dc61caf97b1ada0898",
|
||||
"size": 1224
|
||||
},
|
||||
{
|
||||
"path": "faset_player",
|
||||
"sha256": "6df88e53e4fff9376341fd3d049b4e047a268d0bf344184d903b6c17ff20bd0e",
|
||||
"size": 6509384
|
||||
},
|
||||
{
|
||||
"path": "project.faset.json",
|
||||
"sha256": "e07b12047f8141c3c4cc8f0e7d0905a5c635375e4494755e34191db0859ab86f",
|
||||
"size": 175
|
||||
},
|
||||
{
|
||||
"path": "Scripts/util/motion.lua",
|
||||
"sha256": "bad3dcdc1081fd1dec589c12dad8dc175b739d77ea52b957ead9ecb4b7cb88a3",
|
||||
"size": 150
|
||||
},
|
||||
{
|
||||
"path": "Scripts/player.lua",
|
||||
"sha256": "1c51810574a3413c46a7cbd0ea2e84a9b802da1206a2b72bb78f6cc951367a11",
|
||||
"size": 1376
|
||||
},
|
||||
{
|
||||
"path": "Scripts/beacon.lua",
|
||||
"sha256": "44d932ebedf66cadb9620f2d926177be2f8d43d71d56aa83611de686af026231",
|
||||
"size": 820
|
||||
},
|
||||
{
|
||||
"path": "scene.fscene",
|
||||
"sha256": "641ba14a1f9c3966b9ec797814fdfa54f954dc5e0d53ab00c645598edef61baf",
|
||||
"size": 1681
|
||||
}
|
||||
],
|
||||
"format": "faset.export",
|
||||
"generation": "92846e8b-d199-4679-8f6a-fb0686acba75",
|
||||
"lua_enabled": true,
|
||||
"lua_fingerprint": "a9261789bb1e0ca38bd40b08b0454165cd51454cba3ad4725dd357812ced6e35",
|
||||
"platform": "linux",
|
||||
"prerequisites": [
|
||||
"Linux x86_64",
|
||||
"Vulkan 1.3 driver",
|
||||
"Compatible glibc and libstdc++ runtime"
|
||||
],
|
||||
"renderer_profile": {
|
||||
"api": "Vulkan 1.3",
|
||||
"materials": [
|
||||
"base-color factor and texture",
|
||||
"metallic and roughness factors"
|
||||
],
|
||||
"required_features": [
|
||||
"dynamicRendering",
|
||||
"synchronization2"
|
||||
],
|
||||
"shadow_atlases": {
|
||||
"caster_draw_limit": 4096,
|
||||
"fallback_resolution": 1024,
|
||||
"local_face_limit": 16,
|
||||
"preferred_resolution": 2048,
|
||||
"sampled_d32_required": true,
|
||||
"sun_cascade_limit": 4
|
||||
},
|
||||
"texture_sampling": "linear clamp, one mip level",
|
||||
"unsupported_material_features": [
|
||||
"normal maps",
|
||||
"metallic-roughness maps",
|
||||
"emissive and occlusion maps",
|
||||
"alpha mode selection",
|
||||
"unlit mode",
|
||||
"per-material face culling"
|
||||
]
|
||||
},
|
||||
"scene_hash": "143724a468d711cbdf9a9700310d7b0acef003ce1b21422ca5204e0e565fa02c",
|
||||
"simulation": {
|
||||
"fixed_delta": 0.016666666666666666,
|
||||
"gravity": [
|
||||
0,
|
||||
-9.81,
|
||||
0
|
||||
],
|
||||
"max_catch_up_ticks": 4,
|
||||
"physics_substeps": 4
|
||||
},
|
||||
"units": {
|
||||
"angle": "radian",
|
||||
"coordinates": "right-handed Y-up",
|
||||
"distance": "metre"
|
||||
},
|
||||
"validation_log": "{\"dimension\":2,\"validated\":true}\n",
|
||||
"version": 1
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"arguments": [
|
||||
"/tmp/faset-p1-final-packages-4a3453e/Faset Café 世界/lua/faset_player",
|
||||
"--headless",
|
||||
"--frames",
|
||||
"120",
|
||||
"--capture",
|
||||
"/tmp/faset-p1-final-packages-4a3453e/Faset Café 世界/lua/verification.ppm",
|
||||
"--profile",
|
||||
"/tmp/faset-p1-final-packages-4a3453e/Faset Café 世界/lua/profile.json"
|
||||
],
|
||||
"cwd": "/tmp/faset-p1-final-packages-4a3453e/empty-working-directory",
|
||||
"seconds": 0.6108254339778796,
|
||||
"exit_code": 0,
|
||||
"timed_out": false,
|
||||
"stdout": "{\"device\":\"NVIDIA GeForce RTX 2080 Ti\",\"dimension\":2,\"effective_temporal_mode\":\"off\",\"effective_visibility_mode\":\"direct\",\"frames\":120,\"gpu_visibility_active\":false,\"temporal_mode\":\"off\",\"ticks\":120,\"validation_errors\":0,\"visibility_mode\":\"direct\"}\n",
|
||||
"stderr": "Lua player ready: A/D move, Space jump, E reset\n"
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"arguments": [
|
||||
"/tmp/faset-p1-final-packages-4a3453e/Faset Café 世界/lua/faset_player",
|
||||
"--validate"
|
||||
],
|
||||
"cwd": "/tmp/faset-p1-final-packages-4a3453e/empty-working-directory",
|
||||
"seconds": 0.009439726010896266,
|
||||
"exit_code": 0,
|
||||
"timed_out": false,
|
||||
"stdout": "{\"dimension\":2,\"validated\":true}\n",
|
||||
"stderr": ""
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,82 @@
|
||||
==========
|
||||
VULKANINFO
|
||||
==========
|
||||
|
||||
Vulkan Instance Version: 1.4.341
|
||||
|
||||
|
||||
Instance Extensions: count = 27
|
||||
-------------------------------
|
||||
VK_EXT_acquire_drm_display : extension revision 1
|
||||
VK_EXT_acquire_xlib_display : extension revision 1
|
||||
VK_EXT_debug_report : extension revision 10
|
||||
VK_EXT_debug_utils : extension revision 2
|
||||
VK_EXT_direct_mode_display : extension revision 1
|
||||
VK_EXT_display_surface_counter : extension revision 1
|
||||
VK_EXT_headless_surface : extension revision 1
|
||||
VK_EXT_layer_settings : extension revision 2
|
||||
VK_EXT_surface_maintenance1 : extension revision 1
|
||||
VK_EXT_swapchain_colorspace : extension revision 5
|
||||
VK_KHR_device_group_creation : extension revision 1
|
||||
VK_KHR_display : extension revision 23
|
||||
VK_KHR_external_fence_capabilities : extension revision 1
|
||||
VK_KHR_external_memory_capabilities : extension revision 1
|
||||
VK_KHR_external_semaphore_capabilities : extension revision 1
|
||||
VK_KHR_get_display_properties2 : extension revision 1
|
||||
VK_KHR_get_physical_device_properties2 : extension revision 2
|
||||
VK_KHR_get_surface_capabilities2 : extension revision 1
|
||||
VK_KHR_portability_enumeration : extension revision 1
|
||||
VK_KHR_surface : extension revision 25
|
||||
VK_KHR_surface_maintenance1 : extension revision 1
|
||||
VK_KHR_surface_protected_capabilities : extension revision 1
|
||||
VK_KHR_wayland_surface : extension revision 6
|
||||
VK_KHR_xcb_surface : extension revision 6
|
||||
VK_KHR_xlib_surface : extension revision 6
|
||||
VK_LUNARG_direct_driver_loading : extension revision 1
|
||||
VK_NV_display_stereo : extension revision 1
|
||||
|
||||
Instance Layers: count = 12
|
||||
---------------------------
|
||||
VK_LAYER_INTEL_nullhw INTEL NULL HW 1.1.73 version 1
|
||||
VK_LAYER_KHRONOS_validation Khronos Validation Layer 1.4.341 version 1
|
||||
VK_LAYER_MESA_anti_lag Open-source implementation of the VK_AMD_anti_lag extension. 1.4.303 version 1
|
||||
VK_LAYER_MESA_device_select Linux device selection layer 1.4.303 version 1
|
||||
VK_LAYER_MESA_overlay Mesa Overlay layer 1.4.303 version 1
|
||||
VK_LAYER_MESA_screenshot Mesa Screenshot layer 1.4.303 version 1
|
||||
VK_LAYER_NV_optimus NVIDIA Optimus layer 1.4.329 version 1
|
||||
VK_LAYER_NV_present NVIDIA Presentation Layer 1.4.329 version 1
|
||||
VK_LAYER_VALVE_steam_fossilize_32 Steam Pipeline Caching Layer 1.3.207 version 1
|
||||
VK_LAYER_VALVE_steam_fossilize_64 Steam Pipeline Caching Layer 1.3.207 version 1
|
||||
VK_LAYER_VALVE_steam_overlay_32 Steam Overlay Layer 1.3.207 version 1
|
||||
VK_LAYER_VALVE_steam_overlay_64 Steam Overlay Layer 1.3.207 version 1
|
||||
|
||||
Devices:
|
||||
========
|
||||
GPU0:
|
||||
apiVersion = 1.4.329
|
||||
driverVersion = 595.84.0.0
|
||||
vendorID = 0x10de
|
||||
deviceID = 0x1e04
|
||||
deviceType = PHYSICAL_DEVICE_TYPE_DISCRETE_GPU
|
||||
deviceName = NVIDIA GeForce RTX 2080 Ti
|
||||
driverID = DRIVER_ID_NVIDIA_PROPRIETARY
|
||||
driverName = NVIDIA
|
||||
driverInfo = 595.84
|
||||
conformanceVersion = 1.4.3.3
|
||||
deviceUUID = 2c71c7ba-97ac-c78e-2c06-af362631f3fe
|
||||
driverUUID = 027cbdd1-c478-513e-af69-ebc9eaa7de87
|
||||
GPU1:
|
||||
apiVersion = 1.4.335
|
||||
driverVersion = 26.0.8
|
||||
vendorID = 0x10005
|
||||
deviceID = 0x0000
|
||||
deviceType = PHYSICAL_DEVICE_TYPE_CPU
|
||||
deviceName = llvmpipe (LLVM 21.1.8, 256 bits)
|
||||
driverID = DRIVER_ID_MESA_LLVMPIPE
|
||||
driverName = llvmpipe
|
||||
driverInfo = Mesa 26.0.8-1ubuntu0.3 (LLVM 21.1.8)
|
||||
conformanceVersion = 1.3.1.1
|
||||
deviceUUID = 6d657361-3236-2e30-2e38-2d3175627500
|
||||
driverUUID = 6c6c766d-7069-7065-5555-494400000000
|
||||
WARNING: [Loader Message] Code 0 : ICD for selected physical device does not export vkGetPhysicalDeviceDisplayPlanePropertiesKHR!
|
||||
WARNING: [Loader Message] Code 0 : ICD for selected physical device does not export vkGetPhysicalDeviceDisplayPropertiesKHR!
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 3.9 KiB |
@@ -0,0 +1,167 @@
|
||||
#!/usr/bin/env python3
|
||||
"""Profile the two relocated Release samples retained by verify_playable_exports.py."""
|
||||
|
||||
import argparse
|
||||
import hashlib
|
||||
import json
|
||||
from pathlib import Path
|
||||
import platform
|
||||
import shutil
|
||||
import subprocess
|
||||
import time
|
||||
|
||||
|
||||
def digest(path: Path) -> str:
|
||||
return hashlib.sha256(path.read_bytes()).hexdigest()
|
||||
|
||||
|
||||
def read(path: Path) -> dict:
|
||||
return json.loads(path.read_text(encoding="utf-8"))
|
||||
|
||||
|
||||
def write(path: Path, value: object) -> None:
|
||||
path.write_text(json.dumps(value, ensure_ascii=False, indent=2) + "\n", encoding="utf-8")
|
||||
|
||||
|
||||
def require(condition: bool, message: str) -> None:
|
||||
if not condition:
|
||||
raise RuntimeError(message)
|
||||
|
||||
|
||||
def run_source_hidden(source: dict, command: list[str], cwd: Path) -> subprocess.CompletedProcess:
|
||||
projects = Path(source["project_workspace"]) / "Faset Café 世界"
|
||||
disabled = projects.parent / "projects-offline-reference"
|
||||
require(projects.is_dir() and not disabled.exists(),
|
||||
"Disposable source projects must be available to hide")
|
||||
projects.rename(disabled)
|
||||
try:
|
||||
require(not projects.exists(), "Source project paths remain available")
|
||||
return subprocess.run(command, cwd=cwd, capture_output=True, text=True,
|
||||
encoding="utf-8", errors="replace", timeout=300)
|
||||
finally:
|
||||
if disabled.exists() and not projects.exists():
|
||||
disabled.rename(projects)
|
||||
|
||||
|
||||
def main() -> None:
|
||||
parser = argparse.ArgumentParser(description=__doc__)
|
||||
parser.add_argument("--verification", type=Path, required=True,
|
||||
help="Passed report.json from tools/verify_playable_exports.py")
|
||||
parser.add_argument("--output", type=Path, required=True,
|
||||
help="New/empty directory for raw 240-frame evidence")
|
||||
args = parser.parse_args()
|
||||
verification = args.verification.resolve()
|
||||
output = args.output.resolve()
|
||||
source = read(verification)
|
||||
require(source.get("status") == "passed" and not source.get("engine_dirty"),
|
||||
"A clean, passed export verification is required")
|
||||
require(source.get("frames_per_game") == 120, "Expected a 120-frame verifier")
|
||||
require(set(source.get("requested_projects", [])) ==
|
||||
{"collect-2d", "collect-3d", "lua"} and
|
||||
{item.get("name") for item in source.get("projects", [])} ==
|
||||
{"collect-2d", "collect-3d", "lua"} and
|
||||
all(item.get("status") == "passed" and
|
||||
item.get("completed_frames") == 120 and
|
||||
item.get("source_project_paths_unavailable") is True
|
||||
for item in source["projects"]),
|
||||
"Expected three source-hidden 120-frame Release games")
|
||||
require(not output.exists() or not any(output.iterdir()),
|
||||
"Output directory must be new or empty")
|
||||
output.mkdir(parents=True, exist_ok=True)
|
||||
shutil.copy2(verification, output / "playable-report.json")
|
||||
cwd = Path(source["standalone_root"]) / "empty-working-directory"
|
||||
require(cwd.is_dir(), "Verifier's unrelated working directory is missing")
|
||||
limits = {"wall": 4.0, "gpu": 1.0, "renderer_readback_cpu": 1.0,
|
||||
"simulation": 0.5, "snapshot": 0.5}
|
||||
report = {"format": "faset.p1-release-reference", "version": 1,
|
||||
"source_revision": source["engine_revision"],
|
||||
"editor_sha256": source["editor_sha256"],
|
||||
"verification_sha256": digest(verification),
|
||||
"host": {"platform": platform.platform(), "machine": platform.machine(),
|
||||
"processor": platform.processor()},
|
||||
"method": "sequential relocated Release Player, default direct/temporal-off, "
|
||||
"offscreen 1280x720, 240 completed frames including first; "
|
||||
"nearest-rank p95, validation/readback enabled",
|
||||
"projects": []}
|
||||
for item in source["projects"]:
|
||||
if item["name"] not in ("collect-2d", "collect-3d"):
|
||||
continue
|
||||
require(item.get("status") == "passed" and item.get("configuration") == "Release" and
|
||||
item.get("source_project_paths_unavailable") is True,
|
||||
f"Incomplete relocated export: {item['name']}")
|
||||
name = item["name"]
|
||||
package = Path(item["standalone_directory"])
|
||||
player = package / item["executable"]
|
||||
require(player.is_file() and not player.is_symlink(), f"Missing Player: {player}")
|
||||
profile_path = output / f"{name}-profile-240.json"
|
||||
command = [str(player), "--headless", "--frames", "240", "--profile",
|
||||
str(profile_path)]
|
||||
started = time.monotonic()
|
||||
process = run_source_hidden(source, command, cwd)
|
||||
invocation = {"arguments": command, "cwd": str(cwd),
|
||||
"source_project_paths_unavailable": True,
|
||||
"seconds": time.monotonic() - started,
|
||||
"exit_code": process.returncode,
|
||||
"stdout": process.stdout, "stderr": process.stderr}
|
||||
write(output / f"{name}-run-240.json", invocation)
|
||||
require(process.returncode == 0 and profile_path.is_file(),
|
||||
f"240-frame Player failed; inspect {name}-run-240.json")
|
||||
profile = read(profile_path)
|
||||
require(profile.get("format") == "faset.player-profile" and
|
||||
profile.get("completed_frames") == 240 and
|
||||
len(profile.get("samples", [])) == 240 and
|
||||
profile.get("dimension") == item["dimension"] and
|
||||
profile.get("presentation_mode") == "offscreen" and
|
||||
profile.get("width") == 1280 and profile.get("height") == 720 and
|
||||
profile.get("visibility_mode") == "direct" and
|
||||
profile.get("effective_visibility_mode") == "direct" and
|
||||
profile.get("temporal_mode") == "off" and
|
||||
profile.get("effective_temporal_mode") == "off" and
|
||||
profile.get("percentile_method") ==
|
||||
"nearest_rank_all_completed_frames_no_warmup_exclusion" and
|
||||
profile.get("validation_enabled") is True and
|
||||
profile.get("validation_errors") == 0,
|
||||
f"Invalid reference profile: {profile_path}")
|
||||
p95 = {key: profile["summary_ms"][key]["p95"] for key in limits}
|
||||
allocated = max(sample["gpu_allocated_bytes"] for sample in profile["samples"])
|
||||
sun_atlas = max(sample["sun_shadow_atlas_bytes"] for sample in profile["samples"])
|
||||
local_atlas = max(sample["local_shadow_atlas_bytes"] for sample in profile["samples"])
|
||||
startup = profile["startup_ms"]["main_to_first_frame"]
|
||||
checks = {key: {"observed_ms": value, "limit_ms": limits[key],
|
||||
"met": value is not None and value <= limits[key]}
|
||||
for key, value in p95.items()}
|
||||
checks["explicit_allocation"] = {"observed_bytes": allocated,
|
||||
"limit_bytes": 20 * 1024 * 1024,
|
||||
"met": allocated <= 20 * 1024 * 1024}
|
||||
checks["startup"] = {"observed_ms": startup, "limit_ms": 500.0,
|
||||
"met": startup <= 500.0}
|
||||
result = {"name": name, "dimension": item["dimension"],
|
||||
"device": profile["device"], "player_sha256": digest(player),
|
||||
"manifest_sha256": digest(package / "manifest.json"),
|
||||
"profile_sha256": digest(profile_path),
|
||||
"requested_frames": profile["requested_frames"],
|
||||
"completed_frames": profile["completed_frames"],
|
||||
"summary_ms": profile["summary_ms"], "startup_ms": profile["startup_ms"],
|
||||
"effective_lighting_path": profile.get("effective_lighting_path"),
|
||||
"gpu_allocated_bytes_max": allocated,
|
||||
"sun_shadow_atlas_bytes_max": sun_atlas,
|
||||
"local_shadow_atlas_bytes_max": local_atlas,
|
||||
"gpu_allocated_excluding_shadow_atlases_bytes_max": max(
|
||||
sample["gpu_allocated_bytes"] -
|
||||
sample["sun_shadow_atlas_bytes"] -
|
||||
sample["local_shadow_atlas_bytes"]
|
||||
for sample in profile["samples"]),
|
||||
"effective_sun_cascades_max": max(
|
||||
sample["effective_sun_cascades"] for sample in profile["samples"]),
|
||||
"local_shadow_faces_max": max(
|
||||
sample["local_shadow_faces"] for sample in profile["samples"]),
|
||||
"budget_checks": checks}
|
||||
report["projects"].append(result)
|
||||
write(output / "reference-summary.json", report)
|
||||
require({item["name"] for item in report["projects"]} == {"collect-2d", "collect-3d"},
|
||||
"Both exact sample scenes are required")
|
||||
print(output / "reference-summary.json")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
@@ -0,0 +1,111 @@
|
||||
{
|
||||
"format": "faset.p1-release-toolchain-provenance",
|
||||
"version": 1,
|
||||
"source_revision": "4a3453e2b1868555d833f578d43f48b8bc47d41a",
|
||||
"source_clean_at_verifier_start": true,
|
||||
"build_preset": "linux-release",
|
||||
"configuration": "Release",
|
||||
"host": {
|
||||
"platform": "Linux-7.0.0-31-generic-x86_64-with-glibc2.43",
|
||||
"machine": "x86_64",
|
||||
"processor": "",
|
||||
"logical_cpus": 16,
|
||||
"cpu_model": "AMD Ryzen 7 1700 Eight-Core Processor",
|
||||
"mem_total": "32784216 kB"
|
||||
},
|
||||
"report_sha256": "63da692b605621acc1cace00d4a3c9cf35de13abfd4351aea6653a88c870e03f",
|
||||
"reference_summary_sha256": "f8297f3cb0578addee56c0b3cb9439b37ae37707b02d433d662b534620f329e9",
|
||||
"editor_sha256": "73702e9f0fe015ef932db694400a0501048be2d602ab521ecc48c51767275d23",
|
||||
"verifier_tool_sha256": "21485df78b81c22bce1f6dfc810997f3ac0505cacd8bc647786ce9d90a7c67e1",
|
||||
"profile_helper_sha256": "5d69428a1202c1e144779074c0ab88360c459e2dd99b22c1fcf8929dbeab2618",
|
||||
"selected_tools": {
|
||||
"cmake": {
|
||||
"selected": "/usr/bin/cmake",
|
||||
"resolved": "/usr/bin/cmake",
|
||||
"sha256": "6e1dccda39845415d68eabb934c598998949c99ec4668625d571aee1827b05c7",
|
||||
"version_exit_code": 0,
|
||||
"version_output": "cmake version 4.2.3\n\nCMake suite maintained and supported by Kitware (kitware.com/cmake).",
|
||||
"version_flag": "--version"
|
||||
},
|
||||
"ninja": {
|
||||
"selected": "/usr/bin/ninja",
|
||||
"resolved": "/usr/bin/ninja",
|
||||
"sha256": "91e9548850cda2799facfdaa7abe33f9e978832f85e98212255708a7bbe437f2",
|
||||
"version_exit_code": 0,
|
||||
"version_output": "1.13.2",
|
||||
"version_flag": "--version"
|
||||
},
|
||||
"c_compiler": {
|
||||
"selected": "clang",
|
||||
"resolved": "/usr/lib/llvm-21/bin/clang",
|
||||
"sha256": "412bbe8c60571a1eb06f48fde89635033621caeb01a9b4ee76d46711bae8e932",
|
||||
"version_exit_code": 0,
|
||||
"version_output": "Ubuntu clang version 21.1.8 (6ubuntu1)\nTarget: x86_64-pc-linux-gnu\nThread model: posix\nInstalledDir: /usr/lib/llvm-21/bin",
|
||||
"version_flag": "--version"
|
||||
},
|
||||
"cxx_compiler": {
|
||||
"selected": "clang++",
|
||||
"resolved": "/usr/lib/llvm-21/bin/clang",
|
||||
"sha256": "412bbe8c60571a1eb06f48fde89635033621caeb01a9b4ee76d46711bae8e932",
|
||||
"version_exit_code": 0,
|
||||
"version_output": "Ubuntu clang version 21.1.8 (6ubuntu1)\nTarget: x86_64-pc-linux-gnu\nThread model: posix\nInstalledDir: /usr/lib/llvm-21/bin",
|
||||
"version_flag": "--version"
|
||||
},
|
||||
"slangc": {
|
||||
"selected": "/home/emil/Desktop/.worktrees/Faset_Engine-p1-p3-integration/.cache/slang/bin/slangc",
|
||||
"resolved": "/home/emil/Desktop/Faset_Engine/.cache/slang/bin/slangc",
|
||||
"sha256": "ff47ad16a3110e43f96a45e90720e6f894371d27f5e47715b298159e395b75e8",
|
||||
"version_exit_code": 0,
|
||||
"version_output": "2026.18",
|
||||
"version_flag": "-version"
|
||||
}
|
||||
},
|
||||
"gpu": [
|
||||
{
|
||||
"project": "collect-2d",
|
||||
"device": "NVIDIA GeForce RTX 2080 Ti",
|
||||
"device_class": "physical",
|
||||
"driver": {
|
||||
"apiVersion": "1.4.329",
|
||||
"driverVersion": "595.84.0.0",
|
||||
"deviceName": "NVIDIA GeForce RTX 2080 Ti",
|
||||
"driverID": "DRIVER_ID_NVIDIA_PROPRIETARY",
|
||||
"driverName": "NVIDIA",
|
||||
"driverInfo": "595.84"
|
||||
},
|
||||
"validation_enabled": true,
|
||||
"validation_errors": 0
|
||||
},
|
||||
{
|
||||
"project": "collect-3d",
|
||||
"device": "NVIDIA GeForce RTX 2080 Ti",
|
||||
"device_class": "physical",
|
||||
"driver": {
|
||||
"apiVersion": "1.4.329",
|
||||
"driverVersion": "595.84.0.0",
|
||||
"deviceName": "NVIDIA GeForce RTX 2080 Ti",
|
||||
"driverID": "DRIVER_ID_NVIDIA_PROPRIETARY",
|
||||
"driverName": "NVIDIA",
|
||||
"driverInfo": "595.84"
|
||||
},
|
||||
"validation_enabled": true,
|
||||
"validation_errors": 0
|
||||
},
|
||||
{
|
||||
"project": "lua",
|
||||
"device": "NVIDIA GeForce RTX 2080 Ti",
|
||||
"device_class": "physical",
|
||||
"driver": {
|
||||
"apiVersion": "1.4.329",
|
||||
"driverVersion": "595.84.0.0",
|
||||
"deviceName": "NVIDIA GeForce RTX 2080 Ti",
|
||||
"driverID": "DRIVER_ID_NVIDIA_PROPRIETARY",
|
||||
"driverName": "NVIDIA",
|
||||
"driverInfo": "595.84"
|
||||
},
|
||||
"validation_enabled": true,
|
||||
"validation_errors": 0
|
||||
}
|
||||
],
|
||||
"supplement_created_utc": "2026-09-24T02:15:34.021841+00:00"
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
/tmp/faset-p1-final-release-4a3453e/reference-240/reference-summary.json
|
||||
+14484
File diff suppressed because it is too large
Load Diff
+16
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"arguments": [
|
||||
"/tmp/faset-p1-final-packages-4a3453e/Faset Café 世界/collect-2d/faset_player",
|
||||
"--headless",
|
||||
"--frames",
|
||||
"240",
|
||||
"--profile",
|
||||
"/tmp/faset-p1-final-release-4a3453e/reference-240/collect-2d-profile-240.json"
|
||||
],
|
||||
"cwd": "/tmp/faset-p1-final-packages-4a3453e/empty-working-directory",
|
||||
"source_project_paths_unavailable": true,
|
||||
"seconds": 0.9077925750170834,
|
||||
"exit_code": 0,
|
||||
"stdout": "New round: collect the three gold cubes, then reach the green exit. E resets.\n{\"device\":\"NVIDIA GeForce RTX 2080 Ti\",\"dimension\":2,\"effective_temporal_mode\":\"off\",\"effective_visibility_mode\":\"direct\",\"frames\":240,\"gpu_visibility_active\":false,\"temporal_mode\":\"off\",\"ticks\":240,\"validation_errors\":0,\"visibility_mode\":\"direct\"}\n",
|
||||
"stderr": ""
|
||||
}
|
||||
+14484
File diff suppressed because it is too large
Load Diff
+16
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"arguments": [
|
||||
"/tmp/faset-p1-final-packages-4a3453e/Faset Café 世界/collect-3d/faset_player",
|
||||
"--headless",
|
||||
"--frames",
|
||||
"240",
|
||||
"--profile",
|
||||
"/tmp/faset-p1-final-release-4a3453e/reference-240/collect-3d-profile-240.json"
|
||||
],
|
||||
"cwd": "/tmp/faset-p1-final-packages-4a3453e/empty-working-directory",
|
||||
"source_project_paths_unavailable": true,
|
||||
"seconds": 0.969158330000937,
|
||||
"exit_code": 0,
|
||||
"stdout": "New round: collect the three gold cubes, then reach the green exit. E resets.\n{\"device\":\"NVIDIA GeForce RTX 2080 Ti\",\"dimension\":3,\"effective_temporal_mode\":\"off\",\"effective_visibility_mode\":\"direct\",\"frames\":240,\"gpu_visibility_active\":false,\"temporal_mode\":\"off\",\"ticks\":240,\"validation_errors\":0,\"visibility_mode\":\"direct\"}\n",
|
||||
"stderr": "warning: material material-bb63b094febbf90bb7049c9bcf7587bc has features beyond the initial base-color/PBR renderer\n"
|
||||
}
|
||||
+577
@@ -0,0 +1,577 @@
|
||||
{
|
||||
"format": "faset.playable-export-verification",
|
||||
"version": 1,
|
||||
"started_utc": "2026-09-24T02:01:24.205054+00:00",
|
||||
"platform": "linux",
|
||||
"engine": "/home/emil/Desktop/.worktrees/Faset_Engine-p1-p3-integration",
|
||||
"editor": "/home/emil/Desktop/.worktrees/Faset_Engine-p1-p3-integration/build/linux-release/faset_editor",
|
||||
"standalone_root": "/tmp/faset-p1-final-packages-4a3453e",
|
||||
"engine_revision": "4a3453e2b1868555d833f578d43f48b8bc47d41a",
|
||||
"engine_dirty": false,
|
||||
"engine_git_status": [],
|
||||
"engine_diff_sha256": null,
|
||||
"editor_sha256": "73702e9f0fe015ef932db694400a0501048be2d602ab521ecc48c51767275d23",
|
||||
"project_workspace": "/tmp/faset-p1-final-release-4a3453e",
|
||||
"vulkaninfo_available": true,
|
||||
"driver_override": null,
|
||||
"frames_per_game": 120,
|
||||
"status": "passed",
|
||||
"projects": [
|
||||
{
|
||||
"name": "collect-2d",
|
||||
"dimension": 2,
|
||||
"language": "cpp",
|
||||
"source_inputs": [
|
||||
{
|
||||
"path": ".gitignore",
|
||||
"sha256": "53aa4d7124d4c8d93b8d7c4cb470b6c82b844e019a660d6243ffeadc50602de1"
|
||||
},
|
||||
{
|
||||
"path": "README.md",
|
||||
"sha256": "8cf5a2d6de849eb090b9ea6d5e27841f551bd06947e5054f0d2f59639a90edd0"
|
||||
},
|
||||
{
|
||||
"path": "Scenes/main.scene.json",
|
||||
"sha256": "be48a6d21385e717b6c8ebf9a3b4322eebbeff6bb067428e089ab5214be79854"
|
||||
},
|
||||
{
|
||||
"path": "Scripts/Gameplay.cpp",
|
||||
"sha256": "6b581b24da613e1915819de0a0f0ea820dd3333efa62c4b479a9ea7ffdbc6bcc"
|
||||
},
|
||||
{
|
||||
"path": "Scripts/Gameplay.hpp",
|
||||
"sha256": "4121587182ed4f74901b1c0757c53daadbf309af1d6bb5dd87fef142130ccbbe"
|
||||
},
|
||||
{
|
||||
"path": "project.faset.json",
|
||||
"sha256": "36e2acd32210f5489372a2331346a3294ead2395f0713e3e5fd2da4e83263689"
|
||||
}
|
||||
],
|
||||
"generation": "ca306aa8-a094-42bc-833f-a24a05cab73d",
|
||||
"configuration": "Release",
|
||||
"standalone_directory": "/tmp/faset-p1-final-packages-4a3453e/Faset Café 世界/collect-2d",
|
||||
"executable": "faset_player",
|
||||
"package_file_count": 41,
|
||||
"asset_generations": {},
|
||||
"device": "NVIDIA GeForce RTX 2080 Ti",
|
||||
"device_class": "physical",
|
||||
"driver": {
|
||||
"apiVersion": "1.4.329",
|
||||
"driverVersion": "595.84.0.0",
|
||||
"deviceName": "NVIDIA GeForce RTX 2080 Ti",
|
||||
"driverID": "DRIVER_ID_NVIDIA_PROPRIETARY",
|
||||
"driverName": "NVIDIA",
|
||||
"driverInfo": "595.84"
|
||||
},
|
||||
"validation_enabled": true,
|
||||
"validation_errors": 0,
|
||||
"completed_frames": 120,
|
||||
"summary_ms": {
|
||||
"gpu": {
|
||||
"max": 0.581984,
|
||||
"min": 0.555552,
|
||||
"p50": 0.5592,
|
||||
"p95": 0.568896,
|
||||
"samples": 120
|
||||
},
|
||||
"render_call": {
|
||||
"max": 6.021328,
|
||||
"min": 1.627681,
|
||||
"p50": 1.892219,
|
||||
"p95": 2.165605,
|
||||
"samples": 120
|
||||
},
|
||||
"renderer_cpu": {
|
||||
"max": 6.013313,
|
||||
"min": 1.621609,
|
||||
"p50": 1.883223,
|
||||
"p95": 2.15763,
|
||||
"samples": 120
|
||||
},
|
||||
"renderer_readback_cpu": {
|
||||
"max": 2.645991,
|
||||
"min": 0.386439,
|
||||
"p50": 0.478583,
|
||||
"p95": 0.582889,
|
||||
"samples": 120
|
||||
},
|
||||
"simulation": {
|
||||
"max": 0.332657,
|
||||
"min": 0.135175,
|
||||
"p50": 0.166364,
|
||||
"p95": 0.244932,
|
||||
"samples": 120
|
||||
},
|
||||
"snapshot": {
|
||||
"max": 0.250653,
|
||||
"min": 0.130637,
|
||||
"p50": 0.153339,
|
||||
"p95": 0.221498,
|
||||
"samples": 120
|
||||
},
|
||||
"wall": {
|
||||
"max": 6.632972,
|
||||
"min": 1.913981,
|
||||
"p50": 2.233333,
|
||||
"p95": 2.59779,
|
||||
"samples": 120
|
||||
}
|
||||
},
|
||||
"capture": {
|
||||
"width": 1280,
|
||||
"height": 720,
|
||||
"sampled_colors": 7,
|
||||
"sha256": "f9d74067d87c1ebf30c6db372a26d93b7285791c8cb0307a24af5adb23bf201a"
|
||||
},
|
||||
"source_project_paths_unavailable": true,
|
||||
"status": "passed"
|
||||
},
|
||||
{
|
||||
"name": "collect-3d",
|
||||
"dimension": 3,
|
||||
"language": "cpp",
|
||||
"source_inputs": [
|
||||
{
|
||||
"path": ".gitignore",
|
||||
"sha256": "53aa4d7124d4c8d93b8d7c4cb470b6c82b844e019a660d6243ffeadc50602de1"
|
||||
},
|
||||
{
|
||||
"path": "Assets/exit-arch/create.py",
|
||||
"sha256": "9c7291124fb1498a3f992ef74afc39cd98f9cc3e2ff4687c633bece85d580905"
|
||||
},
|
||||
{
|
||||
"path": "Assets/exit-arch/manifest.json",
|
||||
"sha256": "7a13347adc89761fb02ebeab3c58ba87f319cd62f53ec87a3bb61bcd066ffa55"
|
||||
},
|
||||
{
|
||||
"path": "Assets/exit-arch/manifest.json.faset-import.json",
|
||||
"sha256": "ef4eef28a18a0cc40a40df75db34c97faa5d783b891265f862633f3aec514afc"
|
||||
},
|
||||
{
|
||||
"path": "Assets/exit-arch/payload/ee6c748a212905fc9c465cbe95c033e94b80be643624f4f240ad5353761205b3.glb",
|
||||
"sha256": "ee6c748a212905fc9c465cbe95c033e94b80be643624f4f240ad5353761205b3"
|
||||
},
|
||||
{
|
||||
"path": "Assets/exit-arch/source.blend",
|
||||
"sha256": "ff2676bec97ab778e531e87a185ad716049ea3b05b4a4f0027a6345737735035"
|
||||
},
|
||||
{
|
||||
"path": "README.md",
|
||||
"sha256": "2df5ca4df47ab5d3d05d41508201296d4ad5ec876245f19f061767ade6a30e8f"
|
||||
},
|
||||
{
|
||||
"path": "Scenes/main.scene.json",
|
||||
"sha256": "61b65baf79e52f07ac386a7f98acf985a1b09e88770cdde37ef461dc94b9dcd7"
|
||||
},
|
||||
{
|
||||
"path": "Scripts/Extensions/Beacon.hpp",
|
||||
"sha256": "c60d56161eead16f541835053ad32ac3333383d83015709c060b7d45e0af5a97"
|
||||
},
|
||||
{
|
||||
"path": "Scripts/Gameplay.cpp",
|
||||
"sha256": "5d419786a6861d7f14ed4eca54634694d8cd43be5dbbd60a2c6790db665c3a6a"
|
||||
},
|
||||
{
|
||||
"path": "Scripts/Gameplay.hpp",
|
||||
"sha256": "4121587182ed4f74901b1c0757c53daadbf309af1d6bb5dd87fef142130ccbbe"
|
||||
},
|
||||
{
|
||||
"path": "project.faset.json",
|
||||
"sha256": "43d273b1054ec9069369073f54cc1fc7efb3d6b699dcd342c552a2dc2ef852ef"
|
||||
}
|
||||
],
|
||||
"import": {
|
||||
"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-final-release-4a3453e/Faset Café 世界/collect-3d/Assets/exit-arch/payload/ee6c748a212905fc9c465cbe95c033e94b80be643624f4f240ad5353761205b3.glb",
|
||||
"schema_version": 1,
|
||||
"settings": {},
|
||||
"source": "/tmp/faset-p1-final-release-4a3453e/Faset Café 世界/collect-3d/Assets/exit-arch/manifest.json",
|
||||
"source_sha256": "ee6c748a212905fc9c465cbe95c033e94b80be643624f4f240ad5353761205b3",
|
||||
"textures": []
|
||||
},
|
||||
"previous_generation": "",
|
||||
"removed_output_ids": []
|
||||
},
|
||||
"generation": "004c6e18-969b-4ef5-95bb-5d7742f96564",
|
||||
"configuration": "Release",
|
||||
"standalone_directory": "/tmp/faset-p1-final-packages-4a3453e/Faset Café 世界/collect-3d",
|
||||
"executable": "faset_player",
|
||||
"package_file_count": 46,
|
||||
"asset_generations": {
|
||||
"5832763b-3ed0-44d6-9088-0b524f196a91": "4a5bfcc1437a7b4d65c388da2beace0308cceda8e16503d08ce676260f21d5c2"
|
||||
},
|
||||
"device": "NVIDIA GeForce RTX 2080 Ti",
|
||||
"device_class": "physical",
|
||||
"driver": {
|
||||
"apiVersion": "1.4.329",
|
||||
"driverVersion": "595.84.0.0",
|
||||
"deviceName": "NVIDIA GeForce RTX 2080 Ti",
|
||||
"driverID": "DRIVER_ID_NVIDIA_PROPRIETARY",
|
||||
"driverName": "NVIDIA",
|
||||
"driverInfo": "595.84"
|
||||
},
|
||||
"validation_enabled": true,
|
||||
"validation_errors": 0,
|
||||
"completed_frames": 120,
|
||||
"summary_ms": {
|
||||
"gpu": {
|
||||
"max": 0.62432,
|
||||
"min": 0.592032,
|
||||
"p50": 0.593792,
|
||||
"p95": 0.61008,
|
||||
"samples": 120
|
||||
},
|
||||
"render_call": {
|
||||
"max": 5.917472,
|
||||
"min": 1.873163,
|
||||
"p50": 2.209838,
|
||||
"p95": 2.552535,
|
||||
"samples": 120
|
||||
},
|
||||
"renderer_cpu": {
|
||||
"max": 5.909758,
|
||||
"min": 1.867162,
|
||||
"p50": 2.201673,
|
||||
"p95": 2.53905,
|
||||
"samples": 120
|
||||
},
|
||||
"renderer_readback_cpu": {
|
||||
"max": 2.530744,
|
||||
"min": 0.388893,
|
||||
"p50": 0.499071,
|
||||
"p95": 0.636931,
|
||||
"samples": 120
|
||||
},
|
||||
"simulation": {
|
||||
"max": 0.608728,
|
||||
"min": 0.172335,
|
||||
"p50": 0.203934,
|
||||
"p95": 0.284217,
|
||||
"samples": 120
|
||||
},
|
||||
"snapshot": {
|
||||
"max": 0.714438,
|
||||
"min": 0.170371,
|
||||
"p50": 0.191832,
|
||||
"p95": 0.280138,
|
||||
"samples": 120
|
||||
},
|
||||
"wall": {
|
||||
"max": 6.969116,
|
||||
"min": 2.24785,
|
||||
"p50": 2.627506,
|
||||
"p95": 3.081914,
|
||||
"samples": 120
|
||||
}
|
||||
},
|
||||
"capture": {
|
||||
"width": 1280,
|
||||
"height": 720,
|
||||
"sampled_colors": 65,
|
||||
"sha256": "2905891c9766b2f1f65d5b4284056cb3839f1faae195f9fea39a56e3ebf44363"
|
||||
},
|
||||
"source_project_paths_unavailable": true,
|
||||
"status": "passed"
|
||||
},
|
||||
{
|
||||
"name": "lua",
|
||||
"dimension": 2,
|
||||
"language": "lua",
|
||||
"source_inputs": [
|
||||
{
|
||||
"path": "README.md",
|
||||
"sha256": "8392da3c18916400ea628daed094c77c390c553cbdcf822da227bdcd3d86380c"
|
||||
},
|
||||
{
|
||||
"path": "Scenes/main.scene.json",
|
||||
"sha256": "f1ab54150a58b289c47bcc34566ad7ee3025ad931db81e7f5dce70d9fbcac8ab"
|
||||
},
|
||||
{
|
||||
"path": "Scripts/beacon.lua",
|
||||
"sha256": "44d932ebedf66cadb9620f2d926177be2f8d43d71d56aa83611de686af026231"
|
||||
},
|
||||
{
|
||||
"path": "Scripts/player.lua",
|
||||
"sha256": "1c51810574a3413c46a7cbd0ea2e84a9b802da1206a2b72bb78f6cc951367a11"
|
||||
},
|
||||
{
|
||||
"path": "Scripts/util/motion.lua",
|
||||
"sha256": "bad3dcdc1081fd1dec589c12dad8dc175b739d77ea52b957ead9ecb4b7cb88a3"
|
||||
},
|
||||
{
|
||||
"path": "project.faset.json",
|
||||
"sha256": "7e4c0781c1837208b4499a9991ffb702143edf1f933ae9c7e3d2543fd2577747"
|
||||
}
|
||||
],
|
||||
"generation": "92846e8b-d199-4679-8f6a-fb0686acba75",
|
||||
"configuration": "Release",
|
||||
"standalone_directory": "/tmp/faset-p1-final-packages-4a3453e/Faset Café 世界/lua",
|
||||
"executable": "faset_player",
|
||||
"package_file_count": 46,
|
||||
"asset_generations": {},
|
||||
"device": "NVIDIA GeForce RTX 2080 Ti",
|
||||
"device_class": "physical",
|
||||
"driver": {
|
||||
"apiVersion": "1.4.329",
|
||||
"driverVersion": "595.84.0.0",
|
||||
"deviceName": "NVIDIA GeForce RTX 2080 Ti",
|
||||
"driverID": "DRIVER_ID_NVIDIA_PROPRIETARY",
|
||||
"driverName": "NVIDIA",
|
||||
"driverInfo": "595.84"
|
||||
},
|
||||
"validation_enabled": true,
|
||||
"validation_errors": 0,
|
||||
"completed_frames": 120,
|
||||
"summary_ms": {
|
||||
"gpu": {
|
||||
"max": 0.589568,
|
||||
"min": 0.551712,
|
||||
"p50": 0.552416,
|
||||
"p95": 0.570016,
|
||||
"samples": 120
|
||||
},
|
||||
"render_call": {
|
||||
"max": 6.280958,
|
||||
"min": 1.607562,
|
||||
"p50": 1.83424,
|
||||
"p95": 2.180794,
|
||||
"samples": 120
|
||||
},
|
||||
"renderer_cpu": {
|
||||
"max": 6.273714,
|
||||
"min": 1.602192,
|
||||
"p50": 1.828289,
|
||||
"p95": 2.169262,
|
||||
"samples": 120
|
||||
},
|
||||
"renderer_readback_cpu": {
|
||||
"max": 3.40345,
|
||||
"min": 0.412939,
|
||||
"p50": 0.503159,
|
||||
"p95": 0.622655,
|
||||
"samples": 120
|
||||
},
|
||||
"simulation": {
|
||||
"max": 0.231888,
|
||||
"min": 0.080883,
|
||||
"p50": 0.103485,
|
||||
"p95": 0.166965,
|
||||
"samples": 120
|
||||
},
|
||||
"snapshot": {
|
||||
"max": 0.136677,
|
||||
"min": 0.046938,
|
||||
"p50": 0.056226,
|
||||
"p95": 0.083728,
|
||||
"samples": 120
|
||||
},
|
||||
"wall": {
|
||||
"max": 6.601142,
|
||||
"min": 1.775219,
|
||||
"p50": 2.019429,
|
||||
"p95": 2.450732,
|
||||
"samples": 120
|
||||
}
|
||||
},
|
||||
"capture": {
|
||||
"width": 1280,
|
||||
"height": 720,
|
||||
"sampled_colors": 4,
|
||||
"sha256": "e2f4c3b84de75dadd2e31d388d0ba51abc1861f1ec76eb7ba51a4a2dcac720a7"
|
||||
},
|
||||
"source_project_paths_unavailable": true,
|
||||
"status": "passed"
|
||||
}
|
||||
],
|
||||
"requested_projects": [
|
||||
"collect-2d",
|
||||
"collect-3d",
|
||||
"lua"
|
||||
],
|
||||
"finished_utc": "2026-09-24T02:07:41.244688+00:00"
|
||||
}
|
||||
+237
@@ -0,0 +1,237 @@
|
||||
{
|
||||
"format": "faset.p1-release-reference",
|
||||
"version": 1,
|
||||
"source_revision": "4a3453e2b1868555d833f578d43f48b8bc47d41a",
|
||||
"editor_sha256": "73702e9f0fe015ef932db694400a0501048be2d602ab521ecc48c51767275d23",
|
||||
"verification_sha256": "63da692b605621acc1cace00d4a3c9cf35de13abfd4351aea6653a88c870e03f",
|
||||
"host": {
|
||||
"platform": "Linux-7.0.0-31-generic-x86_64-with-glibc2.43",
|
||||
"machine": "x86_64",
|
||||
"processor": ""
|
||||
},
|
||||
"method": "sequential relocated Release Player, default direct/temporal-off, offscreen 1280x720, 240 completed frames including first; nearest-rank p95, validation/readback enabled",
|
||||
"projects": [
|
||||
{
|
||||
"name": "collect-2d",
|
||||
"dimension": 2,
|
||||
"device": "NVIDIA GeForce RTX 2080 Ti",
|
||||
"player_sha256": "5936d8a1ceae9250c69f1b8ebccbadebc40b13e812bebeb9752da3d14d202a4a",
|
||||
"manifest_sha256": "5f8de3eb000dc7207b256265f0fa20a29efe194dd1347ab4c3bf670cfdcfb2b0",
|
||||
"profile_sha256": "65858b1de2334d304ad3a0907180aaf4f79ead3da63762500e50b7298d922bfa",
|
||||
"requested_frames": 240,
|
||||
"completed_frames": 240,
|
||||
"summary_ms": {
|
||||
"gpu": {
|
||||
"max": 0.585248,
|
||||
"min": 0.552064,
|
||||
"p50": 0.557184,
|
||||
"p95": 0.573056,
|
||||
"samples": 240
|
||||
},
|
||||
"render_call": {
|
||||
"max": 6.04885,
|
||||
"min": 1.470684,
|
||||
"p50": 1.795998,
|
||||
"p95": 2.305238,
|
||||
"samples": 240
|
||||
},
|
||||
"renderer_cpu": {
|
||||
"max": 6.043249,
|
||||
"min": 1.466045,
|
||||
"p50": 1.79204,
|
||||
"p95": 2.300209,
|
||||
"samples": 240
|
||||
},
|
||||
"renderer_readback_cpu": {
|
||||
"max": 2.620153,
|
||||
"min": 0.398713,
|
||||
"p50": 0.462312,
|
||||
"p95": 0.559205,
|
||||
"samples": 240
|
||||
},
|
||||
"simulation": {
|
||||
"max": 0.357284,
|
||||
"min": 0.130406,
|
||||
"p50": 0.168848,
|
||||
"p95": 0.242057,
|
||||
"samples": 240
|
||||
},
|
||||
"snapshot": {
|
||||
"max": 0.338358,
|
||||
"min": 0.124996,
|
||||
"p50": 0.157076,
|
||||
"p95": 0.197363,
|
||||
"samples": 240
|
||||
},
|
||||
"wall": {
|
||||
"max": 6.47329,
|
||||
"min": 1.746054,
|
||||
"p50": 2.137342,
|
||||
"p95": 2.693952,
|
||||
"samples": 240
|
||||
}
|
||||
},
|
||||
"startup_ms": {
|
||||
"main_to_first_frame": 295.436243,
|
||||
"renderer_initialization": 284.655357,
|
||||
"scene_read": 0.410555,
|
||||
"world_initialization": 0.64129
|
||||
},
|
||||
"effective_lighting_path": "forward",
|
||||
"gpu_allocated_bytes_max": 45112032,
|
||||
"sun_shadow_atlas_bytes_max": 16777216,
|
||||
"local_shadow_atlas_bytes_max": 16777216,
|
||||
"gpu_allocated_excluding_shadow_atlases_bytes_max": 11557600,
|
||||
"effective_sun_cascades_max": 0,
|
||||
"local_shadow_faces_max": 0,
|
||||
"budget_checks": {
|
||||
"wall": {
|
||||
"observed_ms": 2.693952,
|
||||
"limit_ms": 4.0,
|
||||
"met": true
|
||||
},
|
||||
"gpu": {
|
||||
"observed_ms": 0.573056,
|
||||
"limit_ms": 1.0,
|
||||
"met": true
|
||||
},
|
||||
"renderer_readback_cpu": {
|
||||
"observed_ms": 0.559205,
|
||||
"limit_ms": 1.0,
|
||||
"met": true
|
||||
},
|
||||
"simulation": {
|
||||
"observed_ms": 0.242057,
|
||||
"limit_ms": 0.5,
|
||||
"met": true
|
||||
},
|
||||
"snapshot": {
|
||||
"observed_ms": 0.197363,
|
||||
"limit_ms": 0.5,
|
||||
"met": true
|
||||
},
|
||||
"explicit_allocation": {
|
||||
"observed_bytes": 45112032,
|
||||
"limit_bytes": 20971520,
|
||||
"met": false
|
||||
},
|
||||
"startup": {
|
||||
"observed_ms": 295.436243,
|
||||
"limit_ms": 500.0,
|
||||
"met": true
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "collect-3d",
|
||||
"dimension": 3,
|
||||
"device": "NVIDIA GeForce RTX 2080 Ti",
|
||||
"player_sha256": "52fbe0067fc2be3807e60ffa5a77e819838dc50a4b723af51f16379b4a487e7c",
|
||||
"manifest_sha256": "484eda90411c48277385a2f679561cfa6304965a7a7be6ec065bfbd9dace1722",
|
||||
"profile_sha256": "b0c4c6b4020b1ded792917fff1f36510b76bb30864d89bd4e6e250b5693c5fe8",
|
||||
"requested_frames": 240,
|
||||
"completed_frames": 240,
|
||||
"summary_ms": {
|
||||
"gpu": {
|
||||
"max": 0.628288,
|
||||
"min": 0.590144,
|
||||
"p50": 0.592224,
|
||||
"p95": 0.616512,
|
||||
"samples": 240
|
||||
},
|
||||
"render_call": {
|
||||
"max": 5.902553,
|
||||
"min": 1.958014,
|
||||
"p50": 2.192415,
|
||||
"p95": 2.551243,
|
||||
"samples": 240
|
||||
},
|
||||
"renderer_cpu": {
|
||||
"max": 5.89525,
|
||||
"min": 1.949527,
|
||||
"p50": 2.184501,
|
||||
"p95": 2.543007,
|
||||
"samples": 240
|
||||
},
|
||||
"renderer_readback_cpu": {
|
||||
"max": 2.581069,
|
||||
"min": 0.350231,
|
||||
"p50": 0.454097,
|
||||
"p95": 0.560908,
|
||||
"samples": 240
|
||||
},
|
||||
"simulation": {
|
||||
"max": 0.432225,
|
||||
"min": 0.170772,
|
||||
"p50": 0.191732,
|
||||
"p95": 0.299776,
|
||||
"samples": 240
|
||||
},
|
||||
"snapshot": {
|
||||
"max": 0.745236,
|
||||
"min": 0.171273,
|
||||
"p50": 0.188084,
|
||||
"p95": 0.287632,
|
||||
"samples": 240
|
||||
},
|
||||
"wall": {
|
||||
"max": 7.001186,
|
||||
"min": 2.330556,
|
||||
"p50": 2.605595,
|
||||
"p95": 3.036327,
|
||||
"samples": 240
|
||||
}
|
||||
},
|
||||
"startup_ms": {
|
||||
"main_to_first_frame": 248.272928,
|
||||
"renderer_initialization": 237.578356,
|
||||
"scene_read": 0.506575,
|
||||
"world_initialization": 0.62037
|
||||
},
|
||||
"effective_lighting_path": "forward",
|
||||
"gpu_allocated_bytes_max": 45212272,
|
||||
"sun_shadow_atlas_bytes_max": 16777216,
|
||||
"local_shadow_atlas_bytes_max": 16777216,
|
||||
"gpu_allocated_excluding_shadow_atlases_bytes_max": 11657840,
|
||||
"effective_sun_cascades_max": 4,
|
||||
"local_shadow_faces_max": 0,
|
||||
"budget_checks": {
|
||||
"wall": {
|
||||
"observed_ms": 3.036327,
|
||||
"limit_ms": 4.0,
|
||||
"met": true
|
||||
},
|
||||
"gpu": {
|
||||
"observed_ms": 0.616512,
|
||||
"limit_ms": 1.0,
|
||||
"met": true
|
||||
},
|
||||
"renderer_readback_cpu": {
|
||||
"observed_ms": 0.560908,
|
||||
"limit_ms": 1.0,
|
||||
"met": true
|
||||
},
|
||||
"simulation": {
|
||||
"observed_ms": 0.299776,
|
||||
"limit_ms": 0.5,
|
||||
"met": true
|
||||
},
|
||||
"snapshot": {
|
||||
"observed_ms": 0.287632,
|
||||
"limit_ms": 0.5,
|
||||
"met": true
|
||||
},
|
||||
"explicit_allocation": {
|
||||
"observed_bytes": 45212272,
|
||||
"limit_bytes": 20971520,
|
||||
"met": false
|
||||
},
|
||||
"startup": {
|
||||
"observed_ms": 248.272928,
|
||||
"limit_ms": 500.0,
|
||||
"met": true
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,577 @@
|
||||
{
|
||||
"format": "faset.playable-export-verification",
|
||||
"version": 1,
|
||||
"started_utc": "2026-09-24T02:01:24.205054+00:00",
|
||||
"platform": "linux",
|
||||
"engine": "/home/emil/Desktop/.worktrees/Faset_Engine-p1-p3-integration",
|
||||
"editor": "/home/emil/Desktop/.worktrees/Faset_Engine-p1-p3-integration/build/linux-release/faset_editor",
|
||||
"standalone_root": "/tmp/faset-p1-final-packages-4a3453e",
|
||||
"engine_revision": "4a3453e2b1868555d833f578d43f48b8bc47d41a",
|
||||
"engine_dirty": false,
|
||||
"engine_git_status": [],
|
||||
"engine_diff_sha256": null,
|
||||
"editor_sha256": "73702e9f0fe015ef932db694400a0501048be2d602ab521ecc48c51767275d23",
|
||||
"project_workspace": "/tmp/faset-p1-final-release-4a3453e",
|
||||
"vulkaninfo_available": true,
|
||||
"driver_override": null,
|
||||
"frames_per_game": 120,
|
||||
"status": "passed",
|
||||
"projects": [
|
||||
{
|
||||
"name": "collect-2d",
|
||||
"dimension": 2,
|
||||
"language": "cpp",
|
||||
"source_inputs": [
|
||||
{
|
||||
"path": ".gitignore",
|
||||
"sha256": "53aa4d7124d4c8d93b8d7c4cb470b6c82b844e019a660d6243ffeadc50602de1"
|
||||
},
|
||||
{
|
||||
"path": "README.md",
|
||||
"sha256": "8cf5a2d6de849eb090b9ea6d5e27841f551bd06947e5054f0d2f59639a90edd0"
|
||||
},
|
||||
{
|
||||
"path": "Scenes/main.scene.json",
|
||||
"sha256": "be48a6d21385e717b6c8ebf9a3b4322eebbeff6bb067428e089ab5214be79854"
|
||||
},
|
||||
{
|
||||
"path": "Scripts/Gameplay.cpp",
|
||||
"sha256": "6b581b24da613e1915819de0a0f0ea820dd3333efa62c4b479a9ea7ffdbc6bcc"
|
||||
},
|
||||
{
|
||||
"path": "Scripts/Gameplay.hpp",
|
||||
"sha256": "4121587182ed4f74901b1c0757c53daadbf309af1d6bb5dd87fef142130ccbbe"
|
||||
},
|
||||
{
|
||||
"path": "project.faset.json",
|
||||
"sha256": "36e2acd32210f5489372a2331346a3294ead2395f0713e3e5fd2da4e83263689"
|
||||
}
|
||||
],
|
||||
"generation": "ca306aa8-a094-42bc-833f-a24a05cab73d",
|
||||
"configuration": "Release",
|
||||
"standalone_directory": "/tmp/faset-p1-final-packages-4a3453e/Faset Café 世界/collect-2d",
|
||||
"executable": "faset_player",
|
||||
"package_file_count": 41,
|
||||
"asset_generations": {},
|
||||
"device": "NVIDIA GeForce RTX 2080 Ti",
|
||||
"device_class": "physical",
|
||||
"driver": {
|
||||
"apiVersion": "1.4.329",
|
||||
"driverVersion": "595.84.0.0",
|
||||
"deviceName": "NVIDIA GeForce RTX 2080 Ti",
|
||||
"driverID": "DRIVER_ID_NVIDIA_PROPRIETARY",
|
||||
"driverName": "NVIDIA",
|
||||
"driverInfo": "595.84"
|
||||
},
|
||||
"validation_enabled": true,
|
||||
"validation_errors": 0,
|
||||
"completed_frames": 120,
|
||||
"summary_ms": {
|
||||
"gpu": {
|
||||
"max": 0.581984,
|
||||
"min": 0.555552,
|
||||
"p50": 0.5592,
|
||||
"p95": 0.568896,
|
||||
"samples": 120
|
||||
},
|
||||
"render_call": {
|
||||
"max": 6.021328,
|
||||
"min": 1.627681,
|
||||
"p50": 1.892219,
|
||||
"p95": 2.165605,
|
||||
"samples": 120
|
||||
},
|
||||
"renderer_cpu": {
|
||||
"max": 6.013313,
|
||||
"min": 1.621609,
|
||||
"p50": 1.883223,
|
||||
"p95": 2.15763,
|
||||
"samples": 120
|
||||
},
|
||||
"renderer_readback_cpu": {
|
||||
"max": 2.645991,
|
||||
"min": 0.386439,
|
||||
"p50": 0.478583,
|
||||
"p95": 0.582889,
|
||||
"samples": 120
|
||||
},
|
||||
"simulation": {
|
||||
"max": 0.332657,
|
||||
"min": 0.135175,
|
||||
"p50": 0.166364,
|
||||
"p95": 0.244932,
|
||||
"samples": 120
|
||||
},
|
||||
"snapshot": {
|
||||
"max": 0.250653,
|
||||
"min": 0.130637,
|
||||
"p50": 0.153339,
|
||||
"p95": 0.221498,
|
||||
"samples": 120
|
||||
},
|
||||
"wall": {
|
||||
"max": 6.632972,
|
||||
"min": 1.913981,
|
||||
"p50": 2.233333,
|
||||
"p95": 2.59779,
|
||||
"samples": 120
|
||||
}
|
||||
},
|
||||
"capture": {
|
||||
"width": 1280,
|
||||
"height": 720,
|
||||
"sampled_colors": 7,
|
||||
"sha256": "f9d74067d87c1ebf30c6db372a26d93b7285791c8cb0307a24af5adb23bf201a"
|
||||
},
|
||||
"source_project_paths_unavailable": true,
|
||||
"status": "passed"
|
||||
},
|
||||
{
|
||||
"name": "collect-3d",
|
||||
"dimension": 3,
|
||||
"language": "cpp",
|
||||
"source_inputs": [
|
||||
{
|
||||
"path": ".gitignore",
|
||||
"sha256": "53aa4d7124d4c8d93b8d7c4cb470b6c82b844e019a660d6243ffeadc50602de1"
|
||||
},
|
||||
{
|
||||
"path": "Assets/exit-arch/create.py",
|
||||
"sha256": "9c7291124fb1498a3f992ef74afc39cd98f9cc3e2ff4687c633bece85d580905"
|
||||
},
|
||||
{
|
||||
"path": "Assets/exit-arch/manifest.json",
|
||||
"sha256": "7a13347adc89761fb02ebeab3c58ba87f319cd62f53ec87a3bb61bcd066ffa55"
|
||||
},
|
||||
{
|
||||
"path": "Assets/exit-arch/manifest.json.faset-import.json",
|
||||
"sha256": "ef4eef28a18a0cc40a40df75db34c97faa5d783b891265f862633f3aec514afc"
|
||||
},
|
||||
{
|
||||
"path": "Assets/exit-arch/payload/ee6c748a212905fc9c465cbe95c033e94b80be643624f4f240ad5353761205b3.glb",
|
||||
"sha256": "ee6c748a212905fc9c465cbe95c033e94b80be643624f4f240ad5353761205b3"
|
||||
},
|
||||
{
|
||||
"path": "Assets/exit-arch/source.blend",
|
||||
"sha256": "ff2676bec97ab778e531e87a185ad716049ea3b05b4a4f0027a6345737735035"
|
||||
},
|
||||
{
|
||||
"path": "README.md",
|
||||
"sha256": "2df5ca4df47ab5d3d05d41508201296d4ad5ec876245f19f061767ade6a30e8f"
|
||||
},
|
||||
{
|
||||
"path": "Scenes/main.scene.json",
|
||||
"sha256": "61b65baf79e52f07ac386a7f98acf985a1b09e88770cdde37ef461dc94b9dcd7"
|
||||
},
|
||||
{
|
||||
"path": "Scripts/Extensions/Beacon.hpp",
|
||||
"sha256": "c60d56161eead16f541835053ad32ac3333383d83015709c060b7d45e0af5a97"
|
||||
},
|
||||
{
|
||||
"path": "Scripts/Gameplay.cpp",
|
||||
"sha256": "5d419786a6861d7f14ed4eca54634694d8cd43be5dbbd60a2c6790db665c3a6a"
|
||||
},
|
||||
{
|
||||
"path": "Scripts/Gameplay.hpp",
|
||||
"sha256": "4121587182ed4f74901b1c0757c53daadbf309af1d6bb5dd87fef142130ccbbe"
|
||||
},
|
||||
{
|
||||
"path": "project.faset.json",
|
||||
"sha256": "43d273b1054ec9069369073f54cc1fc7efb3d6b699dcd342c552a2dc2ef852ef"
|
||||
}
|
||||
],
|
||||
"import": {
|
||||
"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-final-release-4a3453e/Faset Café 世界/collect-3d/Assets/exit-arch/payload/ee6c748a212905fc9c465cbe95c033e94b80be643624f4f240ad5353761205b3.glb",
|
||||
"schema_version": 1,
|
||||
"settings": {},
|
||||
"source": "/tmp/faset-p1-final-release-4a3453e/Faset Café 世界/collect-3d/Assets/exit-arch/manifest.json",
|
||||
"source_sha256": "ee6c748a212905fc9c465cbe95c033e94b80be643624f4f240ad5353761205b3",
|
||||
"textures": []
|
||||
},
|
||||
"previous_generation": "",
|
||||
"removed_output_ids": []
|
||||
},
|
||||
"generation": "004c6e18-969b-4ef5-95bb-5d7742f96564",
|
||||
"configuration": "Release",
|
||||
"standalone_directory": "/tmp/faset-p1-final-packages-4a3453e/Faset Café 世界/collect-3d",
|
||||
"executable": "faset_player",
|
||||
"package_file_count": 46,
|
||||
"asset_generations": {
|
||||
"5832763b-3ed0-44d6-9088-0b524f196a91": "4a5bfcc1437a7b4d65c388da2beace0308cceda8e16503d08ce676260f21d5c2"
|
||||
},
|
||||
"device": "NVIDIA GeForce RTX 2080 Ti",
|
||||
"device_class": "physical",
|
||||
"driver": {
|
||||
"apiVersion": "1.4.329",
|
||||
"driverVersion": "595.84.0.0",
|
||||
"deviceName": "NVIDIA GeForce RTX 2080 Ti",
|
||||
"driverID": "DRIVER_ID_NVIDIA_PROPRIETARY",
|
||||
"driverName": "NVIDIA",
|
||||
"driverInfo": "595.84"
|
||||
},
|
||||
"validation_enabled": true,
|
||||
"validation_errors": 0,
|
||||
"completed_frames": 120,
|
||||
"summary_ms": {
|
||||
"gpu": {
|
||||
"max": 0.62432,
|
||||
"min": 0.592032,
|
||||
"p50": 0.593792,
|
||||
"p95": 0.61008,
|
||||
"samples": 120
|
||||
},
|
||||
"render_call": {
|
||||
"max": 5.917472,
|
||||
"min": 1.873163,
|
||||
"p50": 2.209838,
|
||||
"p95": 2.552535,
|
||||
"samples": 120
|
||||
},
|
||||
"renderer_cpu": {
|
||||
"max": 5.909758,
|
||||
"min": 1.867162,
|
||||
"p50": 2.201673,
|
||||
"p95": 2.53905,
|
||||
"samples": 120
|
||||
},
|
||||
"renderer_readback_cpu": {
|
||||
"max": 2.530744,
|
||||
"min": 0.388893,
|
||||
"p50": 0.499071,
|
||||
"p95": 0.636931,
|
||||
"samples": 120
|
||||
},
|
||||
"simulation": {
|
||||
"max": 0.608728,
|
||||
"min": 0.172335,
|
||||
"p50": 0.203934,
|
||||
"p95": 0.284217,
|
||||
"samples": 120
|
||||
},
|
||||
"snapshot": {
|
||||
"max": 0.714438,
|
||||
"min": 0.170371,
|
||||
"p50": 0.191832,
|
||||
"p95": 0.280138,
|
||||
"samples": 120
|
||||
},
|
||||
"wall": {
|
||||
"max": 6.969116,
|
||||
"min": 2.24785,
|
||||
"p50": 2.627506,
|
||||
"p95": 3.081914,
|
||||
"samples": 120
|
||||
}
|
||||
},
|
||||
"capture": {
|
||||
"width": 1280,
|
||||
"height": 720,
|
||||
"sampled_colors": 65,
|
||||
"sha256": "2905891c9766b2f1f65d5b4284056cb3839f1faae195f9fea39a56e3ebf44363"
|
||||
},
|
||||
"source_project_paths_unavailable": true,
|
||||
"status": "passed"
|
||||
},
|
||||
{
|
||||
"name": "lua",
|
||||
"dimension": 2,
|
||||
"language": "lua",
|
||||
"source_inputs": [
|
||||
{
|
||||
"path": "README.md",
|
||||
"sha256": "8392da3c18916400ea628daed094c77c390c553cbdcf822da227bdcd3d86380c"
|
||||
},
|
||||
{
|
||||
"path": "Scenes/main.scene.json",
|
||||
"sha256": "f1ab54150a58b289c47bcc34566ad7ee3025ad931db81e7f5dce70d9fbcac8ab"
|
||||
},
|
||||
{
|
||||
"path": "Scripts/beacon.lua",
|
||||
"sha256": "44d932ebedf66cadb9620f2d926177be2f8d43d71d56aa83611de686af026231"
|
||||
},
|
||||
{
|
||||
"path": "Scripts/player.lua",
|
||||
"sha256": "1c51810574a3413c46a7cbd0ea2e84a9b802da1206a2b72bb78f6cc951367a11"
|
||||
},
|
||||
{
|
||||
"path": "Scripts/util/motion.lua",
|
||||
"sha256": "bad3dcdc1081fd1dec589c12dad8dc175b739d77ea52b957ead9ecb4b7cb88a3"
|
||||
},
|
||||
{
|
||||
"path": "project.faset.json",
|
||||
"sha256": "7e4c0781c1837208b4499a9991ffb702143edf1f933ae9c7e3d2543fd2577747"
|
||||
}
|
||||
],
|
||||
"generation": "92846e8b-d199-4679-8f6a-fb0686acba75",
|
||||
"configuration": "Release",
|
||||
"standalone_directory": "/tmp/faset-p1-final-packages-4a3453e/Faset Café 世界/lua",
|
||||
"executable": "faset_player",
|
||||
"package_file_count": 46,
|
||||
"asset_generations": {},
|
||||
"device": "NVIDIA GeForce RTX 2080 Ti",
|
||||
"device_class": "physical",
|
||||
"driver": {
|
||||
"apiVersion": "1.4.329",
|
||||
"driverVersion": "595.84.0.0",
|
||||
"deviceName": "NVIDIA GeForce RTX 2080 Ti",
|
||||
"driverID": "DRIVER_ID_NVIDIA_PROPRIETARY",
|
||||
"driverName": "NVIDIA",
|
||||
"driverInfo": "595.84"
|
||||
},
|
||||
"validation_enabled": true,
|
||||
"validation_errors": 0,
|
||||
"completed_frames": 120,
|
||||
"summary_ms": {
|
||||
"gpu": {
|
||||
"max": 0.589568,
|
||||
"min": 0.551712,
|
||||
"p50": 0.552416,
|
||||
"p95": 0.570016,
|
||||
"samples": 120
|
||||
},
|
||||
"render_call": {
|
||||
"max": 6.280958,
|
||||
"min": 1.607562,
|
||||
"p50": 1.83424,
|
||||
"p95": 2.180794,
|
||||
"samples": 120
|
||||
},
|
||||
"renderer_cpu": {
|
||||
"max": 6.273714,
|
||||
"min": 1.602192,
|
||||
"p50": 1.828289,
|
||||
"p95": 2.169262,
|
||||
"samples": 120
|
||||
},
|
||||
"renderer_readback_cpu": {
|
||||
"max": 3.40345,
|
||||
"min": 0.412939,
|
||||
"p50": 0.503159,
|
||||
"p95": 0.622655,
|
||||
"samples": 120
|
||||
},
|
||||
"simulation": {
|
||||
"max": 0.231888,
|
||||
"min": 0.080883,
|
||||
"p50": 0.103485,
|
||||
"p95": 0.166965,
|
||||
"samples": 120
|
||||
},
|
||||
"snapshot": {
|
||||
"max": 0.136677,
|
||||
"min": 0.046938,
|
||||
"p50": 0.056226,
|
||||
"p95": 0.083728,
|
||||
"samples": 120
|
||||
},
|
||||
"wall": {
|
||||
"max": 6.601142,
|
||||
"min": 1.775219,
|
||||
"p50": 2.019429,
|
||||
"p95": 2.450732,
|
||||
"samples": 120
|
||||
}
|
||||
},
|
||||
"capture": {
|
||||
"width": 1280,
|
||||
"height": 720,
|
||||
"sampled_colors": 4,
|
||||
"sha256": "e2f4c3b84de75dadd2e31d388d0ba51abc1861f1ec76eb7ba51a4a2dcac720a7"
|
||||
},
|
||||
"source_project_paths_unavailable": true,
|
||||
"status": "passed"
|
||||
}
|
||||
],
|
||||
"requested_projects": [
|
||||
"collect-2d",
|
||||
"collect-3d",
|
||||
"lua"
|
||||
],
|
||||
"finished_utc": "2026-09-24T02:07:41.244688+00:00"
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
collect-2d-export: /home/emil/Desktop/.worktrees/Faset_Engine-p1-p3-integration/build/linux-release/faset_editor --engine /home/emil/Desktop/.worktrees/Faset_Engine-p1-p3-integration --project "/tmp/faset-p1-final-release-4a3453e/Faset Café 世界/collect-2d" --command "{\"name\": \"faset_export\", \"arguments\": {\"document\": \"example-collect-2d-scene\", \"output\": \"Exports\"}}" --wait
|
||||
collect-3d-import: /home/emil/Desktop/.worktrees/Faset_Engine-p1-p3-integration/build/linux-release/faset_editor --engine /home/emil/Desktop/.worktrees/Faset_Engine-p1-p3-integration --project "/tmp/faset-p1-final-release-4a3453e/Faset Café 世界/collect-3d" --command "{\"name\": \"faset_import\", \"arguments\": {\"path\": \"Assets/exit-arch/manifest.json\"}}" --wait
|
||||
collect-3d-export: /home/emil/Desktop/.worktrees/Faset_Engine-p1-p3-integration/build/linux-release/faset_editor --engine /home/emil/Desktop/.worktrees/Faset_Engine-p1-p3-integration --project "/tmp/faset-p1-final-release-4a3453e/Faset Café 世界/collect-3d" --command "{\"name\": \"faset_export\", \"arguments\": {\"document\": \"example-collect-3d-scene\", \"output\": \"Exports\"}}" --wait
|
||||
lua-export: /home/emil/Desktop/.worktrees/Faset_Engine-p1-p3-integration/build/linux-release/faset_editor --engine /home/emil/Desktop/.worktrees/Faset_Engine-p1-p3-integration --project "/tmp/faset-p1-final-release-4a3453e/Faset Café 世界/lua" --command "{\"name\": \"faset_export\", \"arguments\": {\"document\": \"example-lua-scene\", \"output\": \"Exports\"}}" --wait
|
||||
collect-2d-validate: "/tmp/faset-p1-final-packages-4a3453e/Faset Café 世界/collect-2d/faset_player" --validate
|
||||
collect-2d-run: "/tmp/faset-p1-final-packages-4a3453e/Faset Café 世界/collect-2d/faset_player" --headless --frames 120 --capture "/tmp/faset-p1-final-packages-4a3453e/Faset Café 世界/collect-2d/verification.ppm" --profile "/tmp/faset-p1-final-packages-4a3453e/Faset Café 世界/collect-2d/profile.json"
|
||||
collect-3d-validate: "/tmp/faset-p1-final-packages-4a3453e/Faset Café 世界/collect-3d/faset_player" --validate
|
||||
collect-3d-run: "/tmp/faset-p1-final-packages-4a3453e/Faset Café 世界/collect-3d/faset_player" --headless --frames 120 --capture "/tmp/faset-p1-final-packages-4a3453e/Faset Café 世界/collect-3d/verification.ppm" --profile "/tmp/faset-p1-final-packages-4a3453e/Faset Café 世界/collect-3d/profile.json"
|
||||
lua-validate: "/tmp/faset-p1-final-packages-4a3453e/Faset Café 世界/lua/faset_player" --validate
|
||||
lua-run: "/tmp/faset-p1-final-packages-4a3453e/Faset Café 世界/lua/faset_player" --headless --frames 120 --capture "/tmp/faset-p1-final-packages-4a3453e/Faset Café 世界/lua/verification.ppm" --profile "/tmp/faset-p1-final-packages-4a3453e/Faset Café 世界/lua/profile.json"
|
||||
3 relocated Release game(s) passed: /tmp/faset-p1-final-release-4a3453e/report.json
|
||||
Reference in New Issue
Block a user