@driftengine/core 3.61.0
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/NOTICE +9 -0
- package/README.md +9 -0
- package/dist/behavior/behaviorTree.d.ts +140 -0
- package/dist/behavior/behaviorTree.js +289 -0
- package/dist/build/shaderComments.d.ts +64 -0
- package/dist/build/shaderComments.js +0 -0
- package/dist/cinematic/player.d.ts +80 -0
- package/dist/cinematic/player.js +184 -0
- package/dist/cinematic/script.d.ts +63 -0
- package/dist/cinematic/script.js +141 -0
- package/dist/core/bootGate.d.ts +37 -0
- package/dist/core/bootGate.js +47 -0
- package/dist/core/loadTracker.d.ts +78 -0
- package/dist/core/loadTracker.js +106 -0
- package/dist/core/loop.d.ts +118 -0
- package/dist/core/loop.js +84 -0
- package/dist/core/messageQueue.d.ts +61 -0
- package/dist/core/messageQueue.js +104 -0
- package/dist/core/onceSet.d.ts +27 -0
- package/dist/core/onceSet.js +62 -0
- package/dist/core/preferences.d.ts +47 -0
- package/dist/core/preferences.js +140 -0
- package/dist/core/remoteSave.d.ts +154 -0
- package/dist/core/remoteSave.js +249 -0
- package/dist/core/rng.d.ts +64 -0
- package/dist/core/rng.js +72 -0
- package/dist/core/stepBudget.d.ts +91 -0
- package/dist/core/stepBudget.js +105 -0
- package/dist/core/storage.d.ts +52 -0
- package/dist/core/storage.js +85 -0
- package/dist/core/tickTrace.d.ts +72 -0
- package/dist/core/tickTrace.js +102 -0
- package/dist/core/timeCurve.d.ts +83 -0
- package/dist/core/timeCurve.js +107 -0
- package/dist/core/withDefaults.d.ts +21 -0
- package/dist/core/withDefaults.js +29 -0
- package/dist/dev/contactProbe.d.ts +41 -0
- package/dist/dev/contactProbe.js +58 -0
- package/dist/dev/fpsMeter.d.ts +45 -0
- package/dist/dev/fpsMeter.js +86 -0
- package/dist/environment/celestialClock.d.ts +141 -0
- package/dist/environment/celestialClock.js +262 -0
- package/dist/geometry/decal.d.ts +61 -0
- package/dist/geometry/decal.js +178 -0
- package/dist/geometry/filmPatch.d.ts +35 -0
- package/dist/geometry/filmPatch.js +112 -0
- package/dist/geometry/growable.d.ts +70 -0
- package/dist/geometry/growable.js +167 -0
- package/dist/geometry/lightVolume.d.ts +76 -0
- package/dist/geometry/lightVolume.js +65 -0
- package/dist/geometry/meshBuilder.d.ts +426 -0
- package/dist/geometry/meshBuilder.js +1184 -0
- package/dist/geometry/pixelFont.d.ts +59 -0
- package/dist/geometry/pixelFont.js +179 -0
- package/dist/geometry/ribbon.d.ts +101 -0
- package/dist/geometry/ribbon.js +546 -0
- package/dist/geometry/shellFill.d.ts +101 -0
- package/dist/geometry/shellFill.js +203 -0
- package/dist/geometry/spline.d.ts +162 -0
- package/dist/geometry/spline.js +527 -0
- package/dist/geometry/tangents.d.ts +30 -0
- package/dist/geometry/tangents.js +142 -0
- package/dist/geometry/textMesh.d.ts +51 -0
- package/dist/geometry/textMesh.js +57 -0
- package/dist/geometry/treeBuilder.d.ts +37 -0
- package/dist/geometry/treeBuilder.js +56 -0
- package/dist/host/display.d.ts +135 -0
- package/dist/host/display.js +114 -0
- package/dist/host/files.d.ts +25 -0
- package/dist/host/files.js +44 -0
- package/dist/host/lifecycle.d.ts +45 -0
- package/dist/host/lifecycle.js +28 -0
- package/dist/host/platformServices.d.ts +23 -0
- package/dist/host/platformServices.js +1 -0
- package/dist/host/screen.d.ts +49 -0
- package/dist/host/screen.js +90 -0
- package/dist/index.d.ts +289 -0
- package/dist/index.js +320 -0
- package/dist/input/actionMap.d.ts +181 -0
- package/dist/input/actionMap.js +314 -0
- package/dist/input/activeDevice.d.ts +55 -0
- package/dist/input/activeDevice.js +83 -0
- package/dist/input/gamepadIdentity.d.ts +43 -0
- package/dist/input/gamepadIdentity.js +108 -0
- package/dist/input/gamepadMapping.d.ts +56 -0
- package/dist/input/gamepadMapping.js +91 -0
- package/dist/input/input.d.ts +281 -0
- package/dist/input/input.js +703 -0
- package/dist/input/inputHarness.d.ts +42 -0
- package/dist/input/inputHarness.js +193 -0
- package/dist/input/rightGesture.d.ts +57 -0
- package/dist/input/rightGesture.js +49 -0
- package/dist/input/rumble.d.ts +71 -0
- package/dist/input/rumble.js +119 -0
- package/dist/input/touchControls.d.ts +138 -0
- package/dist/input/touchControls.js +352 -0
- package/dist/input/typingTarget.d.ts +6 -0
- package/dist/input/typingTarget.js +27 -0
- package/dist/math/bounds.d.ts +61 -0
- package/dist/math/bounds.js +121 -0
- package/dist/math/color.d.ts +8 -0
- package/dist/math/color.js +35 -0
- package/dist/math/exact.d.ts +66 -0
- package/dist/math/exact.js +262 -0
- package/dist/math/frustum.d.ts +44 -0
- package/dist/math/frustum.js +90 -0
- package/dist/math/intersect.d.ts +76 -0
- package/dist/math/intersect.js +185 -0
- package/dist/math/scalar.d.ts +51 -0
- package/dist/math/scalar.js +99 -0
- package/dist/math/spring.d.ts +59 -0
- package/dist/math/spring.js +88 -0
- package/dist/nav/navGraph.d.ts +71 -0
- package/dist/nav/navGraph.js +111 -0
- package/dist/nav/navPath.d.ts +93 -0
- package/dist/nav/navPath.js +162 -0
- package/dist/nav/navSearch.d.ts +74 -0
- package/dist/nav/navSearch.js +198 -0
- package/dist/physics/boxSurface.d.ts +48 -0
- package/dist/physics/boxSurface.js +73 -0
- package/dist/physics/colliderSurface.d.ts +46 -0
- package/dist/physics/colliderSurface.js +146 -0
- package/dist/physics/compositeSurface.d.ts +33 -0
- package/dist/physics/compositeSurface.js +108 -0
- package/dist/physics/heightSurface.d.ts +103 -0
- package/dist/physics/heightSurface.js +153 -0
- package/dist/physics/ribbonSurface.d.ts +239 -0
- package/dist/physics/ribbonSurface.js +522 -0
- package/dist/render/ambientOcclusionPass.d.ts +53 -0
- package/dist/render/ambientOcclusionPass.js +179 -0
- package/dist/render/areaLights.d.ts +116 -0
- package/dist/render/areaLights.js +91 -0
- package/dist/render/areaShadowSet.d.ts +184 -0
- package/dist/render/areaShadowSet.js +277 -0
- package/dist/render/atmosphere.d.ts +94 -0
- package/dist/render/atmosphere.js +91 -0
- package/dist/render/backend/api.d.ts +496 -0
- package/dist/render/backend/api.js +1 -0
- package/dist/render/backend/budget.d.ts +82 -0
- package/dist/render/backend/budget.js +99 -0
- package/dist/render/backend/createRenderer.d.ts +135 -0
- package/dist/render/backend/createRenderer.js +201 -0
- package/dist/render/backend/deadline.d.ts +24 -0
- package/dist/render/backend/deadline.js +38 -0
- package/dist/render/backend/probe.d.ts +30 -0
- package/dist/render/backend/probe.js +129 -0
- package/dist/render/backend/select.d.ts +70 -0
- package/dist/render/backend/select.js +249 -0
- package/dist/render/backend/timer.d.ts +50 -0
- package/dist/render/backend/timer.js +1 -0
- package/dist/render/backend/webgl2/instanced.d.ts +21 -0
- package/dist/render/backend/webgl2/instanced.js +42 -0
- package/dist/render/backend/webgl2/morphTexture.d.ts +21 -0
- package/dist/render/backend/webgl2/morphTexture.js +55 -0
- package/dist/render/backend/webgl2/renderer.d.ts +3027 -0
- package/dist/render/backend/webgl2/renderer.js +6041 -0
- package/dist/render/backend/webgl2/skinPaletteTexture.d.ts +32 -0
- package/dist/render/backend/webgl2/skinPaletteTexture.js +68 -0
- package/dist/render/backend/webgpu/boltPass.d.ts +42 -0
- package/dist/render/backend/webgpu/boltPass.js +160 -0
- package/dist/render/backend/webgpu/buffers.d.ts +159 -0
- package/dist/render/backend/webgpu/buffers.js +402 -0
- package/dist/render/backend/webgpu/causticsPass.d.ts +36 -0
- package/dist/render/backend/webgpu/causticsPass.js +138 -0
- package/dist/render/backend/webgpu/clusterBinner.d.ts +51 -0
- package/dist/render/backend/webgpu/clusterBinner.js +206 -0
- package/dist/render/backend/webgpu/depthPass.d.ts +114 -0
- package/dist/render/backend/webgpu/depthPass.js +228 -0
- package/dist/render/backend/webgpu/device.d.ts +52 -0
- package/dist/render/backend/webgpu/device.js +121 -0
- package/dist/render/backend/webgpu/drawCommand.d.ts +43 -0
- package/dist/render/backend/webgpu/drawCommand.js +54 -0
- package/dist/render/backend/webgpu/environmentTexels.d.ts +28 -0
- package/dist/render/backend/webgpu/environmentTexels.js +79 -0
- package/dist/render/backend/webgpu/filmPass.d.ts +29 -0
- package/dist/render/backend/webgpu/filmPass.js +97 -0
- package/dist/render/backend/webgpu/flatPass.d.ts +213 -0
- package/dist/render/backend/webgpu/flatPass.js +482 -0
- package/dist/render/backend/webgpu/flockPass.d.ts +34 -0
- package/dist/render/backend/webgpu/flockPass.js +129 -0
- package/dist/render/backend/webgpu/gpuTimestamps.d.ts +94 -0
- package/dist/render/backend/webgpu/gpuTimestamps.js +213 -0
- package/dist/render/backend/webgpu/insetPass.d.ts +19 -0
- package/dist/render/backend/webgpu/insetPass.js +108 -0
- package/dist/render/backend/webgpu/instanced.d.ts +27 -0
- package/dist/render/backend/webgpu/instanced.js +49 -0
- package/dist/render/backend/webgpu/lightVolumePass.d.ts +75 -0
- package/dist/render/backend/webgpu/lightVolumePass.js +154 -0
- package/dist/render/backend/webgpu/linePass.d.ts +90 -0
- package/dist/render/backend/webgpu/linePass.js +220 -0
- package/dist/render/backend/webgpu/morphTexture.d.ts +18 -0
- package/dist/render/backend/webgpu/morphTexture.js +51 -0
- package/dist/render/backend/webgpu/panelPass.d.ts +37 -0
- package/dist/render/backend/webgpu/panelPass.js +114 -0
- package/dist/render/backend/webgpu/particlePass.d.ts +89 -0
- package/dist/render/backend/webgpu/particlePass.js +280 -0
- package/dist/render/backend/webgpu/pipelineCache.d.ts +93 -0
- package/dist/render/backend/webgpu/pipelineCache.js +140 -0
- package/dist/render/backend/webgpu/plumePass.d.ts +69 -0
- package/dist/render/backend/webgpu/plumePass.js +213 -0
- package/dist/render/backend/webgpu/pointShadowPass.d.ts +88 -0
- package/dist/render/backend/webgpu/pointShadowPass.js +280 -0
- package/dist/render/backend/webgpu/postPass.d.ts +342 -0
- package/dist/render/backend/webgpu/postPass.js +366 -0
- package/dist/render/backend/webgpu/probePass.d.ts +108 -0
- package/dist/render/backend/webgpu/probePass.js +188 -0
- package/dist/render/backend/webgpu/reflectionPass.d.ts +29 -0
- package/dist/render/backend/webgpu/reflectionPass.js +87 -0
- package/dist/render/backend/webgpu/renderer.d.ts +3082 -0
- package/dist/render/backend/webgpu/renderer.js +10911 -0
- package/dist/render/backend/webgpu/scatterPass.d.ts +95 -0
- package/dist/render/backend/webgpu/scatterPass.js +266 -0
- package/dist/render/backend/webgpu/sdfTextPass.d.ts +86 -0
- package/dist/render/backend/webgpu/sdfTextPass.js +190 -0
- package/dist/render/backend/webgpu/shaderModules.d.ts +9 -0
- package/dist/render/backend/webgpu/shaderModules.js +45 -0
- package/dist/render/backend/webgpu/shaders/clusterBin.wgsl.d.ts +23 -0
- package/dist/render/backend/webgpu/shaders/clusterBin.wgsl.js +208 -0
- package/dist/render/backend/webgpu/skinPaletteRing.d.ts +67 -0
- package/dist/render/backend/webgpu/skinPaletteRing.js +97 -0
- package/dist/render/backend/webgpu/skinPaletteTexture.d.ts +17 -0
- package/dist/render/backend/webgpu/skinPaletteTexture.js +68 -0
- package/dist/render/backend/webgpu/skyPass.d.ts +102 -0
- package/dist/render/backend/webgpu/skyPass.js +70 -0
- package/dist/render/backend/webgpu/surfaceTexturePass.d.ts +41 -0
- package/dist/render/backend/webgpu/surfaceTexturePass.js +228 -0
- package/dist/render/backend/webgpu/textPass.d.ts +73 -0
- package/dist/render/backend/webgpu/textPass.js +190 -0
- package/dist/render/backend/webgpu/uniformRing.d.ts +133 -0
- package/dist/render/backend/webgpu/uniformRing.js +208 -0
- package/dist/render/backend/webgpu/waterPass.d.ts +73 -0
- package/dist/render/backend/webgpu/waterPass.js +160 -0
- package/dist/render/backend/webgpu/windStreakPass.d.ts +46 -0
- package/dist/render/backend/webgpu/windStreakPass.js +153 -0
- package/dist/render/billboard.d.ts +27 -0
- package/dist/render/billboard.js +79 -0
- package/dist/render/bloomChain.d.ts +66 -0
- package/dist/render/bloomChain.js +83 -0
- package/dist/render/bloomPass.d.ts +54 -0
- package/dist/render/bloomPass.js +219 -0
- package/dist/render/boltBatch.d.ts +39 -0
- package/dist/render/boltBatch.js +121 -0
- package/dist/render/boltPool.d.ts +135 -0
- package/dist/render/boltPool.js +259 -0
- package/dist/render/boom.d.ts +46 -0
- package/dist/render/boom.js +81 -0
- package/dist/render/camera.d.ts +119 -0
- package/dist/render/camera.js +304 -0
- package/dist/render/causticsRenderer.d.ts +63 -0
- package/dist/render/causticsRenderer.js +119 -0
- package/dist/render/cinematicCamera.d.ts +102 -0
- package/dist/render/cinematicCamera.js +227 -0
- package/dist/render/clusteredLights.d.ts +260 -0
- package/dist/render/clusteredLights.js +479 -0
- package/dist/render/colourGrade.d.ts +62 -0
- package/dist/render/colourGrade.js +91 -0
- package/dist/render/compute.d.ts +74 -0
- package/dist/render/compute.js +8 -0
- package/dist/render/contextLoss.d.ts +32 -0
- package/dist/render/contextLoss.js +46 -0
- package/dist/render/debugLines.d.ts +75 -0
- package/dist/render/debugLines.js +281 -0
- package/dist/render/decalPass.d.ts +34 -0
- package/dist/render/decalPass.js +103 -0
- package/dist/render/decalProjector.d.ts +140 -0
- package/dist/render/decalProjector.js +282 -0
- package/dist/render/decalQueue.d.ts +53 -0
- package/dist/render/decalQueue.js +87 -0
- package/dist/render/depthConvention.d.ts +314 -0
- package/dist/render/depthConvention.js +346 -0
- package/dist/render/drawingBuffer.d.ts +52 -0
- package/dist/render/drawingBuffer.js +67 -0
- package/dist/render/emptyTexture.d.ts +60 -0
- package/dist/render/emptyTexture.js +103 -0
- package/dist/render/envProbeArray.d.ts +85 -0
- package/dist/render/envProbeArray.js +164 -0
- package/dist/render/equirectToCube.d.ts +54 -0
- package/dist/render/equirectToCube.js +123 -0
- package/dist/render/flockGeometry.d.ts +23 -0
- package/dist/render/flockGeometry.js +43 -0
- package/dist/render/flockRenderer.d.ts +37 -0
- package/dist/render/flockRenderer.js +70 -0
- package/dist/render/frame/arena.d.ts +32 -0
- package/dist/render/frame/arena.js +65 -0
- package/dist/render/frame/index.d.ts +18 -0
- package/dist/render/frame/index.js +4 -0
- package/dist/render/frame/replay.d.ts +34 -0
- package/dist/render/frame/replay.js +48 -0
- package/dist/render/frame/resources.d.ts +25 -0
- package/dist/render/frame/resources.js +55 -0
- package/dist/render/frame/schedule.d.ts +37 -0
- package/dist/render/frame/schedule.js +61 -0
- package/dist/render/frameView.d.ts +19 -0
- package/dist/render/frameView.js +1 -0
- package/dist/render/gizmo.d.ts +236 -0
- package/dist/render/gizmo.js +727 -0
- package/dist/render/globalMedium.d.ts +124 -0
- package/dist/render/globalMedium.js +100 -0
- package/dist/render/globalMediumPass.d.ts +101 -0
- package/dist/render/globalMediumPass.js +250 -0
- package/dist/render/gpuCapability.d.ts +111 -0
- package/dist/render/gpuCapability.js +194 -0
- package/dist/render/gpuTimer.d.ts +87 -0
- package/dist/render/gpuTimer.js +145 -0
- package/dist/render/halfFloat.d.ts +4 -0
- package/dist/render/halfFloat.js +38 -0
- package/dist/render/handleRegistry.d.ts +54 -0
- package/dist/render/handleRegistry.js +84 -0
- package/dist/render/iesProfile.d.ts +64 -0
- package/dist/render/iesProfile.js +179 -0
- package/dist/render/imageTexels.d.ts +50 -0
- package/dist/render/imageTexels.js +91 -0
- package/dist/render/instancedMesh.d.ts +48 -0
- package/dist/render/instancedMesh.js +127 -0
- package/dist/render/instances.d.ts +69 -0
- package/dist/render/instances.js +52 -0
- package/dist/render/lightBudget.d.ts +397 -0
- package/dist/render/lightBudget.js +524 -0
- package/dist/render/lightMatrix.d.ts +3 -0
- package/dist/render/lightMatrix.js +45 -0
- package/dist/render/lightVolumeDraw.d.ts +132 -0
- package/dist/render/lightVolumeDraw.js +181 -0
- package/dist/render/lineBatch.d.ts +60 -0
- package/dist/render/lineBatch.js +160 -0
- package/dist/render/linePoints.d.ts +33 -0
- package/dist/render/linePoints.js +46 -0
- package/dist/render/livePointShadowSet.d.ts +72 -0
- package/dist/render/livePointShadowSet.js +258 -0
- package/dist/render/lod.d.ts +35 -0
- package/dist/render/lod.js +65 -0
- package/dist/render/mesh.d.ts +177 -0
- package/dist/render/mesh.js +466 -0
- package/dist/render/occlusion.d.ts +81 -0
- package/dist/render/occlusion.js +378 -0
- package/dist/render/oitPass.d.ts +67 -0
- package/dist/render/oitPass.js +213 -0
- package/dist/render/orderIndependent.d.ts +92 -0
- package/dist/render/orderIndependent.js +108 -0
- package/dist/render/particleBatch.d.ts +140 -0
- package/dist/render/particleBatch.js +186 -0
- package/dist/render/particleMaterial.d.ts +54 -0
- package/dist/render/particleMaterial.js +42 -0
- package/dist/render/particlePool.d.ts +124 -0
- package/dist/render/particlePool.js +182 -0
- package/dist/render/pass.d.ts +195 -0
- package/dist/render/pass.js +9 -0
- package/dist/render/passTarget.d.ts +86 -0
- package/dist/render/passTarget.js +121 -0
- package/dist/render/pickable.d.ts +31 -0
- package/dist/render/pickable.js +172 -0
- package/dist/render/planarReflection.d.ts +59 -0
- package/dist/render/planarReflection.js +194 -0
- package/dist/render/planarReflectionDraw.d.ts +31 -0
- package/dist/render/planarReflectionDraw.js +65 -0
- package/dist/render/plumeGeometry.d.ts +25 -0
- package/dist/render/plumeGeometry.js +61 -0
- package/dist/render/plumeMaterial.d.ts +31 -0
- package/dist/render/plumeMaterial.js +64 -0
- package/dist/render/plumeRenderer.d.ts +96 -0
- package/dist/render/plumeRenderer.js +185 -0
- package/dist/render/pointLightSelection.d.ts +175 -0
- package/dist/render/pointLightSelection.js +301 -0
- package/dist/render/pointShadowArray.d.ts +95 -0
- package/dist/render/pointShadowArray.js +219 -0
- package/dist/render/pointShadowBudget.d.ts +118 -0
- package/dist/render/pointShadowBudget.js +221 -0
- package/dist/render/pointShadowImage.d.ts +265 -0
- package/dist/render/pointShadowImage.js +339 -0
- package/dist/render/pointShadowMap.d.ts +93 -0
- package/dist/render/pointShadowMap.js +167 -0
- package/dist/render/pointShadowSystem.d.ts +195 -0
- package/dist/render/pointShadowSystem.js +336 -0
- package/dist/render/prefilterEnvMap.d.ts +124 -0
- package/dist/render/prefilterEnvMap.js +146 -0
- package/dist/render/prefilterPass.d.ts +44 -0
- package/dist/render/prefilterPass.js +98 -0
- package/dist/render/probeGrid.d.ts +122 -0
- package/dist/render/probeGrid.js +174 -0
- package/dist/render/rainField.d.ts +99 -0
- package/dist/render/rainField.js +168 -0
- package/dist/render/reflectionProbe.d.ts +188 -0
- package/dist/render/reflectionProbe.js +437 -0
- package/dist/render/renderQuality.d.ts +699 -0
- package/dist/render/renderQuality.js +293 -0
- package/dist/render/rendererHarness.d.ts +39 -0
- package/dist/render/rendererHarness.js +185 -0
- package/dist/render/resolutionGovernor.d.ts +107 -0
- package/dist/render/resolutionGovernor.js +144 -0
- package/dist/render/scatterDeform.d.ts +17 -0
- package/dist/render/scatterDeform.js +46 -0
- package/dist/render/sceneTarget.d.ts +288 -0
- package/dist/render/sceneTarget.js +856 -0
- package/dist/render/screenSpaceReflection.d.ts +233 -0
- package/dist/render/screenSpaceReflection.js +415 -0
- package/dist/render/sdfFont.d.ts +77 -0
- package/dist/render/sdfFont.js +86 -0
- package/dist/render/sdfTextLayout.d.ts +46 -0
- package/dist/render/sdfTextLayout.js +145 -0
- package/dist/render/sdfTextRenderer.d.ts +75 -0
- package/dist/render/sdfTextRenderer.js +194 -0
- package/dist/render/seaState.d.ts +25 -0
- package/dist/render/seaState.js +34 -0
- package/dist/render/segmentQuads.d.ts +29 -0
- package/dist/render/segmentQuads.js +75 -0
- package/dist/render/shader.d.ts +5 -0
- package/dist/render/shader.js +172 -0
- package/dist/render/shaders/ambientOcclusion.d.ts +45 -0
- package/dist/render/shaders/ambientOcclusion.js +352 -0
- package/dist/render/shaders/arcane.d.ts +19 -0
- package/dist/render/shaders/arcane.js +102 -0
- package/dist/render/shaders/bloom.d.ts +70 -0
- package/dist/render/shaders/bloom.js +227 -0
- package/dist/render/shaders/bolt.d.ts +17 -0
- package/dist/render/shaders/bolt.js +161 -0
- package/dist/render/shaders/caustics.d.ts +38 -0
- package/dist/render/shaders/caustics.js +167 -0
- package/dist/render/shaders/conditionals.d.ts +21 -0
- package/dist/render/shaders/conditionals.js +55 -0
- package/dist/render/shaders/decalProject.d.ts +25 -0
- package/dist/render/shaders/decalProject.js +125 -0
- package/dist/render/shaders/depth.d.ts +14 -0
- package/dist/render/shaders/depth.js +114 -0
- package/dist/render/shaders/depthOfField.d.ts +41 -0
- package/dist/render/shaders/depthOfField.js +139 -0
- package/dist/render/shaders/film.d.ts +15 -0
- package/dist/render/shaders/film.js +283 -0
- package/dist/render/shaders/fire.d.ts +12 -0
- package/dist/render/shaders/fire.js +178 -0
- package/dist/render/shaders/flat/directionalShadow.d.ts +1 -0
- package/dist/render/shaders/flat/directionalShadow.js +195 -0
- package/dist/render/shaders/flat/index.d.ts +135 -0
- package/dist/render/shaders/flat/index.js +387 -0
- package/dist/render/shaders/flat/lobes.d.ts +1 -0
- package/dist/render/shaders/flat/lobes.js +398 -0
- package/dist/render/shaders/flat/main.d.ts +2 -0
- package/dist/render/shaders/flat/main.js +1630 -0
- package/dist/render/shaders/flat/pointShadow.d.ts +1 -0
- package/dist/render/shaders/flat/pointShadow.js +322 -0
- package/dist/render/shaders/flat/preamble.d.ts +15 -0
- package/dist/render/shaders/flat/preamble.js +864 -0
- package/dist/render/shaders/flat/probeGrid.d.ts +21 -0
- package/dist/render/shaders/flat/probeGrid.js +151 -0
- package/dist/render/shaders/flat/surface.d.ts +2 -0
- package/dist/render/shaders/flat/surface.js +40 -0
- package/dist/render/shaders/flock.d.ts +11 -0
- package/dist/render/shaders/flock.js +102 -0
- package/dist/render/shaders/fog.d.ts +37 -0
- package/dist/render/shaders/fog.js +98 -0
- package/dist/render/shaders/fullscreen.d.ts +16 -0
- package/dist/render/shaders/fullscreen.js +27 -0
- package/dist/render/shaders/generated/ambientOcclusion.wgsl.d.ts +65 -0
- package/dist/render/shaders/generated/ambientOcclusion.wgsl.js +71 -0
- package/dist/render/shaders/generated/arcane.wgsl.d.ts +90 -0
- package/dist/render/shaders/generated/arcane.wgsl.js +96 -0
- package/dist/render/shaders/generated/bloom.wgsl.d.ts +69 -0
- package/dist/render/shaders/generated/bloom.wgsl.js +75 -0
- package/dist/render/shaders/generated/bolt.wgsl.d.ts +118 -0
- package/dist/render/shaders/generated/bolt.wgsl.js +124 -0
- package/dist/render/shaders/generated/caustics.wgsl.d.ts +118 -0
- package/dist/render/shaders/generated/caustics.wgsl.js +124 -0
- package/dist/render/shaders/generated/decalProject.wgsl.d.ts +61 -0
- package/dist/render/shaders/generated/decalProject.wgsl.js +67 -0
- package/dist/render/shaders/generated/depth.wgsl.d.ts +131 -0
- package/dist/render/shaders/generated/depth.wgsl.js +137 -0
- package/dist/render/shaders/generated/film.wgsl.d.ts +134 -0
- package/dist/render/shaders/generated/film.wgsl.js +140 -0
- package/dist/render/shaders/generated/fire.wgsl.d.ts +128 -0
- package/dist/render/shaders/generated/fire.wgsl.js +134 -0
- package/dist/render/shaders/generated/flat.wgsl.d.ts +9163 -0
- package/dist/render/shaders/generated/flat.wgsl.js +9192 -0
- package/dist/render/shaders/generated/flock.wgsl.d.ts +73 -0
- package/dist/render/shaders/generated/flock.wgsl.js +79 -0
- package/dist/render/shaders/generated/fullscreen.wgsl.d.ts +12 -0
- package/dist/render/shaders/generated/fullscreen.wgsl.js +18 -0
- package/dist/render/shaders/generated/globalMedium.wgsl.d.ts +130 -0
- package/dist/render/shaders/generated/globalMedium.wgsl.js +136 -0
- package/dist/render/shaders/generated/lightVolume.wgsl.d.ts +230 -0
- package/dist/render/shaders/generated/lightVolume.wgsl.js +239 -0
- package/dist/render/shaders/generated/line.wgsl.d.ts +128 -0
- package/dist/render/shaders/generated/line.wgsl.js +134 -0
- package/dist/render/shaders/generated/octahedralResolve.wgsl.d.ts +51 -0
- package/dist/render/shaders/generated/octahedralResolve.wgsl.js +57 -0
- package/dist/render/shaders/generated/oitResolve.wgsl.d.ts +23 -0
- package/dist/render/shaders/generated/oitResolve.wgsl.js +29 -0
- package/dist/render/shaders/generated/panel.wgsl.d.ts +48 -0
- package/dist/render/shaders/generated/panel.wgsl.js +54 -0
- package/dist/render/shaders/generated/particle.wgsl.d.ts +332 -0
- package/dist/render/shaders/generated/particle.wgsl.js +338 -0
- package/dist/render/shaders/generated/prefilter.wgsl.d.ts +61 -0
- package/dist/render/shaders/generated/prefilter.wgsl.js +67 -0
- package/dist/render/shaders/generated/rush.wgsl.d.ts +131 -0
- package/dist/render/shaders/generated/rush.wgsl.js +137 -0
- package/dist/render/shaders/generated/scatter.wgsl.d.ts +195 -0
- package/dist/render/shaders/generated/scatter.wgsl.js +201 -0
- package/dist/render/shaders/generated/sdfText.wgsl.d.ts +69 -0
- package/dist/render/shaders/generated/sdfText.wgsl.js +75 -0
- package/dist/render/shaders/generated/sky.wgsl.d.ts +100 -0
- package/dist/render/shaders/generated/sky.wgsl.js +106 -0
- package/dist/render/shaders/generated/smoke.wgsl.d.ts +85 -0
- package/dist/render/shaders/generated/smoke.wgsl.js +91 -0
- package/dist/render/shaders/generated/ssrResolve.wgsl.d.ts +18 -0
- package/dist/render/shaders/generated/ssrResolve.wgsl.js +24 -0
- package/dist/render/shaders/generated/ssrTrace.wgsl.d.ts +86 -0
- package/dist/render/shaders/generated/ssrTrace.wgsl.js +92 -0
- package/dist/render/shaders/generated/temporalResolve.wgsl.d.ts +46 -0
- package/dist/render/shaders/generated/temporalResolve.wgsl.js +52 -0
- package/dist/render/shaders/generated/text.wgsl.d.ts +98 -0
- package/dist/render/shaders/generated/text.wgsl.js +104 -0
- package/dist/render/shaders/generated/water.wgsl.d.ts +247 -0
- package/dist/render/shaders/generated/water.wgsl.js +253 -0
- package/dist/render/shaders/generated/windStreaks.wgsl.d.ts +73 -0
- package/dist/render/shaders/generated/windStreaks.wgsl.js +79 -0
- package/dist/render/shaders/gerstner.d.ts +21 -0
- package/dist/render/shaders/gerstner.js +110 -0
- package/dist/render/shaders/globalMedium.d.ts +56 -0
- package/dist/render/shaders/globalMedium.js +393 -0
- package/dist/render/shaders/lightVolume.d.ts +61 -0
- package/dist/render/shaders/lightVolume.js +527 -0
- package/dist/render/shaders/line.d.ts +18 -0
- package/dist/render/shaders/line.js +122 -0
- package/dist/render/shaders/morph.d.ts +26 -0
- package/dist/render/shaders/morph.js +61 -0
- package/dist/render/shaders/octahedral.d.ts +76 -0
- package/dist/render/shaders/octahedral.js +161 -0
- package/dist/render/shaders/octahedralResolve.d.ts +25 -0
- package/dist/render/shaders/octahedralResolve.js +81 -0
- package/dist/render/shaders/oitResolve.d.ts +17 -0
- package/dist/render/shaders/oitResolve.js +42 -0
- package/dist/render/shaders/outputTransform.d.ts +37 -0
- package/dist/render/shaders/outputTransform.js +106 -0
- package/dist/render/shaders/panel.d.ts +17 -0
- package/dist/render/shaders/panel.js +50 -0
- package/dist/render/shaders/particle.d.ts +82 -0
- package/dist/render/shaders/particle.js +431 -0
- package/dist/render/shaders/prefilter.d.ts +37 -0
- package/dist/render/shaders/prefilter.js +276 -0
- package/dist/render/shaders/rush.d.ts +21 -0
- package/dist/render/shaders/rush.js +355 -0
- package/dist/render/shaders/scatter.d.ts +14 -0
- package/dist/render/shaders/scatter.js +206 -0
- package/dist/render/shaders/sdfText.d.ts +9 -0
- package/dist/render/shaders/sdfText.js +65 -0
- package/dist/render/shaders/skinning.d.ts +17 -0
- package/dist/render/shaders/skinning.js +59 -0
- package/dist/render/shaders/sky.d.ts +10 -0
- package/dist/render/shaders/sky.js +242 -0
- package/dist/render/shaders/smoke.d.ts +8 -0
- package/dist/render/shaders/smoke.js +88 -0
- package/dist/render/shaders/ssrResolve.d.ts +15 -0
- package/dist/render/shaders/ssrResolve.js +28 -0
- package/dist/render/shaders/ssrTrace.d.ts +22 -0
- package/dist/render/shaders/ssrTrace.js +230 -0
- package/dist/render/shaders/tangentFrame.d.ts +17 -0
- package/dist/render/shaders/tangentFrame.js +70 -0
- package/dist/render/shaders/temporalResolve.d.ts +1 -0
- package/dist/render/shaders/temporalResolve.js +150 -0
- package/dist/render/shaders/text.d.ts +17 -0
- package/dist/render/shaders/text.js +155 -0
- package/dist/render/shaders/vertexChannel.d.ts +39 -0
- package/dist/render/shaders/vertexChannel.js +69 -0
- package/dist/render/shaders/water.d.ts +18 -0
- package/dist/render/shaders/water.js +354 -0
- package/dist/render/shaders/windStreaks.d.ts +14 -0
- package/dist/render/shaders/windStreaks.js +129 -0
- package/dist/render/shadowCasters.d.ts +107 -0
- package/dist/render/shadowCasters.js +1 -0
- package/dist/render/shadowMap.d.ts +10 -0
- package/dist/render/shadowMap.js +80 -0
- package/dist/render/shotPlacement.d.ts +80 -0
- package/dist/render/shotPlacement.js +183 -0
- package/dist/render/skinPalette.d.ts +90 -0
- package/dist/render/skinPalette.js +136 -0
- package/dist/render/ssrPass.d.ts +59 -0
- package/dist/render/ssrPass.js +196 -0
- package/dist/render/surfaceSheet.d.ts +52 -0
- package/dist/render/surfaceSheet.js +99 -0
- package/dist/render/surfaceTexture.d.ts +197 -0
- package/dist/render/surfaceTexture.js +116 -0
- package/dist/render/temporalAa.d.ts +104 -0
- package/dist/render/temporalAa.js +194 -0
- package/dist/render/temporalPass.d.ts +54 -0
- package/dist/render/temporalPass.js +135 -0
- package/dist/render/textLayout.d.ts +88 -0
- package/dist/render/textLayout.js +201 -0
- package/dist/render/textRenderer.d.ts +32 -0
- package/dist/render/textRenderer.js +176 -0
- package/dist/render/thirdPersonCamera.d.ts +272 -0
- package/dist/render/thirdPersonCamera.js +479 -0
- package/dist/render/trample.d.ts +57 -0
- package/dist/render/trample.js +134 -0
- package/dist/render/translucentQueue.d.ts +76 -0
- package/dist/render/translucentQueue.js +90 -0
- package/dist/render/uniformVectorBudget.d.ts +105 -0
- package/dist/render/uniformVectorBudget.js +201 -0
- package/dist/render/uploadStep.d.ts +14 -0
- package/dist/render/uploadStep.js +14 -0
- package/dist/render/vertexDefaults.d.ts +48 -0
- package/dist/render/vertexDefaults.js +111 -0
- package/dist/render/visibility.d.ts +22 -0
- package/dist/render/visibility.js +47 -0
- package/dist/render/waterDraw.d.ts +57 -0
- package/dist/render/waterDraw.js +102 -0
- package/dist/render/waterGrid.d.ts +62 -0
- package/dist/render/waterGrid.js +151 -0
- package/dist/render/waterRenderer.d.ts +163 -0
- package/dist/render/waterRenderer.js +165 -0
- package/dist/render/wind.d.ts +45 -0
- package/dist/render/wind.js +32 -0
- package/dist/render/windField.d.ts +34 -0
- package/dist/render/windField.js +13 -0
- package/dist/render/windStreakDraw.d.ts +73 -0
- package/dist/render/windStreakDraw.js +86 -0
- package/dist/render/windStreakRenderer.d.ts +37 -0
- package/dist/render/windStreakRenderer.js +86 -0
- package/dist/scene/node.d.ts +128 -0
- package/dist/scene/node.js +319 -0
- package/dist/scene/visit.d.ts +38 -0
- package/dist/scene/visit.js +43 -0
- package/dist/ui/clipMime.d.ts +46 -0
- package/dist/ui/clipMime.js +88 -0
- package/dist/ui/exportTarget.d.ts +305 -0
- package/dist/ui/exportTarget.js +368 -0
- package/dist/ui/frameOverlay.d.ts +59 -0
- package/dist/ui/frameOverlay.js +76 -0
- package/dist/ui/framePacer.d.ts +142 -0
- package/dist/ui/framePacer.js +284 -0
- package/dist/ui/frameRecorder.d.ts +188 -0
- package/dist/ui/frameRecorder.js +221 -0
- package/dist/ui/fullscreen.d.ts +72 -0
- package/dist/ui/fullscreen.js +92 -0
- package/dist/ui/pixelCursor.d.ts +28 -0
- package/dist/ui/pixelCursor.js +66 -0
- package/dist/ui/splash.d.ts +86 -0
- package/dist/ui/splash.js +300 -0
- package/dist/ui/stillFrame.d.ts +22 -0
- package/dist/ui/stillFrame.js +40 -0
- package/package.json +60 -0
- package/src/behavior/behaviorTree.ts +346 -0
- package/src/build/shaderComments.ts +0 -0
- package/src/cinematic/player.ts +209 -0
- package/src/cinematic/script.ts +231 -0
- package/src/core/bootGate.ts +49 -0
- package/src/core/loadTracker.ts +144 -0
- package/src/core/loop.ts +211 -0
- package/src/core/messageQueue.ts +145 -0
- package/src/core/onceSet.ts +65 -0
- package/src/core/preferences.ts +177 -0
- package/src/core/remoteSave.ts +347 -0
- package/src/core/rng.ts +101 -0
- package/src/core/stepBudget.ts +136 -0
- package/src/core/storage.ts +114 -0
- package/src/core/tickTrace.ts +129 -0
- package/src/core/timeCurve.ts +175 -0
- package/src/core/withDefaults.ts +28 -0
- package/src/dev/contactProbe.ts +115 -0
- package/src/dev/fpsMeter.ts +101 -0
- package/src/environment/celestialClock.ts +385 -0
- package/src/geometry/decal.ts +260 -0
- package/src/geometry/filmPatch.ts +158 -0
- package/src/geometry/growable.ts +165 -0
- package/src/geometry/lightVolume.ts +161 -0
- package/src/geometry/meshBuilder.ts +1397 -0
- package/src/geometry/pixelFont.ts +189 -0
- package/src/geometry/ribbon.ts +790 -0
- package/src/geometry/shellFill.ts +265 -0
- package/src/geometry/spline.ts +659 -0
- package/src/geometry/tangents.ts +173 -0
- package/src/geometry/textMesh.ts +96 -0
- package/src/geometry/treeBuilder.ts +114 -0
- package/src/host/display.ts +180 -0
- package/src/host/files.ts +77 -0
- package/src/host/lifecycle.ts +63 -0
- package/src/host/platformServices.ts +23 -0
- package/src/host/screen.ts +134 -0
- package/src/index.ts +730 -0
- package/src/input/actionMap.ts +377 -0
- package/src/input/activeDevice.ts +86 -0
- package/src/input/gamepadIdentity.ts +131 -0
- package/src/input/gamepadMapping.ts +121 -0
- package/src/input/input.ts +872 -0
- package/src/input/inputHarness.ts +226 -0
- package/src/input/rightGesture.ts +76 -0
- package/src/input/rumble.ts +138 -0
- package/src/input/touchControls.ts +451 -0
- package/src/input/typingTarget.ts +26 -0
- package/src/math/bounds.ts +153 -0
- package/src/math/color.ts +37 -0
- package/src/math/exact.ts +274 -0
- package/src/math/frustum.ts +115 -0
- package/src/math/intersect.ts +228 -0
- package/src/math/scalar.ts +109 -0
- package/src/math/spring.ts +106 -0
- package/src/nav/navGraph.ts +168 -0
- package/src/nav/navPath.ts +217 -0
- package/src/nav/navSearch.ts +200 -0
- package/src/physics/boxSurface.ts +96 -0
- package/src/physics/colliderSurface.ts +213 -0
- package/src/physics/compositeSurface.ts +111 -0
- package/src/physics/heightSurface.ts +234 -0
- package/src/physics/ribbonSurface.ts +642 -0
- package/src/render/ambientOcclusionPass.ts +200 -0
- package/src/render/areaLights.ts +194 -0
- package/src/render/areaShadowSet.ts +405 -0
- package/src/render/atmosphere.ts +186 -0
- package/src/render/backend/api.ts +802 -0
- package/src/render/backend/budget.ts +139 -0
- package/src/render/backend/createRenderer.ts +343 -0
- package/src/render/backend/deadline.ts +37 -0
- package/src/render/backend/probe.ts +152 -0
- package/src/render/backend/select.ts +288 -0
- package/src/render/backend/timer.ts +59 -0
- package/src/render/backend/webgl2/instanced.ts +46 -0
- package/src/render/backend/webgl2/morphTexture.ts +58 -0
- package/src/render/backend/webgl2/renderer.ts +7484 -0
- package/src/render/backend/webgl2/skinPaletteTexture.ts +70 -0
- package/src/render/backend/webgpu/boltPass.ts +205 -0
- package/src/render/backend/webgpu/buffers.ts +553 -0
- package/src/render/backend/webgpu/causticsPass.ts +174 -0
- package/src/render/backend/webgpu/clusterBinner.ts +259 -0
- package/src/render/backend/webgpu/depthPass.ts +261 -0
- package/src/render/backend/webgpu/device.ts +148 -0
- package/src/render/backend/webgpu/drawCommand.ts +79 -0
- package/src/render/backend/webgpu/environmentTexels.ts +96 -0
- package/src/render/backend/webgpu/filmPass.ts +123 -0
- package/src/render/backend/webgpu/flatPass.ts +635 -0
- package/src/render/backend/webgpu/flockPass.ts +163 -0
- package/src/render/backend/webgpu/gpuTimestamps.ts +255 -0
- package/src/render/backend/webgpu/insetPass.ts +123 -0
- package/src/render/backend/webgpu/instanced.ts +55 -0
- package/src/render/backend/webgpu/lightVolumePass.ts +203 -0
- package/src/render/backend/webgpu/linePass.ts +270 -0
- package/src/render/backend/webgpu/morphTexture.ts +61 -0
- package/src/render/backend/webgpu/panelPass.ts +138 -0
- package/src/render/backend/webgpu/particlePass.ts +370 -0
- package/src/render/backend/webgpu/pipelineCache.ts +152 -0
- package/src/render/backend/webgpu/plumePass.ts +292 -0
- package/src/render/backend/webgpu/pointShadowPass.ts +368 -0
- package/src/render/backend/webgpu/postPass.ts +470 -0
- package/src/render/backend/webgpu/probePass.ts +218 -0
- package/src/render/backend/webgpu/reflectionPass.ts +137 -0
- package/src/render/backend/webgpu/renderer.ts +13004 -0
- package/src/render/backend/webgpu/scatterPass.ts +354 -0
- package/src/render/backend/webgpu/sdfTextPass.ts +220 -0
- package/src/render/backend/webgpu/shaderModules.ts +49 -0
- package/src/render/backend/webgpu/shaders/clusterBin.wgsl.ts +219 -0
- package/src/render/backend/webgpu/skinPaletteRing.ts +105 -0
- package/src/render/backend/webgpu/skinPaletteTexture.ts +79 -0
- package/src/render/backend/webgpu/skyPass.ts +85 -0
- package/src/render/backend/webgpu/surfaceTexturePass.ts +257 -0
- package/src/render/backend/webgpu/textPass.ts +224 -0
- package/src/render/backend/webgpu/uniformRing.ts +228 -0
- package/src/render/backend/webgpu/waterPass.ts +211 -0
- package/src/render/backend/webgpu/windStreakPass.ts +196 -0
- package/src/render/billboard.ts +108 -0
- package/src/render/bloomChain.ts +101 -0
- package/src/render/bloomPass.ts +256 -0
- package/src/render/boltBatch.ts +141 -0
- package/src/render/boltPool.ts +360 -0
- package/src/render/boom.ts +123 -0
- package/src/render/camera.ts +348 -0
- package/src/render/causticsRenderer.ts +171 -0
- package/src/render/cinematicCamera.ts +278 -0
- package/src/render/clusteredLights.ts +598 -0
- package/src/render/colourGrade.ts +109 -0
- package/src/render/compute.ts +83 -0
- package/src/render/contextLoss.ts +50 -0
- package/src/render/debugLines.ts +411 -0
- package/src/render/decalPass.ts +124 -0
- package/src/render/decalProjector.ts +390 -0
- package/src/render/decalQueue.ts +110 -0
- package/src/render/depthConvention.ts +383 -0
- package/src/render/drawingBuffer.ts +89 -0
- package/src/render/emptyTexture.ts +130 -0
- package/src/render/envProbeArray.ts +201 -0
- package/src/render/equirectToCube.ts +160 -0
- package/src/render/flockGeometry.ts +53 -0
- package/src/render/flockRenderer.ts +111 -0
- package/src/render/frame/arena.ts +93 -0
- package/src/render/frame/index.ts +29 -0
- package/src/render/frame/replay.ts +50 -0
- package/src/render/frame/resources.ts +61 -0
- package/src/render/frame/schedule.ts +85 -0
- package/src/render/frameView.ts +20 -0
- package/src/render/gizmo.ts +923 -0
- package/src/render/globalMedium.ts +154 -0
- package/src/render/globalMediumPass.ts +323 -0
- package/src/render/gpuCapability.ts +244 -0
- package/src/render/gpuTimer.ts +182 -0
- package/src/render/halfFloat.ts +39 -0
- package/src/render/handleRegistry.ts +96 -0
- package/src/render/iesProfile.ts +215 -0
- package/src/render/imageTexels.ts +109 -0
- package/src/render/instancedMesh.ts +187 -0
- package/src/render/instances.ts +92 -0
- package/src/render/lightBudget.ts +655 -0
- package/src/render/lightMatrix.ts +69 -0
- package/src/render/lightVolumeDraw.ts +216 -0
- package/src/render/lineBatch.ts +180 -0
- package/src/render/linePoints.ts +61 -0
- package/src/render/livePointShadowSet.ts +285 -0
- package/src/render/lod.ts +86 -0
- package/src/render/mesh.ts +536 -0
- package/src/render/occlusion.ts +406 -0
- package/src/render/oitPass.ts +230 -0
- package/src/render/orderIndependent.ts +136 -0
- package/src/render/particleBatch.ts +299 -0
- package/src/render/particleMaterial.ts +84 -0
- package/src/render/particlePool.ts +291 -0
- package/src/render/pass.ts +203 -0
- package/src/render/passTarget.ts +225 -0
- package/src/render/pickable.ts +222 -0
- package/src/render/planarReflection.ts +233 -0
- package/src/render/planarReflectionDraw.ts +87 -0
- package/src/render/plumeGeometry.ts +75 -0
- package/src/render/plumeMaterial.ts +99 -0
- package/src/render/plumeRenderer.ts +272 -0
- package/src/render/pointLightSelection.ts +447 -0
- package/src/render/pointShadowArray.ts +276 -0
- package/src/render/pointShadowBudget.ts +305 -0
- package/src/render/pointShadowImage.ts +470 -0
- package/src/render/pointShadowMap.ts +228 -0
- package/src/render/pointShadowSystem.ts +408 -0
- package/src/render/prefilterEnvMap.ts +162 -0
- package/src/render/prefilterPass.ts +115 -0
- package/src/render/probeGrid.ts +248 -0
- package/src/render/rainField.ts +240 -0
- package/src/render/reflectionProbe.ts +530 -0
- package/src/render/renderQuality.ts +1054 -0
- package/src/render/rendererHarness.ts +214 -0
- package/src/render/resolutionGovernor.ts +189 -0
- package/src/render/scatterDeform.ts +72 -0
- package/src/render/sceneTarget.ts +1032 -0
- package/src/render/screenSpaceReflection.ts +524 -0
- package/src/render/sdfFont.ts +157 -0
- package/src/render/sdfTextLayout.ts +206 -0
- package/src/render/sdfTextRenderer.ts +233 -0
- package/src/render/seaState.ts +55 -0
- package/src/render/segmentQuads.ts +92 -0
- package/src/render/shader.ts +190 -0
- package/src/render/shaders/ambientOcclusion.ts +354 -0
- package/src/render/shaders/arcane.ts +103 -0
- package/src/render/shaders/bloom.ts +232 -0
- package/src/render/shaders/bolt.ts +164 -0
- package/src/render/shaders/caustics.ts +169 -0
- package/src/render/shaders/conditionals.ts +58 -0
- package/src/render/shaders/decalProject.ts +127 -0
- package/src/render/shaders/depth.ts +131 -0
- package/src/render/shaders/depthOfField.ts +141 -0
- package/src/render/shaders/film.ts +285 -0
- package/src/render/shaders/fire.ts +180 -0
- package/src/render/shaders/flat/directionalShadow.ts +196 -0
- package/src/render/shaders/flat/index.ts +502 -0
- package/src/render/shaders/flat/lobes.ts +399 -0
- package/src/render/shaders/flat/main.ts +1631 -0
- package/src/render/shaders/flat/pointShadow.ts +323 -0
- package/src/render/shaders/flat/preamble.ts +875 -0
- package/src/render/shaders/flat/probeGrid.ts +152 -0
- package/src/render/shaders/flat/surface.ts +41 -0
- package/src/render/shaders/flock.ts +103 -0
- package/src/render/shaders/fog.ts +99 -0
- package/src/render/shaders/fullscreen.ts +28 -0
- package/src/render/shaders/generated/ambientOcclusion.wgsl.ts +74 -0
- package/src/render/shaders/generated/arcane.wgsl.ts +98 -0
- package/src/render/shaders/generated/bloom.wgsl.ts +79 -0
- package/src/render/shaders/generated/bolt.wgsl.ts +127 -0
- package/src/render/shaders/generated/caustics.wgsl.ts +127 -0
- package/src/render/shaders/generated/decalProject.wgsl.ts +69 -0
- package/src/render/shaders/generated/depth.wgsl.ts +142 -0
- package/src/render/shaders/generated/film.wgsl.ts +143 -0
- package/src/render/shaders/generated/fire.wgsl.ts +137 -0
- package/src/render/shaders/generated/flat.wgsl.ts +9195 -0
- package/src/render/shaders/generated/flock.wgsl.ts +82 -0
- package/src/render/shaders/generated/fullscreen.wgsl.ts +20 -0
- package/src/render/shaders/generated/globalMedium.wgsl.ts +139 -0
- package/src/render/shaders/generated/lightVolume.wgsl.ts +242 -0
- package/src/render/shaders/generated/line.wgsl.ts +137 -0
- package/src/render/shaders/generated/octahedralResolve.wgsl.ts +60 -0
- package/src/render/shaders/generated/oitResolve.wgsl.ts +31 -0
- package/src/render/shaders/generated/panel.wgsl.ts +57 -0
- package/src/render/shaders/generated/particle.wgsl.ts +343 -0
- package/src/render/shaders/generated/prefilter.wgsl.ts +69 -0
- package/src/render/shaders/generated/rush.wgsl.ts +139 -0
- package/src/render/shaders/generated/scatter.wgsl.ts +205 -0
- package/src/render/shaders/generated/sdfText.wgsl.ts +78 -0
- package/src/render/shaders/generated/sky.wgsl.ts +109 -0
- package/src/render/shaders/generated/smoke.wgsl.ts +93 -0
- package/src/render/shaders/generated/ssrResolve.wgsl.ts +26 -0
- package/src/render/shaders/generated/ssrTrace.wgsl.ts +94 -0
- package/src/render/shaders/generated/temporalResolve.wgsl.ts +54 -0
- package/src/render/shaders/generated/text.wgsl.ts +107 -0
- package/src/render/shaders/generated/water.wgsl.ts +256 -0
- package/src/render/shaders/generated/windStreaks.wgsl.ts +82 -0
- package/src/render/shaders/gerstner.ts +110 -0
- package/src/render/shaders/globalMedium.ts +396 -0
- package/src/render/shaders/lightVolume.ts +546 -0
- package/src/render/shaders/line.ts +125 -0
- package/src/render/shaders/morph.ts +62 -0
- package/src/render/shaders/octahedral.ts +170 -0
- package/src/render/shaders/octahedralResolve.ts +83 -0
- package/src/render/shaders/oitResolve.ts +42 -0
- package/src/render/shaders/outputTransform.ts +107 -0
- package/src/render/shaders/panel.ts +51 -0
- package/src/render/shaders/particle.ts +438 -0
- package/src/render/shaders/prefilter.ts +278 -0
- package/src/render/shaders/rush.ts +357 -0
- package/src/render/shaders/scatter.ts +211 -0
- package/src/render/shaders/sdfText.ts +68 -0
- package/src/render/shaders/skinning.ts +59 -0
- package/src/render/shaders/sky.ts +243 -0
- package/src/render/shaders/smoke.ts +89 -0
- package/src/render/shaders/ssrResolve.ts +28 -0
- package/src/render/shaders/ssrTrace.ts +233 -0
- package/src/render/shaders/tangentFrame.ts +70 -0
- package/src/render/shaders/temporalResolve.ts +151 -0
- package/src/render/shaders/text.ts +156 -0
- package/src/render/shaders/vertexChannel.ts +71 -0
- package/src/render/shaders/water.ts +356 -0
- package/src/render/shaders/windStreaks.ts +130 -0
- package/src/render/shadowCasters.ts +124 -0
- package/src/render/shadowMap.ts +89 -0
- package/src/render/shotPlacement.ts +266 -0
- package/src/render/skinPalette.ts +157 -0
- package/src/render/ssrPass.ts +241 -0
- package/src/render/surfaceSheet.ts +158 -0
- package/src/render/surfaceTexture.ts +310 -0
- package/src/render/temporalAa.ts +221 -0
- package/src/render/temporalPass.ts +153 -0
- package/src/render/textLayout.ts +239 -0
- package/src/render/textRenderer.ts +201 -0
- package/src/render/thirdPersonCamera.ts +578 -0
- package/src/render/trample.ts +140 -0
- package/src/render/translucentQueue.ts +161 -0
- package/src/render/uniformVectorBudget.ts +246 -0
- package/src/render/uploadStep.ts +14 -0
- package/src/render/vertexDefaults.ts +115 -0
- package/src/render/visibility.ts +56 -0
- package/src/render/waterDraw.ts +167 -0
- package/src/render/waterGrid.ts +180 -0
- package/src/render/waterRenderer.ts +352 -0
- package/src/render/wind.ts +79 -0
- package/src/render/windField.ts +50 -0
- package/src/render/windStreakDraw.ts +131 -0
- package/src/render/windStreakRenderer.ts +130 -0
- package/src/scene/node.ts +336 -0
- package/src/scene/visit.ts +82 -0
- package/src/ui/clipMime.ts +109 -0
- package/src/ui/exportTarget.ts +491 -0
- package/src/ui/frameOverlay.ts +159 -0
- package/src/ui/framePacer.ts +351 -0
- package/src/ui/frameRecorder.ts +333 -0
- package/src/ui/fullscreen.ts +113 -0
- package/src/ui/pixelCursor.ts +99 -0
- package/src/ui/splash.ts +347 -0
- package/src/ui/stillFrame.ts +44 -0
package/src/index.ts
ADDED
|
@@ -0,0 +1,730 @@
|
|
|
1
|
+
/*! DriftEngine | Copyright 2026 Drift Technologies | Apache-2.0 | https://github.com/drftrun/driftengine */
|
|
2
|
+
/** Public engine surface. Game code imports from '@driftengine/core' only. */
|
|
3
|
+
|
|
4
|
+
export { startLoop } from './core/loop.ts';
|
|
5
|
+
export type { LoopHooks, FrameSource, LoopOptions } from './core/loop.ts';
|
|
6
|
+
export { StepBudget } from './core/stepBudget.ts';
|
|
7
|
+
export type { StepBudgetOptions } from './core/stepBudget.ts';
|
|
8
|
+
export { hashToUnit, mulberry32, pickBySeed, savableMulberry32 } from './core/rng.ts';
|
|
9
|
+
export { exactAcos, exactCos, exactExp, exactSin } from './math/exact.ts';
|
|
10
|
+
export type { SavableRandom } from './core/rng.ts';
|
|
11
|
+
export { TickTrace } from './core/tickTrace.ts';
|
|
12
|
+
export type { TickTraceLike } from './core/tickTrace.ts';
|
|
13
|
+
export { BrowserStore, MemoryStore, defaultStore } from './core/storage.ts';
|
|
14
|
+
export type { KeyValueStore } from './core/storage.ts';
|
|
15
|
+
/* The same seam over a backend that answers later, with the queue, the retry and the status. */
|
|
16
|
+
export { RemoteSaveStore, defaultSaveTimer } from './core/remoteSave.ts';
|
|
17
|
+
export type { RemoteSaveOptions, SaveBackend, SaveStatus, SaveTimer } from './core/remoteSave.ts';
|
|
18
|
+
/*
|
|
19
|
+
* The rest of the capability seam, on `KeyValueStore`'s pattern and for its reason: the engine
|
|
20
|
+
* declares what it needs and a host supplies it, so nothing under `src/` ever names a shell.
|
|
21
|
+
*
|
|
22
|
+
* The browser implementations are exported beside the interfaces because a consumer in a browser
|
|
23
|
+
* is a consumer with a host — an ordinary one — and should not have to write `BrowserDisplay`
|
|
24
|
+
* itself. `PlatformServices` has no default implementation on purpose: there is nothing honest a
|
|
25
|
+
* browser can do with an achievement, and a consumer that never asks for one ships nothing.
|
|
26
|
+
*/
|
|
27
|
+
export { BrowserDisplay } from './host/display.ts';
|
|
28
|
+
export type { DisplayControl, DisplayInfo, WindowMode } from './host/display.ts';
|
|
29
|
+
/*
|
|
30
|
+
* What a phone has instead of a window: an orientation, a safe area and a screen that sleeps.
|
|
31
|
+
* Separate from `DisplayControl` because a desktop shell has no use for it and a phone has no use
|
|
32
|
+
* for most of that — and public, because a game's own settings menu is what calls it.
|
|
33
|
+
*/
|
|
34
|
+
export { BrowserScreenPresentation } from './host/screen.ts';
|
|
35
|
+
export type { SafeAreaInsets, ScreenOrientation, ScreenPresentation } from './host/screen.ts';
|
|
36
|
+
export { BrowserLifecycle } from './host/lifecycle.ts';
|
|
37
|
+
export type { Lifecycle } from './host/lifecycle.ts';
|
|
38
|
+
export { BrowserFileDialogs } from './host/files.ts';
|
|
39
|
+
export type { FileDialogs, OpenedFile } from './host/files.ts';
|
|
40
|
+
export type { PlatformServices } from './host/platformServices.ts';
|
|
41
|
+
export { PreferenceStore, loadPreferences, savePreferences } from './core/preferences.ts';
|
|
42
|
+
export type { PreferenceSchema } from './core/preferences.ts';
|
|
43
|
+
export { OnceSet } from './core/onceSet.ts';
|
|
44
|
+
export {
|
|
45
|
+
MAX_TIME_CURVE_AMOUNT,
|
|
46
|
+
curveOffsetSec,
|
|
47
|
+
curveSpanSec,
|
|
48
|
+
linearCurve,
|
|
49
|
+
timeCurve,
|
|
50
|
+
} from './core/timeCurve.ts';
|
|
51
|
+
export type { TimeCurve, TimeCurveKind, TimeCurveOptions } from './core/timeCurve.ts';
|
|
52
|
+
export { CinematicPlayer } from './cinematic/player.ts';
|
|
53
|
+
export { defineCinematic, validateCinematic } from './cinematic/script.ts';
|
|
54
|
+
export type {
|
|
55
|
+
CameraKeyframe,
|
|
56
|
+
CinematicLine,
|
|
57
|
+
CinematicScript,
|
|
58
|
+
CinematicShot,
|
|
59
|
+
} from './cinematic/script.ts';
|
|
60
|
+
export { MessageQueue } from './core/messageQueue.ts';
|
|
61
|
+
export type { MessageQueueOptions, QueuedMessage } from './core/messageQueue.ts';
|
|
62
|
+
export {
|
|
63
|
+
celestialStateAt,
|
|
64
|
+
createCelestialState,
|
|
65
|
+
moonIllumination,
|
|
66
|
+
} from './environment/celestialClock.ts';
|
|
67
|
+
export type { CelestialSite, CelestialState } from './environment/celestialClock.ts';
|
|
68
|
+
|
|
69
|
+
export {
|
|
70
|
+
TAU,
|
|
71
|
+
DEG_TO_RAD,
|
|
72
|
+
clamp,
|
|
73
|
+
lerp,
|
|
74
|
+
smoothstep,
|
|
75
|
+
damp,
|
|
76
|
+
dampTracking,
|
|
77
|
+
angleDelta,
|
|
78
|
+
dampAngle,
|
|
79
|
+
wrapAngle,
|
|
80
|
+
lerpAngle,
|
|
81
|
+
} from './math/scalar.ts';
|
|
82
|
+
export { hslToRgb, mixColor, mixColorInto, scaleColor } from './math/color.ts';
|
|
83
|
+
export type { Vec3 } from './math/color.ts';
|
|
84
|
+
|
|
85
|
+
export { Camera } from './render/camera.ts';
|
|
86
|
+
export { ThirdPersonCamera } from './render/thirdPersonCamera.ts';
|
|
87
|
+
export { CinematicCamera } from './render/cinematicCamera.ts';
|
|
88
|
+
export type { ShotKind, ShotParams } from './render/cinematicCamera.ts';
|
|
89
|
+
export type { BoomObstruction, ThirdPersonCameraOptions } from './render/thirdPersonCamera.ts';
|
|
90
|
+
/*
|
|
91
|
+
* The arm's own timings, so a rig with a short boom can say so.
|
|
92
|
+
*
|
|
93
|
+
* `Boom` itself is exported because it is the one implementation of "shorten against geometry, but
|
|
94
|
+
* gradually" and a consumer with its own rig should use it rather than write a third — which is the
|
|
95
|
+
* argument its own header makes about the two that already existed.
|
|
96
|
+
*/
|
|
97
|
+
export { Boom, DEFAULT_BOOM_TIMING } from './render/boom.ts';
|
|
98
|
+
export type { BoomTiming } from './render/boom.ts';
|
|
99
|
+
export { billboardMatrix, billboardMatrixY } from './render/billboard.ts';
|
|
100
|
+
export { Mesh } from './render/mesh.ts';
|
|
101
|
+
export type { MeshData } from './render/mesh.ts';
|
|
102
|
+
export { UPLOAD_BYTES_PER_STEP } from './render/uploadStep.ts';
|
|
103
|
+
export { MAX_DEPTH_LAYER, Renderer, WebGL2Renderer } from './render/backend/webgl2/renderer.ts';
|
|
104
|
+
export type {
|
|
105
|
+
Environment,
|
|
106
|
+
FilmOptions,
|
|
107
|
+
LightVolumeDrawOptions,
|
|
108
|
+
SkyColors,
|
|
109
|
+
TranslucentMeshOptions,
|
|
110
|
+
} from './render/backend/webgl2/renderer.ts';
|
|
111
|
+
/*
|
|
112
|
+
* **The class as well as its two types, from 2026-09-03.** Every renderer holds one and
|
|
113
|
+
* exposes it through `registerPickable` and `pickAt`, so picking has been reachable since
|
|
114
|
+
* it shipped — but only against the set a renderer owns. A consumer that wants a second
|
|
115
|
+
* set, over gizmo handles or over anything a renderer never draws, had the types to
|
|
116
|
+
* describe one and no way to build it.
|
|
117
|
+
*/
|
|
118
|
+
export { PickableSet } from './render/pickable.ts';
|
|
119
|
+
export type { PickHit, PickableSource } from './render/pickable.ts';
|
|
120
|
+
/* How big a piece of geometry is, which everything that culls or picks a detail level starts from. */
|
|
121
|
+
export { boundsOfBox, boundsOfPositions, createBounds } from './math/bounds.ts';
|
|
122
|
+
export type { Bounds } from './math/bounds.ts';
|
|
123
|
+
export { createFrustum, frustumFromViewProjection, sphereInFrustum } from './math/frustum.ts';
|
|
124
|
+
export type { Frustum } from './math/frustum.ts';
|
|
125
|
+
export { boundsVisible } from './render/visibility.ts';
|
|
126
|
+
export { apparentSize, lodForBounds } from './render/lod.ts';
|
|
127
|
+
/* A transform hierarchy. Additive: nothing in the renderer knows a node exists. */
|
|
128
|
+
export { SceneNode } from './scene/node.ts';
|
|
129
|
+
export {
|
|
130
|
+
MAX_JOINTS,
|
|
131
|
+
MAX_MORPH_TARGETS,
|
|
132
|
+
SKIN_PALETTE_TEXTURE_UNIT,
|
|
133
|
+
morphTexelIndex,
|
|
134
|
+
paletteTextureWidth,
|
|
135
|
+
} from './render/skinPalette.ts';
|
|
136
|
+
export { createVisitResult, visitVisible } from './scene/visit.ts';
|
|
137
|
+
export type { VisitResult } from './scene/visit.ts';
|
|
138
|
+
/*
|
|
139
|
+
* A pass a package contributes, which is the whole of what `splats`, `ui2d` and `xr` were
|
|
140
|
+
* waiting for.
|
|
141
|
+
*
|
|
142
|
+
* `FrameResource` becomes public here and the rest of `frame/` does not: a contributor declares
|
|
143
|
+
* what it reads by *name*, and the arena, the scheduler and the resource masks stay internal
|
|
144
|
+
* because nothing outside the renderer has any business holding a bitset.
|
|
145
|
+
*/
|
|
146
|
+
export type {
|
|
147
|
+
PassContext,
|
|
148
|
+
PassDefinition,
|
|
149
|
+
PassDevice,
|
|
150
|
+
PassHandle,
|
|
151
|
+
PrepareContext,
|
|
152
|
+
} from './render/pass.ts';
|
|
153
|
+
/*
|
|
154
|
+
* A target the pass owns, which is the other half of what a rendering package needs.
|
|
155
|
+
*
|
|
156
|
+
* `reads` lets a contributor say what it samples of the *frame*; this lets it have something of
|
|
157
|
+
* its own to sample. The two are asymmetric on purpose — see `PassTarget`, where the reason a
|
|
158
|
+
* write to the frame stays refused while a write to a pass-owned target does not is written out.
|
|
159
|
+
*/
|
|
160
|
+
export type { PassAttachmentOptions, PassTarget } from './render/passTarget.ts';
|
|
161
|
+
export { createPassAttachment } from './render/passTarget.ts';
|
|
162
|
+
export type { FrameResource } from './render/frame/index.ts';
|
|
163
|
+
/*
|
|
164
|
+
* Occlusion culling, which is arithmetic rather than a GPU feature — so the class is public and a
|
|
165
|
+
* consumer with its own draw loop can hold one, exactly as it can hold a `Frustum`.
|
|
166
|
+
*/
|
|
167
|
+
export type { OcclusionOptions } from './render/occlusion.ts';
|
|
168
|
+
export { OcclusionBuffer } from './render/occlusion.ts';
|
|
169
|
+
/*
|
|
170
|
+
* Compute, which only one backend has.
|
|
171
|
+
*
|
|
172
|
+
* `computeSupported` on the renderer is the member to read before registering one, and
|
|
173
|
+
* `ComputeDevice` has no WebGL2 arm because there is nothing to put in it — see `compute.ts`.
|
|
174
|
+
*/
|
|
175
|
+
export type {
|
|
176
|
+
ComputeContext,
|
|
177
|
+
ComputeDefinition,
|
|
178
|
+
ComputeDevice,
|
|
179
|
+
ComputeHandle,
|
|
180
|
+
} from './render/compute.ts';
|
|
181
|
+
/*
|
|
182
|
+
* `Renderer` above stays exported and is not deprecated. `createRenderer` is the way to get
|
|
183
|
+
* whichever backend a browser will give you, and it is asynchronous because asking for a
|
|
184
|
+
* WebGPU adapter is; a consumer that does not want an await in its boot has no reason to
|
|
185
|
+
* take one.
|
|
186
|
+
*/
|
|
187
|
+
export { createRenderer } from './render/backend/createRenderer.ts';
|
|
188
|
+
/*
|
|
189
|
+
* Both halves of that call, because a consumer that passes options had no name for them.
|
|
190
|
+
* `CreateRendererOptions` is what `preferWebGpu` lives on, so without it the only way to hold
|
|
191
|
+
* one is to write the object inline at the call — which is exactly how a choice ends up
|
|
192
|
+
* duplicated across the several places an application creates a renderer.
|
|
193
|
+
*/
|
|
194
|
+
export type { CreatedRenderer, CreateRendererOptions } from './render/backend/createRenderer.ts';
|
|
195
|
+
/*
|
|
196
|
+
* The acceptance probe, exported because a consumer may want to ask the question itself — an
|
|
197
|
+
* editor deciding whether to offer a backend, a shell deciding what to tell the player — and
|
|
198
|
+
* because `demo/dev/backend-probe.html` drives it the way a consumer would rather than by
|
|
199
|
+
* reaching past the barrel into `src/render/`.
|
|
200
|
+
*/
|
|
201
|
+
/*
|
|
202
|
+
* The colour grade: a lookup table over display values, applied at the composite.
|
|
203
|
+
*
|
|
204
|
+
* `identityGradeLut` is exported because it is where a consumer building one by hand starts —
|
|
205
|
+
* take the identity, bend it, hand it back — and because it is what the placeholder is.
|
|
206
|
+
*/
|
|
207
|
+
export { GRADE_PLACEHOLDER_SIZE, MAX_GRADE_SIZE, identityGradeLut } from './render/colourGrade.ts';
|
|
208
|
+
export type { ColourGradeLut } from './render/colourGrade.ts';
|
|
209
|
+
export { probeDevice } from './render/backend/probe.ts';
|
|
210
|
+
export type { ProbeVerdict } from './render/backend/probe.ts';
|
|
211
|
+
/*
|
|
212
|
+
* Every handle the surface hands back, because a consumer has to be able to name what it is
|
|
213
|
+
* holding. `CausticsHandle` and `SurfaceTextureHandle` were the two that were not exported, and
|
|
214
|
+
* both are reachable from `RendererApi` — so a consumer could receive one from `createCaustics`
|
|
215
|
+
* or `createSurfaceTexture` and then had no way to declare the field it kept it in. Found by
|
|
216
|
+
* migrating a consumer that holds both.
|
|
217
|
+
*/
|
|
218
|
+
export type {
|
|
219
|
+
BoltHandle,
|
|
220
|
+
CausticsHandle,
|
|
221
|
+
FlockHandle,
|
|
222
|
+
IncrementalMeshHandle,
|
|
223
|
+
LineHandle,
|
|
224
|
+
MeshHandle,
|
|
225
|
+
MeshOptions,
|
|
226
|
+
RenderBackend,
|
|
227
|
+
RendererApi,
|
|
228
|
+
ParticleHandle,
|
|
229
|
+
PlumeHandle,
|
|
230
|
+
ScatterHandle,
|
|
231
|
+
InstancedHandle,
|
|
232
|
+
SdfTextHandle,
|
|
233
|
+
SurfaceTextureHandle,
|
|
234
|
+
TextHandle,
|
|
235
|
+
WaterHandle,
|
|
236
|
+
WindStreakHandle,
|
|
237
|
+
} from './render/backend/api.ts';
|
|
238
|
+
|
|
239
|
+
/**
|
|
240
|
+
* What a frame asked of a backend, against the ceilings that backend imposes.
|
|
241
|
+
*
|
|
242
|
+
* Exported because a consumer's own headless check is the intended reader: `frameBudget.dropped`
|
|
243
|
+
* is the boolean to fail on, and typing the walk over `lines` needs the two shapes.
|
|
244
|
+
*/
|
|
245
|
+
export type { BudgetLine, FrameBudget } from './render/backend/budget.ts';
|
|
246
|
+
export type { FrameTimer } from './render/backend/timer.ts';
|
|
247
|
+
/*
|
|
248
|
+
* **All four, because this interface is implemented outwards.** `ShadowCasterSink` was published
|
|
249
|
+
* and `SceneCasterMaterial` was not, so a consumer could accept the material its `mesh` and
|
|
250
|
+
* `skinnedMesh` are obliged to take and had no way to name it. They wrote
|
|
251
|
+
* `Parameters<ShadowCasterSink['mesh']>[2]` instead, which is exact and cost them a paragraph
|
|
252
|
+
* explaining why it was not an import.
|
|
253
|
+
*
|
|
254
|
+
* `SceneCasters` goes with it for the same reason rather than a different one: `drawSceneCasters`
|
|
255
|
+
* documents itself by pointing at that name, and a doc comment referring a reader to something the
|
|
256
|
+
* barrel does not publish is a reference into a private module.
|
|
257
|
+
*/
|
|
258
|
+
export type {
|
|
259
|
+
SceneCasterMaterial,
|
|
260
|
+
SceneCasters,
|
|
261
|
+
ShadowCasterSink,
|
|
262
|
+
ShadowCasters,
|
|
263
|
+
} from './render/shadowCasters.ts';
|
|
264
|
+
export type { Atmosphere, UnderwaterAtmosphere } from './render/atmosphere.ts';
|
|
265
|
+
/*
|
|
266
|
+
* Reading an image's texels back exactly, which no canvas and no `VideoFrame` will do.
|
|
267
|
+
*
|
|
268
|
+
* Here rather than in the package that needed it — `@driftengine/splats`, for `.sog` captures whose
|
|
269
|
+
* images are lookups rather than pictures — because it is raw WebGL and `AGENTS.md` allows that
|
|
270
|
+
* only under `render/`. The module's own header carries the measurement.
|
|
271
|
+
*/
|
|
272
|
+
export { createImageTexelDecoder } from './render/imageTexels.ts';
|
|
273
|
+
export type { ImageTexelDecoder, ImageTexels } from './render/imageTexels.ts';
|
|
274
|
+
export { DEFAULT_RENDER_QUALITY, resolveRenderQuality } from './render/renderQuality.ts';
|
|
275
|
+
/**
|
|
276
|
+
* The global medium's own arithmetic, so a consumer can clamp its numbers the way the engine will.
|
|
277
|
+
*
|
|
278
|
+
* The pass itself is not exported and should not be: `setGlobalMedium` is the whole surface, and a
|
|
279
|
+
* consumer holding a `GlobalMediumPass` would own a target the renderer already owns. What is here
|
|
280
|
+
* is the type the setter takes and the two bounds a settings screen has to know about.
|
|
281
|
+
*/
|
|
282
|
+
export {
|
|
283
|
+
DEFAULT_GLOBAL_MEDIUM,
|
|
284
|
+
MAX_GLOBAL_MEDIUM_STEPS,
|
|
285
|
+
WEAK_GPU_MEDIUM_STEPS,
|
|
286
|
+
resolveGlobalMedium,
|
|
287
|
+
} from './render/globalMedium.ts';
|
|
288
|
+
export type { GlobalMediumOptions } from './render/globalMedium.ts';
|
|
289
|
+
/*
|
|
290
|
+
* Equirectangular to cube faces, and the roughness a prefiltered level stands for.
|
|
291
|
+
*
|
|
292
|
+
* Exported because a consumer that wants to load an environment needs the first, and a consumer
|
|
293
|
+
* writing its own probe tooling needs the second. Neither pulls in a decoder: reading a `.hdr` is
|
|
294
|
+
* `@driftengine/assets`, and a game that never loads one imports none of it.
|
|
295
|
+
*/
|
|
296
|
+
export { equirectToCubeFaces } from './render/equirectToCube.ts';
|
|
297
|
+
export type { EquirectSource } from './render/equirectToCube.ts';
|
|
298
|
+
export {
|
|
299
|
+
IRRADIANCE_EDGE,
|
|
300
|
+
PREFILTER_SAMPLE_COUNTS,
|
|
301
|
+
ggxMaxLevelFor,
|
|
302
|
+
irradianceLevelFor,
|
|
303
|
+
octahedralEdgeFor,
|
|
304
|
+
roughnessForLevel,
|
|
305
|
+
} from './render/prefilterEnvMap.ts';
|
|
306
|
+
/**
|
|
307
|
+
* Where probes stand, and which of them light a point.
|
|
308
|
+
*
|
|
309
|
+
* Exported because placement is a consumer's decision and because a consumer sizing its own
|
|
310
|
+
* storage needs `MAX_ENV_PROBES` — every probe is one layer of one array texture, so the budget is
|
|
311
|
+
* memory rather than texture units. `nearestProbes` is the same trilinear blend the shader
|
|
312
|
+
* computes from three uniforms, which is what makes a consumer's bake ordering agree with what the
|
|
313
|
+
* lit pass will read.
|
|
314
|
+
*/
|
|
315
|
+
export { MAX_ENV_PROBES, ProbeGrid, createProbeBlend, nearestProbes } from './render/probeGrid.ts';
|
|
316
|
+
export type { ProbeBlend, ProbeGridOptions } from './render/probeGrid.ts';
|
|
317
|
+
export { IES_ATLAS_WIDTH, packIesAtlas } from './render/iesProfile.ts';
|
|
318
|
+
export { MAX_AREA_LIGHTS, createAreaLightBuffer, selectAreaLights } from './render/areaLights.ts';
|
|
319
|
+
export type { AreaLightBuffer, AreaLightSource } from './render/areaLights.ts';
|
|
320
|
+
/**
|
|
321
|
+
* A rectangle's occlusion. Exported because a consumer sizing its own storage budget needs the
|
|
322
|
+
* layer arithmetic, and because `castingRange` is the one predicate that decides whether a
|
|
323
|
+
* declaration will actually cast — a consumer asserting that its fixtures do should ask the engine
|
|
324
|
+
* rather than re-implement the two conditions.
|
|
325
|
+
*/
|
|
326
|
+
export {
|
|
327
|
+
areaShadowLayerCount,
|
|
328
|
+
castingRange,
|
|
329
|
+
firstAreaShadowLayer,
|
|
330
|
+
} from './render/areaShadowSet.ts';
|
|
331
|
+
export type { PhotometricProfile } from './render/iesProfile.ts';
|
|
332
|
+
export type { PrefilterQuality } from './render/prefilterEnvMap.ts';
|
|
333
|
+
/**
|
|
334
|
+
* What a probe bake is for: the reflection alone, or the reflection and the scene's ambient.
|
|
335
|
+
*
|
|
336
|
+
* Exported because declining the second half is a decision only a consumer can make — see
|
|
337
|
+
* `ProbeBakeOptions`, which is the whole of the reasoning.
|
|
338
|
+
*/
|
|
339
|
+
export type { ProbeBakeOptions } from './render/reflectionProbe.ts';
|
|
340
|
+
export type {
|
|
341
|
+
DirectionalShadowDepthLayers,
|
|
342
|
+
OutputTransform,
|
|
343
|
+
RenderQuality,
|
|
344
|
+
RenderQualityOptions,
|
|
345
|
+
ShadowFilterTaps,
|
|
346
|
+
WaterReflectionFilterTaps,
|
|
347
|
+
} from './render/renderQuality.ts';
|
|
348
|
+
export { MAX_POINT_LIGHTS, SURFACE_TEXTURE_UNIT } from './render/lightBudget.ts';
|
|
349
|
+
export { SurfaceTexture } from './render/surfaceTexture.ts';
|
|
350
|
+
export type { SurfaceMaterial, SurfaceTextureOptions } from './render/surfaceTexture.ts';
|
|
351
|
+
export { DEFAULT_GOVERNOR_LIMITS, ResolutionGovernor } from './render/resolutionGovernor.ts';
|
|
352
|
+
export type { GovernorLimits } from './render/resolutionGovernor.ts';
|
|
353
|
+
export { isWeakGpuFamily } from './render/gpuCapability.ts';
|
|
354
|
+
/**
|
|
355
|
+
* The same question `isWeakGpuFamily` answers, asked early enough to choose a profile with.
|
|
356
|
+
*
|
|
357
|
+
* `RendererApi.rendererName` and `CreatedRenderer.rendererName` are this answer after the fact,
|
|
358
|
+
* which is the right time for a boot log and too late for a decision.
|
|
359
|
+
*/
|
|
360
|
+
export { describeGpu } from './render/gpuCapability.ts';
|
|
361
|
+
export type { GpuIdentity, DescribeGpuOptions } from './render/gpuCapability.ts';
|
|
362
|
+
export {
|
|
363
|
+
DEFAULT_POINT_LIGHT_VIEW_RANGE,
|
|
364
|
+
createPointLightBuffer,
|
|
365
|
+
selectPointLights,
|
|
366
|
+
} from './render/pointLightSelection.ts';
|
|
367
|
+
export type { PointLightBuffer, PointLightSource } from './render/pointLightSelection.ts';
|
|
368
|
+
export { computeLightMatrix } from './render/lightMatrix.ts';
|
|
369
|
+
export { PlumeRenderer } from './render/plumeRenderer.ts';
|
|
370
|
+
export { createEnvironment } from './render/backend/webgl2/renderer.ts';
|
|
371
|
+
export type { InsetRect } from './render/backend/webgl2/renderer.ts';
|
|
372
|
+
export { TrampleField, TRAMPLE_SLOTS } from './render/trample.ts';
|
|
373
|
+
export type { PlumePlacement, PlumeOptions, PlumeBlend } from './render/plumeRenderer.ts';
|
|
374
|
+
export type { PlumeMaterial } from './render/plumeMaterial.ts';
|
|
375
|
+
export type { ParticleMaterial } from './render/particleMaterial.ts';
|
|
376
|
+
/*
|
|
377
|
+
* Turns a silent uniform miss into a warning. See `shader.ts` — writing to a uniform the
|
|
378
|
+
* program does not have is a legal no-op, which is how an effect can quietly not exist.
|
|
379
|
+
*/
|
|
380
|
+
export { setUniformStrictMode } from './render/shader.ts';
|
|
381
|
+
/*
|
|
382
|
+
* And everything an app is waiting for as one weighted number, which is the part every consumer
|
|
383
|
+
* was writing for itself. Ids and numbers only: what to call a stage depends on who is reading it,
|
|
384
|
+
* so the words stay with whoever is showing them.
|
|
385
|
+
*/
|
|
386
|
+
export { LoadTracker } from './core/loadTracker.ts';
|
|
387
|
+
export type { LoadTask, LoadSummary } from './core/loadTracker.ts';
|
|
388
|
+
/*
|
|
389
|
+
* Closing the inside of a model that is only a surface, which a great many bought models are: a
|
|
390
|
+
* car with no cabin, a building with no rooms. Drawn alone they are correct, and any opening in
|
|
391
|
+
* them shows straight through the object and out the far side. Takes sizes and fractions; what a
|
|
392
|
+
* subject looks like is the caller's to state.
|
|
393
|
+
*/
|
|
394
|
+
export {
|
|
395
|
+
buildShellFill,
|
|
396
|
+
shellSkin,
|
|
397
|
+
shellFillMatrix,
|
|
398
|
+
DEFAULT_SHELL_PROFILE,
|
|
399
|
+
} from './geometry/shellFill.ts';
|
|
400
|
+
export type { ShellStation, ShellFillOptions } from './geometry/shellFill.ts';
|
|
401
|
+
/*
|
|
402
|
+
* The grade a forward pass applies when nothing follows it.
|
|
403
|
+
*
|
|
404
|
+
* **Exported because a package cannot obey the rule otherwise.** `AGENTS.md`, 2026-08-17: every
|
|
405
|
+
* forward pass grades itself when nothing follows it, `outputTransform.ts` is the single
|
|
406
|
+
* definition, and *do not copy the curve*. A pass contributed through `registerPass` is a forward
|
|
407
|
+
* pass like any other — a splat cloud writes straight to the canvas with no composite — and until
|
|
408
|
+
* this line the only way for it to comply was to copy, which is what the rule forbids.
|
|
409
|
+
*/
|
|
410
|
+
export { OUTPUT_TRANSFORM_GLSL } from './render/shaders/outputTransform.ts';
|
|
411
|
+
export { PLUME_VERT, FIRE_FRAG } from './render/shaders/fire.ts';
|
|
412
|
+
export { ARCANE_FRAG } from './render/shaders/arcane.ts';
|
|
413
|
+
export { SMOKE_FRAG } from './render/shaders/smoke.ts';
|
|
414
|
+
export { WaterRenderer } from './render/waterRenderer.ts';
|
|
415
|
+
export type { WaterBody, WaterBounds, WaterSettings } from './render/waterRenderer.ts';
|
|
416
|
+
export { MeshBuilder } from './geometry/meshBuilder.ts';
|
|
417
|
+
/* A tangent frame, which every map in the material track reads. */
|
|
418
|
+
export { generateTangents } from './geometry/tangents.ts';
|
|
419
|
+
export type { MeshBuildOptions } from './geometry/meshBuilder.ts';
|
|
420
|
+
export { Spline, createSplineSample } from './geometry/spline.ts';
|
|
421
|
+
export type { SplinePoint, SplineSample } from './geometry/spline.ts';
|
|
422
|
+
export { RIBBON_COLLIDER_GIVE_M, RIBBON_STEP_M } from './geometry/ribbon.ts';
|
|
423
|
+
export { buildRibbon } from './geometry/ribbon.ts';
|
|
424
|
+
export { buildFilmPatch } from './geometry/filmPatch.ts';
|
|
425
|
+
export { buildLightVolume } from './geometry/lightVolume.ts';
|
|
426
|
+
export type { LightVolumeOptions } from './geometry/lightVolume.ts';
|
|
427
|
+
export { buildTextMesh, textMeshHeightM, textMeshWidthM } from './geometry/textMesh.ts';
|
|
428
|
+
export type { TextMeshStyle } from './geometry/textMesh.ts';
|
|
429
|
+
export { CausticsRenderer } from './render/causticsRenderer.ts';
|
|
430
|
+
export type { CausticSheet } from './render/causticsRenderer.ts';
|
|
431
|
+
export { buildSheets } from './render/surfaceSheet.ts';
|
|
432
|
+
export type { SheetMesh, SheetSpan } from './render/surfaceSheet.ts';
|
|
433
|
+
export type { FilmPatchOptions } from './geometry/filmPatch.ts';
|
|
434
|
+
export type { RibbonHole, RibbonMesh, RibbonOptions } from './geometry/ribbon.ts';
|
|
435
|
+
export { RibbonSurface, createSurfaceHit } from './physics/ribbonSurface.ts';
|
|
436
|
+
export type { GroundSurface, RibbonSurfaceOptions, SurfaceHit } from './physics/ribbonSurface.ts';
|
|
437
|
+
export { CompositeSurface } from './physics/compositeSurface.ts';
|
|
438
|
+
export { colliderSurface } from './physics/colliderSurface.ts';
|
|
439
|
+
/*
|
|
440
|
+
* **Which way depth runs, reachable.** A consumer choosing a near plane or an offset for a decal
|
|
441
|
+
* has to know: a conventional buffer resolves about `z² / (near · 2^bits)` and a reversed float one
|
|
442
|
+
* is near enough uniform, and the difference is millimetres of offset and a factor on the near
|
|
443
|
+
* plane. Reported per renderer as `reversedDepth`, which is what the context *granted*; these are
|
|
444
|
+
* what the engine asks for, and the two agree everywhere except a WebGL2 context without
|
|
445
|
+
* `EXT_clip_control`.
|
|
446
|
+
*/
|
|
447
|
+
export {
|
|
448
|
+
DEPTH_CLEAR,
|
|
449
|
+
DEPTH_COMPARE,
|
|
450
|
+
DEPTH_COMPARE_EQUAL,
|
|
451
|
+
DEPTH_FORMAT,
|
|
452
|
+
DEPTH_OFFSET_SIGN,
|
|
453
|
+
REVERSED_DEPTH,
|
|
454
|
+
conventionalDepth,
|
|
455
|
+
} from './render/depthConvention.ts';
|
|
456
|
+
export type { ColliderSurfaceOptions } from './physics/colliderSurface.ts';
|
|
457
|
+
export { BoxSurface } from './physics/boxSurface.ts';
|
|
458
|
+
export { heightSurface } from './physics/heightSurface.ts';
|
|
459
|
+
export { DebugLines } from './render/debugLines.ts';
|
|
460
|
+
/*
|
|
461
|
+
* The gizmo is a generator, the way `DebugLines` above it is: it answers what a ray is
|
|
462
|
+
* over and what a drag does, and fills line buffers the caller draws with `drawLines`.
|
|
463
|
+
* Nothing here touches a context.
|
|
464
|
+
*/
|
|
465
|
+
export {
|
|
466
|
+
GIZMO_GROUP_ACTIVE,
|
|
467
|
+
GIZMO_GROUP_COLORS,
|
|
468
|
+
GIZMO_GROUP_COUNT,
|
|
469
|
+
GIZMO_GROUP_NEUTRAL,
|
|
470
|
+
GIZMO_GROUP_X,
|
|
471
|
+
GIZMO_GROUP_Y,
|
|
472
|
+
GIZMO_GROUP_Z,
|
|
473
|
+
GIZMO_NONE,
|
|
474
|
+
GIZMO_ROTATE_X,
|
|
475
|
+
GIZMO_ROTATE_Y,
|
|
476
|
+
GIZMO_ROTATE_Z,
|
|
477
|
+
GIZMO_SCALE_UNIFORM,
|
|
478
|
+
GIZMO_SCALE_X,
|
|
479
|
+
GIZMO_SCALE_Y,
|
|
480
|
+
GIZMO_SCALE_Z,
|
|
481
|
+
GIZMO_TRANSLATE_X,
|
|
482
|
+
GIZMO_TRANSLATE_XY,
|
|
483
|
+
GIZMO_TRANSLATE_Y,
|
|
484
|
+
GIZMO_TRANSLATE_YZ,
|
|
485
|
+
GIZMO_TRANSLATE_Z,
|
|
486
|
+
GIZMO_TRANSLATE_ZX,
|
|
487
|
+
Gizmo,
|
|
488
|
+
gizmoScaleFor,
|
|
489
|
+
} from './render/gizmo.ts';
|
|
490
|
+
export type { GizmoMode, GizmoSpace } from './render/gizmo.ts';
|
|
491
|
+
export { RainField } from './render/rainField.ts';
|
|
492
|
+
export type { RainFieldOptions } from './render/rainField.ts';
|
|
493
|
+
export { coveredAbove } from './physics/heightSurface.ts';
|
|
494
|
+
export { buildNavGraph, nearestNavNode } from './nav/navGraph.ts';
|
|
495
|
+
export type { NavEdge, NavGraph } from './nav/navGraph.ts';
|
|
496
|
+
export { NavSearch } from './nav/navSearch.ts';
|
|
497
|
+
export { NavPath, createNavSteer } from './nav/navPath.ts';
|
|
498
|
+
export {
|
|
499
|
+
BehaviorRunner,
|
|
500
|
+
FAILURE,
|
|
501
|
+
RUNNING,
|
|
502
|
+
SUCCESS,
|
|
503
|
+
buildBehaviorTree,
|
|
504
|
+
} from './behavior/behaviorTree.ts';
|
|
505
|
+
export { projectDecal } from './geometry/decal.ts';
|
|
506
|
+
export type { DecalOptions } from './geometry/decal.ts';
|
|
507
|
+
export { DecalProjector } from './render/decalProjector.ts';
|
|
508
|
+
export type { DecalBox, DecalProjectorOptions } from './render/decalProjector.ts';
|
|
509
|
+
export { ReflectiveSurface } from './render/screenSpaceReflection.ts';
|
|
510
|
+
export type { ReflectiveSurfaceOptions } from './render/screenSpaceReflection.ts';
|
|
511
|
+
export type {
|
|
512
|
+
BehaviorSpec,
|
|
513
|
+
BehaviorStatus,
|
|
514
|
+
BehaviorTasks,
|
|
515
|
+
BehaviorTree,
|
|
516
|
+
} from './behavior/behaviorTree.ts';
|
|
517
|
+
export type { NavPathOptions, NavSteer } from './nav/navPath.ts';
|
|
518
|
+
export type { HeightField, HeightSurfaceOptions } from './physics/heightSurface.ts';
|
|
519
|
+
export type { SurfaceBox } from './physics/boxSurface.ts';
|
|
520
|
+
|
|
521
|
+
/*
|
|
522
|
+
* `@driftengine/physics` is re-exported **wholesale**, and the star is the point.
|
|
523
|
+
*
|
|
524
|
+
* This was a hand-written list of names, and it drifted: by the time Track B finished, seventy-nine
|
|
525
|
+
* of the package's hundred and ten exports were missing from it, so a consumer reaching for the
|
|
526
|
+
* solver, the joints, the queries, the controller or the ragdolls through this barrel found
|
|
527
|
+
* nothing. Nothing failed, because a name that is not re-exported is simply a name nobody can
|
|
528
|
+
* import — the quietest kind of gap there is.
|
|
529
|
+
*
|
|
530
|
+
* A star cannot drift. **What it costs** is that this file no longer lists what collision offers,
|
|
531
|
+
* so a reader has to open the package; **what would make it wrong** is a name collision between the
|
|
532
|
+
* two, which is a compile error here rather than a silent shadow — and it is why the physics
|
|
533
|
+
* package renamed `Pose` to `ShapePose` and `collide` to `collideShapes` before this line existed,
|
|
534
|
+
* since `Pose` already means a skeleton's pose one package over.
|
|
535
|
+
*
|
|
536
|
+
* Core depends on this package rather than the other way round, because the cameras, the contact
|
|
537
|
+
* probe and the ribbon builder all need the sweep.
|
|
538
|
+
*/
|
|
539
|
+
export * from '@driftengine/physics';
|
|
540
|
+
export {
|
|
541
|
+
AXIS_X,
|
|
542
|
+
AXIS_Y,
|
|
543
|
+
AXIS_Z,
|
|
544
|
+
ColliderSet,
|
|
545
|
+
aabbFromCenter,
|
|
546
|
+
bodyBounds,
|
|
547
|
+
boxCollider,
|
|
548
|
+
boxShape,
|
|
549
|
+
capsuleShape,
|
|
550
|
+
colliderFromShape,
|
|
551
|
+
createBodyBounds,
|
|
552
|
+
cylinderShape,
|
|
553
|
+
createMassProperties,
|
|
554
|
+
ejectFromSolid,
|
|
555
|
+
faceCount,
|
|
556
|
+
faceVertices,
|
|
557
|
+
fingerprintBodies,
|
|
558
|
+
fingerprintColliders,
|
|
559
|
+
hullShape,
|
|
560
|
+
moveAxis,
|
|
561
|
+
segmentHit,
|
|
562
|
+
shapeBounds,
|
|
563
|
+
shapeMassProperties,
|
|
564
|
+
sphereShape,
|
|
565
|
+
} from '@driftengine/physics';
|
|
566
|
+
|
|
567
|
+
export { InputSource } from './input/input.ts';
|
|
568
|
+
export { isTypingTarget } from './input/typingTarget.ts';
|
|
569
|
+
export type { TouchPoint, InputCallbacks } from './input/input.ts';
|
|
570
|
+
export type { GamepadIdentity, GamepadView, InputOptions, InputSourceName } from './input/input.ts';
|
|
571
|
+
export type { InputDevice } from './input/activeDevice.ts';
|
|
572
|
+
export type { GamepadFamily } from './input/gamepadIdentity.ts';
|
|
573
|
+
/* Positions rather than lettering, and the constant a consumer overrides to taste. */
|
|
574
|
+
export { DEFAULT_DEADZONE } from './input/gamepadMapping.ts';
|
|
575
|
+
/* The platform's own ceiling on one haptic effect, so a settings screen can bound its slider. */
|
|
576
|
+
export { MAX_RUMBLE_MS } from './input/rumble.ts';
|
|
577
|
+
export type { GamepadAxis, GamepadButton } from './input/gamepadMapping.ts';
|
|
578
|
+
export { ActionMap } from './input/actionMap.ts';
|
|
579
|
+
export type { ActionDefinition, AnalogAction, Binding, DigitalAction } from './input/actionMap.ts';
|
|
580
|
+
export { TouchControls } from './input/touchControls.ts';
|
|
581
|
+
export type { TouchControlsOptions } from './input/touchControls.ts';
|
|
582
|
+
|
|
583
|
+
export { pixelCursor } from './ui/pixelCursor.ts';
|
|
584
|
+
export { fullscreenWanted, requestFullscreenOnGesture } from './ui/fullscreen.ts';
|
|
585
|
+
export type { FullscreenConditions } from './ui/fullscreen.ts';
|
|
586
|
+
/*
|
|
587
|
+
* The engine badge. `createRenderer` mounts it by default, so a game needs none of these names —
|
|
588
|
+
* they are here for the consumer that declines the automatic one and places its own, and because
|
|
589
|
+
* the two decisions behind it are worth reading before overriding either.
|
|
590
|
+
*/
|
|
591
|
+
export {
|
|
592
|
+
SPLASH_FADE_MS,
|
|
593
|
+
SPLASH_HARD_CAP_MS,
|
|
594
|
+
SPLASH_MIN_MS,
|
|
595
|
+
forcedSplash,
|
|
596
|
+
mountSplash,
|
|
597
|
+
splashDecision,
|
|
598
|
+
splashWanted,
|
|
599
|
+
} from './ui/splash.ts';
|
|
600
|
+
export type {
|
|
601
|
+
MountedSplash,
|
|
602
|
+
SplashConditions,
|
|
603
|
+
SplashDecision,
|
|
604
|
+
SplashOptions,
|
|
605
|
+
} from './ui/splash.ts';
|
|
606
|
+
export { DEFAULT_CLIP_FPS, FrameRecorder, offerClip } from './ui/frameRecorder.ts';
|
|
607
|
+
// Not on `FrameRecorder`, so a screenshot does not cost a clip pipeline. See the module.
|
|
608
|
+
export { stillFrame } from './ui/stillFrame.ts';
|
|
609
|
+
/*
|
|
610
|
+
* From `clipMime` rather than `frameRecorder`, and re-exporting them from there would
|
|
611
|
+
* undo the point: a consumer asking whether this browser can record at all must not
|
|
612
|
+
* pull the recorder in to find out. See `ui/clipMime.ts`.
|
|
613
|
+
*/
|
|
614
|
+
export { describeClipMime, supportedClipMimeType } from './ui/clipMime.ts';
|
|
615
|
+
export type { ClipMimeDescription } from './ui/clipMime.ts';
|
|
616
|
+
export {
|
|
617
|
+
EXPORT_FALLBACK_SCALE,
|
|
618
|
+
ExportTarget,
|
|
619
|
+
clipBitrate,
|
|
620
|
+
exportAspect,
|
|
621
|
+
exportSizeExact,
|
|
622
|
+
isDuplicateFrame,
|
|
623
|
+
CLIP_FPS_LADDER,
|
|
624
|
+
clipFpsFor,
|
|
625
|
+
exportSizeFor,
|
|
626
|
+
} from './ui/exportTarget.ts';
|
|
627
|
+
export type { ExportSize, ExportTargetOptions, LockableSurface } from './ui/exportTarget.ts';
|
|
628
|
+
export { FramePacer } from './ui/framePacer.ts';
|
|
629
|
+
export type { FramePacingReport } from './ui/framePacer.ts';
|
|
630
|
+
export { bakeOverlay, drawPixelText, pixelTextCells, pixelTextSize } from './ui/frameOverlay.ts';
|
|
631
|
+
export type {
|
|
632
|
+
FrameOverlay,
|
|
633
|
+
OverlayImage,
|
|
634
|
+
OverlayImageSource,
|
|
635
|
+
OverlayText,
|
|
636
|
+
} from './ui/frameOverlay.ts';
|
|
637
|
+
export type { FrameRecorderOptions } from './ui/frameRecorder.ts';
|
|
638
|
+
export type { PixelCursorOptions } from './ui/pixelCursor.ts';
|
|
639
|
+
|
|
640
|
+
export { FpsMeter } from './dev/fpsMeter.ts';
|
|
641
|
+
export type { FpsMeterOptions } from './dev/fpsMeter.ts';
|
|
642
|
+
|
|
643
|
+
export { CONTACT_LIMIT, createContactReports, describeContacts } from './dev/contactProbe.ts';
|
|
644
|
+
export type { ContactReport } from './dev/contactProbe.ts';
|
|
645
|
+
|
|
646
|
+
export { GPU_SLOTS, GpuTimer } from './render/gpuTimer.ts';
|
|
647
|
+
export type { GpuSample, GpuSlot } from './render/gpuTimer.ts';
|
|
648
|
+
export { classifyRightGesture } from './input/rightGesture.ts';
|
|
649
|
+
export type { RightGesture, RightGestureOptions } from './input/rightGesture.ts';
|
|
650
|
+
export { createWindState, sampleWind } from './render/wind.ts';
|
|
651
|
+
export { advanceWindField, createWindField } from './render/windField.ts';
|
|
652
|
+
export type { WindField } from './render/windField.ts';
|
|
653
|
+
export { seaStateForAgitation, seaStateForWind } from './render/seaState.ts';
|
|
654
|
+
export type { SeaState } from './render/seaState.ts';
|
|
655
|
+
export { InstancedMesh, createInstanceData, writeInstance } from './render/instancedMesh.ts';
|
|
656
|
+
/*
|
|
657
|
+
* The instanced *mesh* surface, which is not the scatter above it: a scatter owns its own base
|
|
658
|
+
* geometry and carries a scale, a yaw and a wind response, because it describes a plant. These
|
|
659
|
+
* attach to a mesh the consumer already uploaded and carry a full transform, because a vehicle
|
|
660
|
+
* pitches and rolls and a yaw cannot say so.
|
|
661
|
+
*/
|
|
662
|
+
export {
|
|
663
|
+
createMeshInstances,
|
|
664
|
+
packInstances,
|
|
665
|
+
INSTANCE_FLOATS,
|
|
666
|
+
INSTANCE_STRIDE,
|
|
667
|
+
} from './render/instances.ts';
|
|
668
|
+
export { ParticlePool } from './render/particlePool.ts';
|
|
669
|
+
export type { ParticlePoolOptions, ParticleInstances } from './render/particlePool.ts';
|
|
670
|
+
export { ParticleBatch } from './render/particleBatch.ts';
|
|
671
|
+
export type {
|
|
672
|
+
ParticleBatchOptions,
|
|
673
|
+
ParticleBlend,
|
|
674
|
+
ParticleFacing,
|
|
675
|
+
} from './render/particleBatch.ts';
|
|
676
|
+
export {
|
|
677
|
+
PARTICLE_MOTE_FRAG,
|
|
678
|
+
PARTICLE_SMOKE_FRAG,
|
|
679
|
+
PARTICLE_SPARK_FRAG,
|
|
680
|
+
PARTICLE_VERT,
|
|
681
|
+
} from './render/shaders/particle.ts';
|
|
682
|
+
export { BoltPool } from './render/boltPool.ts';
|
|
683
|
+
export type { BoltPoolOptions, BoltSegments, BoltColors } from './render/boltPool.ts';
|
|
684
|
+
export { BoltBatch } from './render/boltBatch.ts';
|
|
685
|
+
export { createLineSegments, setPolyline } from './render/linePoints.ts';
|
|
686
|
+
export type { LineSegments } from './render/linePoints.ts';
|
|
687
|
+
export { FlockRenderer } from './render/flockRenderer.ts';
|
|
688
|
+
/*
|
|
689
|
+
* Text is reached through the renderer, not constructed.
|
|
690
|
+
*
|
|
691
|
+
* `TextRenderer` is no longer exported: it holds a `WebGL2RenderingContext`, so a caller that
|
|
692
|
+
* built one was a caller pinned to one backend — which is exactly what kept `showroom` off
|
|
693
|
+
* WebGPU. `renderer.createText()` hands back an opaque `TextHandle` and the renderer draws it,
|
|
694
|
+
* the same shape scatter, plumes, particles, flocks and bolts already have. The measuring
|
|
695
|
+
* helpers were statics on the class and are free functions now, because neither needs a device.
|
|
696
|
+
*/
|
|
697
|
+
export { DEFAULT_TEXT_STYLE, textHeightPx, textWidthPx } from './render/textLayout.ts';
|
|
698
|
+
export type { TextStyle } from './render/textLayout.ts';
|
|
699
|
+
export {
|
|
700
|
+
GLYPH_HEIGHT,
|
|
701
|
+
GLYPH_SPACING,
|
|
702
|
+
GLYPH_WIDTH,
|
|
703
|
+
countCells,
|
|
704
|
+
forEachCell,
|
|
705
|
+
forEachRun,
|
|
706
|
+
glyphRows,
|
|
707
|
+
hasGlyph,
|
|
708
|
+
measureText,
|
|
709
|
+
} from './geometry/pixelFont.ts';
|
|
710
|
+
/*
|
|
711
|
+
* SDF text, reached the same way pixel text is: the verbs are on the renderer and the
|
|
712
|
+
* handle is opaque. What a consumer does need in its own hands is the metrics document,
|
|
713
|
+
* because the engine fetches nothing — `setSdfText` takes a parsed font and an atlas the
|
|
714
|
+
* consumer already owns, so a consumer that could not call `parseSdfFont` could not call
|
|
715
|
+
* `setSdfText` either. Phase one shipped the verbs and not this, which made the whole
|
|
716
|
+
* capability unreachable through the barrel; `demo/dev/sdf-text.ts` was reaching two
|
|
717
|
+
* directories deeper to work around it.
|
|
718
|
+
*/
|
|
719
|
+
export { parseSdfFont } from './render/sdfFont.ts';
|
|
720
|
+
export type { SdfFont, SdfGlyph } from './render/sdfFont.ts';
|
|
721
|
+
export { DEFAULT_SDF_TEXT_STYLE, SdfTextLayout } from './render/sdfTextLayout.ts';
|
|
722
|
+
export type { SdfTextStyle } from './render/sdfTextLayout.ts';
|
|
723
|
+
export { WindStreakRenderer } from './render/windStreakRenderer.ts';
|
|
724
|
+
export type { WindStreakOptions } from './render/windStreakRenderer.ts';
|
|
725
|
+
export type { FlockParams } from './render/flockRenderer.ts';
|
|
726
|
+
export { buildTree } from './geometry/treeBuilder.ts';
|
|
727
|
+
export type { TreeParams, TreeGeometry } from './geometry/treeBuilder.ts';
|
|
728
|
+
export type { InstanceData } from './render/instancedMesh.ts';
|
|
729
|
+
export type { MeshInstances } from './render/instances.ts';
|
|
730
|
+
export type { WindProfile, WindState } from './render/wind.ts';
|