Skip to content

History / Architecture

Revisions

  • Sync wiki with main e8541548f: heap-lane typed material binding, decoupled MetaScript Document, CPU-device fallback wording - Renderer/Shader-and-Material-System/Asset-Flow/Asset-Pipeline/Diagnostics-and-Invariants/Glossary: typed material words live on the heap storage-buffer lane (resource set 0) via the per-frame material-typed slot, not binding 6 - Architecture: MetaScript parses into arena-backed Document; no special asset/first-declaration meaning; findVariable/findDeclaration/declarations (core/metascript/readme.md) - Renderer/Diagnostics-and-Invariants: windowed init prefers hardware but admits compatible CPU fallback, matching Platform-and-GPU-Support and backend_context_adapter

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

    @limztudio limztudio committed Oct 12, 2026
  • Document Expected result and ownership contracts

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

    @limztudio limztudio committed Oct 8, 2026
  • Document the canonical interface declaration keyword

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

    @limztudio limztudio committed Oct 7, 2026
  • Document NWB macro and application namespace ownership

    @limztudio limztudio committed Oct 7, 2026
  • Align graphics verification with selected public backend contracts

    @limztudio limztudio committed Oct 6, 2026
  • Clarify backend qualification test ownership Unit tests and test-only support belong under tests/. Native qualification tests directly exercise existing production provider headers; production consumers retain the backend-selection boundary. Remove the retired test-selection facade reference.

    @limztudio limztudio committed Oct 6, 2026
  • Document GLB macro ownership and diagnostics

    @limztudio limztudio committed Oct 4, 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
  • Document compile-time graphics backend selection

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

    @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 (c7bd6f108bdd0ab546bcd798bafbbbe61c6e3b8d) Main c7bd6f10 on top of 65 commits since last sync (76f1f5c96): custom UI migration merged to main (custom_ui branch work through dfd7d514f): Dear ImGui vendoring (3rd_parties/imgui) and the legacy ImGui ECS path deleted; Testbed and ECS now use UiLayerSystem with UiPaintComponent paint callbacks fed by impl/ui CPU paint/layout/text plus OS clipboard/text-input services; new impl/assets/graphics/ui raster/output shaders, font_builder and ui_skin utilities. Updated 9 wiki pages to match HEAD (verified against tree): UiSystem->UiLayerSystem, UiComponent->UiPaintComponent, UiDrawContext->UiPaintContext (fields incl. clipboard/textInput/paint/ text/display/ui), Testbed UI wiring (fonts/skin/presentation, galleries), UI ctor args, bindless UI bindings, 203-nit HDR10 UI encode, float4 UI raster color (no half4), UI shader asset list.

    @limztudio limztudio committed Sep 30, 2026
  • docs: sync wiki with current main (76f1f5c9648cf8a54c7ba6b8efb1b4171235904f) Update terminal entry helper path core/common/terminal_entry.h -> global/terminal_entry.h (moved in d67a47500); helper is now self-contained on <cstdint>/<utility> (76f1f5c96). Verified: the only file rename in the 77-commit window since the last sync plus the new HEAD commit is this move; all other core/common/*.h wiki references resolve; production catch clauses live only in global/terminal_entry.h.

    @limztudio limztudio committed Sep 29, 2026
  • docs: sync wiki with current main (368d5e93b35778e81b4dddcb1e4a6d7889867800) Main 368d5e93b Remove SIMD_BOUNDARY_AUDIT.md, on top of 22 commits since last sync (3fd693503): - Half precision for provably bounded shader temporaries (6 commits): mesh cone-cull factors, skinned cone-cutoff accumulation, punctual sine half-angle, shadow temporal-delta/wavelet ratios, B-spline weights, reproject temporal factors, reflection screen-trace confidence, refraction Fresnel path, transparent budget moments, surfel SH projection scale, coarse edge thresholds. Positions/depths/normals/ray extents/ABI/stores stay float. - global/ neutral-domain clarification (standard section 18): namespace.h hosts only NWB_BEGIN/END macros; texture payload layouts stay in global/texture_payload.h for impl/assets_texture and utilities/tex_conv. - New global/ helpers: HasEnvironmentValue/EnvironmentVariableEquals, IsAsciiIdentifierChar, NEON/SSE f64 triangle-area path, s_BitsPerByte/s_BitsPerU64 limit constants. - Named s_/k- constants across Vulkan/scheduler/reflection/shadow sources; scheduler queue-topology slots use named counts. - Setup/consume split: Session::ensureMemoryScopes plus consume-only TimingRecorder/MemoryRecorder Name overloads; skinning pipelines created in validateResources, consumed via *PipelineReady checks. - Member-reorder padding cuts, references over required non-null pointers, const-cast/unused-param/dead-arg redesign, duplicate assert+guard removal, path-validation hot spots, lint/separator cleanup, whole-source 72-file domain review doc.

    @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
  • Point launcher references at python -m launcher package

    @limztudio limztudio committed Sep 12, 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
  • docs: sync wiki with current main Align the GitHub wiki with the staged asset pipeline, IFilesystem mounts, terminal-only exception handling, and related contracts on main.

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

    @limztudio limztudio committed Sep 6, 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 main renderer contracts

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

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

    @limztudio limztudio committed Aug 3, 2026