From 9820b71ff7e8fc27fc89a44373feb0909c362605 Mon Sep 17 00:00:00 2001 From: Valentin Popov Date: Sat, 18 Jul 2026 18:04:05 +0400 Subject: docs: synchronize local documentation authority --- docs/baseline/current-project-audit.md | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) (limited to 'docs/baseline/current-project-audit.md') diff --git a/docs/baseline/current-project-audit.md b/docs/baseline/current-project-audit.md index 04d32e3..deca5df 100644 --- a/docs/baseline/current-project-audit.md +++ b/docs/baseline/current-project-audit.md @@ -34,3 +34,35 @@ Scope labels: - Stage 0 codebase gates: locally evidenced. - Stage 0 Windows native runtime: locally evidenced. - Linux/macOS runtime and cross-platform hosted CI: out of scope. + +## Current architecture contract + +The standalone engine keeps binary formats, the resource graph, simulation, +animation math and backend-neutral render commands independent from the GPU +adapter. Windows presentation uses `winit`, `raw-window-handle`, `ash-window` +and `ash`; only the Vulkan/FFI adapters may contain narrowly documented +`unsafe` code. Raw Vulkan handles do not cross that boundary. + +The baseline is Vulkan 1.1 with surface, Win32-surface and swapchain support, +binary semaphores/fences and a classic render-pass path. Device capability is +queried at runtime; dynamic rendering, descriptor indexing, synchronization2, +timeline semaphores and extended dynamic state are optional capability-gated +enhancements, not requirements. The canonical initial texture upload is RGBA8 +UNORM. Headless builds remain independent of `winit`, Vulkan and a window +system. + +## Current stage model + +The active implementation plan has five dependency-ordered stages: + +1. reproducible Windows/Vulkan foundation; +2. paths, VFS and lossless archives; +3. prototype graph and prepared CPU assets; +4. static Vulkan model/terrain viewer; +5. animation/FX runtime and transactional map/mission/world vertical slice. + +Contract tests and failure tests precede implementation. Synthetic checks never +read licensed roots; licensed corpus checks use absolute paths from the local +manifest. Backend-neutral command capture precedes pixel comparison, and GPU +addresses, allocator addresses and driver timing are excluded from deterministic +state hashes. -- cgit v1.2.3