Sync wiki with main e93f2b194: prepared linear UASTC pairs, hardware-preferred device selection, telemetry scratch arena, input router split, descriptor reservations
- Texture-Conversion/Asset-Types/Asset-Pipeline/Asset-Flow: resolution+alpha_mode contract, implicit same-basename sidecar, linear-only runtime, TEX1 v4, prepared_textures test
- New Graphics-Device-Selection page (linked from Sidebar/Home): discrete-first preference, windowed CPU fallback, driver-sized descriptor reservations, VK_DRIVER_FILES verification
- Platform-and-GPU-Support: windowed CPU devices now admitted with hardware preference
- Bindless-Descriptor-Heap: pre-allocation driver-layout reservation pointer
- Diagnostics-and-Telemetry: BuildTelemetryReport(arena, events, scratchArena)
- Build-and-Verification: drop stale 262-count wording (no DISABLED_* retained)
- Runtime-and-ECS: router_pointer_queue/sources split
Sync wiki with main e4893ed1c: slot-based artifact names, compact object-cache paths, enabled GPU range coverage, M4 cursor capture, gather-merge registry, shape_id domain move
Describe current design without performance history
Document current-contract cleanup validation
Document current compiler and configuration contracts
Document Expected result and ownership contracts
Document canonical logging owners and build configuration admission
Document current shader caches and typed material resources
Describe compiler fingerprints, dependency planning, bounded shader admission,
isolated atomic cache publication, BOM overlays, and the current diagnostic and
ownership contracts. Remove retired fixture-resource documentation.
Align wiki with current runtime and authoring contracts
Document NWB macro and application namespace ownership
Document runtime cleanup and complete Windows ARM64 qualification
Document resource-range planning measurements and runtime qualification
Align graphics verification with selected public backend contracts
Align test documentation with concrete edge-case coverage
Document the unit-test pruning policy, preserve integration/smoke and disabled benchmark scope, and replace retired source-contract references with active executable boundary checks.
docs: sync wiki with current main (4d46499fb)
Main 4d46499fb46b29341eebcea31827d6a553ebb8c5 on top of wiki f9c109c:
launcher facade split into domain modules (models/discovery/host/
cmake_settings/build/process/profile/dispatch/cli/constants),
input toolkit control.h/popup.h token contracts, layout validation.h
shared predicates, shared utf8_text_internal.h decoder, combo_probe_common
shared ComboProbe contract, partial-DAG/grapheme test path moves,
packet_runtime artifact/gate split, and execute-side focused units.
Updated 5 wiki pages to match HEAD (verified against tree):
Build-and-Verification, Code-Reading-Guide, GPU-Task-Graph,
Runtime-and-ECS, Testbed. Other 30 pages re-checked clean.
Remove retired hybrid fallback suite from surviving test list
Document portable string pooling and obfuscation
Document GPU validation by build configuration
Document current launcher and prepared rendering contracts
Align Windows requirements, strict executable discovery, asset-type admission, Skin-owned mesh binding, and GPU timing fields with source c93bdcd1c518bd1ad3341cff525e184f79017a6f. Document required prepared CSG, AVBOIT, caustic, shadow, and Surfel GI graph contracts while preserving current feature routes and resource handoffs.
Align wiki build and utility instructions with launcher
Use the repository launcher for configuration, project and multi-target
builds, native utility preparation and custom build directories. Correct
relative utility paths and keep CTest as the test execution interface.
Correct dependency_computer spelling, optional skin texture dependency
behavior, launcher ownership and root namespace.h macro ownership.
Validation: all 35 wiki pages and 222 links, launcher dry-run/help plans,
source contracts, balanced fences, UTF-8/CRLF and git diff checks.
docs: sync wiki with current main (0d4a84d91)
Main 0d4a84d91618e98726d676a2757de6afa429e5a1 on top of 8 commits since last sync (c7bd6f108):
decimated guided surfel GI (surfel_guide.slangi, 16-cell guide,
4-uniform + up-to-8-guided mature rays, sampling.slangi deleted,
converged rays 32->12), UI toolkit move impl/ui->impl/ecs_ui/toolkit,
NWB_BEGIN/END ownership global/namespace.h->core/global.h, plus
arena-backed widget-state index, glyph-atlas index, and once-per-pass
UI raster heap/state reuse.
Updated 7 wiki pages to match HEAD (verified against tree):
toolkit paths, namespace-macro owner, guided-surfel trace contract,
converged ray counts, live-only guide pool/snapshot scope,
sampling.slangi deletion, surfel-gi-complex A/B baseline profile.
docs: sync wiki with current main (e2402c9589bb61977651d5b02bb6b42eef993a1c)
Main e2402c958 on top of 77 commits since last sync (9c0c9279b):
- GPU scheduler: compiler-owned automatic queue placement from task
command requirements (s_CommandRequirements/commandRequirements);
callers no longer request queues; diagnosticQueueOverrides stay
diagnostics-only. Same-class/cross-family routing keeps explicit
opt-ins.
- Shadow quality knobs: SoftwareShadowBlockerSearch gains Center1,
SoftwareShadowCaptureCadence gains ReuseTwoFrames; opaque and
transparent temporal filtering merged into one combined reproject
pass; fully lit tiles skip wavelet work; ShadowQualitySettings adds
selectable half/quarter receiver resolution shared by HW/SW-BVH/
light-space paths; TransparentShadowSampling ReferenceThree/
TemporalOne (TemporalOne needs accepted history).
- Bounded CSG shadows on HW+SW paths (light-space receiver maps,
analytic cutter-interval subtraction, projected-region-bounded
camera work); AVBOIT accumulate rejects unused fragments before
material evaluation; caustic resolve skips inactive regions.
- Surfel GI gather resolution selectable (half default, quarter
opt-in via SurfelGiQualitySettings); stress profile now uses
Center1 + ReuseTwoFrames + quarter shadow receivers/surfel gather.
- Shader cooker split: Slang process backend is SlangShaderCompiler
(slang_compiler.h/.cpp); cook.cpp keeps the metadata front-end.
docs: sync wiki with current main (9c0c9279bc1da4f6050806bc057d9bcaae587c57)
Main 9c0c9279b (docs(perf): record graphics cleanup and final RT
qualification): refresh stress figures to the September 27 audit build
(70.2965 FPS HW / 62.4263 FPS no-RT with presentation counts), note the
no-speedup / reverted-experiment caveats.
docs: sync wiki with current main (91e869244deb963c5cd19a7c7f5b65181391126d)
Main 91e869244 on top of 46 commits since last sync (368d5e93b):
- Shadow quality knobs: FittedVolume coverage, CompactCross5 blocker
penumbra estimation, EveryFrame/ReuseOneFrame capture cadence with
ticket-owned accepted-capture history; TemporalOne transparent
sampling after accepted filtered history; caustic photon-grid
divisors 1/2/4 with opaque-instance prefilter before resource
resolution.
- Removed unreachable uniform transparent fallback and dormant shadow
diagnostics/edge-stat plumbing; adaptive transparent fallback fold
remains (coarse transmittance / full-resolution adaptive).
- Shadow sampling stays finite float (R2 indices, hash offsets,
jitter-cone blends); BVH miss outputs initialized for Slang
definite assignment; inner-node traversal shared via
nwbBvhPickNearChild.
- Skinning: frame-owned accepted-state buffer reuse, accepted-snapshot
self-filtering, removed unused cache lookup/helpers.
- Vulkan: descriptor readiness/bind scans bounded to nextFresh
high-water mark; indexed light-space capture with shared
interpolation helper.
- Stress record docs/stress_rendering_performance.md: >60 FPS both
routes (70.8933 HW / 62.3919 no-RT), --minimum-fps 60 enforcement,
no-RT five-marker qualification, caustic/CPU timing harnesses.
- Split translation units: rt_swbvh_* scene/mesh infra, caustic
quality/settings, shadow quality/capture-history/transparent-sampling
histories, backend_forward.h.
docs: sync wiki with current main (c2012a2f78ee567e04c84c45f66ca73448864307)
Main c2012a2f7 Fix remaining standard section 5 include-grouping violations across whole sources.
- GPU task graph: scheduleGraph is the single execution-admission
entry (scheduler_compilation.cpp, FrontierSafe + shadow-prepare to
frame-timing-end envelope from graph_schedule.cpp); source maps
name scheduler_compilation.cpp, compiler_internal.h,
packet_runtime_internal.h, graph/ per-domain task bodies,
execute/frame_execute_lifecycle.* with merge validators, and the
graph_schedule/packet_metrics split units.
- Shadows: light-space depth path on no-RT frames
(setSoftwareShadowSettings Automatic/SoftwareTrace/LightSpace,
BuildLightSpacePlan directional+point admission, D32 view array,
snapshot on graph plan/payloads); combined HalfA/HalfB resolve
preparation shared by hardware and software preflights.
- Refraction: interface-hit admission before material reconstruction
(interface_hit.slangi entry/exit).
- No-RT qualification: --disable-hardware-ray-tracing policy, Vulkan
disabled-route report line, ctest -L software_raytracing matrix.
- fin diagnostics: smoke-contract logs are ESSENTIAL_INFO, --gpudbg
accepted-but-inert in fin, resize log ESSENTIAL; window capture
--resize-client replacement coverage.
- Tests: native kernel ingress suites retired with the headless
smoke-test surface (results stay as decision evidence in
RENDERER_OPTIMIZATION_STEPS.md); unit tree pruned to mandatory
edge cases; optical-upload reuse now in nwb_ecs_graphics_tests;
descriptor coverage via task_graph_descriptor_contract_tests;
cpu arena identity reduced to core/task/cpu/scheduler.
docs: sync wiki with current main
Update Renderer-Feature-Paths, Renderer, Renderer-Frame-Flow,
Platform-and-GPU-Support, and CSG-and-Transparency for the staged
hardware transparent-shadow path (gather/evaluate/overflow
continuation) with the HalfA/HalfB combined upsample; caustic
resolve stage specialization (prepare/wavelet/upsample plus
direct large-dilation wavelet); and the persistent VertexIndexed
raster route alongside compute emulation.
Record the Unspecified-boundary reflection specialization,
current-pose optical bounds, accepted object-space geometry reuse,
half-precision spatial HDR fix, and optical-path diagnostics in
Reflections, Mesh-Model-and-Skinning, and Diagnostics-and-Telemetry.
Note AVBOIT generated-geometry reuse, the twenty-body stress
default with fixed/rotating modes and kernel parity coverage in
Build-and-Verification, new file entry points in Code-Reading-Guide,
and the _NET_WM_PID X11 teardown tag in Testbed.
docs: sync wiki with current main
Update Reflections with the temporal-omission early return,
spatial tile eligibility flag, accepted optical-upload reuse and
hasHardwareWork gate, the rejected September 12 optical-appearance
experiment, the stepwise RENDERER_OPTIMIZATION_STEPS record, and
kernel/omission/upload/A-B proof targets. Record the CPU source-frame
bound correction, frozen renderer_ab_benchmark, coverage-atomic
rejection, and renderer error cleanup in Diagnostics-and-Telemetry;
the green-receiver transparent CSG fixture and kernel/omission/upload
proof targets in Build-and-Verification; and the deferred tail,
shared builders, optical-upload modules, and optimization/validation
docs in Code-Reading-Guide and Renderer-Frame-Flow.
Point launcher references at python -m launcher package
docs: sync wiki with current main
Add the Reflections page covering hybrid screen-space/hardware tracing,
settings, statistics, and measured costs. Document camera refraction
(primary capture, hardware/screen resolve), reflection and refraction
frame-flow domains, presentation settings, reflection smoke suites,
surface specular F0/roughness authoring, and the optics domain.
docs: note CPU main-thread pump and task-suite tests