@aura3d/rendering
v2.0.3
Published
Render-device abstraction, WebGL2/mock backends, buffers, textures, shader modules, materials, render graphs, lighting, shadows, and particle rendering for Aura3D.
Maintainers
Readme
@aura3d/rendering
@aura3d/rendering owns render-device abstraction, WebGL2/mock backends, buffers, geometry, textures, samplers, shader modules, shader libraries, material schemas, render pipelines, render graphs, lighting, shadows, diagnostics-facing render state, and particle rendering/effects.
Public API
RenderDevice,createRenderDevice,MockRenderDevice,WebGL2Device,WebGPUDevice: backend lifecycle, resource creation, draw commands, diagnostics, WebGPU device-lost reporting, and explicit WebGPU capability handling.VertexFormat,VertexBuffer,IndexBuffer,Geometry,Texture,Sampler,UniformLayout,TextureBinding: GPU resource and layout data, including texture readiness and color-space binding validation.PortableShaderMaterial,ShaderModule,ShaderLibrary,ShaderPreprocessor,SHADER_CHUNKS: paired GLSL/WGSL custom materials, typed portable bindings, native compiler diagnostics, atomic live replacement, shader source ownership, named variants, reflection, preprocessing, and cache-safe revisions. Seedocs/rendering/portable-custom-materials.md.Material,MaterialInstance,MaterialBinding,UnlitMaterial,TexturedUnlitMaterial,PBRMaterial,NormalMappedPBRMaterial,MaterialPresetRegistry: material schemas, uniform/texture binding, diagnostics, and presets.RenderGraph,ForwardPass,DepthPass,ShadowPass,ShadowMap,ShadowProjectionBuilder,CascadedShadowMaps,ToneMappingPass,BloomPass,FXAAPass: pass orchestration, resource lifetime plans, forward rendering, depth/shadow contracts, cascade data, and deterministic post-process passes.LightCollector,LightUniforms,LightingDebug: directional, point, and spot light collection, uniform packing, and debug lines.Renderer: public facade for render source submission, resize, diagnostics, and disposal.Particle,ParticleEmitter, particle modules,ParticleRenderer,ParticleRenderPass,GPUParticleBackend,ParticleSystem: CPU/GPU particle spawn/update contracts, diagnostics counters, and render integration.
Verification
Renderer resources, portable custom materials, vertex formats, shader libraries, shader markers, material binding, PBR lighting, render graph ordering/lifetime plans, deterministic tone-mapping/bloom/FXAA post-process passes, shadow pass/projection, lighting debug cascades, particle rendering, GPU particle spawn/update paths, WebGPU device-lost diagnostics, WebGL2 browser pixels, visual pixels, shader verification, and performance baselines are covered by tests/unit/rendering/*.test.ts, tests/browser/portable-custom-materials.spec.ts, tests/browser/rendering-webgl2.spec.ts, tests/browser/shadow-browser.spec.ts, tests/browser/particle-browser.spec.ts, tests/browser/gpu-particle-backend.spec.ts, tests/visual/*.spec.ts, and tests/performance/system-baselines.ts. Export and import consistency is covered by pnpm verify:exports and pnpm verify:imports.
The supported low-level extension contract, lifecycle ownership, semantic-version
compatibility policy, and two external-consumer proofs are documented in
docs/architecture/extension-points.md and gated by
pnpm renderer:extension-escape-hatch. renderer.device is a public readonly
escape hatch; the renderer owns that device and disposes it.
