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 surface-hook exclusivity vs main f474b31fb: explicit shaders opaque-nonrefractive-only; light-space shade via surface contract (stash H04/H09/H13/H20/H39/H44/H45)
Cherry-pick source-verified draft hunks vs main f474b31fb: Wayland interface suspend, nwb_shader_bytecode, combo Tab advance, compositeColor composition split; reject zstd/multiline-paren/persistent-raster/44-pkg claims
Sync wiki with current main (f474b31fb): IOR eligibility, SIMD naming, UI input, CSG optics
- Refraction IOR eligibility: finite IOR above 1.0 per nwbRefractionIorEligible (ior.slangi), replacing stale above-1.0001 in 6 pages.
- Math naming: SIMDVectorSingle/SIMDVectorDouble four-lane contracts with SIMDMatrix/SIMDMatrixDouble, aligned Float#/Double# storage, global/simd layout.
- UI input: press-arm/release-submit command semantics, Cancel retirement, PointerInput/Phase/Intent provider contract with stable contact identity.
- Reflection: retained-CSG dispatches sliced into bounded 8192-ray native packets preserving the frame ray budget.
- Shadows: mixed receivers integrate retained open surfaces independently of closed solid/cap boundaries.
- Code-Reading-Guide: input routing README entry point.
Document concrete shader asset types
Describe IShader, the fourteen concrete stage types, canonical metadata,
shared codecs and typed loading. Explain physical stages versus archive
roles, admission validation, preserved storage costs and retired syntax.
Align wiki with current runtime and authoring contracts
Document semantic asset authoring contracts
Describe derived glyph geometry, Skin-owned mesh identity, semantic shader capabilities, and strict conditional metadata fields. Remove unsupported sampler choices and correct the authored 3x4 model transform contract.
Document derived texture and font authoring fields
Document versionless texture and UI skin authoring
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: rewrite wiki for current engine
docs: document sampler asset contract
Document HDR texture conversion
Update wiki for current main
Update wiki for current main
Update wiki for current main
Update wiki for current main branch
Update wiki for main branch renderer and material changes
Update wiki for refractive caustics
Update wiki for material-driven transparency
Update wiki for material surface BXDF flow
Correct wiki against source and generalize volatile sections
Verified all 25 pages against the engine source and fixed drift:
- Frame loop does not tick ECS; the project ticks its own world in
onUpdate (Runtime-Boot, Frame-Life-Cycle).
- Document the resource-mount res probe order.
- skin asset is cooked in impl/assets_mesh, not a separate module; add
the cook-only modules assets_volume/assets_graphics/assets_bunch.
- Add mesh reference-delta streams and skin influence types.
- CSG bounds callback is required and shapes use engine/csg/* names;
CsgFrameState carries flags/counts (work region is on CsgFrameGpuData);
AVBOIT passes interleave with the dispatches.
- Use the real ray-tracing capability log string; BVH self-tests are
three functions (refit is a phase of the build test).
- Vulkan rejects CPU-type devices (no by-name lavapipe check); note the
cooperative-vector split and unsupported SamplerFeedback/VirtualResources.
- Add CsgReceiverComponent; add logger/ and configuration/ to the
repository map; note archive stage is derived from stage.
- Frame determinism as the convergence procedure, not an in-tree test.
- Generalize the dated, untracked smoke-run sections so they do not go
stale (Testbed, Diagnostics-and-Telemetry, Renderer-Feature-Paths).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Expand engine wiki detail