@forgeax/engine-runtime 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +202 -0
- package/README.md +183 -0
- package/dist/.tsbuildinfo +1 -0
- package/dist/__tests__/active-camera.unit.test.d.ts +2 -0
- package/dist/__tests__/active-camera.unit.test.d.ts.map +1 -0
- package/dist/__tests__/animation-graph-add.unit.test.d.ts +2 -0
- package/dist/__tests__/animation-graph-add.unit.test.d.ts.map +1 -0
- package/dist/__tests__/animation-graph-asset-union.test-d.d.ts +2 -0
- package/dist/__tests__/animation-graph-asset-union.test-d.d.ts.map +1 -0
- package/dist/__tests__/animation-graph-blend.unit.test.d.ts +2 -0
- package/dist/__tests__/animation-graph-blend.unit.test.d.ts.map +1 -0
- package/dist/__tests__/animation-graph-build.unit.test.d.ts +2 -0
- package/dist/__tests__/animation-graph-build.unit.test.d.ts.map +1 -0
- package/dist/__tests__/animation-graph-clip-missing.unit.test.d.ts +2 -0
- package/dist/__tests__/animation-graph-clip-missing.unit.test.d.ts.map +1 -0
- package/dist/__tests__/animation-graph-clip.unit.test.d.ts +2 -0
- package/dist/__tests__/animation-graph-clip.unit.test.d.ts.map +1 -0
- package/dist/__tests__/animation-graph-default-path.integration.test.d.ts +2 -0
- package/dist/__tests__/animation-graph-default-path.integration.test.d.ts.map +1 -0
- package/dist/__tests__/animation-graph-describe.unit.test.d.ts +2 -0
- package/dist/__tests__/animation-graph-describe.unit.test.d.ts.map +1 -0
- package/dist/__tests__/animation-graph-errors.unit.test.d.ts +2 -0
- package/dist/__tests__/animation-graph-errors.unit.test.d.ts.map +1 -0
- package/dist/__tests__/animation-graph-nesting.unit.test.d.ts +2 -0
- package/dist/__tests__/animation-graph-nesting.unit.test.d.ts.map +1 -0
- package/dist/__tests__/animation-graph-orthogonal-weight.unit.test.d.ts +2 -0
- package/dist/__tests__/animation-graph-orthogonal-weight.unit.test.d.ts.map +1 -0
- package/dist/__tests__/animation-graph-slot-fill.unit.test.d.ts +2 -0
- package/dist/__tests__/animation-graph-slot-fill.unit.test.d.ts.map +1 -0
- package/dist/__tests__/animation-nslot.unit.test.d.ts +2 -0
- package/dist/__tests__/animation-nslot.unit.test.d.ts.map +1 -0
- package/dist/__tests__/animation-slot-length-guard.unit.test.d.ts +2 -0
- package/dist/__tests__/animation-slot-length-guard.unit.test.d.ts.map +1 -0
- package/dist/__tests__/append-injection.test.d.ts +2 -0
- package/dist/__tests__/append-injection.test.d.ts.map +1 -0
- package/dist/__tests__/asi-world-baseline-export.unit.test.d.ts +2 -0
- package/dist/__tests__/asi-world-baseline-export.unit.test.d.ts.map +1 -0
- package/dist/__tests__/asi-world-ci-config.unit.test.d.ts +2 -0
- package/dist/__tests__/asi-world-ci-config.unit.test.d.ts.map +1 -0
- package/dist/__tests__/asi-world-smoke.unit.test.d.ts +2 -0
- package/dist/__tests__/asi-world-smoke.unit.test.d.ts.map +1 -0
- package/dist/__tests__/asset-registry-scene.test-d.d.ts +2 -0
- package/dist/__tests__/asset-registry-scene.test-d.d.ts.map +1 -0
- package/dist/__tests__/bind-group-cache-binding.test.d.ts +2 -0
- package/dist/__tests__/bind-group-cache-binding.test.d.ts.map +1 -0
- package/dist/__tests__/bind-group-cache-frame.test.d.ts +2 -0
- package/dist/__tests__/bind-group-cache-frame.test.d.ts.map +1 -0
- package/dist/__tests__/bind-group-cache-keying.test.d.ts +2 -0
- package/dist/__tests__/bind-group-cache-keying.test.d.ts.map +1 -0
- package/dist/__tests__/block-upload-math.unit.test.d.ts +2 -0
- package/dist/__tests__/block-upload-math.unit.test.d.ts.map +1 -0
- package/dist/__tests__/builtin-shader-register-e2e.test.d.ts +2 -0
- package/dist/__tests__/builtin-shader-register-e2e.test.d.ts.map +1 -0
- package/dist/__tests__/cache-false-eviction.test.d.ts +2 -0
- package/dist/__tests__/cache-false-eviction.test.d.ts.map +1 -0
- package/dist/__tests__/cache-isolation-matrix.test.d.ts +2 -0
- package/dist/__tests__/cache-isolation-matrix.test.d.ts.map +1 -0
- package/dist/__tests__/camera-clear-snapshot-equivalence.unit.test.d.ts +2 -0
- package/dist/__tests__/camera-clear-snapshot-equivalence.unit.test.d.ts.map +1 -0
- package/dist/__tests__/clamp-to-last.e2e.browser.test.d.ts +2 -0
- package/dist/__tests__/clamp-to-last.e2e.browser.test.d.ts.map +1 -0
- package/dist/__tests__/clamp-to-last.e2e.dawn.test.d.ts +2 -0
- package/dist/__tests__/clamp-to-last.e2e.dawn.test.d.ts.map +1 -0
- package/dist/__tests__/collect-scene-asset.test.d.ts +3 -0
- package/dist/__tests__/collect-scene-asset.test.d.ts.map +1 -0
- package/dist/__tests__/collect-subtree.unit.test.d.ts +2 -0
- package/dist/__tests__/collect-subtree.unit.test.d.ts.map +1 -0
- package/dist/__tests__/collect-transient-children-absent.test.d.ts +2 -0
- package/dist/__tests__/collect-transient-children-absent.test.d.ts.map +1 -0
- package/dist/__tests__/collect-transient-roundtrip.test.d.ts +2 -0
- package/dist/__tests__/collect-transient-roundtrip.test.d.ts.map +1 -0
- package/dist/__tests__/collect-transient-skip.test.d.ts +3 -0
- package/dist/__tests__/collect-transient-skip.test.d.ts.map +1 -0
- package/dist/__tests__/components.test-d.d.ts +2 -0
- package/dist/__tests__/components.test-d.d.ts.map +1 -0
- package/dist/__tests__/components.unit.test.d.ts +2 -0
- package/dist/__tests__/components.unit.test.d.ts.map +1 -0
- package/dist/__tests__/composite-skybox-cross-world.browser.test.d.ts +2 -0
- package/dist/__tests__/composite-skybox-cross-world.browser.test.d.ts.map +1 -0
- package/dist/__tests__/create-renderer-assembly.integration.test.d.ts +2 -0
- package/dist/__tests__/create-renderer-assembly.integration.test.d.ts.map +1 -0
- package/dist/__tests__/createRenderer-dispose.test.d.ts +2 -0
- package/dist/__tests__/createRenderer-dispose.test.d.ts.map +1 -0
- package/dist/__tests__/createRenderer-requiredFeatures.unit.test.d.ts +2 -0
- package/dist/__tests__/createRenderer-requiredFeatures.unit.test.d.ts.map +1 -0
- package/dist/__tests__/createRenderer.browser-no-webgpu.test.d.ts +2 -0
- package/dist/__tests__/createRenderer.browser-no-webgpu.test.d.ts.map +1 -0
- package/dist/__tests__/createRenderer.unit.test.d.ts +2 -0
- package/dist/__tests__/createRenderer.unit.test.d.ts.map +1 -0
- package/dist/__tests__/dawn/hello-sprite-nineslice-section.dawn.test.d.ts +2 -0
- package/dist/__tests__/dawn/hello-sprite-nineslice-section.dawn.test.d.ts.map +1 -0
- package/dist/__tests__/dawn/ibl-compose.dawn.test.d.ts +2 -0
- package/dist/__tests__/dawn/ibl-compose.dawn.test.d.ts.map +1 -0
- package/dist/__tests__/dawn/ibl-modules-compose.dawn.test.d.ts +2 -0
- package/dist/__tests__/dawn/ibl-modules-compose.dawn.test.d.ts.map +1 -0
- package/dist/__tests__/dawn/ibl-precompute-readback.dawn.test.d.ts +2 -0
- package/dist/__tests__/dawn/ibl-precompute-readback.dawn.test.d.ts.map +1 -0
- package/dist/__tests__/dawn/instances-per-instance-pbr.dawn.test.d.ts +2 -0
- package/dist/__tests__/dawn/instances-per-instance-pbr.dawn.test.d.ts.map +1 -0
- package/dist/__tests__/dawn/instances-shadow.dawn.test.d.ts +2 -0
- package/dist/__tests__/dawn/instances-shadow.dawn.test.d.ts.map +1 -0
- package/dist/__tests__/dawn/instances-uniform-fallback.dawn.test.d.ts +2 -0
- package/dist/__tests__/dawn/instances-uniform-fallback.dawn.test.d.ts.map +1 -0
- package/dist/__tests__/dawn/material-alpha.dawn.test.d.ts +2 -0
- package/dist/__tests__/dawn/material-alpha.dawn.test.d.ts.map +1 -0
- package/dist/__tests__/dawn/material-cooked-fixture.dawn.test.d.ts +2 -0
- package/dist/__tests__/dawn/material-cooked-fixture.dawn.test.d.ts.map +1 -0
- package/dist/__tests__/dawn/mesh-ssbo-normal-matrix.dawn.test.d.ts +2 -0
- package/dist/__tests__/dawn/mesh-ssbo-normal-matrix.dawn.test.d.ts.map +1 -0
- package/dist/__tests__/dawn/mesh-update.dawn.test.d.ts +2 -0
- package/dist/__tests__/dawn/mesh-update.dawn.test.d.ts.map +1 -0
- package/dist/__tests__/dawn/mipmap-srgb-linear.dawn.test.d.ts +2 -0
- package/dist/__tests__/dawn/mipmap-srgb-linear.dawn.test.d.ts.map +1 -0
- package/dist/__tests__/dawn/per-entity-material-texture-isolation.dawn.test.d.ts +2 -0
- package/dist/__tests__/dawn/per-entity-material-texture-isolation.dawn.test.d.ts.map +1 -0
- package/dist/__tests__/dawn/sprite-nineslice-mesh-bind.dawn.test.d.ts +2 -0
- package/dist/__tests__/dawn/sprite-nineslice-mesh-bind.dawn.test.d.ts.map +1 -0
- package/dist/__tests__/dawn/tonemap.dawn.test.d.ts +2 -0
- package/dist/__tests__/dawn/tonemap.dawn.test.d.ts.map +1 -0
- package/dist/__tests__/dawn/user-handle-mesh-render.dawn.test.d.ts +2 -0
- package/dist/__tests__/dawn/user-handle-mesh-render.dawn.test.d.ts.map +1 -0
- package/dist/__tests__/dawn/user-mesh-upload.dawn.test.d.ts +2 -0
- package/dist/__tests__/dawn/user-mesh-upload.dawn.test.d.ts.map +1 -0
- package/dist/__tests__/dawn/zero-manifest-mesh-fail.dawn.test.d.ts +2 -0
- package/dist/__tests__/dawn/zero-manifest-mesh-fail.dawn.test.d.ts.map +1 -0
- package/dist/__tests__/dawn/zero-manifest-ready.dawn.test.d.ts +2 -0
- package/dist/__tests__/dawn/zero-manifest-ready.dawn.test.d.ts.map +1 -0
- package/dist/__tests__/demo-sortscope-migration.unit.test.d.ts +2 -0
- package/dist/__tests__/demo-sortscope-migration.unit.test.d.ts.map +1 -0
- package/dist/__tests__/derive-bgl-integration.test.d.ts +2 -0
- package/dist/__tests__/derive-bgl-integration.test.d.ts.map +1 -0
- package/dist/__tests__/derive-render-data-skin.unit.test.d.ts +2 -0
- package/dist/__tests__/derive-render-data-skin.unit.test.d.ts.map +1 -0
- package/dist/__tests__/dispatch-fullscreen-pass-composite-swapchain.dawn.test.d.ts +2 -0
- package/dist/__tests__/dispatch-fullscreen-pass-composite-swapchain.dawn.test.d.ts.map +1 -0
- package/dist/__tests__/dispatch-fullscreen-pass-custom-reads.dawn.test.d.ts +2 -0
- package/dist/__tests__/dispatch-fullscreen-pass-custom-reads.dawn.test.d.ts.map +1 -0
- package/dist/__tests__/dispatch-fullscreen-pass-depth-composite.dawn.test.d.ts +2 -0
- package/dist/__tests__/dispatch-fullscreen-pass-depth-composite.dawn.test.d.ts.map +1 -0
- package/dist/__tests__/dispatch-fullscreen-pass-params.unit.test.d.ts +2 -0
- package/dist/__tests__/dispatch-fullscreen-pass-params.unit.test.d.ts.map +1 -0
- package/dist/__tests__/draw-published.d.ts +5 -0
- package/dist/__tests__/draw-published.d.ts.map +1 -0
- package/dist/__tests__/environment-error-exhaustive.test-d.d.ts +8 -0
- package/dist/__tests__/environment-error-exhaustive.test-d.d.ts.map +1 -0
- package/dist/__tests__/equirect-bc6h.integration.test.d.ts +2 -0
- package/dist/__tests__/equirect-bc6h.integration.test.d.ts.map +1 -0
- package/dist/__tests__/error-exhaustive.test.d.ts +2 -0
- package/dist/__tests__/error-exhaustive.test.d.ts.map +1 -0
- package/dist/__tests__/extract-frames-graceful-degradation.test.d.ts +2 -0
- package/dist/__tests__/extract-frames-graceful-degradation.test.d.ts.map +1 -0
- package/dist/__tests__/extract-frames-merge.test.d.ts +2 -0
- package/dist/__tests__/extract-frames-merge.test.d.ts.map +1 -0
- package/dist/__tests__/extract-frames-reset.test.d.ts +2 -0
- package/dist/__tests__/extract-frames-reset.test.d.ts.map +1 -0
- package/dist/__tests__/extract-record-no-hardcoded-texture-fields.test.d.ts +2 -0
- package/dist/__tests__/extract-record-no-hardcoded-texture-fields.test.d.ts.map +1 -0
- package/dist/__tests__/fog-producer-manifest.d.ts +131 -0
- package/dist/__tests__/fog-producer-manifest.d.ts.map +1 -0
- package/dist/__tests__/fog-producer-pixel-probe.d.ts +42 -0
- package/dist/__tests__/fog-producer-pixel-probe.d.ts.map +1 -0
- package/dist/__tests__/fog-producer-pixel.browser.test.d.ts +2 -0
- package/dist/__tests__/fog-producer-pixel.browser.test.d.ts.map +1 -0
- package/dist/__tests__/fog-producer-pixel.dawn.test.d.ts +2 -0
- package/dist/__tests__/fog-producer-pixel.dawn.test.d.ts.map +1 -0
- package/dist/__tests__/fog-producer-real-fixture.d.ts +5 -0
- package/dist/__tests__/fog-producer-real-fixture.d.ts.map +1 -0
- package/dist/__tests__/fog-producer-vfx-effect.d.ts +3 -0
- package/dist/__tests__/fog-producer-vfx-effect.d.ts.map +1 -0
- package/dist/__tests__/fog-scene-asset.integration.test.d.ts +2 -0
- package/dist/__tests__/fog-scene-asset.integration.test.d.ts.map +1 -0
- package/dist/__tests__/frame-targets-shadow-regression.unit.test.d.ts +2 -0
- package/dist/__tests__/frame-targets-shadow-regression.unit.test.d.ts.map +1 -0
- package/dist/__tests__/fullscreen-post-bgl-depth.test.d.ts +2 -0
- package/dist/__tests__/fullscreen-post-bgl-depth.test.d.ts.map +1 -0
- package/dist/__tests__/fullscreen-post-depth-params-arity.test.d.ts +2 -0
- package/dist/__tests__/fullscreen-post-depth-params-arity.test.d.ts.map +1 -0
- package/dist/__tests__/fullscreen-post-process-pass.dawn.test.d.ts +2 -0
- package/dist/__tests__/fullscreen-post-process-pass.dawn.test.d.ts.map +1 -0
- package/dist/__tests__/fullscreen-post-process-pass.unit.test.d.ts +2 -0
- package/dist/__tests__/fullscreen-post-process-pass.unit.test.d.ts.map +1 -0
- package/dist/__tests__/fxaa-pixel-diff.dawn.test.d.ts +2 -0
- package/dist/__tests__/fxaa-pixel-diff.dawn.test.d.ts.map +1 -0
- package/dist/__tests__/fxaa-validation-and-resize.dawn.test.d.ts +2 -0
- package/dist/__tests__/fxaa-validation-and-resize.dawn.test.d.ts.map +1 -0
- package/dist/__tests__/fxaa-zero-overhead.dawn.test.d.ts +2 -0
- package/dist/__tests__/fxaa-zero-overhead.dawn.test.d.ts.map +1 -0
- package/dist/__tests__/geometry.unit.test.d.ts +2 -0
- package/dist/__tests__/geometry.unit.test.d.ts.map +1 -0
- package/dist/__tests__/glyph-tilemap-worldid.test.d.ts +2 -0
- package/dist/__tests__/glyph-tilemap-worldid.test.d.ts.map +1 -0
- package/dist/__tests__/gpu-resource-cow-survivor.test.d.ts +2 -0
- package/dist/__tests__/gpu-resource-cow-survivor.test.d.ts.map +1 -0
- package/dist/__tests__/gpu-resource-store-cubemap-status.test.d.ts +2 -0
- package/dist/__tests__/gpu-resource-store-cubemap-status.test.d.ts.map +1 -0
- package/dist/__tests__/gpu-resource.test.d.ts +2 -0
- package/dist/__tests__/gpu-resource.test.d.ts.map +1 -0
- package/dist/__tests__/hdrp-bgl-slots.browser.test.d.ts +2 -0
- package/dist/__tests__/hdrp-bgl-slots.browser.test.d.ts.map +1 -0
- package/dist/__tests__/hdrp-buffers.unit.test.d.ts +2 -0
- package/dist/__tests__/hdrp-buffers.unit.test.d.ts.map +1 -0
- package/dist/__tests__/hdrp-execute-filter.unit.test.d.ts +2 -0
- package/dist/__tests__/hdrp-execute-filter.unit.test.d.ts.map +1 -0
- package/dist/__tests__/hdrp-gbuffer-attachments.browser.test.d.ts +2 -0
- package/dist/__tests__/hdrp-gbuffer-attachments.browser.test.d.ts.map +1 -0
- package/dist/__tests__/hdrp-pipeline-asset-type.test-d.d.ts +2 -0
- package/dist/__tests__/hdrp-pipeline-asset-type.test-d.d.ts.map +1 -0
- package/dist/__tests__/hdrp-ssao-boundary.test.d.ts +2 -0
- package/dist/__tests__/hdrp-ssao-boundary.test.d.ts.map +1 -0
- package/dist/__tests__/hdrp-ssao-falsification.test.d.ts +2 -0
- package/dist/__tests__/hdrp-ssao-falsification.test.d.ts.map +1 -0
- package/dist/__tests__/hello-tilemap-smoke-upgrade.unit.test.d.ts +2 -0
- package/dist/__tests__/hello-tilemap-smoke-upgrade.unit.test.d.ts.map +1 -0
- package/dist/__tests__/helpers/mock-shader-registry.d.ts +11 -0
- package/dist/__tests__/helpers/mock-shader-registry.d.ts.map +1 -0
- package/dist/__tests__/helpers/primitive-world.d.ts +8 -0
- package/dist/__tests__/helpers/primitive-world.d.ts.map +1 -0
- package/dist/__tests__/helpers/register-runtime-components.d.ts +4 -0
- package/dist/__tests__/helpers/register-runtime-components.d.ts.map +1 -0
- package/dist/__tests__/helpers/register-scene-components.d.ts +4 -0
- package/dist/__tests__/helpers/register-scene-components.d.ts.map +1 -0
- package/dist/__tests__/helpers/render-asset-port.d.ts +15 -0
- package/dist/__tests__/helpers/render-asset-port.d.ts.map +1 -0
- package/dist/__tests__/helpers/scene-asset-port.d.ts +9 -0
- package/dist/__tests__/helpers/scene-asset-port.d.ts.map +1 -0
- package/dist/__tests__/helpers/tilemap-assets.d.ts +6 -0
- package/dist/__tests__/helpers/tilemap-assets.d.ts.map +1 -0
- package/dist/__tests__/instances.test-d.d.ts +2 -0
- package/dist/__tests__/instances.test-d.d.ts.map +1 -0
- package/dist/__tests__/light-attenuation-formula.test.d.ts +2 -0
- package/dist/__tests__/light-attenuation-formula.test.d.ts.map +1 -0
- package/dist/__tests__/light-casters-9-light.browser.test.d.ts +2 -0
- package/dist/__tests__/light-casters-9-light.browser.test.d.ts.map +1 -0
- package/dist/__tests__/light-gpu-byte-neutral.unit.test.d.ts +2 -0
- package/dist/__tests__/light-gpu-byte-neutral.unit.test.d.ts.map +1 -0
- package/dist/__tests__/light-snapshot.test-d.d.ts +2 -0
- package/dist/__tests__/light-snapshot.test-d.d.ts.map +1 -0
- package/dist/__tests__/lights-vec-negative.unit.test.d.ts +2 -0
- package/dist/__tests__/lights-vec-negative.unit.test.d.ts.map +1 -0
- package/dist/__tests__/lights.unit.test.d.ts +2 -0
- package/dist/__tests__/lights.unit.test.d.ts.map +1 -0
- package/dist/__tests__/m3-vec-negative.unit.test.d.ts +2 -0
- package/dist/__tests__/m3-vec-negative.unit.test.d.ts.map +1 -0
- package/dist/__tests__/m5-browser-dawn-sweep.integration.test.d.ts +2 -0
- package/dist/__tests__/m5-browser-dawn-sweep.integration.test.d.ts.map +1 -0
- package/dist/__tests__/material-derived-coordinates.integration.test.d.ts +2 -0
- package/dist/__tests__/material-derived-coordinates.integration.test.d.ts.map +1 -0
- package/dist/__tests__/material-texture-uv-scale.unit.test.d.ts +2 -0
- package/dist/__tests__/material-texture-uv-scale.unit.test.d.ts.map +1 -0
- package/dist/__tests__/materials.unit.test.d.ts +2 -0
- package/dist/__tests__/materials.unit.test.d.ts.map +1 -0
- package/dist/__tests__/mesh-ssbo-grow.unit.test.d.ts +2 -0
- package/dist/__tests__/mesh-ssbo-grow.unit.test.d.ts.map +1 -0
- package/dist/__tests__/mip-gate.unit.test.d.ts +2 -0
- package/dist/__tests__/mip-gate.unit.test.d.ts.map +1 -0
- package/dist/__tests__/msaa-sprite-pixel-diff.dawn.test.d.ts +2 -0
- package/dist/__tests__/msaa-sprite-pixel-diff.dawn.test.d.ts.map +1 -0
- package/dist/__tests__/multi-uv-8set.e2e.dawn.test.d.ts +2 -0
- package/dist/__tests__/multi-uv-8set.e2e.dawn.test.d.ts.map +1 -0
- package/dist/__tests__/name.unit.test.d.ts +2 -0
- package/dist/__tests__/name.unit.test.d.ts.map +1 -0
- package/dist/__tests__/pass-selector.unit.test.d.ts +2 -0
- package/dist/__tests__/pass-selector.unit.test.d.ts.map +1 -0
- package/dist/__tests__/pbr-pipeline.unit.test.d.ts +2 -0
- package/dist/__tests__/pbr-pipeline.unit.test.d.ts.map +1 -0
- package/dist/__tests__/pipeline-builder-msaa.unit.test.d.ts +2 -0
- package/dist/__tests__/pipeline-builder-msaa.unit.test.d.ts.map +1 -0
- package/dist/__tests__/pipeline-cache-keying.unit.test.d.ts +2 -0
- package/dist/__tests__/pipeline-cache-keying.unit.test.d.ts.map +1 -0
- package/dist/__tests__/pipeline-layout-selection.test.d.ts +2 -0
- package/dist/__tests__/pipeline-layout-selection.test.d.ts.map +1 -0
- package/dist/__tests__/pipeline-spec.test.d.ts +2 -0
- package/dist/__tests__/pipeline-spec.test.d.ts.map +1 -0
- package/dist/__tests__/pipeline.unit.test.d.ts +2 -0
- package/dist/__tests__/pipeline.unit.test.d.ts.map +1 -0
- package/dist/__tests__/point-light-shadow.browser.test.d.ts +2 -0
- package/dist/__tests__/point-light-shadow.browser.test.d.ts.map +1 -0
- package/dist/__tests__/point-light-shadow.dawn.test.d.ts +2 -0
- package/dist/__tests__/point-light-shadow.dawn.test.d.ts.map +1 -0
- package/dist/__tests__/point-light-shadow.unit.test.d.ts +2 -0
- package/dist/__tests__/point-light-shadow.unit.test.d.ts.map +1 -0
- package/dist/__tests__/post-process-error-codes.unit.test.d.ts +2 -0
- package/dist/__tests__/post-process-error-codes.unit.test.d.ts.map +1 -0
- package/dist/__tests__/post-process-params-component.unit.test.d.ts +2 -0
- package/dist/__tests__/post-process-params-component.unit.test.d.ts.map +1 -0
- package/dist/__tests__/post-process-params-extract.unit.test.d.ts +2 -0
- package/dist/__tests__/post-process-params-extract.unit.test.d.ts.map +1 -0
- package/dist/__tests__/post-process-reads-narrowing.test-d.d.ts +2 -0
- package/dist/__tests__/post-process-reads-narrowing.test-d.d.ts.map +1 -0
- package/dist/__tests__/post-process-register-roundtrip.dawn.test.d.ts +2 -0
- package/dist/__tests__/post-process-register-roundtrip.dawn.test.d.ts.map +1 -0
- package/dist/__tests__/postprocess-camera-consistency.test.d.ts +2 -0
- package/dist/__tests__/postprocess-camera-consistency.test.d.ts.map +1 -0
- package/dist/__tests__/profiler-assembly.integration.test.d.ts +2 -0
- package/dist/__tests__/profiler-assembly.integration.test.d.ts.map +1 -0
- package/dist/__tests__/propagate-transforms.dawn.test.d.ts +2 -0
- package/dist/__tests__/propagate-transforms.dawn.test.d.ts.map +1 -0
- package/dist/__tests__/record-worldid-isolation.test.d.ts +2 -0
- package/dist/__tests__/record-worldid-isolation.test.d.ts.map +1 -0
- package/dist/__tests__/recover-error-exhaustive.test-d.d.ts +11 -0
- package/dist/__tests__/recover-error-exhaustive.test-d.d.ts.map +1 -0
- package/dist/__tests__/render-error-exhaustive.test-d.d.ts +11 -0
- package/dist/__tests__/render-error-exhaustive.test-d.d.ts.map +1 -0
- package/dist/__tests__/render-feature-assembly.test-d.d.ts +2 -0
- package/dist/__tests__/render-feature-assembly.test-d.d.ts.map +1 -0
- package/dist/__tests__/render-feature-prepared-graphics-docs.unit.test.d.ts +2 -0
- package/dist/__tests__/render-feature-prepared-graphics-docs.unit.test.d.ts.map +1 -0
- package/dist/__tests__/render-feature-prepared-graphics.browser.test.d.ts +2 -0
- package/dist/__tests__/render-feature-prepared-graphics.browser.test.d.ts.map +1 -0
- package/dist/__tests__/render-feature-prepared-graphics.dawn.test.d.ts +2 -0
- package/dist/__tests__/render-feature-prepared-graphics.dawn.test.d.ts.map +1 -0
- package/dist/__tests__/render-feature-prepared-graphics.integration.test.d.ts +2 -0
- package/dist/__tests__/render-feature-prepared-graphics.integration.test.d.ts.map +1 -0
- package/dist/__tests__/render-feature-prepared-graphics.regression.integration.test.d.ts +2 -0
- package/dist/__tests__/render-feature-prepared-graphics.regression.integration.test.d.ts.map +1 -0
- package/dist/__tests__/render-feature-recover.integration.test.d.ts +2 -0
- package/dist/__tests__/render-feature-recover.integration.test.d.ts.map +1 -0
- package/dist/__tests__/render-feature-runtime-surface.test-d.d.ts +2 -0
- package/dist/__tests__/render-feature-runtime-surface.test-d.d.ts.map +1 -0
- package/dist/__tests__/render-feature-zero-feature.browser.test.d.ts +2 -0
- package/dist/__tests__/render-feature-zero-feature.browser.test.d.ts.map +1 -0
- package/dist/__tests__/render-pipeline-trivial.dawn.test.d.ts +2 -0
- package/dist/__tests__/render-pipeline-trivial.dawn.test.d.ts.map +1 -0
- package/dist/__tests__/render-schema-consumer.integration.test.d.ts +2 -0
- package/dist/__tests__/render-schema-consumer.integration.test.d.ts.map +1 -0
- package/dist/__tests__/render-schema-owner-boundary.unit.test.d.ts +2 -0
- package/dist/__tests__/render-schema-owner-boundary.unit.test.d.ts.map +1 -0
- package/dist/__tests__/render-system-cross-world-overlay-queue.test.d.ts +2 -0
- package/dist/__tests__/render-system-cross-world-overlay-queue.test.d.ts.map +1 -0
- package/dist/__tests__/render-system-extract-dispatch-ordering.test.d.ts +2 -0
- package/dist/__tests__/render-system-extract-dispatch-ordering.test.d.ts.map +1 -0
- package/dist/__tests__/render-system-extract.test.d.ts +2 -0
- package/dist/__tests__/render-system-extract.test.d.ts.map +1 -0
- package/dist/__tests__/render-system-fold-bucket.unit.test.d.ts +2 -0
- package/dist/__tests__/render-system-fold-bucket.unit.test.d.ts.map +1 -0
- package/dist/__tests__/render-system-fold-fallback.unit.test.d.ts +2 -0
- package/dist/__tests__/render-system-fold-fallback.unit.test.d.ts.map +1 -0
- package/dist/__tests__/render-system-fold-material.unit.test.d.ts +2 -0
- package/dist/__tests__/render-system-fold-material.unit.test.d.ts.map +1 -0
- package/dist/__tests__/render-system-fold-metrics.unit.test.d.ts +2 -0
- package/dist/__tests__/render-system-fold-metrics.unit.test.d.ts.map +1 -0
- package/dist/__tests__/render-system-fold-modegate.unit.test.d.ts +2 -0
- package/dist/__tests__/render-system-fold-modegate.unit.test.d.ts.map +1 -0
- package/dist/__tests__/render-system-fold-scene-instances.unit.test.d.ts +2 -0
- package/dist/__tests__/render-system-fold-scene-instances.unit.test.d.ts.map +1 -0
- package/dist/__tests__/render-system-fold.dawn.test.d.ts +2 -0
- package/dist/__tests__/render-system-fold.dawn.test.d.ts.map +1 -0
- package/dist/__tests__/render-system-mega.test.d.ts +2 -0
- package/dist/__tests__/render-system-mega.test.d.ts.map +1 -0
- package/dist/__tests__/render-system-owner-split-contract.test.d.ts +2 -0
- package/dist/__tests__/render-system-owner-split-contract.test.d.ts.map +1 -0
- package/dist/__tests__/render-system-record-multi-material-textureview.test.d.ts +2 -0
- package/dist/__tests__/render-system-record-multi-material-textureview.test.d.ts.map +1 -0
- package/dist/__tests__/render-system-record-per-submesh-transparency.test.d.ts +2 -0
- package/dist/__tests__/render-system-record-per-submesh-transparency.test.d.ts.map +1 -0
- package/dist/__tests__/render-system-record.test.d.ts +2 -0
- package/dist/__tests__/render-system-record.test.d.ts.map +1 -0
- package/dist/__tests__/render-system-record.unit.test.d.ts +2 -0
- package/dist/__tests__/render-system-record.unit.test.d.ts.map +1 -0
- package/dist/__tests__/render-system-skin-bg.unit.test.d.ts +2 -0
- package/dist/__tests__/render-system-skin-bg.unit.test.d.ts.map +1 -0
- package/dist/__tests__/renderer-consumer.test-d.d.ts +2 -0
- package/dist/__tests__/renderer-consumer.test-d.d.ts.map +1 -0
- package/dist/__tests__/renderer-health.unit.test.d.ts +2 -0
- package/dist/__tests__/renderer-health.unit.test.d.ts.map +1 -0
- package/dist/__tests__/renderer-lifecycle.integration.test.d.ts +2 -0
- package/dist/__tests__/renderer-lifecycle.integration.test.d.ts.map +1 -0
- package/dist/__tests__/renderer-recover.unit.test.d.ts +2 -0
- package/dist/__tests__/renderer-recover.unit.test.d.ts.map +1 -0
- package/dist/__tests__/renderer-result.test-d.d.ts +2 -0
- package/dist/__tests__/renderer-result.test-d.d.ts.map +1 -0
- package/dist/__tests__/renderer-surface.unit.test.d.ts +2 -0
- package/dist/__tests__/renderer-surface.unit.test.d.ts.map +1 -0
- package/dist/__tests__/resolve-depth-only-view.test.d.ts +2 -0
- package/dist/__tests__/resolve-depth-only-view.test.d.ts.map +1 -0
- package/dist/__tests__/rhi-null-command-flow.unit.test.d.ts +2 -0
- package/dist/__tests__/rhi-null-command-flow.unit.test.d.ts.map +1 -0
- package/dist/__tests__/rhi-null-noop-behavior.unit.test.d.ts +2 -0
- package/dist/__tests__/rhi-null-noop-behavior.unit.test.d.ts.map +1 -0
- package/dist/__tests__/rhi-null-renderer-lifecycle.unit.test.d.ts +2 -0
- package/dist/__tests__/rhi-null-renderer-lifecycle.unit.test.d.ts.map +1 -0
- package/dist/__tests__/roots-to-scene-asset.test.d.ts +2 -0
- package/dist/__tests__/roots-to-scene-asset.test.d.ts.map +1 -0
- package/dist/__tests__/runtime-authority-scan.unit.test.d.ts +2 -0
- package/dist/__tests__/runtime-authority-scan.unit.test.d.ts.map +1 -0
- package/dist/__tests__/runtime-domain-residue.unit.test.d.ts +2 -0
- package/dist/__tests__/runtime-domain-residue.unit.test.d.ts.map +1 -0
- package/dist/__tests__/scene-equirect-roundtrip.test.d.ts +2 -0
- package/dist/__tests__/scene-equirect-roundtrip.test.d.ts.map +1 -0
- package/dist/__tests__/scene-instance-bridge.integration.test.d.ts +2 -0
- package/dist/__tests__/scene-instance-bridge.integration.test.d.ts.map +1 -0
- package/dist/__tests__/scene-instance-component.test.d.ts +2 -0
- package/dist/__tests__/scene-instance-component.test.d.ts.map +1 -0
- package/dist/__tests__/scene-instantiate-cycle-runtime.test.d.ts +2 -0
- package/dist/__tests__/scene-instantiate-cycle-runtime.test.d.ts.map +1 -0
- package/dist/__tests__/serialize-scene-asset.test.d.ts +2 -0
- package/dist/__tests__/serialize-scene-asset.test.d.ts.map +1 -0
- package/dist/__tests__/shadow-caster-empty-schema.test.d.ts +2 -0
- package/dist/__tests__/shadow-caster-empty-schema.test.d.ts.map +1 -0
- package/dist/__tests__/shadow-csm-atlas.test.d.ts +2 -0
- package/dist/__tests__/shadow-csm-atlas.test.d.ts.map +1 -0
- package/dist/__tests__/shadow-csm-blend.dawn.test.d.ts +2 -0
- package/dist/__tests__/shadow-csm-blend.dawn.test.d.ts.map +1 -0
- package/dist/__tests__/shadow-csm-cascade-loadop.test.d.ts +2 -0
- package/dist/__tests__/shadow-csm-cascade-loadop.test.d.ts.map +1 -0
- package/dist/__tests__/shadow-csm-caster-membership.test.d.ts +2 -0
- package/dist/__tests__/shadow-csm-caster-membership.test.d.ts.map +1 -0
- package/dist/__tests__/shadow-csm-component.test.d.ts +2 -0
- package/dist/__tests__/shadow-csm-component.test.d.ts.map +1 -0
- package/dist/__tests__/shadow-csm-extract.test.d.ts +2 -0
- package/dist/__tests__/shadow-csm-extract.test.d.ts.map +1 -0
- package/dist/__tests__/shadow-csm-orthoz.test.d.ts +2 -0
- package/dist/__tests__/shadow-csm-orthoz.test.d.ts.map +1 -0
- package/dist/__tests__/shadow-csm-pssm.test.d.ts +2 -0
- package/dist/__tests__/shadow-csm-pssm.test.d.ts.map +1 -0
- package/dist/__tests__/shadow-csm-runtime-vary.dawn.test.d.ts +2 -0
- package/dist/__tests__/shadow-csm-runtime-vary.dawn.test.d.ts.map +1 -0
- package/dist/__tests__/shadow-csm-shader.dawn.test.d.ts +2 -0
- package/dist/__tests__/shadow-csm-shader.dawn.test.d.ts.map +1 -0
- package/dist/__tests__/shadow-csm-temporal.browser.test.d.ts +2 -0
- package/dist/__tests__/shadow-csm-temporal.browser.test.d.ts.map +1 -0
- package/dist/__tests__/shadow-csm-tile-consistency.test.d.ts +2 -0
- package/dist/__tests__/shadow-csm-tile-consistency.test.d.ts.map +1 -0
- package/dist/__tests__/shadow-csm-ubo.dawn.test.d.ts +2 -0
- package/dist/__tests__/shadow-csm-ubo.dawn.test.d.ts.map +1 -0
- package/dist/__tests__/shadow-csm-ubo.test.d.ts +2 -0
- package/dist/__tests__/shadow-csm-ubo.test.d.ts.map +1 -0
- package/dist/__tests__/shadow-csm-viewport.browser.test.d.ts +2 -0
- package/dist/__tests__/shadow-csm-viewport.browser.test.d.ts.map +1 -0
- package/dist/__tests__/shadow-csm-viewport.test.d.ts +2 -0
- package/dist/__tests__/shadow-csm-viewport.test.d.ts.map +1 -0
- package/dist/__tests__/shadow-fields-observable.dawn.test.d.ts +2 -0
- package/dist/__tests__/shadow-fields-observable.dawn.test.d.ts.map +1 -0
- package/dist/__tests__/shadow-m1.dawn.test.d.ts +2 -0
- package/dist/__tests__/shadow-m1.dawn.test.d.ts.map +1 -0
- package/dist/__tests__/shadow-m2.dawn.test.d.ts +2 -0
- package/dist/__tests__/shadow-m2.dawn.test.d.ts.map +1 -0
- package/dist/__tests__/shadow-m3-calibrate-run.dawn.test.d.ts +2 -0
- package/dist/__tests__/shadow-m3-calibrate-run.dawn.test.d.ts.map +1 -0
- package/dist/__tests__/shadow-m3-calibrate.d.ts +83 -0
- package/dist/__tests__/shadow-m3-calibrate.d.ts.map +1 -0
- package/dist/__tests__/shadow-m3.dawn.test.d.ts +2 -0
- package/dist/__tests__/shadow-m3.dawn.test.d.ts.map +1 -0
- package/dist/__tests__/shadow-mesh-ssbo-order.test.d.ts +2 -0
- package/dist/__tests__/shadow-mesh-ssbo-order.test.d.ts.map +1 -0
- package/dist/__tests__/shadow-probe-control-flow.dawn.test.d.ts +2 -0
- package/dist/__tests__/shadow-probe-control-flow.dawn.test.d.ts.map +1 -0
- package/dist/__tests__/shadow-quality-metrics.dawn.test.d.ts +2 -0
- package/dist/__tests__/shadow-quality-metrics.dawn.test.d.ts.map +1 -0
- package/dist/__tests__/skin-error-exhaustive.test-d.d.ts +11 -0
- package/dist/__tests__/skin-error-exhaustive.test-d.d.ts.map +1 -0
- package/dist/__tests__/skin-errors.unit.test.d.ts +2 -0
- package/dist/__tests__/skin-errors.unit.test.d.ts.map +1 -0
- package/dist/__tests__/skin-extract-getarrayview-count.unit.test.d.ts +2 -0
- package/dist/__tests__/skin-extract-getarrayview-count.unit.test.d.ts.map +1 -0
- package/dist/__tests__/skin-parented-double-transform.test.d.ts +14 -0
- package/dist/__tests__/skin-parented-double-transform.test.d.ts.map +1 -0
- package/dist/__tests__/skylight-lazy-projection.test.d.ts +2 -0
- package/dist/__tests__/skylight-lazy-projection.test.d.ts.map +1 -0
- package/dist/__tests__/sparse-tag-scene-roundtrip.test.d.ts +2 -0
- package/dist/__tests__/sparse-tag-scene-roundtrip.test.d.ts.map +1 -0
- package/dist/__tests__/sprite-cullmode-flip.dawn.test.d.ts +2 -0
- package/dist/__tests__/sprite-cullmode-flip.dawn.test.d.ts.map +1 -0
- package/dist/__tests__/sprite-lit-bgl-byte-identical.test.d.ts +2 -0
- package/dist/__tests__/sprite-lit-bgl-byte-identical.test.d.ts.map +1 -0
- package/dist/__tests__/sprite-lit-extract-branch.test.d.ts +2 -0
- package/dist/__tests__/sprite-lit-extract-branch.test.d.ts.map +1 -0
- package/dist/__tests__/sprite-lit-pipeline-cache-key.test.d.ts +2 -0
- package/dist/__tests__/sprite-lit-pipeline-cache-key.test.d.ts.map +1 -0
- package/dist/__tests__/sprite-param-values.test-d.d.ts +2 -0
- package/dist/__tests__/sprite-param-values.test-d.d.ts.map +1 -0
- package/dist/__tests__/ssao-bgl.test.d.ts +2 -0
- package/dist/__tests__/ssao-bgl.test.d.ts.map +1 -0
- package/dist/__tests__/ssao-buffers.test.d.ts +2 -0
- package/dist/__tests__/ssao-buffers.test.d.ts.map +1 -0
- package/dist/__tests__/ssao-data.test.d.ts +2 -0
- package/dist/__tests__/ssao-data.test.d.ts.map +1 -0
- package/dist/__tests__/ssao-errors.test.d.ts +2 -0
- package/dist/__tests__/ssao-errors.test.d.ts.map +1 -0
- package/dist/__tests__/ssao-manifest.test.d.ts +2 -0
- package/dist/__tests__/ssao-manifest.test.d.ts.map +1 -0
- package/dist/__tests__/ssao-passes.test.d.ts +2 -0
- package/dist/__tests__/ssao-passes.test.d.ts.map +1 -0
- package/dist/__tests__/ssao-pipelines.test.d.ts +2 -0
- package/dist/__tests__/ssao-pipelines.test.d.ts.map +1 -0
- package/dist/__tests__/ssao-uniform-layout.test.d.ts +2 -0
- package/dist/__tests__/ssao-uniform-layout.test.d.ts.map +1 -0
- package/dist/__tests__/static-rig.integration.test.d.ts +2 -0
- package/dist/__tests__/static-rig.integration.test.d.ts.map +1 -0
- package/dist/__tests__/stencil-outline-pixel.dawn.test.d.ts +2 -0
- package/dist/__tests__/stencil-outline-pixel.dawn.test.d.ts.map +1 -0
- package/dist/__tests__/swap-chain-format.unit.test.d.ts +2 -0
- package/dist/__tests__/swap-chain-format.unit.test.d.ts.map +1 -0
- package/dist/__tests__/systems.unit.test.d.ts +2 -0
- package/dist/__tests__/systems.unit.test.d.ts.map +1 -0
- package/dist/__tests__/temporal-off-path.unit.test.d.ts +2 -0
- package/dist/__tests__/temporal-off-path.unit.test.d.ts.map +1 -0
- package/dist/__tests__/text.unit.test.d.ts +2 -0
- package/dist/__tests__/text.unit.test.d.ts.map +1 -0
- package/dist/__tests__/tilemap-childed-despawn.test.d.ts +2 -0
- package/dist/__tests__/tilemap-childed-despawn.test.d.ts.map +1 -0
- package/dist/__tests__/tilemap-chunk-extract.overhang-bounds.test.d.ts +2 -0
- package/dist/__tests__/tilemap-chunk-extract.overhang-bounds.test.d.ts.map +1 -0
- package/dist/__tests__/tilemap-chunk-extract.propagate-order.test.d.ts +2 -0
- package/dist/__tests__/tilemap-chunk-extract.propagate-order.test.d.ts.map +1 -0
- package/dist/__tests__/tilemap-chunk-extract.terrain-rewrite.unit.test.d.ts +2 -0
- package/dist/__tests__/tilemap-chunk-extract.terrain-rewrite.unit.test.d.ts.map +1 -0
- package/dist/__tests__/tilemap-chunk-extract.test.d.ts +2 -0
- package/dist/__tests__/tilemap-chunk-extract.test.d.ts.map +1 -0
- package/dist/__tests__/tilemap-chunk-extract.unit.test.d.ts +2 -0
- package/dist/__tests__/tilemap-chunk-extract.unit.test.d.ts.map +1 -0
- package/dist/__tests__/tilemap-chunk-y-sort-bench.unit.test.d.ts +2 -0
- package/dist/__tests__/tilemap-chunk-y-sort-bench.unit.test.d.ts.map +1 -0
- package/dist/__tests__/tilemap-dirty-rebuild.test.d.ts +2 -0
- package/dist/__tests__/tilemap-dirty-rebuild.test.d.ts.map +1 -0
- package/dist/__tests__/tilemap-material-cache.test.d.ts +2 -0
- package/dist/__tests__/tilemap-material-cache.test.d.ts.map +1 -0
- package/dist/__tests__/tilemap-multi-atlas.test.d.ts +2 -0
- package/dist/__tests__/tilemap-multi-atlas.test.d.ts.map +1 -0
- package/dist/__tests__/tilemap-owner-boundary.unit.test.d.ts +2 -0
- package/dist/__tests__/tilemap-owner-boundary.unit.test.d.ts.map +1 -0
- package/dist/__tests__/tilemap-region-pack.test.d.ts +2 -0
- package/dist/__tests__/tilemap-region-pack.test.d.ts.map +1 -0
- package/dist/__tests__/tilemap-spawn-flip-pivot.test.d.ts +2 -0
- package/dist/__tests__/tilemap-spawn-flip-pivot.test.d.ts.map +1 -0
- package/dist/__tests__/tilemap-uv-inset.test.d.ts +2 -0
- package/dist/__tests__/tilemap-uv-inset.test.d.ts.map +1 -0
- package/dist/__tests__/tilemap-validate.test.d.ts +2 -0
- package/dist/__tests__/tilemap-validate.test.d.ts.map +1 -0
- package/dist/__tests__/transform-hierarchy-pixel-diff.dawn.test.d.ts +2 -0
- package/dist/__tests__/transform-hierarchy-pixel-diff.dawn.test.d.ts.map +1 -0
- package/dist/__tests__/transient-fields-collect.test.d.ts +2 -0
- package/dist/__tests__/transient-fields-collect.test.d.ts.map +1 -0
- package/dist/__tests__/transitional-authoring.integration.test.d.ts +2 -0
- package/dist/__tests__/transitional-authoring.integration.test.d.ts.map +1 -0
- package/dist/__tests__/transparent-sort-tilemap-sprite-interleave.test.d.ts +2 -0
- package/dist/__tests__/transparent-sort-tilemap-sprite-interleave.test.d.ts.map +1 -0
- package/dist/__tests__/variant-selection.unit.test.d.ts +2 -0
- package/dist/__tests__/variant-selection.unit.test.d.ts.map +1 -0
- package/dist/__tests__/vertex-attribute-layout.test.d.ts +2 -0
- package/dist/__tests__/vertex-attribute-layout.test.d.ts.map +1 -0
- package/dist/__tests__/video-cache-regression.unit.test.d.ts +2 -0
- package/dist/__tests__/video-cache-regression.unit.test.d.ts.map +1 -0
- package/dist/__tests__/video-extract-bindgroup.dawn.test.d.ts +2 -0
- package/dist/__tests__/video-extract-bindgroup.dawn.test.d.ts.map +1 -0
- package/dist/__tests__/view-ubo-layout.browser.test.d.ts +2 -0
- package/dist/__tests__/view-ubo-layout.browser.test.d.ts.map +1 -0
- package/dist/__tests__/world-entity-key.test.d.ts +2 -0
- package/dist/__tests__/world-entity-key.test.d.ts.map +1 -0
- package/dist/__tests__/world-scene-despawn.test.d.ts +2 -0
- package/dist/__tests__/world-scene-despawn.test.d.ts.map +1 -0
- package/dist/__tests__/world-scene-instantiate.test.d.ts +2 -0
- package/dist/__tests__/world-scene-instantiate.test.d.ts.map +1 -0
- package/dist/__tests__/world-scene-nested.test.d.ts +2 -0
- package/dist/__tests__/world-scene-nested.test.d.ts.map +1 -0
- package/dist/__tests__/world-scene-override.test.d.ts +2 -0
- package/dist/__tests__/world-scene-override.test.d.ts.map +1 -0
- package/dist/__tests__/zero-compression-zero-load.integration.test.d.ts +2 -0
- package/dist/__tests__/zero-compression-zero-load.integration.test.d.ts.map +1 -0
- package/dist/asset-contributions.d.ts +3 -0
- package/dist/asset-contributions.d.ts.map +1 -0
- package/dist/asset-kind.d.ts +4 -0
- package/dist/asset-kind.d.ts.map +1 -0
- package/dist/collect-scene-asset.d.ts +16 -0
- package/dist/collect-scene-asset.d.ts.map +1 -0
- package/dist/components/__tests__/camera.test-d.d.ts +2 -0
- package/dist/components/__tests__/camera.test-d.d.ts.map +1 -0
- package/dist/components/__tests__/camera.test.d.ts +2 -0
- package/dist/components/__tests__/camera.test.d.ts.map +1 -0
- package/dist/components/__tests__/child-of.test.d.ts +2 -0
- package/dist/components/__tests__/child-of.test.d.ts.map +1 -0
- package/dist/components/__tests__/sprite-animation.test-d.d.ts +2 -0
- package/dist/components/__tests__/sprite-animation.test-d.d.ts.map +1 -0
- package/dist/components/__tests__/sprite-instances.unit.test.d.ts +2 -0
- package/dist/components/__tests__/sprite-instances.unit.test.d.ts.map +1 -0
- package/dist/components/__tests__/sprite-region-override.test-d.d.ts +2 -0
- package/dist/components/__tests__/sprite-region-override.test-d.d.ts.map +1 -0
- package/dist/components/__tests__/tile-layer.test-d.d.ts +2 -0
- package/dist/components/__tests__/tile-layer.test-d.d.ts.map +1 -0
- package/dist/components/__tests__/tile-layer.unit.test.d.ts +2 -0
- package/dist/components/__tests__/tile-layer.unit.test.d.ts.map +1 -0
- package/dist/components/__tests__/tilemap.test-d.d.ts +2 -0
- package/dist/components/__tests__/tilemap.test-d.d.ts.map +1 -0
- package/dist/components/__tests__/transform-vec-schema.test.d.ts +2 -0
- package/dist/components/__tests__/transform-vec-schema.test.d.ts.map +1 -0
- package/dist/create-renderer-env-classify.d.ts +21 -0
- package/dist/create-renderer-env-classify.d.ts.map +1 -0
- package/dist/createRenderer.d.ts +3 -0
- package/dist/createRenderer.d.ts.map +1 -0
- package/dist/dev-import-transport.d.ts +24 -0
- package/dist/dev-import-transport.d.ts.map +1 -0
- package/dist/errors/environment.d.ts +2 -0
- package/dist/errors/environment.d.ts.map +1 -0
- package/dist/errors/sprite-animation.d.ts +3 -0
- package/dist/errors/sprite-animation.d.ts.map +1 -0
- package/dist/index.d.ts +280 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.mjs +814 -0
- package/dist/index.mjs.map +1 -0
- package/dist/scene-asset-port.d.ts +17 -0
- package/dist/scene-asset-port.d.ts.map +1 -0
- package/dist/scene-collect-errors.d.ts +22 -0
- package/dist/scene-collect-errors.d.ts.map +1 -0
- package/dist/scene-instances/__tests__/post-spawn-resolve-joints.unit.test.d.ts +2 -0
- package/dist/scene-instances/__tests__/post-spawn-resolve-joints.unit.test.d.ts.map +1 -0
- package/dist/scene-utils/mount-override-fold.d.ts +16 -0
- package/dist/scene-utils/mount-override-fold.d.ts.map +1 -0
- package/dist/shadow-m3-calibrate.d.ts +40 -0
- package/dist/shadow-m3-calibrate.d.ts.map +1 -0
- package/dist/sprite-param-values.d.ts +62 -0
- package/dist/sprite-param-values.d.ts.map +1 -0
- package/dist/systems/__tests__/_xorshift.d.ts +28 -0
- package/dist/systems/__tests__/_xorshift.d.ts.map +1 -0
- package/dist/systems/__tests__/argsort-in-place.test.d.ts +2 -0
- package/dist/systems/__tests__/argsort-in-place.test.d.ts.map +1 -0
- package/dist/systems/__tests__/transparent-sort.bench.d.ts +2 -0
- package/dist/systems/__tests__/transparent-sort.bench.d.ts.map +1 -0
- package/dist/systems/sprite-animation-tick.d.ts +50 -0
- package/dist/systems/sprite-animation-tick.d.ts.map +1 -0
- package/dist/systems/tonemap.d.ts +27 -0
- package/dist/systems/tonemap.d.ts.map +1 -0
- package/dist/systems/transparent-sort.d.ts +51 -0
- package/dist/systems/transparent-sort.d.ts.map +1 -0
- package/dist/tilemap-register-validate.d.ts +21 -0
- package/dist/tilemap-register-validate.d.ts.map +1 -0
- package/package.json +100 -0
- package/src/__tests__/active-camera.unit.test.ts +193 -0
- package/src/__tests__/animation-graph-add.unit.test.ts +67 -0
- package/src/__tests__/animation-graph-asset-union.test-d.ts +83 -0
- package/src/__tests__/animation-graph-blend.unit.test.ts +66 -0
- package/src/__tests__/animation-graph-build.unit.test.ts +100 -0
- package/src/__tests__/animation-graph-clip-missing.unit.test.ts +62 -0
- package/src/__tests__/animation-graph-clip.unit.test.ts +77 -0
- package/src/__tests__/animation-graph-default-path.integration.test.ts +65 -0
- package/src/__tests__/animation-graph-describe.unit.test.ts +68 -0
- package/src/__tests__/animation-graph-errors.unit.test.ts +75 -0
- package/src/__tests__/animation-graph-nesting.unit.test.ts +84 -0
- package/src/__tests__/animation-graph-orthogonal-weight.unit.test.ts +98 -0
- package/src/__tests__/animation-graph-slot-fill.unit.test.ts +95 -0
- package/src/__tests__/animation-nslot.unit.test.ts +63 -0
- package/src/__tests__/animation-slot-length-guard.unit.test.ts +81 -0
- package/src/__tests__/append-injection.test.ts +105 -0
- package/src/__tests__/asi-world-baseline-export.unit.test.ts +173 -0
- package/src/__tests__/asi-world-ci-config.unit.test.ts +186 -0
- package/src/__tests__/asi-world-smoke.unit.test.ts +192 -0
- package/src/__tests__/asset-registry-scene.test-d.ts +49 -0
- package/src/__tests__/bind-group-cache-binding.test.ts +2513 -0
- package/src/__tests__/bind-group-cache-frame.test.ts +1511 -0
- package/src/__tests__/bind-group-cache-keying.test.ts +295 -0
- package/src/__tests__/block-upload-math.unit.test.ts +192 -0
- package/src/__tests__/builtin-shader-register-e2e.test.ts +151 -0
- package/src/__tests__/cache-false-eviction.test.ts +126 -0
- package/src/__tests__/cache-isolation-matrix.test.ts +182 -0
- package/src/__tests__/camera-clear-snapshot-equivalence.unit.test.ts +76 -0
- package/src/__tests__/clamp-to-last.e2e.browser.test.ts +183 -0
- package/src/__tests__/clamp-to-last.e2e.dawn.test.ts +325 -0
- package/src/__tests__/collect-scene-asset.test.ts +876 -0
- package/src/__tests__/collect-subtree.unit.test.ts +76 -0
- package/src/__tests__/collect-transient-children-absent.test.ts +154 -0
- package/src/__tests__/collect-transient-roundtrip.test.ts +245 -0
- package/src/__tests__/collect-transient-skip.test.ts +165 -0
- package/src/__tests__/components.test-d.ts +236 -0
- package/src/__tests__/components.unit.test.ts +2665 -0
- package/src/__tests__/composite-skybox-cross-world.browser.test.ts +378 -0
- package/src/__tests__/create-renderer-assembly.integration.test.ts +42 -0
- package/src/__tests__/createRenderer-dispose.test.ts +416 -0
- package/src/__tests__/createRenderer-requiredFeatures.unit.test.ts +134 -0
- package/src/__tests__/createRenderer.browser-no-webgpu.test.ts +59 -0
- package/src/__tests__/createRenderer.unit.test.ts +231 -0
- package/src/__tests__/dawn/hello-sprite-nineslice-section.dawn.test.ts +393 -0
- package/src/__tests__/dawn/ibl-compose.dawn.test.ts +151 -0
- package/src/__tests__/dawn/ibl-modules-compose.dawn.test.ts +223 -0
- package/src/__tests__/dawn/ibl-precompute-readback.dawn.test.ts +241 -0
- package/src/__tests__/dawn/instances-per-instance-pbr.dawn.test.ts +611 -0
- package/src/__tests__/dawn/instances-shadow.dawn.test.ts +443 -0
- package/src/__tests__/dawn/instances-uniform-fallback.dawn.test.ts +313 -0
- package/src/__tests__/dawn/material-alpha.dawn.test.ts +304 -0
- package/src/__tests__/dawn/material-cooked-fixture.dawn.test.ts +64 -0
- package/src/__tests__/dawn/mesh-ssbo-normal-matrix.dawn.test.ts +106 -0
- package/src/__tests__/dawn/mesh-update.dawn.test.ts +342 -0
- package/src/__tests__/dawn/mipmap-srgb-linear.dawn.test.ts +117 -0
- package/src/__tests__/dawn/per-entity-material-texture-isolation.dawn.test.ts +567 -0
- package/src/__tests__/dawn/sprite-nineslice-mesh-bind.dawn.test.ts +251 -0
- package/src/__tests__/dawn/tonemap.dawn.test.ts +107 -0
- package/src/__tests__/dawn/user-handle-mesh-render.dawn.test.ts +291 -0
- package/src/__tests__/dawn/user-mesh-upload.dawn.test.ts +204 -0
- package/src/__tests__/dawn/zero-manifest-mesh-fail.dawn.test.ts +122 -0
- package/src/__tests__/dawn/zero-manifest-ready.dawn.test.ts +99 -0
- package/src/__tests__/demo-sortscope-migration.unit.test.ts +115 -0
- package/src/__tests__/derive-bgl-integration.test.ts +398 -0
- package/src/__tests__/derive-render-data-skin.unit.test.ts +90 -0
- package/src/__tests__/dispatch-fullscreen-pass-composite-swapchain.dawn.test.ts +204 -0
- package/src/__tests__/dispatch-fullscreen-pass-custom-reads.dawn.test.ts +297 -0
- package/src/__tests__/dispatch-fullscreen-pass-depth-composite.dawn.test.ts +271 -0
- package/src/__tests__/dispatch-fullscreen-pass-params.unit.test.ts +321 -0
- package/src/__tests__/draw-published.ts +10 -0
- package/src/__tests__/environment-error-exhaustive.test-d.ts +28 -0
- package/src/__tests__/equirect-bc6h.integration.test.ts +35 -0
- package/src/__tests__/error-exhaustive.test.ts +220 -0
- package/src/__tests__/extract-frames-graceful-degradation.test.ts +298 -0
- package/src/__tests__/extract-frames-merge.test.ts +643 -0
- package/src/__tests__/extract-frames-reset.test.ts +158 -0
- package/src/__tests__/extract-record-no-hardcoded-texture-fields.test.ts +92 -0
- package/src/__tests__/fog-producer-manifest.ts +162 -0
- package/src/__tests__/fog-producer-pixel-probe.ts +263 -0
- package/src/__tests__/fog-producer-pixel.browser.test.ts +26 -0
- package/src/__tests__/fog-producer-pixel.dawn.test.ts +55 -0
- package/src/__tests__/fog-producer-real-fixture.ts +805 -0
- package/src/__tests__/fog-producer-vfx-effect.ts +272 -0
- package/src/__tests__/fog-scene-asset.integration.test.ts +123 -0
- package/src/__tests__/frame-targets-shadow-regression.unit.test.ts +28 -0
- package/src/__tests__/fullscreen-post-bgl-depth.test.ts +131 -0
- package/src/__tests__/fullscreen-post-depth-params-arity.test.ts +84 -0
- package/src/__tests__/fullscreen-post-process-pass.dawn.test.ts +320 -0
- package/src/__tests__/fullscreen-post-process-pass.unit.test.ts +107 -0
- package/src/__tests__/fxaa-pixel-diff.dawn.test.ts +292 -0
- package/src/__tests__/fxaa-validation-and-resize.dawn.test.ts +358 -0
- package/src/__tests__/fxaa-zero-overhead.dawn.test.ts +254 -0
- package/src/__tests__/geometry.unit.test.ts +2265 -0
- package/src/__tests__/glyph-tilemap-worldid.test.ts +146 -0
- package/src/__tests__/gpu-resource-cow-survivor.test.ts +388 -0
- package/src/__tests__/gpu-resource-store-cubemap-status.test.ts +207 -0
- package/src/__tests__/gpu-resource.test.ts +1206 -0
- package/src/__tests__/hdrp-bgl-slots.browser.test.ts +50 -0
- package/src/__tests__/hdrp-buffers.unit.test.ts +70 -0
- package/src/__tests__/hdrp-execute-filter.unit.test.ts +200 -0
- package/src/__tests__/hdrp-gbuffer-attachments.browser.test.ts +64 -0
- package/src/__tests__/hdrp-pipeline-asset-type.test-d.ts +139 -0
- package/src/__tests__/hdrp-ssao-boundary.test.ts +237 -0
- package/src/__tests__/hdrp-ssao-falsification.test.ts +289 -0
- package/src/__tests__/hello-tilemap-smoke-upgrade.unit.test.ts +147 -0
- package/src/__tests__/helpers/mock-shader-registry.ts +139 -0
- package/src/__tests__/helpers/primitive-world.ts +91 -0
- package/src/__tests__/helpers/register-runtime-components.ts +69 -0
- package/src/__tests__/helpers/register-scene-components.ts +10 -0
- package/src/__tests__/helpers/render-asset-port.ts +65 -0
- package/src/__tests__/helpers/scene-asset-port.ts +23 -0
- package/src/__tests__/helpers/tilemap-assets.ts +29 -0
- package/src/__tests__/instances.test-d.ts +61 -0
- package/src/__tests__/light-attenuation-formula.test.ts +171 -0
- package/src/__tests__/light-casters-9-light.browser.test.ts +880 -0
- package/src/__tests__/light-gpu-byte-neutral.unit.test.ts +163 -0
- package/src/__tests__/light-snapshot.test-d.ts +84 -0
- package/src/__tests__/lights-vec-negative.unit.test.ts +52 -0
- package/src/__tests__/lights.unit.test.ts +2936 -0
- package/src/__tests__/m3-vec-negative.unit.test.ts +45 -0
- package/src/__tests__/m5-browser-dawn-sweep.integration.test.ts +8 -0
- package/src/__tests__/material-derived-coordinates.integration.test.ts +100 -0
- package/src/__tests__/material-texture-uv-scale.unit.test.ts +49 -0
- package/src/__tests__/materials.unit.test.ts +271 -0
- package/src/__tests__/mesh-ssbo-grow.unit.test.ts +244 -0
- package/src/__tests__/mip-gate.unit.test.ts +79 -0
- package/src/__tests__/msaa-sprite-pixel-diff.dawn.test.ts +406 -0
- package/src/__tests__/multi-uv-8set.e2e.dawn.test.ts +296 -0
- package/src/__tests__/name.unit.test.ts +123 -0
- package/src/__tests__/node-shims.d.ts +33 -0
- package/src/__tests__/pass-selector.unit.test.ts +102 -0
- package/src/__tests__/pbr-pipeline.unit.test.ts +204 -0
- package/src/__tests__/pipeline-builder-msaa.unit.test.ts +224 -0
- package/src/__tests__/pipeline-cache-keying.unit.test.ts +316 -0
- package/src/__tests__/pipeline-layout-selection.test.ts +298 -0
- package/src/__tests__/pipeline-spec.test.ts +1061 -0
- package/src/__tests__/pipeline.unit.test.ts +6974 -0
- package/src/__tests__/point-light-shadow.browser.test.ts +278 -0
- package/src/__tests__/point-light-shadow.dawn.test.ts +822 -0
- package/src/__tests__/point-light-shadow.unit.test.ts +716 -0
- package/src/__tests__/post-process-error-codes.unit.test.ts +158 -0
- package/src/__tests__/post-process-params-component.unit.test.ts +153 -0
- package/src/__tests__/post-process-params-extract.unit.test.ts +100 -0
- package/src/__tests__/post-process-reads-narrowing.test-d.ts +52 -0
- package/src/__tests__/post-process-register-roundtrip.dawn.test.ts +230 -0
- package/src/__tests__/postprocess-camera-consistency.test.ts +378 -0
- package/src/__tests__/profiler-assembly.integration.test.ts +74 -0
- package/src/__tests__/propagate-transforms.dawn.test.ts +253 -0
- package/src/__tests__/record-worldid-isolation.test.ts +247 -0
- package/src/__tests__/recover-error-exhaustive.test-d.ts +35 -0
- package/src/__tests__/render-error-exhaustive.test-d.ts +245 -0
- package/src/__tests__/render-feature-assembly.test-d.ts +28 -0
- package/src/__tests__/render-feature-prepared-graphics-docs.unit.test.ts +124 -0
- package/src/__tests__/render-feature-prepared-graphics.browser.test.ts +582 -0
- package/src/__tests__/render-feature-prepared-graphics.dawn.test.ts +602 -0
- package/src/__tests__/render-feature-prepared-graphics.integration.test.ts +264 -0
- package/src/__tests__/render-feature-prepared-graphics.regression.integration.test.ts +361 -0
- package/src/__tests__/render-feature-recover.integration.test.ts +142 -0
- package/src/__tests__/render-feature-runtime-surface.test-d.ts +45 -0
- package/src/__tests__/render-feature-zero-feature.browser.test.ts +152 -0
- package/src/__tests__/render-pipeline-trivial.dawn.test.ts +525 -0
- package/src/__tests__/render-schema-consumer.integration.test.ts +25 -0
- package/src/__tests__/render-schema-owner-boundary.unit.test.ts +26 -0
- package/src/__tests__/render-system-cross-world-overlay-queue.test.ts +172 -0
- package/src/__tests__/render-system-extract-dispatch-ordering.test.ts +322 -0
- package/src/__tests__/render-system-extract.test.ts +1399 -0
- package/src/__tests__/render-system-fold-bucket.unit.test.ts +288 -0
- package/src/__tests__/render-system-fold-fallback.unit.test.ts +148 -0
- package/src/__tests__/render-system-fold-material.unit.test.ts +145 -0
- package/src/__tests__/render-system-fold-metrics.unit.test.ts +170 -0
- package/src/__tests__/render-system-fold-modegate.unit.test.ts +166 -0
- package/src/__tests__/render-system-fold-scene-instances.unit.test.ts +51 -0
- package/src/__tests__/render-system-fold.dawn.test.ts +306 -0
- package/src/__tests__/render-system-mega.test.ts +1578 -0
- package/src/__tests__/render-system-owner-split-contract.test.ts +200 -0
- package/src/__tests__/render-system-record-multi-material-textureview.test.ts +684 -0
- package/src/__tests__/render-system-record-per-submesh-transparency.test.ts +464 -0
- package/src/__tests__/render-system-record.test.ts +1505 -0
- package/src/__tests__/render-system-record.unit.test.ts +270 -0
- package/src/__tests__/render-system-skin-bg.unit.test.ts +147 -0
- package/src/__tests__/renderer-consumer.test-d.ts +5 -0
- package/src/__tests__/renderer-health.unit.test.ts +935 -0
- package/src/__tests__/renderer-lifecycle.integration.test.ts +29 -0
- package/src/__tests__/renderer-recover.unit.test.ts +1075 -0
- package/src/__tests__/renderer-result.test-d.ts +26 -0
- package/src/__tests__/renderer-surface.unit.test.ts +416 -0
- package/src/__tests__/resolve-depth-only-view.test.ts +173 -0
- package/src/__tests__/rhi-null-command-flow.unit.test.ts +273 -0
- package/src/__tests__/rhi-null-noop-behavior.unit.test.ts +196 -0
- package/src/__tests__/rhi-null-renderer-lifecycle.unit.test.ts +182 -0
- package/src/__tests__/roots-to-scene-asset.test.ts +605 -0
- package/src/__tests__/runtime-authority-scan.unit.test.ts +19 -0
- package/src/__tests__/runtime-domain-residue.unit.test.ts +13 -0
- package/src/__tests__/scene-equirect-roundtrip.test.ts +33 -0
- package/src/__tests__/scene-instance-bridge.integration.test.ts +8 -0
- package/src/__tests__/scene-instance-component.test.ts +45 -0
- package/src/__tests__/scene-instantiate-cycle-runtime.test.ts +66 -0
- package/src/__tests__/serialize-scene-asset.test.ts +336 -0
- package/src/__tests__/shadow-caster-empty-schema.test.ts +83 -0
- package/src/__tests__/shadow-csm-atlas.test.ts +178 -0
- package/src/__tests__/shadow-csm-blend.dawn.test.ts +230 -0
- package/src/__tests__/shadow-csm-cascade-loadop.test.ts +334 -0
- package/src/__tests__/shadow-csm-caster-membership.test.ts +232 -0
- package/src/__tests__/shadow-csm-component.test.ts +286 -0
- package/src/__tests__/shadow-csm-extract.test.ts +334 -0
- package/src/__tests__/shadow-csm-orthoz.test.ts +151 -0
- package/src/__tests__/shadow-csm-pssm.test.ts +142 -0
- package/src/__tests__/shadow-csm-runtime-vary.dawn.test.ts +198 -0
- package/src/__tests__/shadow-csm-shader.dawn.test.ts +358 -0
- package/src/__tests__/shadow-csm-temporal.browser.test.ts +145 -0
- package/src/__tests__/shadow-csm-tile-consistency.test.ts +419 -0
- package/src/__tests__/shadow-csm-ubo.dawn.test.ts +293 -0
- package/src/__tests__/shadow-csm-ubo.test.ts +300 -0
- package/src/__tests__/shadow-csm-viewport.browser.test.ts +85 -0
- package/src/__tests__/shadow-csm-viewport.test.ts +74 -0
- package/src/__tests__/shadow-fields-observable.dawn.test.ts +615 -0
- package/src/__tests__/shadow-m1.dawn.test.ts +105 -0
- package/src/__tests__/shadow-m2.dawn.test.ts +394 -0
- package/src/__tests__/shadow-m3-calibrate-run.dawn.test.ts +248 -0
- package/src/__tests__/shadow-m3-calibrate.ts +203 -0
- package/src/__tests__/shadow-m3.dawn.test.ts +288 -0
- package/src/__tests__/shadow-mesh-ssbo-order.test.ts +64 -0
- package/src/__tests__/shadow-probe-control-flow.dawn.test.ts +264 -0
- package/src/__tests__/shadow-quality-metrics.dawn.test.ts +324 -0
- package/src/__tests__/skin-error-exhaustive.test-d.ts +74 -0
- package/src/__tests__/skin-errors.unit.test.ts +10 -0
- package/src/__tests__/skin-extract-getarrayview-count.unit.test.ts +23 -0
- package/src/__tests__/skin-parented-double-transform.test.ts +268 -0
- package/src/__tests__/skylight-lazy-projection.test.ts +359 -0
- package/src/__tests__/sparse-tag-scene-roundtrip.test.ts +43 -0
- package/src/__tests__/sprite-cullmode-flip.dawn.test.ts +470 -0
- package/src/__tests__/sprite-lit-bgl-byte-identical.test.ts +141 -0
- package/src/__tests__/sprite-lit-extract-branch.test.ts +117 -0
- package/src/__tests__/sprite-lit-pipeline-cache-key.test.ts +123 -0
- package/src/__tests__/sprite-param-values.test-d.ts +104 -0
- package/src/__tests__/ssao-bgl.test.ts +347 -0
- package/src/__tests__/ssao-buffers.test.ts +211 -0
- package/src/__tests__/ssao-data.test.ts +121 -0
- package/src/__tests__/ssao-errors.test.ts +162 -0
- package/src/__tests__/ssao-manifest.test.ts +109 -0
- package/src/__tests__/ssao-passes.test.ts +1229 -0
- package/src/__tests__/ssao-pipelines.test.ts +275 -0
- package/src/__tests__/ssao-uniform-layout.test.ts +178 -0
- package/src/__tests__/static-rig.integration.test.ts +9 -0
- package/src/__tests__/stencil-outline-pixel.dawn.test.ts +295 -0
- package/src/__tests__/swap-chain-format.unit.test.ts +117 -0
- package/src/__tests__/systems.unit.test.ts +9957 -0
- package/src/__tests__/temporal-off-path.unit.test.ts +69 -0
- package/src/__tests__/text.unit.test.ts +466 -0
- package/src/__tests__/tilemap-childed-despawn.test.ts +468 -0
- package/src/__tests__/tilemap-chunk-extract.overhang-bounds.test.ts +314 -0
- package/src/__tests__/tilemap-chunk-extract.propagate-order.test.ts +80 -0
- package/src/__tests__/tilemap-chunk-extract.terrain-rewrite.unit.test.ts +424 -0
- package/src/__tests__/tilemap-chunk-extract.test.ts +236 -0
- package/src/__tests__/tilemap-chunk-extract.unit.test.ts +383 -0
- package/src/__tests__/tilemap-chunk-y-sort-bench.unit.test.ts +109 -0
- package/src/__tests__/tilemap-dirty-rebuild.test.ts +300 -0
- package/src/__tests__/tilemap-material-cache.test.ts +137 -0
- package/src/__tests__/tilemap-multi-atlas.test.ts +237 -0
- package/src/__tests__/tilemap-owner-boundary.unit.test.ts +63 -0
- package/src/__tests__/tilemap-region-pack.test.ts +153 -0
- package/src/__tests__/tilemap-spawn-flip-pivot.test.ts +274 -0
- package/src/__tests__/tilemap-uv-inset.test.ts +204 -0
- package/src/__tests__/tilemap-validate.test.ts +201 -0
- package/src/__tests__/transform-hierarchy-pixel-diff.dawn.test.ts +274 -0
- package/src/__tests__/transient-fields-collect.test.ts +203 -0
- package/src/__tests__/transitional-authoring.integration.test.ts +7 -0
- package/src/__tests__/transparent-sort-tilemap-sprite-interleave.test.ts +227 -0
- package/src/__tests__/variant-selection.unit.test.ts +21 -0
- package/src/__tests__/vertex-attribute-layout.test.ts +324 -0
- package/src/__tests__/video-cache-regression.unit.test.ts +186 -0
- package/src/__tests__/video-extract-bindgroup.dawn.test.ts +450 -0
- package/src/__tests__/view-ubo-layout.browser.test.ts +183 -0
- package/src/__tests__/world-entity-key.test.ts +92 -0
- package/src/__tests__/world-scene-despawn.test.ts +132 -0
- package/src/__tests__/world-scene-instantiate.test.ts +228 -0
- package/src/__tests__/world-scene-nested.test.ts +230 -0
- package/src/__tests__/world-scene-override.test.ts +199 -0
- package/src/__tests__/zero-compression-zero-load.integration.test.ts +107 -0
- package/src/asset-contributions.ts +48 -0
- package/src/asset-kind.ts +7 -0
- package/src/collect-scene-asset.ts +689 -0
- package/src/components/__tests__/camera.test-d.ts +57 -0
- package/src/components/__tests__/camera.test.ts +95 -0
- package/src/components/__tests__/child-of.test.ts +35 -0
- package/src/components/__tests__/sprite-animation.test-d.ts +160 -0
- package/src/components/__tests__/sprite-instances.unit.test.ts +108 -0
- package/src/components/__tests__/sprite-region-override.test-d.ts +101 -0
- package/src/components/__tests__/tile-layer.test-d.ts +33 -0
- package/src/components/__tests__/tile-layer.unit.test.ts +125 -0
- package/src/components/__tests__/tilemap.test-d.ts +35 -0
- package/src/components/__tests__/transform-vec-schema.test.ts +121 -0
- package/src/create-renderer-env-classify.ts +110 -0
- package/src/createRenderer.ts +61 -0
- package/src/dev-import-transport.ts +97 -0
- package/src/errors/environment.ts +6 -0
- package/src/errors/sprite-animation.ts +5 -0
- package/src/index.ts +442 -0
- package/src/scene-asset-port.ts +32 -0
- package/src/scene-collect-errors.ts +30 -0
- package/src/scene-instances/__tests__/post-spawn-resolve-joints.unit.test.ts +183 -0
- package/src/scene-utils/mount-override-fold.ts +217 -0
- package/src/shadow-m3-calibrate.ts +171 -0
- package/src/sprite-param-values.ts +61 -0
- package/src/systems/__tests__/_xorshift.ts +83 -0
- package/src/systems/__tests__/argsort-in-place.test.ts +155 -0
- package/src/systems/__tests__/transparent-sort.bench.ts +218 -0
- package/src/systems/sprite-animation-tick.ts +302 -0
- package/src/systems/tonemap.ts +68 -0
- package/src/systems/transparent-sort.ts +434 -0
- package/src/tilemap-register-validate.ts +100 -0
package/src/index.ts
ADDED
|
@@ -0,0 +1,442 @@
|
|
|
1
|
+
// @forgeax/engine-runtime — public API surface (M3).
|
|
2
|
+
//
|
|
3
|
+
// Surface (K-4):
|
|
4
|
+
// - createRenderer(canvas, options?) — async factory; uses WebGPU
|
|
5
|
+
// exclusively; throws EngineEnvironmentError when no adapter is usable.
|
|
6
|
+
// - Renderer / RendererOptions / RendererBackend / RendererLostInfo /
|
|
7
|
+
// RendererLostListener — types for callers.
|
|
8
|
+
// - EngineEnvironmentError — thrown when no backend is usable.
|
|
9
|
+
//
|
|
10
|
+
// What is **NOT** here, by design (acceptance grep checks negative existence):
|
|
11
|
+
// - any internal backend module — locked by `package.json#exports`
|
|
12
|
+
// entry `"./internal/*": null`.
|
|
13
|
+
|
|
14
|
+
import { createRenderer as _createRendererForEngineAlias } from './createRenderer';
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* `acquireCanvasContext` facade re-export (M3 D-P3 / w15).
|
|
18
|
+
*
|
|
19
|
+
* Single-entry SSOT for vite apps: instead of importing rhi-webgpu directly,
|
|
20
|
+
* AI users wire canvas through engine-runtime's public surface (charter
|
|
21
|
+
* proposition 5 consistent abstraction — apps see one entry; pipeline
|
|
22
|
+
* isolation — apps depend on engine-runtime, not on the rhi backend choice).
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* import { acquireCanvasContext } from '@forgeax/engine-runtime';
|
|
26
|
+
* const ctxResult = acquireCanvasContext(canvas);
|
|
27
|
+
*/
|
|
28
|
+
export { acquireCanvasContext } from '@forgeax/engine-rhi-webgpu';
|
|
29
|
+
export { defaultAssetDecoderContributions } from './asset-contributions';
|
|
30
|
+
export { builtinAssetKind } from './asset-kind';
|
|
31
|
+
export { createRenderer } from './createRenderer';
|
|
32
|
+
|
|
33
|
+
// feat-20260704-runtime-tier1-decomposition M2 / w10 (D-3 / D-9): the top-level
|
|
34
|
+
// RuntimeError / RuntimeErrorCode cross-cluster aggregates are ELIMINATED. Each
|
|
35
|
+
// error cluster's closed *ErrorCode + *Error union is re-exported so external
|
|
36
|
+
// consumers `import type` the cluster union and write exhaustive `switch
|
|
37
|
+
// (err.code)` (AC-07 a/b). Every re-export sources directly from
|
|
38
|
+
// ./errors/<cluster> (NOT the transitional errors.ts barrel, deleted in w15;
|
|
39
|
+
// NOT the @forgeax/engine-types zombie RuntimeErrorCode -- D-9).
|
|
40
|
+
|
|
41
|
+
// Asset loading contracts live in @forgeax/engine-assets-runtime. This barrel
|
|
42
|
+
// stays focused on renderer assembly and never re-exports asset-core symbols.
|
|
43
|
+
// -- environment cluster --
|
|
44
|
+
export { EngineEnvironmentError } from './errors/environment';
|
|
45
|
+
export {
|
|
46
|
+
type SpriteAnimationErrorCode,
|
|
47
|
+
SpriteAnimationInvalidError,
|
|
48
|
+
} from './errors/sprite-animation';
|
|
49
|
+
// -- recover cluster --
|
|
50
|
+
// -- render cluster --
|
|
51
|
+
// -- skin cluster --
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* `Engine` namespace alias for `createRenderer` (w55 round 2 fix-up F-3
|
|
55
|
+
* closure). Plan-strategy §7.1 / §7.2 / §7.4 + requirements.md §AI User
|
|
56
|
+
* Affordances reference the factory in `Engine.create({ canvas })` form;
|
|
57
|
+
* the concrete code-level entry is `createRenderer(canvas, options?)`. To
|
|
58
|
+
* keep both call sites valid without forcing a doc-wide rewrite (the
|
|
59
|
+
* plan/requirements text is appended-only audit history per architecture
|
|
60
|
+
* principle 7), the namespace alias re-exports `createRenderer` under the
|
|
61
|
+
* `Engine.create` shape — AI users can write either form and TypeScript
|
|
62
|
+
* resolution lands on the same factory.
|
|
63
|
+
*
|
|
64
|
+
* Single SSOT: the runtime behaviour, signatures, and JSDoc all live on
|
|
65
|
+
* `createRenderer`; `Engine.create` is a thin re-export (charter
|
|
66
|
+
* proposition 1 progressive disclosure — both names are grep-able + lead
|
|
67
|
+
* to the same body; proposition 5 consistent abstraction — the alias does
|
|
68
|
+
* not introduce a second factory shape).
|
|
69
|
+
*
|
|
70
|
+
* Usage parity:
|
|
71
|
+
*
|
|
72
|
+
* import { createRenderer } from '@forgeax/engine-runtime';
|
|
73
|
+
* const renderer = await createRenderer(canvas, { ... }, bundler?);
|
|
74
|
+
*
|
|
75
|
+
* // identical:
|
|
76
|
+
* import { Engine } from '@forgeax/engine-runtime';
|
|
77
|
+
* const renderer = await Engine.create(canvas, { ... }, bundler?);
|
|
78
|
+
*
|
|
79
|
+
* feat-20260608-create-app-param-surface-trim / M2 / R-8: Engine.create
|
|
80
|
+
* is a thin re-export of createRenderer; the third BundlerOptions arg
|
|
81
|
+
* forwards verbatim through the alias (no separate Engine.create
|
|
82
|
+
* implementation -- `create: createRenderer` shape).
|
|
83
|
+
*/
|
|
84
|
+
export const Engine = {
|
|
85
|
+
create: _createRendererForEngineAlias,
|
|
86
|
+
} as const;
|
|
87
|
+
|
|
88
|
+
// ─── ECS render bridge (feat-20260509-ecs-render-bridge-mvp) ────────────────
|
|
89
|
+
//
|
|
90
|
+
// Single-import surface for the 5-component schema set + builtin asset handles
|
|
91
|
+
// (charter proposition 1 progressive disclosure + plan-strategy 7.4
|
|
92
|
+
// discoverability "AI users see 8 core symbols in one read").
|
|
93
|
+
|
|
94
|
+
/**
|
|
95
|
+
* RHI error-model surface (feat-20260511-tetris-retro-followups verify minor-edit).
|
|
96
|
+
*
|
|
97
|
+
* Re-export the closed `RhiError` / `RhiErrorCode` union + detail interfaces so
|
|
98
|
+
* AI users wiring a `'limit-exceeded'` / `'asset-not-registered'` /
|
|
99
|
+
* `'webgpu-runtime-error'` listener only import from `@forgeax/engine-runtime`
|
|
100
|
+
* (charter proposition 1 progressive disclosure + proposition 5 consistent
|
|
101
|
+
* abstraction; plan-strategy §7.1 decision 1 single-entry SSOT — IDE
|
|
102
|
+
* autocomplete on `@forgeax/engine-runtime` already covers the full
|
|
103
|
+
* observable surface, including the failure path). The error-model SSOT
|
|
104
|
+
* still lives in `packages/rhi/src/errors.ts` — this is a thin re-export, no
|
|
105
|
+
* new types or renames.
|
|
106
|
+
*
|
|
107
|
+
* `LimitExceededDetail` carries `{ maxStorageBufferBindingSize,
|
|
108
|
+
* requestedBytes }` (feat-20260513-instanced-mesh M5 D-3 evolution
|
|
109
|
+
* major reshape from the legacy `{ renderableCount, limit }` shape).
|
|
110
|
+
* Read both fields directly through typed property access after the
|
|
111
|
+
* `code === 'limit-exceeded'` discriminant narrows `err.detail`.
|
|
112
|
+
*
|
|
113
|
+
* The `Renderer.onError` channel fans out **both** error families —
|
|
114
|
+
* `RhiError` (RHI layer) and `RuntimeError` (runtime layer, e.g.
|
|
115
|
+
* `'equirect-projection-failed'`) — so the listener parameter is the
|
|
116
|
+
* `RhiError | RuntimeError` union (feat-20260531-skybox-env-background:
|
|
117
|
+
* widened from `RhiError` only, dropping the prior `as any` fan-out cast).
|
|
118
|
+
* The disjoint `RhiErrorCode` / `RuntimeErrorCode` literal sets let
|
|
119
|
+
* `switch (e.code)` narrow each arm to the concrete class without a default.
|
|
120
|
+
*
|
|
121
|
+
* @example
|
|
122
|
+
* import {
|
|
123
|
+
* RhiError, type RhiErrorCode, type LimitExceededDetail,
|
|
124
|
+
* } from '@forgeax/engine-runtime';
|
|
125
|
+
* import { type EquirectProjectionFailedDetail, type RendererError } from '@forgeax/engine-render';
|
|
126
|
+
* renderer.onError((e: RendererError) => {
|
|
127
|
+
* switch (e.code) {
|
|
128
|
+
* case 'limit-exceeded': {
|
|
129
|
+
* const detail = e.detail as LimitExceededDetail;
|
|
130
|
+
* // detail.maxStorageBufferBindingSize vs detail.requestedBytes
|
|
131
|
+
* break;
|
|
132
|
+
* }
|
|
133
|
+
* case 'equirect-projection-failed': {
|
|
134
|
+
* // renderer error arm — e narrows to EquirectProjectionFailedError
|
|
135
|
+
* const detail: EquirectProjectionFailedDetail = e.detail;
|
|
136
|
+
* // detail.handle — the equirect handle whose projection failed
|
|
137
|
+
* break;
|
|
138
|
+
* }
|
|
139
|
+
* }
|
|
140
|
+
* });
|
|
141
|
+
*/
|
|
142
|
+
export {
|
|
143
|
+
type LimitExceededDetail,
|
|
144
|
+
type RhiAssetNotRegisteredDetail,
|
|
145
|
+
RhiError,
|
|
146
|
+
type RhiErrorCode,
|
|
147
|
+
type RhiErrorDetail,
|
|
148
|
+
type RhiShaderCompileDetail,
|
|
149
|
+
type RhiWebgpuRuntimeDetail,
|
|
150
|
+
} from '@forgeax/engine-rhi';
|
|
151
|
+
/**
|
|
152
|
+
* feat-20260527-sprite-nineslice M4 / w16 (D-5 + AC-16): per-Renderer
|
|
153
|
+
* EngineMetrics counter. Surfaced through `renderer.metrics`; exported here
|
|
154
|
+
* so AI users can grep `EngineMetrics` and reach the public type for ts
|
|
155
|
+
* generics, and so test utilities can construct a free-standing instance.
|
|
156
|
+
*
|
|
157
|
+
* @example
|
|
158
|
+
* const renderer = await createRenderer(canvas);
|
|
159
|
+
* // ...later, after the world has rendered for a few frames...
|
|
160
|
+
* const counts = renderer.metrics.snapshot();
|
|
161
|
+
* if (counts['nineslice.scale-too-small'] !== undefined) {
|
|
162
|
+
* // surface a once-per-session UI hint, run a regression bench, etc.
|
|
163
|
+
* }
|
|
164
|
+
*/
|
|
165
|
+
/**
|
|
166
|
+
* Asset system SSOT re-exports (feat-20260511-asset-system-v1 / w30 / D-P7 +
|
|
167
|
+
* plan-strategy §7.4 discoverability dual-entry).
|
|
168
|
+
*
|
|
169
|
+
* The error-model SSOT lives in `@forgeax/engine-types` (closed `AssetErrorCode`
|
|
170
|
+
* 4-member union + `AssetError` class + `ASSET_ERROR_HINTS` per-code hint table);
|
|
171
|
+
* this barrel is a thin re-export so AI users can write a single-line import —
|
|
172
|
+
*
|
|
173
|
+
* import type { Asset } from '@forgeax/engine-types';
|
|
174
|
+
* import type { Handle } from '@forgeax/engine-types';
|
|
175
|
+
* import { AssetError } from '@forgeax/engine-runtime';
|
|
176
|
+
*
|
|
177
|
+
* — and let IDE autocomplete on `@forgeax/engine-runtime` cover the full asset
|
|
178
|
+
* surface (charter proposition 1 progressive disclosure). `@forgeax/engine-types`
|
|
179
|
+
* remains a valid import entry for AI users that want the bare SSOT layer.
|
|
180
|
+
*/
|
|
181
|
+
export {
|
|
182
|
+
AssetError,
|
|
183
|
+
type AssetErrorCode,
|
|
184
|
+
type Handle,
|
|
185
|
+
MATERIAL_PARAM_TYPES,
|
|
186
|
+
type MaterialAsset,
|
|
187
|
+
type MaterialPass,
|
|
188
|
+
type ParamSchemaEntry,
|
|
189
|
+
type RenderQueue,
|
|
190
|
+
type SamplerAsset,
|
|
191
|
+
type TextureAsset,
|
|
192
|
+
type VertexAttributeMap,
|
|
193
|
+
} from '@forgeax/engine-types';
|
|
194
|
+
// Asset payload types are imported from @forgeax/engine-types. Primitive mesh
|
|
195
|
+
// payloads are owned by @forgeax/engine-geometry and become ordinary per-World
|
|
196
|
+
// shared references during host assembly.
|
|
197
|
+
// Runtime-specific authoring components remain here. Domain authorities are
|
|
198
|
+
// imported directly from @forgeax/engine-scene, @forgeax/engine-animation,
|
|
199
|
+
// @forgeax/engine-skinning, and @forgeax/engine-render.
|
|
200
|
+
/**
|
|
201
|
+
* GlyphText authoring component for world-space MSDF text
|
|
202
|
+
* (feat-20260531-world-space-msdf-text-rendering M4 / w14). Carries
|
|
203
|
+
* `fontHandle` / `text` / `fontSize` / `color: array<f32, 4>`; the
|
|
204
|
+
* `glyphTextLayoutSystem` (this package) bakes a MeshAsset and attaches
|
|
205
|
+
* MeshFilter + MeshRenderer (plan-strategy D-2; GlyphText is pure authoring
|
|
206
|
+
* data, baking is a system responsibility). Co-located with its consuming
|
|
207
|
+
* system in `@forgeax/engine-runtime` so AI users import the component and
|
|
208
|
+
* the system from one package.
|
|
209
|
+
*/
|
|
210
|
+
/**
|
|
211
|
+
* feat-20260625-sprite-instances-and-tilemap-terrain-static-batch M1 / w4 —
|
|
212
|
+
* SpriteInstances primitive: 2D peer of `Instances`. Carries per-instance
|
|
213
|
+
* mat4 (stride 16) + per-instance UV region (stride 4). Exported directly
|
|
214
|
+
* from the @forgeax/engine-runtime barrel so AI users discover both
|
|
215
|
+
* primitives side-by-side via IDE autocomplete on `@forgeax/engine-runtime`.
|
|
216
|
+
* Per plan-strategy D-8, the barrel re-export lives here (runtime top-level),
|
|
217
|
+
* not in `@forgeax/engine-ecs` — the ecs package stays unaware of the sprite
|
|
218
|
+
* shading model concept.
|
|
219
|
+
*/
|
|
220
|
+
// feat-20260604-hdr-equirect-cube-importer-loader M4 / w15: the dev-only
|
|
221
|
+
// ImportTransport factory. A host wires it into createRenderer / createApp so
|
|
222
|
+
// a DDC miss at runtime triggers an on-demand POST /__import import against the
|
|
223
|
+
// vite-plugin-pack dev server. Aligned with the create*/wire* factory family.
|
|
224
|
+
export { createDevImportTransport } from './dev-import-transport';
|
|
225
|
+
// feat-20260705-runtime-tier2-decomposition M3 / w31: glyph-layout +
|
|
226
|
+
// glyph-mesh-bake (FONT_CONCURRENCY_LIMIT /
|
|
227
|
+
// GlyphLayoutResult / layoutGlyphText / resetFontConcurrency /
|
|
228
|
+
// trackFontConcurrency / VERTEX_OFFSET / bakeGlyphMesh / buildGlyphMeshAsset /
|
|
229
|
+
// conservativeCubeAabb / GlyphMeshBakeResult) moved to
|
|
230
|
+
// @forgeax/engine-graphics-extras (AC-303). Zero shim -- import from that
|
|
231
|
+
// package. glyphTextLayoutSystem stays here (system entry, S12).
|
|
232
|
+
/**
|
|
233
|
+
* glyphTextLayoutSystem (feat-20260531-world-space-msdf-text-rendering) -- lays
|
|
234
|
+
* out + bakes every `GlyphText` entity, attaching MeshFilter + MeshRenderer on
|
|
235
|
+
* first observation and re-baking in place on a text / size / color change.
|
|
236
|
+
* `renderer.attachWorld(world)` installs this derived-state owner before the
|
|
237
|
+
* first `world.update()`; `renderer.draw()` only reads the published result.
|
|
238
|
+
* `createApp` performs the attachment automatically.
|
|
239
|
+
*/
|
|
240
|
+
/**
|
|
241
|
+
* GpuBuffer / GpuTexture runtime wrappers + GpuResource union
|
|
242
|
+
* (feat-20260612-rhi-destroy-renderer-dispose-gpu-lifecycle / M2).
|
|
243
|
+
*
|
|
244
|
+
* AI-user-facing handles for explicit GPU lifecycle:
|
|
245
|
+
* - `new GpuBuffer(device, handle).destroy()`
|
|
246
|
+
* - `new GpuTexture(device, handle).destroy()`
|
|
247
|
+
* - `type GpuResource = GpuBuffer | GpuTexture` for "dispose any
|
|
248
|
+
* GPU resource" call sites (charter §F1 single-entry).
|
|
249
|
+
*
|
|
250
|
+
* Forwarding shape (D-7 SSOT): the wrapper forwards to
|
|
251
|
+
* `device.destroyBuffer / destroyTexture`; the destroyed: boolean
|
|
252
|
+
* bookkeeping lives once on the RHI shim. Second `.destroy()` returns
|
|
253
|
+
* `Result.err({ code: 'destroy-after-destroy' })`.
|
|
254
|
+
*/
|
|
255
|
+
/**
|
|
256
|
+
* feat-20260601-gpu-resource-store-extraction M1: the GPU residency store.
|
|
257
|
+
* Reachable as `renderer.store`; exported here so AI users can construct one
|
|
258
|
+
* directly for tests and `grep GpuResourceStore` discovers it.
|
|
259
|
+
*/
|
|
260
|
+
// Runtime decoders are installed by Runtime/App assembly through the typed
|
|
261
|
+
// AssetRegistry lease seam; this barrel does not expose a second loader table.
|
|
262
|
+
// feat-20260705-runtime-tier2-decomposition M2 / w25: the picking cluster
|
|
263
|
+
// (pick / pickVertex / pickVertexOnEntity / pickTile + PickHit / VertexHit /
|
|
264
|
+
// PickError / PickErrorCode / PickTileError / PickTileHit) moved to
|
|
265
|
+
// @forgeax/engine-picking (AC-204). Zero shim -- import from that package.
|
|
266
|
+
/**
|
|
267
|
+
* RenderSystem (D-S2 — feat-20260509-ecs-render-bridge-mvp).
|
|
268
|
+
*
|
|
269
|
+
* Engine-internal phase that walks the World query graph (Extract /
|
|
270
|
+
* Prepare / Record three stages). RenderSystem is **not** registered to
|
|
271
|
+
* the ECS schedule (AC-09); `Renderer.draw(worlds, options)` invokes it once per
|
|
272
|
+
* frame.
|
|
273
|
+
*
|
|
274
|
+
* AI users see this re-export so the F-1 single-import contract holds:
|
|
275
|
+
*
|
|
276
|
+
* @example
|
|
277
|
+
* import {
|
|
278
|
+
* Camera, DirectionalLight, MeshFilter, MeshRenderer,
|
|
279
|
+
* } from '@forgeax/engine-render';
|
|
280
|
+
* import { Transform } from '@forgeax/engine-scene';
|
|
281
|
+
* import { createRenderer } from '@forgeax/engine-runtime';
|
|
282
|
+
*/
|
|
283
|
+
// Shared-reference resolution belongs to ECS; renderer only consumes the
|
|
284
|
+
// owner projection supplied by the current World.
|
|
285
|
+
export type { SpriteParamValues } from './sprite-param-values';
|
|
286
|
+
// feat-20260630-viewport-2x2-run-x-display-redesign M2 / w12 / plan-strategy D-2:
|
|
287
|
+
// engine-neutral by-entity-id active camera selection (no editor concept).
|
|
288
|
+
/**
|
|
289
|
+
* Transparent-bucket sort configuration (feat-20260520-2d-sprite-layer-mvp
|
|
290
|
+
* M-2 w14). The POD interface + 3 named mode constants + `get/set`
|
|
291
|
+
* helpers form the entire AI-user-visible surface for transparent sort
|
|
292
|
+
* mode selection — see `transparent-sort-config.ts` JSDoc head for the
|
|
293
|
+
* 5-view selection table (horizontal / top-down / Don't-Starve /
|
|
294
|
+
* isometric / JRPG).
|
|
295
|
+
*
|
|
296
|
+
* `setTransparentSortConfig` returns
|
|
297
|
+
* `Result<void, ResourceInvalidValueError>`; AI users self-repair by
|
|
298
|
+
* reading `.code / .expected / .hint / .detail` property access on the
|
|
299
|
+
* err branch (charter P3 structured failure SSOT).
|
|
300
|
+
*
|
|
301
|
+
* @example
|
|
302
|
+
* import {
|
|
303
|
+
* TRANSPARENT_SORT_CONFIG_KEY,
|
|
304
|
+
* TRANSPARENT_SORT_MODE_LAYER_Y,
|
|
305
|
+
* setTransparentSortConfig,
|
|
306
|
+
* } from '@forgeax/engine-render/internal';
|
|
307
|
+
* const r = setTransparentSortConfig(world,
|
|
308
|
+
* { mode: TRANSPARENT_SORT_MODE_LAYER_Y, yzAlpha: 1.0 });
|
|
309
|
+
*/
|
|
310
|
+
/**
|
|
311
|
+
* Sprite-animation tick system (feat-20260521-sprite-atlas-animation M4 /
|
|
312
|
+
* T-24). Walks every entity carrying `SpriteAnimation`, advances the
|
|
313
|
+
* per-entity dt accumulator clock, and writes the current frame's UV
|
|
314
|
+
* slice into `SpriteRegionOverride`. Returns
|
|
315
|
+
* `Result<void, SpriteAnimationInvalidError>` so AI users self-repair
|
|
316
|
+
* via `.code / .expected / .hint / .detail` property access on the err
|
|
317
|
+
* branch (charter P3 structured failure SSOT).
|
|
318
|
+
*
|
|
319
|
+
* Wire into the `App` schedule between input/time and `RenderSystem.
|
|
320
|
+
* extract`; the M3 sprite-bucket extract branch reads the override
|
|
321
|
+
* column populated by this tick.
|
|
322
|
+
*
|
|
323
|
+
* @example
|
|
324
|
+
* import { spriteAnimationTickSystem } from '@forgeax/engine-runtime';
|
|
325
|
+
* const app = createApp({ canvas, schedule: { update: [
|
|
326
|
+
* spriteAnimationTickSystem,
|
|
327
|
+
* ] } });
|
|
328
|
+
*/
|
|
329
|
+
export { spriteAnimationTickSystem } from './systems/sprite-animation-tick';
|
|
330
|
+
// feat-20260705-runtime-tier2-decomposition M3 / w31: tile-bits (decodeTileBits
|
|
331
|
+
// / encodeTileBits) moved to @forgeax/engine-graphics-extras (AC-303). Zero shim
|
|
332
|
+
// -- import from that package. tilemapChunkExtractSystem stays here (system
|
|
333
|
+
// entry, S12).
|
|
334
|
+
// feat-20260608-tilemap-object-layer-rendering M0 baseline rebuild — chunk-extract system
|
|
335
|
+
// feat-20260705-runtime-tier2-decomposition M3 / w31: the video cluster
|
|
336
|
+
// (VIDEO_ELEMENT_PROVIDER_KEY / VideoElementProvider / videoLoader / VideoPlayer
|
|
337
|
+
// / probeVideoHighPerfUpload / VideoCapabilityDevice) moved to
|
|
338
|
+
// @forgeax/engine-graphics-extras (AC-303). Zero shim -- import from that
|
|
339
|
+
// package.
|
|
340
|
+
// Typed asset loading is exposed by @forgeax/engine-assets-runtime. Renderer
|
|
341
|
+
// construction consumes only owner projections and device services.
|
|
342
|
+
|
|
343
|
+
// ─── Math namespace re-export (M2 / w15) ────────────────────────────────
|
|
344
|
+
|
|
345
|
+
/**
|
|
346
|
+
* `quat` namespace re-export from `@forgeax/engine-math`.
|
|
347
|
+
*
|
|
348
|
+
* AI users write a single import from engine-runtime to get the full
|
|
349
|
+
* quaternion surface (16+ functions: create / fromEuler / multiply /
|
|
350
|
+
* slerp / eulerY / transformVec3 etc.) without cross-package math
|
|
351
|
+
* topology memory (charter P4 consistent abstraction).
|
|
352
|
+
*
|
|
353
|
+
* engine-math has zero Node-only dependencies per feat-20260524
|
|
354
|
+
* browser-safe-subexports -- this barrel re-export does not trigger
|
|
355
|
+
* the browser-safe gate.
|
|
356
|
+
*
|
|
357
|
+
* @example
|
|
358
|
+
* ```ts
|
|
359
|
+
* import { quat } from '@forgeax/engine-runtime';
|
|
360
|
+
* const yaw = quat.eulerY(Math.PI / 4);
|
|
361
|
+
* ```
|
|
362
|
+
*/
|
|
363
|
+
export { quat } from '@forgeax/engine-math';
|
|
364
|
+
|
|
365
|
+
// w8: Inspector contributor (registerRuntimeInspector + RegisterRuntimeInspectorResult)
|
|
366
|
+
// deleted — routing layer (Registry / sandbox) is removed; eval is the sole
|
|
367
|
+
// command channel.
|
|
368
|
+
|
|
369
|
+
// ─── Animation system wiring (M1 / T-19 - feat-20260523-skin-skeleton-animation) ──
|
|
370
|
+
|
|
371
|
+
// w8: registerRuntimeInspector export deleted alongside register-inspector.ts removal.
|
|
372
|
+
|
|
373
|
+
// feat-20260623-editor-openproject M2 w11+w12: SceneInstance→SceneAsset writeback
|
|
374
|
+
// chain (plan-strategy D-1: pure-data collection + pack serialization).
|
|
375
|
+
//
|
|
376
|
+
// feat-20260701-rootstosceneasset-forest-collect-schema-derived-ha M3:
|
|
377
|
+
// collectSceneAsset removed — replaced by rootsToSceneAsset (forest entry,
|
|
378
|
+
// schema-derived field dispatch, engine-self-contained GUID resolution).
|
|
379
|
+
// serializeSceneAssetToPack now uses schema-derived refs[] index (D-1/D-2).
|
|
380
|
+
export { rootsToSceneAsset, serializeSceneAssetToPack } from './collect-scene-asset';
|
|
381
|
+
export {
|
|
382
|
+
createSceneAssetPort,
|
|
383
|
+
type SceneAssetPort,
|
|
384
|
+
type SceneAssetPortError,
|
|
385
|
+
} from './scene-asset-port';
|
|
386
|
+
export {
|
|
387
|
+
SceneCollectAssetGuidUnresolvedError,
|
|
388
|
+
SceneCollectEntityRefOutOfClosureError,
|
|
389
|
+
} from './scene-collect-errors';
|
|
390
|
+
// feat-20260626 M6 / m6-4: debug-draw auto-attach glue is re-exported from the
|
|
391
|
+
// main barrel (was a separate tsup entry). The separate entry produced a SECOND
|
|
392
|
+
// module copy of the mutable `registeredDebugDraw` registry: createApp set it on
|
|
393
|
+
// the subpath copy, but the URP/HDRP pipelines (bundled into index) read their
|
|
394
|
+
// own always-null copy AND tsup dead-code-eliminated the flush body into a stub,
|
|
395
|
+
// so DebugDraw.flush() never ran in the browser build (debug overlay leaked +
|
|
396
|
+
// never rendered). One barrel entry => one module copy => one registry shared by
|
|
397
|
+
// createDebugDrawOnReady (the writer) and attachDebugOverlayPass (the reader).
|
|
398
|
+
// feat-20260704-runtime-tier1-decomposition M2 / w10 (D-3): the third error
|
|
399
|
+
// re-export block (HdrpCapsInsufficientError / HdrpIndexListOverflowError /
|
|
400
|
+
// HdrpLightBudgetExceededError) is folded into the render-cluster class
|
|
401
|
+
// re-export block above -- they are render-cluster members sourced from
|
|
402
|
+
// ./errors/render.
|
|
403
|
+
// feat-20260608-cluster-lighting M2 / w10 + verify F-1/F-2: HDRP cluster-forward
|
|
404
|
+
// pipeline exports — full barrel surface (4 error classes + 4 sizing constants
|
|
405
|
+
// + pipeline + grid validator).
|
|
406
|
+
// feat-20260615-pipeline-spec-ssot: PipelineSpec 4-axis SSOT public surface
|
|
407
|
+
// (charter F1 single-entry indexability + P2 schema-as-contract). All 6 pure
|
|
408
|
+
// derive functions + the closed PipelineSpecErrorCode union + getOrBuildPipeline
|
|
409
|
+
// entrypoint reachable through the engine-runtime barrel so AI users follow
|
|
410
|
+
// `import { ... } from '@forgeax/engine-runtime'` without spelunking subpaths.
|
|
411
|
+
// Implementation SSOT: packages/runtime/src/pipeline-spec.ts.
|
|
412
|
+
// Round-2 [F-3] feat-20260612-hdrp-ssao: PostProcessError surfaces SSAO
|
|
413
|
+
// failures (storageBuffer-unavailable / radius-non-positive / bias-negative)
|
|
414
|
+
// alongside the existing fullscreen post-process register / not-found /
|
|
415
|
+
// reads-not-found codes. AI users `switch (err.code)` over the closed
|
|
416
|
+
// 6-member union without `default`; .detail narrows per-code per charter P3.
|
|
417
|
+
// feat-20260604 M3 / w19: render-graph-primitives — the public AI-user vocabulary
|
|
418
|
+
// for assembling a render pipeline's per-frame graph (addScenePass /
|
|
419
|
+
// addShadowPass / addSkyboxPass / addBloomPasses / addTonemapPass /
|
|
420
|
+
// addFullscreenPass). The urp pipeline (w21) and any custom
|
|
421
|
+
// pipeline use these factories — the dogfood proof of D-5.
|
|
422
|
+
// feat-20260601-customizable-render-pipeline-seam-and-dogfood-rend M1.
|
|
423
|
+
/**
|
|
424
|
+
* Render-pipeline surface. `renderer.registerPipeline(id, impl)` registers a
|
|
425
|
+
* `RenderPipeline` logic; `renderer.installPipeline(handle)` installs the pipeline bound
|
|
426
|
+
* by a `RenderPipelineAsset` handle from the renderer-owned projection. The built-in
|
|
427
|
+
* `forgeax::urp` (`urpPipeline`) is the authoritative worked
|
|
428
|
+
* example - it is dogfooded through the same public channel inside `createRenderer`.
|
|
429
|
+
*
|
|
430
|
+
* @example
|
|
431
|
+
* import {
|
|
432
|
+
* type RenderPipeline,
|
|
433
|
+
* PipelineError, type PipelineErrorCode,
|
|
434
|
+
* URP_PIPELINE_ID,
|
|
435
|
+
* } from '@forgeax/engine-render';
|
|
436
|
+
* // urpPipeline remains an engine-internal implementation.
|
|
437
|
+
*/
|
|
438
|
+
// RenderPipelineContext is barrel-exported for typed pass encode closures.
|
|
439
|
+
// feat-20260701-rootstosceneasset verify minor-edit (F2): collectSubtree is a
|
|
440
|
+
// reusable "BFS a subtree along Children" primitive (the forgeax-engine-ecs
|
|
441
|
+
// skill documents importing it from the barrel) — re-export so that claim holds.
|
|
442
|
+
// cache-bust-marker for feat-20260615-fbx-importer-via-sdk PR-CI run on bf1d383f / 05a331cd (post-rebase tsbuildinfo restore-keys staleness)
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { World } from '@forgeax/engine-ecs';
|
|
2
|
+
import type { Asset, Handle, Result } from '@forgeax/engine-types';
|
|
3
|
+
import { err, handleSlot, ok } from '@forgeax/engine-types';
|
|
4
|
+
|
|
5
|
+
export interface SceneAssetPortError {
|
|
6
|
+
readonly code: 'scene-asset-unresolved';
|
|
7
|
+
readonly expected: string;
|
|
8
|
+
readonly hint: string;
|
|
9
|
+
readonly detail: { readonly handle: number };
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
/** Runtime's explicit bridge to scene-owned shared asset identity. */
|
|
13
|
+
export interface SceneAssetPort {
|
|
14
|
+
resolve<T extends Asset>(world: World, handle: Handle<string, 'shared'>): Result<T, unknown>;
|
|
15
|
+
guidOf(asset: Asset): string | undefined;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export function createSceneAssetPort(guidOf: (asset: Asset) => string | undefined): SceneAssetPort {
|
|
19
|
+
return {
|
|
20
|
+
resolve<T extends Asset>(world: World, handle: Handle<string, 'shared'>) {
|
|
21
|
+
const shared = world.sharedRefs.resolve<string, T>(handle);
|
|
22
|
+
if (shared.ok) return ok(shared.value as T);
|
|
23
|
+
return err<SceneAssetPortError>({
|
|
24
|
+
code: 'scene-asset-unresolved',
|
|
25
|
+
expected: 'the handle to identify a World.sharedRefs-owned scene asset',
|
|
26
|
+
hint: 'allocate the asset through the active World shared-ref owner before collecting the scene',
|
|
27
|
+
detail: { handle: handleSlot(handle) },
|
|
28
|
+
});
|
|
29
|
+
},
|
|
30
|
+
guidOf,
|
|
31
|
+
};
|
|
32
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
export class SceneCollectEntityRefOutOfClosureError extends Error {
|
|
2
|
+
readonly code = 'scene-collect-entity-ref-out-of-closure' as const;
|
|
3
|
+
readonly expected: string;
|
|
4
|
+
readonly hint = 'Expand roots to include the target entity, or remove the reference.';
|
|
5
|
+
readonly detail: { readonly entity: number; readonly field: string; readonly target: number };
|
|
6
|
+
|
|
7
|
+
constructor(entity: number, field: string, target: number) {
|
|
8
|
+
super(
|
|
9
|
+
`entity ${entity} field ${field} references entity ${target} outside the collected roots`,
|
|
10
|
+
);
|
|
11
|
+
this.name = 'SceneCollectEntityRefOutOfClosureError';
|
|
12
|
+
this.expected = `entity ${entity} field ${field} to reference an entity inside the collected roots`;
|
|
13
|
+
this.detail = { entity, field, target };
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export class SceneCollectAssetGuidUnresolvedError extends Error {
|
|
18
|
+
readonly code = 'scene-collect-asset-guid-unresolved' as const;
|
|
19
|
+
readonly expected: string;
|
|
20
|
+
readonly hint =
|
|
21
|
+
'Provide a GUID through the active scene asset port before collecting shared asset fields.';
|
|
22
|
+
readonly detail: { readonly field: string; readonly handle: number | string };
|
|
23
|
+
|
|
24
|
+
constructor(field: string, handle: number | string) {
|
|
25
|
+
super(`shared asset field ${field} has no GUID for handle ${handle}`);
|
|
26
|
+
this.name = 'SceneCollectAssetGuidUnresolvedError';
|
|
27
|
+
this.expected = `shared asset field ${field} to resolve through the active scene asset port`;
|
|
28
|
+
this.detail = { field, handle };
|
|
29
|
+
}
|
|
30
|
+
}
|