Archive P1 iteration workflow and manual checkpoint
This commit is contained in:
@@ -179,9 +179,22 @@ Lua, C++ hot reload, Blender live link, встроенное изображен
|
||||
|
||||
Начальные бюджеты отслеживания для конкретных демо и Linux reference host: frame p95 ≤ 4 мс, GPU/readback p95 ≤ 1 мс, simulation/snapshot p95 ≤ 0,5 мс, явные Vulkan allocations ≤ 20 MiB, startup от `main()` ≤ 500 мс. [Методика и исходные измерения](docs/validation/linux-release-2026-09-18/README.md) ограничивают область этих чисел; для других сцен/ОС нужны отдельные baselines. Это бюджеты P1, а не обещание такой производительности любой игры.
|
||||
|
||||
Lua runtime/editor пакет реализован как необязательный модуль поверх публичного API, проверяемых handles и схем. Доступны Inspector, диагностика и явный lifecycle development reload; сохранение состояния при reload проектируется отдельно. [Проверка Lua-модуля](docs/validation/lua-module.md) подтверждает Linux CPU-контракты и отключение модуля для C++-only проекта; Windows и независимый graphical/release профиль модуля остаются отдельными проверками. Таким образом, Lua-часть P1 появилась после MVP, но это не закрывает весь этап скорости итераций.
|
||||
|
||||
Улучшать schema/build cache, сообщения компилятора, шаблоны проектов, переход к коду, autosave и измеренное время «изменение → результат». Dynamic gameplay loading рассматривать при подтверждённой проблеме линковки.
|
||||
Реализованы необязательный Lua runtime/editor модуль, development reload без
|
||||
сохранения runtime-состояния, проверяемые schema/package cache и snapshots C++
|
||||
исходников, структурированная диагностика, переход к исходнику, четыре C++/Lua
|
||||
2D/3D starter-проекта и безопасный autosave именованных сцен. [Датированный
|
||||
отчёт P1](docs/validation/p1-iteration-2026-09-24/README.md) содержит raw
|
||||
повторные измерения Debug-итераций, 3000 кадров без роста явных GPU allocations,
|
||||
синтетическую расширенную сцену и реальные найденные ограничения. [Lua Release
|
||||
пакет](docs/validation/lua-release-2026-09-24/README.md) на Linux проверен после
|
||||
переноса и скрытия исходного проекта. Windows native/manual, 61 SwiftShader
|
||||
CTest и перенос всех трёх Release-игр, включая Lua-only, прошли на
|
||||
[чистой ревизии `4ac02ee`](https://github.com/emil28092005/Faset_Engine/actions/runs/35937433040).
|
||||
Это функциональная проверка software Vulkan без активного validation layer.
|
||||
Исторический Release benchmark точных демо нельзя
|
||||
подменять новым Debug workflow; свежий Release reference и физический Windows GPU
|
||||
остаются отдельным покрытием. Dynamic gameplay loading рассматривать при
|
||||
подтверждённой проблеме линковки, без обещания C++ hot reload в P1.
|
||||
|
||||
### P2. GPU-driven visibility и LOD
|
||||
|
||||
|
||||
+33
-1
@@ -1,6 +1,6 @@
|
||||
# Faset Engine — архитектура
|
||||
|
||||
Редакция 1.2 · 23 сентября 2026 · **MVP принят; реализация P2 описана отдельно от исходных решений**.
|
||||
Редакция 1.3 · 24 сентября 2026 · **MVP принят; реализация P1/P2 описана отдельно от исходных решений**.
|
||||
|
||||
Этот файл фиксирует решения пользователя. **Принято** означает выбранное направление реализации, а не автоматически завершённую возможность движка. Работающий код, выполненные проверки и текущие ограничения перечислены в [журнале реализации](IMPLEMENTATION.md). Этапы до MVP и после него, зависимости работ и критерии готовности находятся в [PLAN.md](../PLAN.md).
|
||||
|
||||
@@ -111,6 +111,37 @@ Development и release Player содержат runtime, выбранные иг
|
||||
|
||||
Критерии [плана](../PLAN.md) включают цикл сцена → Inspector → MCP authoring edit → Undo → save → build → отдельный Player, повторный импорт GLB с сохранением overrides, lifecycle/handle tests и запуск на обеих ОС без Editor/Blender/MCP/SDK. Выполненные проверки и незакрытые условия перечислены в [журнале реализации](IMPLEMENTATION.md); наличие теста само по себе не означает прохождения на обеих ОС.
|
||||
|
||||
## 10. P1 — проверяемая итерация gameplay
|
||||
|
||||
Для native-сборки источником истины остаются CMake/Ninja и их dependency graph.
|
||||
BuildService снимает неизменяемый snapshot `Scripts`, отделяет Debug от Release и
|
||||
запоминает версионированный fingerprint рецепта, исходников, Lua-деклараций,
|
||||
toolchain, шейдерных и runtime-входов. Повторное использование schema/package
|
||||
разрешено лишь после проверки полного manifest и схемы; испорченная или устаревшая
|
||||
генерация не выдаётся за cache hit. Переключение указателя на успешную генерацию
|
||||
атомарно; сбой сборки оставляет предыдущую доступной, но Inspector помечает
|
||||
метаданные устаревшими. Экспорт отдельно проверяет asset generations.
|
||||
|
||||
Структурированные сообщения компилятора/Lua дополняют сырой лог. Для исходников
|
||||
проекта Editor и MCP вызывают один `faset_source_open` с относительным путём и
|
||||
позициями; внешний редактор запускается аргументами без shell. Четыре стартовых
|
||||
проекта комбинируют C++/Lua и 2D/3D. C++ остаётся rebuild-and-restart, а Lua
|
||||
development reload проверяет candidate и перезапускает script/world state, не
|
||||
сохраняя произвольное runtime-состояние.
|
||||
|
||||
Autosave относится только к именованным dirty сценам Editor после двух секунд
|
||||
покоя. Он использует ревизию документа и прежний disk-hash conflict check, не
|
||||
перезаписывает внешний файл и не создаёт Undo-операцию. Неназванная сцена требует
|
||||
Save As; recovery journal работает независимо от autosave. Статусы видны в UI и
|
||||
через Editor MCP. Player и экспортная игра по-прежнему не имеют MCP.
|
||||
|
||||
Измерения P1 разделяют Debug-время итераций, offscreen первый кадр и старый
|
||||
Release reference baseline точных демо. Исходный отчёт, raw-профили и отдельное
|
||||
дополнение о версиях/хешах исполняемых инструментов находятся в
|
||||
[датированном dossier](validation/p1-iteration-2026-09-24/README.md). Большая
|
||||
синтетическая сцена выявляет стоимость CPU simulation/snapshot; её время нельзя
|
||||
переносить на 2D/3D демо или выдавать за обещание кадровой частоты.
|
||||
|
||||
## История решений
|
||||
|
||||
- **17.09.2026:** выбраны имя Faset Engine, Linux/Windows desktop 2D/3D, ручная работа и MCP, интеграция с Blender, Box2D и Box3D; подготовлены исследования.
|
||||
@@ -118,5 +149,6 @@ Development и release Player содержат runtime, выбранные иг
|
||||
- **18.09.2026:** утверждены процессы и linkage, явная metadata registration/schema export, JSON/binary formats, вложенные шаблоны/sparse overrides, lifecycle, фиксированный tick и последовательный scheduler; граница MCP ограничена Editor/headless authoring services.
|
||||
- **18.09.2026:** английский принят основным языком интерфейса, диагностик и публичного API; уточнена граница прямых Vulkan-вызовов внутри собственного backend.
|
||||
- **23.09.2026:** после принятого MVP выполнен P2 GPU visibility/LOD на Linux reference GPU; direct renderer сохранён как начальный режим и эталон, ограничения и измерения вынесены в отдельный [протокол](studies/19-p2-gpu-visibility-acceptance.md).
|
||||
- **24.09.2026:** P1 итерация фиксирует проверяемое повторное использование schema/package, структурированную диагностику, стартовые C++/Lua проекты, безопасный autosave и измерительный протокол без C++ hot reload.
|
||||
|
||||
Реализация идёт по [PLAN.md](../PLAN.md). Последующие изменения принятых контрактов фиксируются здесь с причиной и способом проверки.
|
||||
|
||||
@@ -466,3 +466,54 @@ rendered 120 frames in Direct mode. The corresponding
|
||||
[native/manual CI run](https://github.com/emil28092005/Faset_Engine/actions/runs/35922643004)
|
||||
passed on Linux and Windows. Unsupported-HZB integration and physical Windows
|
||||
GPU coverage remain untested.
|
||||
|
||||
## Post-MVP checkpoint — P1 gameplay iteration
|
||||
|
||||
P1 adds a complete-input native build stamp and an immutable `Scripts` snapshot.
|
||||
The package key binds configuration, recipe, source, Lua declaration, toolchain,
|
||||
shader and runtime artifacts. A second unchanged build reuses a verified schema
|
||||
and package generation without invoking SchemaExporter; CMake/Ninja still verify
|
||||
the native graph. Malformed/corrupt generations, modified headers/tools and
|
||||
source races cannot publish a false hit. Failed jobs preserve the previous
|
||||
successful pointer, while Inspector metadata becomes stale.
|
||||
|
||||
Compiler and Lua output now produce bounded structured Console diagnostics with
|
||||
raw logs retained. Source opening accepts only project `Scripts` files and passes
|
||||
literal file/line/column arguments to the configured external editor. A real
|
||||
compile failure revealed that compiler paths pointed to the immutable snapshot;
|
||||
`d7a7a7c` maps only the verified snapshot subtree back to project-relative
|
||||
source. The same correction retains a later actionable error after 250 unrelated
|
||||
warnings. Four runnable C++/Lua × 2D/3D starters are available in launcher and
|
||||
CLI; the existing scaffold default remains compatible. Named dirty scenes
|
||||
autosave after two idle seconds by default; unnamed scenes require Save As, and
|
||||
disk/revision conflicts retain the journal and never overwrite external edits.
|
||||
|
||||
The [P1 dated dossier](validation/p1-iteration-2026-09-24/README.md) retains a
|
||||
clean-revision `6c2e8fa` Debug workflow with every raw command/profile. On the
|
||||
Ryzen 7 1700/RTX 2080 Ti Linux host, five unchanged builds had median 11.53 s,
|
||||
five changed-C++ builds 28.16 s, five changed-header builds 23.89 s, and five
|
||||
watched Lua reloads 0.502 s. All five unchanged builds reported a verified
|
||||
generation reuse. The 3,000-frame profile showed no growth in the explicit
|
||||
Vulkan allocation counter (15,787,008 bytes). A seeded 527-object synthetic
|
||||
scene reached 149.39 ms p95 wall time, dominated by CPU simulation/snapshot;
|
||||
this is a visible scalability issue, not a tiny-demo Release budget comparison.
|
||||
The historical exact-scene Release budgets were met in the earlier 2026-09-18
|
||||
record, but that evolving working-tree baseline does not certify the current
|
||||
revision. A quiet-host current Release rerun is pending.
|
||||
|
||||
Linux focused cache, diagnostics, schema and workflow-math tests pass; a real
|
||||
failed-build replay now reports navigable `Scripts/Gameplay.cpp:73:2`. The
|
||||
[Lua-only Release result](validation/lua-release-2026-09-24/README.md) validated
|
||||
and rendered after source-hidden relocation on the physical Linux GPU. At
|
||||
`6c2e8fa`, [native/manual CI](https://github.com/emil28092005/Faset_Engine/actions/runs/35936310287)
|
||||
passed on Linux and Windows. Its Windows graphics job passed all 61 CTests on
|
||||
SwiftShader, then hit an invalid integration fixture under the engine checkout;
|
||||
`4ac02ee` moved the fixture to runner temporary storage. The subsequent
|
||||
[Windows graphics run](https://github.com/emil28092005/Faset_Engine/actions/runs/35937433040)
|
||||
passed all 61 CTests and the real export integration. Two C++ and one Lua-only
|
||||
Release package validated and rendered 120 frames each after relocation with
|
||||
source paths unavailable; the [raw Windows report](validation/p1-iteration-2026-09-24/windows-4ac02ee/playable-report.json)
|
||||
records hashes and software Vulkan device identity. The later `d7a7a7c`
|
||||
real-diagnostic-navigation assertion still awaits its Windows CI result.
|
||||
Windows had no active Khronos validation layer, and no physical Windows GPU
|
||||
performance result is claimed.
|
||||
|
||||
@@ -9,8 +9,10 @@ Player process. **Stop** leaves the authoring document unchanged.
|
||||
|
||||
1. Edit `Scripts/Gameplay.cpp` and its explicit schema declarations.
|
||||
2. Stop the running Player.
|
||||
3. Choose **Build C++**. The compiler and SchemaExporter run outside the Editor.
|
||||
4. Read compiler errors in the Console. A failed build retains the previous schema
|
||||
3. Choose **Build**. CMake/Ninja build native gameplay and the separate
|
||||
SchemaExporter refreshes the Inspector schema when inputs changed.
|
||||
4. Read compiler errors in the Console. Select a project-source diagnostic to open
|
||||
its line in your external editor. A failed build retains the previous schema
|
||||
and binary; the schema status reports that it is stale.
|
||||
5. After a successful build, edit the behavior's exposed fields in the Inspector.
|
||||
6. Choose **Play**. It builds if necessary and launches the captured scene.
|
||||
@@ -23,6 +25,22 @@ The Player supports pause and single-step. Editor controls use a private session
|
||||
control file; they do not expose runtime entity queries through MCP. Closing the
|
||||
Player is observed by the Editor, which keeps its logs and authoring state.
|
||||
|
||||
An unchanged second build still asks CMake/Ninja to verify their dependency graph.
|
||||
When the native outputs, gameplay sources, toolchain, shaders and runtime inputs
|
||||
match the validated package, **Jobs** reports `schema_cache_hit` and
|
||||
`generation_reused` as true and returns the same immutable generation without a
|
||||
second SchemaExporter run or package copy. A changed `.cpp`, header, Lua declaration,
|
||||
build recipe or relevant tool invalidates that reuse. A damaged cached package is
|
||||
not treated as a hit. The job also exposes elapsed phases and a build fingerprint;
|
||||
see [Developer diagnostics](diagnostics.md) for structured errors and raw logs.
|
||||
|
||||
If a build fails, correct the listed source and build again. The prior playable
|
||||
generation remains available, but stale Inspector metadata is not evidence that
|
||||
the failed edit built successfully. Save the scene separately: named dirty scenes
|
||||
autosave after two idle seconds by default, while an unnamed scene needs **Save As**.
|
||||
External file changes produce a visible conflict instead of an overwrite; the
|
||||
[workspace guide](workspace.md#create-and-save-a-scene) explains recovery.
|
||||
|
||||
## Export a standalone game
|
||||
|
||||
Use **Export** in the Editor for the current scene. Resolve template conflicts and
|
||||
|
||||
@@ -39,29 +39,58 @@ Use `--debug-physics` or press **F3** to show current physics box colliders. Deb
|
||||
geometry increases draw count, so record whether it was enabled. The collider view
|
||||
uses simulation poses; normal visuals can use interpolated poses.
|
||||
|
||||
## Measure Editor and C++ workflows
|
||||
## Measure Editor, C++ and Lua iteration
|
||||
|
||||
From the engine repository:
|
||||
|
||||
```sh
|
||||
cmake --build --preset linux-debug --target faset_editor faset_editor_ui_latency --parallel 2
|
||||
python3 tools/measure_workflows.py \
|
||||
--editor build/linux-debug/faset_editor \
|
||||
--project examples/projects/collect-3d \
|
||||
--output .cache/my-workflow-measurement
|
||||
--output /tmp/faset-workflow-measurement
|
||||
```
|
||||
|
||||
Use a new output directory. The tool copies the project, preserving your original,
|
||||
and records command startup, two-frame GUI startup/shutdown, first/cached Blender
|
||||
bundle import, initial/no-change/changed Debug builds and a subsequent Player frame.
|
||||
It checks that editing gameplay makes the schema stale and successful building
|
||||
clears that state. The initial build uses available dependency archives and OS
|
||||
caches; it is not a measurement of internet download speed.
|
||||
The UI probe must be built beside the Editor first. The default Lua input is
|
||||
`examples/lua`; use `--lua-project` to select another declared Lua project and
|
||||
`--ui-latency-binary` when the probe is elsewhere. Use a **new** output directory;
|
||||
the tool refuses to overwrite evidence. It copies both projects and never edits
|
||||
the checked-in examples.
|
||||
|
||||
`report.json` version 2 separates the initial cold project configure/build,
|
||||
unchanged builds, changed `.cpp` builds, changed-header builds, deliberate compile
|
||||
failure/recovery, Lua edit-to-reload, first offscreen Player frame and synthetic
|
||||
Editor input-to-visible-state. Each warm/changed case has one warm-up and five
|
||||
measured repetitions. Each sample remains in `raw/` with command, stdout/stderr,
|
||||
duration and, on Linux, peak RSS; the report includes median and nearest-rank p95.
|
||||
The file hashes identify every changed source variant. Five unchanged builds must
|
||||
return a verified schema/package cache hit. The cold case begins with empty project
|
||||
`.faset` caches, **not** a cold OS file cache, newly downloaded dependencies or a
|
||||
fresh engine toolchain. It is a development `Debug` workflow.
|
||||
|
||||
The first-frame value comes from the Player's `main_to_first_frame` profile after
|
||||
five one-frame offscreen runs. It excludes OS process loading and says nothing about
|
||||
window presentation latency. The separate UI probe applies keyboard input through
|
||||
the retained Editor UI, then measures 100 post-warm-up offscreen frames; it is not
|
||||
native desktop input-to-photon latency. A watched Lua Player records five
|
||||
edit-to-successful-reload times, including its polling and log notification. A
|
||||
3,000-frame Player profile compares explicit Vulkan allocation and texture maxima
|
||||
in frames 101–200 with frames 2901–3000. Zero growth over that interval is useful
|
||||
but does not prove the absence of all leaks. The tool also adds 512 deterministic
|
||||
objects to a disposable scene and profiles 240 frames; this stresses scene
|
||||
simulation/snapshot work, not representative game content.
|
||||
|
||||
On Linux, GNU `time` records peak RSS for each command and its waited-for children.
|
||||
This is a maximum, not the sum of simultaneous compiler processes. Other platforms
|
||||
report this field as null unless equivalent measurement support is added. The tool
|
||||
keeps raw stdout/stderr, durations, hardware and revision information alongside its
|
||||
report. A dirty source checkout is explicitly identified.
|
||||
report this field as null unless equivalent measurement support is added. The report
|
||||
keeps raw stdout/stderr, profiles, hardware, driver, build setting, source hashes,
|
||||
Git revision and dirty-tree state. New runs also hash the exact CMake, Ninja, C/C++
|
||||
compiler, Slang, Editor and UI-probe binaries selected by the disposable project's
|
||||
`CMakeCache.txt`. Compare profiles only with the same scene, configuration,
|
||||
resolution, validation/readback settings and hardware class. The
|
||||
[dated P1 workflow record](https://github.com/emil28092005/Faset_Engine/blob/main/docs/validation/p1-iteration-2026-09-24/README.md)
|
||||
retains a successful Debug run and its exact raw files. Its post-run binary
|
||||
provenance supplement is explicitly separate from the original report.
|
||||
|
||||
`tools/verify_playable_exports.py` separately verifies the two sample games in
|
||||
relocated Release packages and records their Player profiles. Its assertions test
|
||||
|
||||
@@ -14,7 +14,8 @@ process; stopping it leaves the authoring scene unchanged.
|
||||
Launch `faset_editor` without arguments to open the project launcher.
|
||||
|
||||
1. Choose **Create project**, enter a name and a new or empty project directory,
|
||||
then select **2D** or **3D** for the initial scene.
|
||||
then select **C++** or **Lua** and **2D** or **3D**. Each combination creates a
|
||||
runnable start scene and a small behavior for that language.
|
||||
2. Choose **Create project** to create the project files and open the Editor.
|
||||
3. To return later, choose **Open project**, select its directory with **Browse**,
|
||||
and confirm **Open project**. The directory must contain `project.faset.json`.
|
||||
@@ -33,6 +34,12 @@ was launched in MCP mode so the connection keeps a single project context.
|
||||
|
||||
For a direct launch, use `faset_editor --project /path/to/MyGame` on Linux or
|
||||
`faset_editor.exe --project C:\Projects\MyGame` on Windows.
|
||||
For scripted project creation, pass `--new MyGame --dimension 2|3
|
||||
--language cpp|lua` with `--project` pointing to the new directory. Omitting
|
||||
`--language` retains the earlier C++ scaffold without a runnable start scene;
|
||||
select a language explicitly for a complete starter.
|
||||
The [C++ first behavior](../scripting/first-behavior.md) and
|
||||
[Lua gameplay](../scripting/lua.md) guides show the first editing steps.
|
||||
|
||||
## Create and save a scene
|
||||
|
||||
|
||||
@@ -56,14 +56,26 @@ The example scene is a complete, loadable document:
|
||||
|
||||
The sprite is visible because it has `faset.sprite`. It moves because it also has `tutorial.move_x`. The configuration field is `speed`; the type string must match the registration exactly. `rotation` uses radians, and the default coordinate system is Y-up.
|
||||
|
||||
After **Build C++** succeeds in the Editor, choose **Add component** in the Inspector
|
||||
After **Build** succeeds in the Editor, choose **Add component** in the Inspector
|
||||
and select the registered type. Its schema supplies editable fields, defaults and
|
||||
constraints. The direct Player command above is useful for testing the same behavior
|
||||
independently of an editor session.
|
||||
|
||||
## Make a change and verify it
|
||||
|
||||
Change the scene's `speed` to `-2`: the object moves left. Change the C++ callback or schema: stop the Player, rebuild, regenerate the schema, then launch a new session. There is no automatic C++ hot reload.
|
||||
Change the scene's `speed` to `-2`: the object moves left. Change the C++ callback
|
||||
or schema: stop the Player, choose **Build**, then launch a new Play session. The
|
||||
Build job regenerates metadata when its inputs changed; an unchanged second build
|
||||
can reuse the verified schema/package generation. It still asks CMake/Ninja to check
|
||||
the native dependency graph. There is no automatic C++ hot reload.
|
||||
|
||||
To try compiler navigation in a project opened by the Editor, add
|
||||
`#error Check navigation` to its `Scripts/Gameplay.cpp`, choose **Build**, and
|
||||
select the resulting Console diagnostic. **Open source** passes the file and
|
||||
one-based location to the configured external editor. Remove the line and build
|
||||
again; the failed attempt keeps the previous valid generation. See
|
||||
[Developer diagnostics](../editor/diagnostics.md) for editor command setup and
|
||||
[Build, Play, and export](../editor/export.md) for the full iteration loop.
|
||||
|
||||
The `tutorial_moving` CTest checks that both 30 Hz and 60 Hz frame sequences move the object two metres in one second. It checks the resulting pose, rather than only checking that the program starts.
|
||||
|
||||
|
||||
@@ -210,14 +210,18 @@ The Editor command palette exposes:
|
||||
| `faset_lua_refresh` | Build if needed, extract schemas, refresh Inspector metadata |
|
||||
| `faset_lua_reload` | Request a Lua reload in a development Player |
|
||||
| `faset_lua_setup` | Install Faset LuaLS declarations/configuration |
|
||||
| `faset_script_open` | Open a script in an external editor |
|
||||
| `faset_source_open` | Open a C++, header or Lua source at a one-based line/column |
|
||||
| `faset_script_open` | Lua-only compatibility alias for source opening |
|
||||
|
||||
The external-editor default is `zed`. Set `editor.script_editor` in
|
||||
`project.faset.json` to an argument array such as `["code", "--goto", "{file}"]`,
|
||||
or pass an `editor` argument array to `faset_script_open`. Exact `{file}` and
|
||||
`{project}` arguments are substituted; a missing file argument is appended. The
|
||||
command launches the executable directly, without a shell. The Assets panel lists
|
||||
Lua sources under `Scripts` and provides **Open Script**.
|
||||
`project.faset.json` to an argument array such as
|
||||
`["zed", "{file}:{line}:{column}"]`, or pass an `editor` argument array to
|
||||
`faset_source_open`. `{file}`, `{line}`, `{column}` and `{project}` are substituted
|
||||
inside arguments; a missing file argument is appended. The command launches the
|
||||
executable directly, without a shell. Only regular source files under this
|
||||
project's `Scripts` can be opened. The Assets panel lists those files and the
|
||||
Console's structured Lua error can open its source location. A missing external
|
||||
editor is an actionable navigation error, not a failed gameplay build.
|
||||
|
||||
Development Play watches Lua changes. The Player's `--watch-lua` option enables this
|
||||
for direct development runs. A candidate source generation is loaded and validated
|
||||
@@ -226,6 +230,18 @@ Successful reload **restarts the scene**, invalidates old handles, and resets al
|
||||
script state. This is not state-preserving hot swapping. C++ source changes still
|
||||
require a rebuild and a new Player process.
|
||||
|
||||
For a short iteration, change `speed` in `Scripts/main.lua`, save it, and watch the
|
||||
Console for **Lua reloaded**. The running development Player picks up a valid
|
||||
snapshot without native recompilation. Change a field declaration or TypeId, then
|
||||
choose **Refresh Lua** to validate metadata and update Inspector choices. If the
|
||||
candidate has a syntax/schema error, the previous running generation remains in
|
||||
place; use the structured diagnostic to return to the source, correct it and retry.
|
||||
Lua module declaration, gameplay source, compiler/toolchain or shader changes can
|
||||
invalidate a later build's verified schema/package cache. The **Jobs** result
|
||||
distinguishes `schema_cache_hit` and `generation_reused`; those flags do not imply
|
||||
that the native build graph was skipped. See the [build loop](../editor/export.md)
|
||||
and [profiling guide](../editor/profiling.md).
|
||||
|
||||
Export captures the declared entry list and Lua modules with the game. The exported
|
||||
Player runs without the Editor or a separate Lua installation; development watching
|
||||
is not enabled by ordinary exported-game launch. Exported Lua remains readable source,
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
These files preserve bounded checks and their inputs. Each record states its source revision or working-tree limitation; a passing record does not certify later commits or every supported platform.
|
||||
|
||||
- [MVP acceptance dossier](mvp-acceptance.md): criterion-by-criterion closure, tested revisions and remaining compatibility coverage.
|
||||
- [P1 gameplay iteration](p1-iteration-2026-09-24/README.md): repeatable Debug C++/Lua workflow, raw samples, toolchain provenance, real compiler navigation and coverage limits.
|
||||
- [P2 GPU visibility Linux evidence](p2-gpu-visibility-2026-09-23/README.md): Debug/Release GPU acceptance, lavapipe functional checks, relocated Player exports, and explicit platform/performance limits.
|
||||
- [P2 pinned SwiftShader compatibility](p2-swiftshader-2026-09-23/README.md): the Windows CI regression, shader capability fix, independent review closure, final native CI and relocated Player evidence.
|
||||
- [Windows software Vulkan](windows-software-vulkan-2026-09-18/README.md): fresh native build, 35 tests, launcher/window/MCP workflows and both relocated Release games on SwiftShader.
|
||||
|
||||
@@ -45,8 +45,14 @@ ctest --test-dir build/linux-release --no-tests=error --output-on-failure \
|
||||
|
||||
The render used the Player's synthetic fixed timestep and offscreen Vulkan
|
||||
presentation. It does not establish manual window interaction or physical
|
||||
Windows GPU compatibility. The Windows graphics workflow now includes this Lua
|
||||
package beside both C++ examples under a pinned SwiftShader Vulkan driver; its
|
||||
result must be recorded separately after CI completes.
|
||||
Windows GPU compatibility. The separate
|
||||
[Windows graphics run at `4ac02ee`](https://github.com/emil28092005/Faset_Engine/actions/runs/35937433040)
|
||||
passed 61/61 CTests and relocated all three Release games under pinned SwiftShader.
|
||||
The Lua-only package validated and completed 120 offscreen frames with its source
|
||||
project paths hidden. Its device is a **software** Vulkan implementation; the
|
||||
Khronos validation layer was not active on that Windows worker. The
|
||||
[P1 dossier's Windows report](../p1-iteration-2026-09-24/windows-4ac02ee/playable-report.json)
|
||||
retains the source/package identities and result. This does not establish
|
||||
physical Windows GPU compatibility.
|
||||
|
||||

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