базовый рендер

This commit is contained in:
2026-07-10 11:21:33 +04:00
parent 93bfe114c0
commit b199876ce6
8 changed files with 622 additions and 89 deletions
+15 -15
View File
@@ -8,14 +8,14 @@
## Steps
- [ ] Зафиксировать версию Godot, backend, hardware/profile и cache state.
- [ ] Выбрать контрольные позиции: terrain, ADT boundary, dense M2, large WMO, liquid, animated M2, sky transition.
- [ ] Объединить существующие renderer smoke scripts в документированный запуск без изменения visual behavior.
- [ ] Снять deterministic screenshots и metadata для каждой позиции.
- [ ] Записать cold/warm показатели frame time p50/p95/p99, max hitch, memory, queues и load time.
- [ ] Зафиксировать cache format versions и правила invalidation.
- [ ] Добавить regression manifest, не содержащий proprietary assets.
- [ ] Обновить `RENDER.md` ссылкой на baseline и известные расхождения с клиентом 3.3.5a.
- [x] Зафиксировать версию Godot, backend, hardware/profile и cache state.
- [x] Выбрать контрольные позиции: terrain, ADT boundary, dense M2, large WMO, liquid, animated M2, sky transition.
- [x] Объединить существующие renderer smoke scripts в документированный запуск без изменения visual behavior.
- [x] Снять deterministic screenshots и metadata для каждой позиции.
- [x] Записать cold/warm показатели frame time p50/p95/p99, max hitch, memory, queues и load time.
- [x] Зафиксировать cache format versions и правила invalidation.
- [x] Добавить regression manifest, не содержащий proprietary assets.
- [x] Обновить `RENDER.md` ссылкой на baseline и известные расхождения с клиентом 3.3.5a.
## Fidelity evidence
@@ -38,10 +38,10 @@ godot --headless --path . --script res://src/tools/capture_render_checkpoints.gd
## Evidence
- Date:
- Revision/worktree:
- Commands:
- Results:
- Fidelity comparison:
- Changed files:
- Remaining risks:
- Date: 2026-07-10
- Revision/worktree: `93bfe11` + worktree baseline changes.
- Commands: `.\tools\run_render_baseline.ps1 -DryRun -WaitSeconds 0.1 -MeasureSeconds 0.1 -Output user://render_baseline_runner_test`; `.\tools\run_render_baseline.ps1 -Output user://render_baseline_m00_2026-07-10 -CacheState existing`.
- Results: headless load, renderer material smoke, M2 unique-id dedupe and manifest contract passed. Full run produced 14 PNGs and 14 result records for 7 cold/warm checkpoints. Actual renderer was Godot 4.6.1, Vulkan Forward+, NVIDIA RTX 5070, 1280x900, High profile, with all seven cache families present. Cold p95 range was 31.585..86.537 ms with max hitch 258.456 ms; warm p95 range was 18.824..38.085 ms with max hitch 163.363 ms. The final streaming snapshots had an empty tile queue. Report: `user://render_baseline_m00_2026-07-10/report.json`.
- Fidelity comparison: fixed positions/time/profile and current visual gaps are recorded, but no approved paired screenshots from the original WoW 3.3.5a build 12340 were available. This baseline does not claim parity.
- Changed files: `RENDER.md`, `docs/RENDER_BASELINE.md`, `src/scenes/streaming/streaming_world_loader.gd`, `src/tools/capture_render_checkpoints.gd`, `src/tools/render_baseline_manifest.json`, `src/tools/verify_render_baseline_manifest.gd`, `tools/run_render_baseline.ps1`, `targets/00-render-baseline.md`.
- Remaining risks: original-client paired comparison is still required before DONE; D3D12 descriptor heap creation failed and the measured run fell back to Vulkan; shutdown reported leaked renderer RIDs/resources; current captures intentionally preserve visible terrain/placement/material/animation gaps, including the synthetic native animated M2 probe; perceptual image diff/tolerance is documented but not automated yet.