Skip to content

History / Renderer Frame Flow

Revisions

  • Describe current design without performance history

    @limztudio limztudio committed Oct 13, 2026
  • 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

    @limztudio limztudio committed Oct 12, 2026
  • Align wiki with current runtime and authoring contracts

    @limztudio limztudio committed Oct 7, 2026
  • Document async performance and accepted synchronization contracts Describe shared read-state anchors, conditional recovery cost, accepted return-state refresh, legal live-effect coalescing and explicit inherited-wait accounting in current telemetry version 10. Correct retired timing scope names and M4 gate wording. Retain the three final Windows ARM64 M4 results and original failure range, with device/workload limits and one-frame diagnostic counts. Preserve historical qualification evidence.

    @limztudio limztudio committed Oct 6, 2026
  • 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.

    @limztudio limztudio committed Oct 3, 2026
  • 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.

    @limztudio limztudio committed Sep 30, 2026
  • 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.

    @limztudio limztudio committed Sep 26, 2026
  • 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.

    @limztudio limztudio committed Sep 23, 2026
  • 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.

    Cozter committed Sep 20, 2026
  • 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.

    @limztudio limztudio committed Sep 12, 2026
  • docs: sync wiki with current main Update source maps for per-concern domain splits (compiled_graph read-view/attempt-binding, task_graph storage/teardown, state/accessor/ declaration-view, packet lifecycle/discard, packet_runtime exception finalizer, device_queue topology, volume segment compaction), renderer frame-pipeline stage builders, AVBOIT upload helper, raytrace snapshot and prepared-build ABI headers, frame snapshot ownership on RendererRayTracingState, and resetFrameTaskState in pipeline resources.

    Cozter committed Sep 11, 2026
  • 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.

    @limztudio limztudio committed Sep 9, 2026
  • docs: sync wiki with current main Document the frame-owned CPU and GPU task schedulers, persistent arena, buffer byte-range GPU synchronization, CPU profiling, and current third-party TBB/curl integration notes.

    @limztudio limztudio committed Sep 8, 2026
  • Document ARM64 Vulkan and scheduler contracts

    @limztudio limztudio committed Sep 6, 2026
  • docs: sync wiki with current main

    @limztudio limztudio committed Sep 5, 2026
  • docs: rewrite wiki for current engine

    @limztudio limztudio committed Aug 31, 2026
  • docs: document GPU task graph

    @limztudio limztudio committed Aug 15, 2026
  • docs: sync wiki with current main contracts

    @limztudio limztudio committed Aug 10, 2026
  • docs: sync wiki with current main contracts

    @limztudio limztudio committed Aug 8, 2026
  • Sync wiki with current main

    @limztudio limztudio committed Aug 4, 2026
  • Update wiki for current main

    @limztudio limztudio committed Aug 1, 2026
  • Document declarative frame execution plan

    @limztudio limztudio committed Jul 31, 2026
  • Update wiki for current main

    @limztudio limztudio committed Jul 31, 2026
  • Update wiki for current main

    @limztudio limztudio committed Jul 29, 2026
  • Document async shadow scheduling

    @limztudio limztudio committed Jul 28, 2026
  • Document command-list state handoff

    @limztudio limztudio committed Jul 27, 2026
  • Document required descriptor-buffer renderer path

    @limztudio limztudio committed Jul 27, 2026
  • Update wiki for current main branch

    @limztudio limztudio committed Jul 24, 2026
  • Document the live bindless descriptor heap and RT per-mesh migration The bindless descriptor heap is now live in the production frame loop and is the shared per-mesh geometry source for the ray tracing, shadow, caustic, and surfel-GI passes. Add a dedicated page covering the RHI primitive (descriptor indexing floor, optional heap accelerator, GpuDescriptorHandle contract, self- test), the Phase 2 migration that deleted the classic bounded per-mesh arrays and retired the 32/64-mesh scene caps, the host-index/shader-layout split, and the frozen shader/host binding contract (sets 8/9, per-class bindings). Cross-link from Architecture (graphics layer owns a live heap), Renderer Frame Flow (per-frame advanceFrame next to device GC), Renderer Feature Paths (slot-7 gap context, per-pass geometry fetch, intro pointer), Glossary, Home, and the sidebar.

    @limztudio limztudio committed Jul 22, 2026
  • Update wiki for current main branch

    @limztudio limztudio committed Jul 9, 2026