@thunderclap-engine/engine 0.0.0-stage → 1.1.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/CHANGELOG.md +390 -0
- package/LICENSE +21 -0
- package/README.md +333 -2
- package/dist/analytics/analytics.d.ts +80 -0
- package/dist/analytics/analytics.js +129 -0
- package/dist/analytics/index.d.ts +1 -0
- package/dist/analytics/index.js +1 -0
- package/dist/anim/aim.d.ts +43 -0
- package/dist/anim/aim.js +157 -0
- package/dist/anim/clip.d.ts +98 -0
- package/dist/anim/clip.js +282 -0
- package/dist/anim/compress.d.ts +65 -0
- package/dist/anim/compress.js +339 -0
- package/dist/anim/foot-ik.d.ts +74 -0
- package/dist/anim/foot-ik.js +241 -0
- package/dist/anim/graph.d.ts +153 -0
- package/dist/anim/graph.js +532 -0
- package/dist/anim/ik.d.ts +105 -0
- package/dist/anim/ik.js +435 -0
- package/dist/anim/index.d.ts +36 -0
- package/dist/anim/index.js +21 -0
- package/dist/anim/match.d.ts +66 -0
- package/dist/anim/match.js +153 -0
- package/dist/anim/mixer.d.ts +113 -0
- package/dist/anim/mixer.js +314 -0
- package/dist/anim/morph.d.ts +41 -0
- package/dist/anim/morph.js +94 -0
- package/dist/anim/pose.d.ts +74 -0
- package/dist/anim/pose.js +254 -0
- package/dist/anim/quat.d.ts +44 -0
- package/dist/anim/quat.js +187 -0
- package/dist/anim/retarget.d.ts +97 -0
- package/dist/anim/retarget.js +366 -0
- package/dist/anim/root-motion.d.ts +44 -0
- package/dist/anim/root-motion.js +224 -0
- package/dist/anim/skin-pose.d.ts +39 -0
- package/dist/anim/skin-pose.js +53 -0
- package/dist/anim/socket.d.ts +47 -0
- package/dist/anim/socket.js +84 -0
- package/dist/anim/spring-chain.d.ts +73 -0
- package/dist/anim/spring-chain.js +294 -0
- package/dist/assets/atlas.d.ts +90 -0
- package/dist/assets/atlas.js +212 -0
- package/dist/assets/baked.d.ts +33 -0
- package/dist/assets/baked.js +38 -0
- package/dist/assets/bundle.d.ts +88 -0
- package/dist/assets/bundle.js +464 -0
- package/dist/assets/cache.d.ts +56 -0
- package/dist/assets/cache.js +123 -0
- package/dist/assets/gltf-load.d.ts +252 -0
- package/dist/assets/gltf-load.js +661 -0
- package/dist/assets/gltf-skin.d.ts +36 -0
- package/dist/assets/gltf-skin.js +109 -0
- package/dist/assets/gltf.d.ts +706 -0
- package/dist/assets/gltf.js +1376 -0
- package/dist/assets/index.d.ts +20 -0
- package/dist/assets/index.js +10 -0
- package/dist/assets/ktx2.d.ts +71 -0
- package/dist/assets/ktx2.js +213 -0
- package/dist/assets/manifest.d.ts +79 -0
- package/dist/assets/manifest.js +7 -0
- package/dist/assets/meshopt.d.ts +23 -0
- package/dist/assets/meshopt.js +403 -0
- package/dist/audio/audio.d.ts +733 -0
- package/dist/audio/audio.js +2013 -0
- package/dist/audio/dsp.d.ts +61 -0
- package/dist/audio/dsp.js +159 -0
- package/dist/audio/duck.d.ts +44 -0
- package/dist/audio/duck.js +101 -0
- package/dist/audio/envelope.d.ts +53 -0
- package/dist/audio/envelope.js +106 -0
- package/dist/audio/index.d.ts +13 -0
- package/dist/audio/index.js +14 -0
- package/dist/audio/music.d.ts +113 -0
- package/dist/audio/music.js +548 -0
- package/dist/audio/occlusion.d.ts +55 -0
- package/dist/audio/occlusion.js +61 -0
- package/dist/audio/persist.d.ts +23 -0
- package/dist/audio/persist.js +27 -0
- package/dist/audio/recipes.d.ts +55 -0
- package/dist/audio/recipes.js +227 -0
- package/dist/audio/send.d.ts +41 -0
- package/dist/audio/send.js +118 -0
- package/dist/audio/sprites.d.ts +59 -0
- package/dist/audio/sprites.js +43 -0
- package/dist/audio/synth.d.ts +103 -0
- package/dist/audio/synth.js +197 -0
- package/dist/audio/variations.d.ts +25 -0
- package/dist/audio/variations.js +55 -0
- package/dist/audio/zones.d.ts +100 -0
- package/dist/audio/zones.js +167 -0
- package/dist/core/detached-surface.d.ts +44 -0
- package/dist/core/detached-surface.js +104 -0
- package/dist/core/events.d.ts +24 -0
- package/dist/core/events.js +43 -0
- package/dist/core/game.d.ts +409 -0
- package/dist/core/game.js +530 -0
- package/dist/core/hash.d.ts +24 -0
- package/dist/core/hash.js +49 -0
- package/dist/core/index.d.ts +17 -0
- package/dist/core/index.js +9 -0
- package/dist/core/loop.d.ts +113 -0
- package/dist/core/loop.js +185 -0
- package/dist/core/math.d.ts +58 -0
- package/dist/core/math.js +210 -0
- package/dist/core/noise.d.ts +40 -0
- package/dist/core/noise.js +247 -0
- package/dist/core/pool.d.ts +42 -0
- package/dist/core/pool.js +85 -0
- package/dist/core/random.d.ts +61 -0
- package/dist/core/random.js +199 -0
- package/dist/core/scene.d.ts +79 -0
- package/dist/core/scene.js +195 -0
- package/dist/core/timer.d.ts +66 -0
- package/dist/core/timer.js +286 -0
- package/dist/fx/billboard-wgsl.d.ts +29 -0
- package/dist/fx/billboard-wgsl.js +158 -0
- package/dist/fx/billboard.d.ts +249 -0
- package/dist/fx/billboard.js +702 -0
- package/dist/fx/debug-draw.d.ts +127 -0
- package/dist/fx/debug-draw.js +523 -0
- package/dist/fx/debug-wgsl.d.ts +7 -0
- package/dist/fx/debug-wgsl.js +32 -0
- package/dist/fx/decals-wgsl.d.ts +15 -0
- package/dist/fx/decals-wgsl.js +173 -0
- package/dist/fx/decals.d.ts +216 -0
- package/dist/fx/decals.js +607 -0
- package/dist/fx/effect.d.ts +129 -0
- package/dist/fx/effect.js +349 -0
- package/dist/fx/effects/hit-spark.json +48 -0
- package/dist/fx/effects/index.d.ts +8 -0
- package/dist/fx/effects/index.js +9 -0
- package/dist/fx/effects/magic-aura.json +47 -0
- package/dist/fx/effects/smoke-puff.json +34 -0
- package/dist/fx/emit-surface.d.ts +40 -0
- package/dist/fx/emit-surface.js +124 -0
- package/dist/fx/flicker.d.ts +30 -0
- package/dist/fx/flicker.js +42 -0
- package/dist/fx/index.d.ts +31 -0
- package/dist/fx/index.js +20 -0
- package/dist/fx/particles-wgsl.d.ts +57 -0
- package/dist/fx/particles-wgsl.js +828 -0
- package/dist/fx/particles.d.ts +566 -0
- package/dist/fx/particles.js +1533 -0
- package/dist/fx/random.d.ts +15 -0
- package/dist/fx/random.js +20 -0
- package/dist/fx/sky-wgsl.d.ts +23 -0
- package/dist/fx/sky-wgsl.js +127 -0
- package/dist/fx/sky.d.ts +96 -0
- package/dist/fx/sky.js +175 -0
- package/dist/fx/text-atlas.d.ts +143 -0
- package/dist/fx/text-atlas.js +327 -0
- package/dist/fx/trail-wgsl.d.ts +11 -0
- package/dist/fx/trail-wgsl.js +42 -0
- package/dist/fx/trail.d.ts +194 -0
- package/dist/fx/trail.js +555 -0
- package/dist/fx/water-wgsl.d.ts +34 -0
- package/dist/fx/water-wgsl.js +197 -0
- package/dist/fx/water.d.ts +176 -0
- package/dist/fx/water.js +371 -0
- package/dist/geom/collide/bvh.d.ts +151 -0
- package/dist/geom/collide/bvh.js +493 -0
- package/dist/geom/collide/debug.d.ts +14 -0
- package/dist/geom/collide/debug.js +74 -0
- package/dist/geom/collide/grid.d.ts +26 -0
- package/dist/geom/collide/grid.js +91 -0
- package/dist/geom/collide/index.d.ts +8 -0
- package/dist/geom/collide/index.js +8 -0
- package/dist/geom/collide/queries.d.ts +70 -0
- package/dist/geom/collide/queries.js +583 -0
- package/dist/geom/collide/serialize.d.ts +14 -0
- package/dist/geom/collide/serialize.js +145 -0
- package/dist/geom/collide/shapes.d.ts +161 -0
- package/dist/geom/collide/shapes.js +686 -0
- package/dist/geom/collide/slide.d.ts +66 -0
- package/dist/geom/collide/slide.js +375 -0
- package/dist/geom/collide/tile-slide.d.ts +88 -0
- package/dist/geom/collide/tile-slide.js +255 -0
- package/dist/geom/geometry.d.ts +95 -0
- package/dist/geom/geometry.js +322 -0
- package/dist/geom/heightfield.d.ts +72 -0
- package/dist/geom/heightfield.js +295 -0
- package/dist/geom/hull.d.ts +27 -0
- package/dist/geom/hull.js +279 -0
- package/dist/geom/index.d.ts +35 -0
- package/dist/geom/index.js +23 -0
- package/dist/geom/iso.d.ts +74 -0
- package/dist/geom/iso.js +89 -0
- package/dist/geom/lod.d.ts +29 -0
- package/dist/geom/lod.js +27 -0
- package/dist/geom/ops.d.ts +47 -0
- package/dist/geom/ops.js +285 -0
- package/dist/geom/primitives.d.ts +97 -0
- package/dist/geom/primitives.js +359 -0
- package/dist/geom/shapes.d.ts +43 -0
- package/dist/geom/shapes.js +88 -0
- package/dist/geom/simplify.d.ts +38 -0
- package/dist/geom/simplify.js +519 -0
- package/dist/geom/split.d.ts +37 -0
- package/dist/geom/split.js +413 -0
- package/dist/geom/sweep.d.ts +83 -0
- package/dist/geom/sweep.js +534 -0
- package/dist/geom/tangents.d.ts +16 -0
- package/dist/geom/tangents.js +124 -0
- package/dist/geom/triangulate.d.ts +19 -0
- package/dist/geom/triangulate.js +147 -0
- package/dist/host/default.d.ts +10 -0
- package/dist/host/default.js +10 -0
- package/dist/host/index.d.ts +4 -0
- package/dist/host/index.js +3 -0
- package/dist/host/types.d.ts +144 -0
- package/dist/host/types.js +1 -0
- package/dist/host/web-links.d.ts +38 -0
- package/dist/host/web-links.js +110 -0
- package/dist/host/web.d.ts +30 -0
- package/dist/host/web.js +216 -0
- package/dist/host/xr.d.ts +24 -0
- package/dist/host/xr.js +59 -0
- package/dist/i18n/i18n.d.ts +59 -0
- package/dist/i18n/i18n.js +241 -0
- package/dist/i18n/index.d.ts +3 -0
- package/dist/i18n/index.js +3 -0
- package/dist/i18n/message.d.ts +72 -0
- package/dist/i18n/message.js +369 -0
- package/dist/i18n/negotiate.d.ts +17 -0
- package/dist/i18n/negotiate.js +58 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.js +1 -0
- package/dist/input/bindings.d.ts +31 -0
- package/dist/input/bindings.js +141 -0
- package/dist/input/clock.d.ts +44 -0
- package/dist/input/clock.js +49 -0
- package/dist/input/follow.d.ts +133 -0
- package/dist/input/follow.js +218 -0
- package/dist/input/gestures.d.ts +281 -0
- package/dist/input/gestures.js +662 -0
- package/dist/input/glyphs.d.ts +35 -0
- package/dist/input/glyphs.js +216 -0
- package/dist/input/gyro.d.ts +85 -0
- package/dist/input/gyro.js +140 -0
- package/dist/input/index.d.ts +19 -0
- package/dist/input/index.js +16 -0
- package/dist/input/input.d.ts +543 -0
- package/dist/input/input.js +1492 -0
- package/dist/input/look.d.ts +327 -0
- package/dist/input/look.js +681 -0
- package/dist/input/magnify.d.ts +177 -0
- package/dist/input/magnify.js +131 -0
- package/dist/input/pointer-dispatch.d.ts +138 -0
- package/dist/input/pointer-dispatch.js +180 -0
- package/dist/input/pointer-router.d.ts +204 -0
- package/dist/input/pointer-router.js +533 -0
- package/dist/input/pointer-sources.d.ts +164 -0
- package/dist/input/pointer-sources.js +306 -0
- package/dist/input/rays.d.ts +138 -0
- package/dist/input/rays.js +615 -0
- package/dist/input/record.d.ts +209 -0
- package/dist/input/record.js +601 -0
- package/dist/input/touch-zones.d.ts +147 -0
- package/dist/input/touch-zones.js +300 -0
- package/dist/input/types.d.ts +158 -0
- package/dist/input/types.js +1 -0
- package/dist/input/xr-source.d.ts +53 -0
- package/dist/input/xr-source.js +164 -0
- package/dist/nav/astar.d.ts +45 -0
- package/dist/nav/astar.js +182 -0
- package/dist/nav/corridor.d.ts +40 -0
- package/dist/nav/corridor.js +95 -0
- package/dist/nav/crowd.d.ts +94 -0
- package/dist/nav/crowd.js +624 -0
- package/dist/nav/flow.d.ts +61 -0
- package/dist/nav/flow.js +193 -0
- package/dist/nav/grid.d.ts +108 -0
- package/dist/nav/grid.js +210 -0
- package/dist/nav/heap.d.ts +22 -0
- package/dist/nav/heap.js +92 -0
- package/dist/nav/index.d.ts +37 -0
- package/dist/nav/index.js +19 -0
- package/dist/nav/mesh/areas.d.ts +44 -0
- package/dist/nav/mesh/areas.js +98 -0
- package/dist/nav/mesh/bake-options.d.ts +33 -0
- package/dist/nav/mesh/bake-options.js +76 -0
- package/dist/nav/mesh/contour.d.ts +22 -0
- package/dist/nav/mesh/contour.js +323 -0
- package/dist/nav/mesh/flow3.d.ts +35 -0
- package/dist/nav/mesh/flow3.js +229 -0
- package/dist/nav/mesh/links.d.ts +38 -0
- package/dist/nav/mesh/links.js +72 -0
- package/dist/nav/mesh/mesh-path.d.ts +152 -0
- package/dist/nav/mesh/mesh-path.js +643 -0
- package/dist/nav/mesh/mesh-reach.d.ts +78 -0
- package/dist/nav/mesh/mesh-reach.js +450 -0
- package/dist/nav/mesh/navmesh.d.ts +117 -0
- package/dist/nav/mesh/navmesh.js +647 -0
- package/dist/nav/mesh/polymesh.d.ts +24 -0
- package/dist/nav/mesh/polymesh.js +384 -0
- package/dist/nav/mesh/regions.d.ts +12 -0
- package/dist/nav/mesh/regions.js +367 -0
- package/dist/nav/mesh/serialize.d.ts +13 -0
- package/dist/nav/mesh/serialize.js +197 -0
- package/dist/nav/mesh/voxelize.d.ts +111 -0
- package/dist/nav/mesh/voxelize.js +552 -0
- package/dist/nav/obstacles.d.ts +75 -0
- package/dist/nav/obstacles.js +294 -0
- package/dist/nav/path.d.ts +59 -0
- package/dist/nav/path.js +177 -0
- package/dist/nav/query-queue.d.ts +46 -0
- package/dist/nav/query-queue.js +308 -0
- package/dist/nav/reach.d.ts +53 -0
- package/dist/nav/reach.js +148 -0
- package/dist/nav/steer.d.ts +36 -0
- package/dist/nav/steer.js +78 -0
- package/dist/platform/boot.d.ts +28 -0
- package/dist/platform/boot.js +43 -0
- package/dist/platform/device-mode.d.ts +40 -0
- package/dist/platform/device-mode.js +104 -0
- package/dist/platform/device.d.ts +31 -0
- package/dist/platform/device.js +91 -0
- package/dist/platform/environment.d.ts +42 -0
- package/dist/platform/environment.js +82 -0
- package/dist/platform/gpu.d.ts +40 -0
- package/dist/platform/gpu.js +57 -0
- package/dist/platform/index.d.ts +18 -0
- package/dist/platform/index.js +10 -0
- package/dist/platform/letterbox.d.ts +43 -0
- package/dist/platform/letterbox.js +57 -0
- package/dist/platform/links.d.ts +20 -0
- package/dist/platform/links.js +43 -0
- package/dist/platform/screens.d.ts +36 -0
- package/dist/platform/screens.js +138 -0
- package/dist/platform/surface.d.ts +72 -0
- package/dist/platform/surface.js +157 -0
- package/dist/platform/xr-fake.d.ts +168 -0
- package/dist/platform/xr-fake.js +434 -0
- package/dist/platform/xr-surface.d.ts +120 -0
- package/dist/platform/xr-surface.js +214 -0
- package/dist/platform/xr-types.d.ts +262 -0
- package/dist/post/ao.d.ts +12 -0
- package/dist/post/ao.js +136 -0
- package/dist/post/blend.d.ts +27 -0
- package/dist/post/blend.js +129 -0
- package/dist/post/depth-pass.d.ts +43 -0
- package/dist/post/depth-pass.js +118 -0
- package/dist/post/dof.d.ts +1 -0
- package/dist/post/dof.js +66 -0
- package/dist/post/exposure.d.ts +80 -0
- package/dist/post/exposure.js +322 -0
- package/dist/post/index.d.ts +12 -0
- package/dist/post/index.js +11 -0
- package/dist/post/lens-dirt.d.ts +13 -0
- package/dist/post/lens-dirt.js +91 -0
- package/dist/post/lut.d.ts +19 -0
- package/dist/post/lut.js +50 -0
- package/dist/post/motion-blur.d.ts +9 -0
- package/dist/post/motion-blur.js +78 -0
- package/dist/post/post-stack.d.ts +302 -0
- package/dist/post/post-stack.js +1137 -0
- package/dist/post/settings.d.ts +485 -0
- package/dist/post/settings.js +416 -0
- package/dist/post/shaders.d.ts +25 -0
- package/dist/post/shaders.js +410 -0
- package/dist/post/ssr.d.ts +16 -0
- package/dist/post/ssr.js +155 -0
- package/dist/post/taa.d.ts +74 -0
- package/dist/post/taa.js +235 -0
- package/dist/post/white-balance.d.ts +25 -0
- package/dist/post/white-balance.js +98 -0
- package/dist/render/bindings.d.ts +98 -0
- package/dist/render/bindings.js +281 -0
- package/dist/render/blend.d.ts +13 -0
- package/dist/render/blend.js +26 -0
- package/dist/render/camera-2d.d.ts +72 -0
- package/dist/render/camera-2d.js +92 -0
- package/dist/render/camera.d.ts +302 -0
- package/dist/render/camera.js +671 -0
- package/dist/render/color.d.ts +16 -0
- package/dist/render/color.js +41 -0
- package/dist/render/compressed.d.ts +104 -0
- package/dist/render/compressed.js +248 -0
- package/dist/render/diagnostics.d.ts +15 -0
- package/dist/render/diagnostics.js +43 -0
- package/dist/render/dynamic-resolution.d.ts +70 -0
- package/dist/render/dynamic-resolution.js +126 -0
- package/dist/render/fake-gpu.d.ts +204 -0
- package/dist/render/fake-gpu.js +426 -0
- package/dist/render/flipbook.d.ts +56 -0
- package/dist/render/flipbook.js +87 -0
- package/dist/render/frame.d.ts +278 -0
- package/dist/render/frame.js +174 -0
- package/dist/render/fullscreen.d.ts +54 -0
- package/dist/render/fullscreen.js +91 -0
- package/dist/render/gpu-timer.d.ts +73 -0
- package/dist/render/gpu-timer.js +186 -0
- package/dist/render/index.d.ts +53 -0
- package/dist/render/index.js +29 -0
- package/dist/render/instance-list.d.ts +185 -0
- package/dist/render/instance-list.js +547 -0
- package/dist/render/lights.d.ts +181 -0
- package/dist/render/lights.js +233 -0
- package/dist/render/lod.d.ts +54 -0
- package/dist/render/lod.js +52 -0
- package/dist/render/material.d.ts +165 -0
- package/dist/render/material.js +292 -0
- package/dist/render/mesh.d.ts +284 -0
- package/dist/render/mesh.js +472 -0
- package/dist/render/mipmap.d.ts +16 -0
- package/dist/render/mipmap.js +121 -0
- package/dist/render/parallax.d.ts +50 -0
- package/dist/render/parallax.js +47 -0
- package/dist/render/pbr-wgsl.d.ts +31 -0
- package/dist/render/pbr-wgsl.js +119 -0
- package/dist/render/ping-pong.d.ts +42 -0
- package/dist/render/ping-pong.js +74 -0
- package/dist/render/renderer.d.ts +741 -0
- package/dist/render/renderer.js +2486 -0
- package/dist/render/scene-pipelines.d.ts +44 -0
- package/dist/render/scene-pipelines.js +92 -0
- package/dist/render/scene-target.d.ts +170 -0
- package/dist/render/scene-target.js +450 -0
- package/dist/render/shadow.d.ts +74 -0
- package/dist/render/shadow.js +208 -0
- package/dist/render/skin.d.ts +112 -0
- package/dist/render/skin.js +240 -0
- package/dist/render/snapshot.d.ts +36 -0
- package/dist/render/snapshot.js +34 -0
- package/dist/render/standard.d.ts +162 -0
- package/dist/render/standard.js +263 -0
- package/dist/render/texture.d.ts +142 -0
- package/dist/render/texture.js +228 -0
- package/dist/render/tile-layer.d.ts +110 -0
- package/dist/render/tile-layer.js +304 -0
- package/dist/render/transform.d.ts +115 -0
- package/dist/render/transform.js +318 -0
- package/dist/render/wgsl.d.ts +131 -0
- package/dist/render/wgsl.js +528 -0
- package/dist/save/codec.d.ts +49 -0
- package/dist/save/codec.js +169 -0
- package/dist/save/index.d.ts +8 -0
- package/dist/save/index.js +8 -0
- package/dist/save/journal.d.ts +24 -0
- package/dist/save/journal.js +102 -0
- package/dist/save/migrate.d.ts +15 -0
- package/dist/save/migrate.js +37 -0
- package/dist/save/schema.d.ts +72 -0
- package/dist/save/schema.js +154 -0
- package/dist/save/settings.d.ts +28 -0
- package/dist/save/settings.js +59 -0
- package/dist/save/slots.d.ts +56 -0
- package/dist/save/slots.js +200 -0
- package/dist/save/storage.d.ts +35 -0
- package/dist/save/storage.js +62 -0
- package/dist/save/store.d.ts +114 -0
- package/dist/save/store.js +269 -0
- package/dist/testing/fake-host.d.ts +103 -0
- package/dist/testing/fake-host.js +163 -0
- package/dist/testing/fixed-clock.d.ts +25 -0
- package/dist/testing/fixed-clock.js +30 -0
- package/dist/testing/index.d.ts +4 -0
- package/dist/testing/index.js +5 -0
- package/dist/testing/test-game.d.ts +76 -0
- package/dist/testing/test-game.js +92 -0
- package/dist/tween/ease.d.ts +77 -0
- package/dist/tween/ease.js +192 -0
- package/dist/tween/index.d.ts +8 -0
- package/dist/tween/index.js +7 -0
- package/dist/tween/timeline.d.ts +78 -0
- package/dist/tween/timeline.js +269 -0
- package/dist/tween/tween.d.ts +168 -0
- package/dist/tween/tween.js +320 -0
- package/dist/ui/anchor.d.ts +206 -0
- package/dist/ui/anchor.js +307 -0
- package/dist/ui/caption.d.ts +122 -0
- package/dist/ui/caption.js +286 -0
- package/dist/ui/cursor.d.ts +105 -0
- package/dist/ui/cursor.js +261 -0
- package/dist/ui/dom.d.ts +30 -0
- package/dist/ui/dom.js +92 -0
- package/dist/ui/floats.d.ts +86 -0
- package/dist/ui/floats.js +260 -0
- package/dist/ui/hud.d.ts +198 -0
- package/dist/ui/hud.js +431 -0
- package/dist/ui/index.d.ts +37 -0
- package/dist/ui/index.js +34 -0
- package/dist/ui/inventory-card.d.ts +52 -0
- package/dist/ui/inventory-card.js +173 -0
- package/dist/ui/inventory-context.d.ts +29 -0
- package/dist/ui/inventory-context.js +125 -0
- package/dist/ui/inventory-drag.d.ts +63 -0
- package/dist/ui/inventory-drag.js +394 -0
- package/dist/ui/inventory-grid.d.ts +66 -0
- package/dist/ui/inventory-grid.js +625 -0
- package/dist/ui/inventory-radial.d.ts +39 -0
- package/dist/ui/inventory-radial.js +168 -0
- package/dist/ui/inventory.d.ts +128 -0
- package/dist/ui/inventory.js +154 -0
- package/dist/ui/layout.d.ts +356 -0
- package/dist/ui/layout.js +856 -0
- package/dist/ui/link.d.ts +64 -0
- package/dist/ui/link.js +155 -0
- package/dist/ui/loading.d.ts +40 -0
- package/dist/ui/loading.js +157 -0
- package/dist/ui/loupe.d.ts +74 -0
- package/dist/ui/loupe.js +164 -0
- package/dist/ui/menu-nav.d.ts +33 -0
- package/dist/ui/menu-nav.js +28 -0
- package/dist/ui/minimap-canvas.d.ts +145 -0
- package/dist/ui/minimap-canvas.js +460 -0
- package/dist/ui/notify.d.ts +40 -0
- package/dist/ui/notify.js +141 -0
- package/dist/ui/orb.d.ts +53 -0
- package/dist/ui/orb.js +304 -0
- package/dist/ui/overlay.d.ts +213 -0
- package/dist/ui/overlay.js +394 -0
- package/dist/ui/padnav.d.ts +53 -0
- package/dist/ui/padnav.js +146 -0
- package/dist/ui/perf.d.ts +130 -0
- package/dist/ui/perf.js +329 -0
- package/dist/ui/rotate-card.d.ts +54 -0
- package/dist/ui/rotate-card.js +97 -0
- package/dist/ui/stack.d.ts +128 -0
- package/dist/ui/stack.js +312 -0
- package/dist/ui/styles.d.ts +13 -0
- package/dist/ui/styles.js +200 -0
- package/dist/ui/text-scale.d.ts +67 -0
- package/dist/ui/text-scale.js +102 -0
- package/dist/ui/theme.d.ts +70 -0
- package/dist/ui/theme.js +98 -0
- package/dist/ui/toast.d.ts +23 -0
- package/dist/ui/toast.js +46 -0
- package/dist/ui/tooltip.d.ts +89 -0
- package/dist/ui/tooltip.js +333 -0
- package/dist/ui/widgets-2.d.ts +134 -0
- package/dist/ui/widgets-2.js +399 -0
- package/dist/ui/widgets-3.d.ts +91 -0
- package/dist/ui/widgets-3.js +212 -0
- package/dist/ui/widgets.d.ts +34 -0
- package/dist/ui/widgets.js +50 -0
- package/dist/ui/world-panel/index.d.ts +5 -0
- package/dist/ui/world-panel/index.js +5 -0
- package/dist/ui/world-panel/layout.d.ts +38 -0
- package/dist/ui/world-panel/layout.js +68 -0
- package/dist/ui/world-panel/paint.d.ts +96 -0
- package/dist/ui/world-panel/paint.js +136 -0
- package/dist/ui/world-panel/panel.d.ts +235 -0
- package/dist/ui/world-panel/panel.js +762 -0
- package/dist/ui/world-panel/wgsl.d.ts +10 -0
- package/dist/ui/world-panel/wgsl.js +52 -0
- package/dist/ui/world-panel/widgets.d.ts +207 -0
- package/dist/ui/world-panel/widgets.js +569 -0
- package/dist/voxel/chunks.d.ts +77 -0
- package/dist/voxel/chunks.js +149 -0
- package/dist/voxel/grid.d.ts +84 -0
- package/dist/voxel/grid.js +223 -0
- package/dist/voxel/index.d.ts +22 -0
- package/dist/voxel/index.js +7 -0
- package/dist/voxel/mesher-worker.d.ts +14 -0
- package/dist/voxel/mesher-worker.js +47 -0
- package/dist/voxel/mesher.d.ts +73 -0
- package/dist/voxel/mesher.js +306 -0
- package/dist/voxel/ray.d.ts +32 -0
- package/dist/voxel/ray.js +73 -0
- package/dist/voxel/wgsl.d.ts +16 -0
- package/dist/voxel/wgsl.js +28 -0
- package/dist/voxel/worker-client.d.ts +79 -0
- package/dist/voxel/worker-client.js +122 -0
- package/package.json +177 -3
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
import type { Gestures } from './gestures.js';
|
|
2
|
+
import type { PointerDispatcher } from './pointer-dispatch.js';
|
|
3
|
+
import { type PointerDevice, type PointerSource, ScreenPointers, type XrButtons } from './pointer-sources.js';
|
|
4
|
+
import { type HitTester, type PickHit, type Ray, type RayCamera } from './rays.js';
|
|
5
|
+
import type { Hand, PointerButton, PointerTransform, XrButton } from './types.js';
|
|
6
|
+
/** One live pointer after routing: its sample plus its nearest hit. Reused; read, don't keep. */
|
|
7
|
+
export interface RoutedPointer<T = unknown> {
|
|
8
|
+
readonly source: PointerSource;
|
|
9
|
+
readonly key: number;
|
|
10
|
+
readonly device: PointerDevice;
|
|
11
|
+
readonly hand: Hand | null;
|
|
12
|
+
/** Camera screen units, or `NaN` for XR pointers. */
|
|
13
|
+
readonly x: number;
|
|
14
|
+
readonly y: number;
|
|
15
|
+
readonly ray: Ray;
|
|
16
|
+
readonly select: boolean;
|
|
17
|
+
readonly secondary: boolean;
|
|
18
|
+
readonly xr: Readonly<XrButtons> | null;
|
|
19
|
+
/** The nearest hit this tick, or `null`. */
|
|
20
|
+
readonly hit: PickHit<T> | null;
|
|
21
|
+
}
|
|
22
|
+
/** Payload of every router event. Reused between emits: read it in the listener or copy it. */
|
|
23
|
+
export interface PointerHitEvent<T = unknown> {
|
|
24
|
+
pointer: RoutedPointer<T>;
|
|
25
|
+
/** `hit`/`hitEnd`: the hit that started or ended. `select`/`secondary`: the pointer's hit, or `null`. */
|
|
26
|
+
hit: PickHit<T> | null;
|
|
27
|
+
}
|
|
28
|
+
export interface PointerRouterEvents<T = unknown> {
|
|
29
|
+
/** A pointer started hitting a target (or moved onto a different one). */
|
|
30
|
+
hit: PointerHitEvent<T>;
|
|
31
|
+
/** A pointer stopped hitting a target (moved off, ended, or input was blocked). */
|
|
32
|
+
hitEnd: PointerHitEvent<T>;
|
|
33
|
+
/** Select on a pointer (see `PointerRouterOptions.selectAction`). */
|
|
34
|
+
select: PointerHitEvent<T>;
|
|
35
|
+
/** Secondary on a pointer (see `PointerRouterOptions.secondaryAction`). */
|
|
36
|
+
secondary: PointerHitEvent<T>;
|
|
37
|
+
/**
|
|
38
|
+
* A pointer moved this tick (position or ray changed), at most once per pointer per tick,
|
|
39
|
+
* after its `hit`/`hitEnd` (ws/input-4). `hit` is the target under it now, or `null`.
|
|
40
|
+
*/
|
|
41
|
+
moved: PointerHitEvent<T>;
|
|
42
|
+
/** A pointer's select or secondary button went up this tick (`hit` is what it is over now). */
|
|
43
|
+
released: PointerHitEvent<T>;
|
|
44
|
+
}
|
|
45
|
+
export interface PointerRouterOptions<T = unknown> {
|
|
46
|
+
/** The camera rays go through: a camera, or a getter read each tick (`() => renderer.camera`). */
|
|
47
|
+
camera?: RayCamera | (() => RayCamera | null) | null;
|
|
48
|
+
/** Hit testers, in tie-break order (see `addTester`). */
|
|
49
|
+
testers?: readonly HitTester<T>[];
|
|
50
|
+
/** Extra sources besides the built-in screen source (`router.screen`), e.g. a `PadCursor`. */
|
|
51
|
+
sources?: readonly PointerSource[];
|
|
52
|
+
/**
|
|
53
|
+
* The action that selects, when the router is linked to an `Input` (`input.setPointers`) whose
|
|
54
|
+
* bindings have it: `select` then fires on the tick that action is pressed, on the primary
|
|
55
|
+
* pointer. Unbound or unlinked, `select` fires when a pointer's select button goes down.
|
|
56
|
+
* Default `'select'`.
|
|
57
|
+
*/
|
|
58
|
+
selectAction?: string;
|
|
59
|
+
/** Like `selectAction`, for `secondary`. Default `'secondary'`. */
|
|
60
|
+
secondaryAction?: string;
|
|
61
|
+
/** While true no pointer hits anything (a modal is open). `Input.setPointers` shares the input's. */
|
|
62
|
+
blocked?: () => boolean;
|
|
63
|
+
}
|
|
64
|
+
/** The slice of `Input` the router reads after the actions are evaluated. */
|
|
65
|
+
export interface PointerActions {
|
|
66
|
+
bound(action: string): boolean;
|
|
67
|
+
pressed(action: string): boolean;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Routes pointers to hits. Call `update()` once per tick (an `Input` linked with
|
|
71
|
+
* `input.setPointers(router)` calls it from its own `update()`).
|
|
72
|
+
*/
|
|
73
|
+
export declare class PointerRouter<T = unknown> {
|
|
74
|
+
/** The built-in source for mouse, pen and touch (attached by `attach`). */
|
|
75
|
+
readonly screen: ScreenPointers;
|
|
76
|
+
/** Live pointers this tick (empty while blocked). Reused array. */
|
|
77
|
+
readonly pointers: RoutedPointer<T>[];
|
|
78
|
+
/** The pointer that moved or pressed most recently, or `null`. */
|
|
79
|
+
primary: RoutedPointer<T> | null;
|
|
80
|
+
blocked: () => boolean;
|
|
81
|
+
selectAction: string;
|
|
82
|
+
secondaryAction: string;
|
|
83
|
+
/**
|
|
84
|
+
* Typed over `unknown` targets, so the router is covariant in `T` (ws/input-12): a
|
|
85
|
+
* `PointerRouter<Target>` is a `PointerRouter<unknown>`, and `EngineCtx<A, S, C, unknown>`
|
|
86
|
+
* takes any typed ctx. `on` narrows the listeners back to `T`.
|
|
87
|
+
*/
|
|
88
|
+
private readonly events;
|
|
89
|
+
private cameraOpt;
|
|
90
|
+
private readonly testers;
|
|
91
|
+
private readonly sources;
|
|
92
|
+
private readonly tracks;
|
|
93
|
+
private readonly pool;
|
|
94
|
+
private tick;
|
|
95
|
+
private isBlocked;
|
|
96
|
+
/**
|
|
97
|
+
* Live mutes, one entry per `mute()` call: `null` mutes every source (ones added later
|
|
98
|
+
* included), a list mutes those sources. A source is muted while any entry names it.
|
|
99
|
+
*/
|
|
100
|
+
private readonly mutes;
|
|
101
|
+
/** Sources a mute's end just woke: their pointers held through the mute are not new presses. */
|
|
102
|
+
private readonly waking;
|
|
103
|
+
private target;
|
|
104
|
+
private readonly best;
|
|
105
|
+
private readonly bestNormal;
|
|
106
|
+
private readonly evHit;
|
|
107
|
+
private readonly evEnd;
|
|
108
|
+
private readonly evSelect;
|
|
109
|
+
private readonly evMoved;
|
|
110
|
+
private readonly evReleased;
|
|
111
|
+
constructor(opts?: PointerRouterOptions<T>);
|
|
112
|
+
/** The camera rays go through now. */
|
|
113
|
+
get camera(): RayCamera | null;
|
|
114
|
+
/** Set the camera, or a getter read each tick. */
|
|
115
|
+
set camera(c: RayCamera | (() => RayCamera | null) | null);
|
|
116
|
+
/** The primary pointer's hit, or `null`. */
|
|
117
|
+
get hit(): PickHit<T> | null;
|
|
118
|
+
on<K extends keyof PointerRouterEvents<T>>(type: K, fn: (e: PointerRouterEvents<T>[K]) => void): () => void;
|
|
119
|
+
/**
|
|
120
|
+
* Add a hit tester; returns its remover. The nearest hit over all testers wins; equal
|
|
121
|
+
* distances go to the tester added first.
|
|
122
|
+
*/
|
|
123
|
+
addTester(t: HitTester<T>): () => void;
|
|
124
|
+
/** Add a pointer source (a `PadCursor`, an `XrPointerSource`); returns its remover. */
|
|
125
|
+
addSource(s: PointerSource): () => void;
|
|
126
|
+
/**
|
|
127
|
+
* Mute pointer sources (ws/input-11): a muted source is still polled, but its pointers are
|
|
128
|
+
* dropped before routing, so they hit nothing and fire nothing. With no argument every source
|
|
129
|
+
* is muted, the screen source and sources added later included. Samples marked `synthetic`
|
|
130
|
+
* (the pointers `Input.replayPointer` dispatches) are never muted, so a replay keeps its own
|
|
131
|
+
* pointers while the real ones are silenced. A pointer that holds select or secondary when
|
|
132
|
+
* its source is muted is released on the next tick: `hitEnd`, then `released` with `hit:
|
|
133
|
+
* null` (it let go over nothing, as a cancel), and `held` reads false.
|
|
134
|
+
*
|
|
135
|
+
* Returns the remover (ws/api-core): it lifts this mute only, so a game's mute and a replay's
|
|
136
|
+
* mute do not clear each other; a source stays muted while another mute names it. Calling it
|
|
137
|
+
* twice, or after `unmute()`, does nothing.
|
|
138
|
+
*/
|
|
139
|
+
mute(sources?: readonly PointerSource[]): () => void;
|
|
140
|
+
/**
|
|
141
|
+
* Lift every mute, the removers' included. A button a woken pointer still holds reads up (not
|
|
142
|
+
* held, not pressed) until it is let go, so a press held through the mute never lands as a new
|
|
143
|
+
* one; its next press does.
|
|
144
|
+
*/
|
|
145
|
+
unmute(): void;
|
|
146
|
+
/** True while `source` is muted (by `mute()` or `mute([source])`). */
|
|
147
|
+
isMuted(source: PointerSource): boolean;
|
|
148
|
+
/** The sources muted now (current sources for a mute-all, listed ones otherwise). */
|
|
149
|
+
private mutedNow;
|
|
150
|
+
/** Mark every source of `before` that is no longer muted as just woken. */
|
|
151
|
+
private wake;
|
|
152
|
+
/** Client → camera screen units for the screen source (`Input.setPointers` shares the input's). */
|
|
153
|
+
setPointerTransform(fn: PointerTransform | null): void;
|
|
154
|
+
/** Gestures whose magnify aim steers a single touch (`Input.setPointers` shares the input's). */
|
|
155
|
+
setGestures(g: Gestures | null): void;
|
|
156
|
+
/** Listen on `target` (every source with an `attach`). `Input.attach` does this when linked. */
|
|
157
|
+
attach(target: HTMLElement, dispatcher?: PointerDispatcher): void;
|
|
158
|
+
detach(): void;
|
|
159
|
+
/**
|
|
160
|
+
* True while any pointer holds `button`. Raw: it keeps tracking while blocked (as `Input`'s
|
|
161
|
+
* keys do), so a press held through a block is not a new press after it.
|
|
162
|
+
*/
|
|
163
|
+
held(button: PointerButton): boolean;
|
|
164
|
+
/** True when a pointer pressed `button` this tick (never while blocked). */
|
|
165
|
+
fired(button: PointerButton): boolean;
|
|
166
|
+
/** True while an XR pointer (in `hand`, or either) holds `button`. Raw, like `held`. */
|
|
167
|
+
xrHeld(button: XrButton, hand?: Hand): boolean;
|
|
168
|
+
/** True when an XR pointer (in `hand`, or either) pressed `button` this tick. */
|
|
169
|
+
xrFired(button: XrButton, hand?: Hand): boolean;
|
|
170
|
+
/**
|
|
171
|
+
* Poll every source, hit-test each pointer and report hover changes, then report presses
|
|
172
|
+
* (button edges; a linked `Input` reports them from its actions instead, see `selectAction`).
|
|
173
|
+
*/
|
|
174
|
+
update(): void;
|
|
175
|
+
/**
|
|
176
|
+
* First half of `update()`: sources, rays, hits, `hit`/`hitEnd`. `Input` calls it before
|
|
177
|
+
* evaluating `{ pointer }` and `{ xr }` bindings.
|
|
178
|
+
*/
|
|
179
|
+
poll(): void;
|
|
180
|
+
/**
|
|
181
|
+
* Second half of `update()`: `select` and `secondary`. With `actions` (a linked `Input`), an
|
|
182
|
+
* action the bindings have fires on the primary pointer when pressed; otherwise each pointer
|
|
183
|
+
* whose button went down fires.
|
|
184
|
+
*/
|
|
185
|
+
resolve(actions: PointerActions | null): void;
|
|
186
|
+
private resolveButton;
|
|
187
|
+
/** End `t`'s held buttons and report `released` (over nothing) unless blocked. */
|
|
188
|
+
private release;
|
|
189
|
+
/**
|
|
190
|
+
* `quiet`: the source was just unmuted, so a button a new track already holds was held through
|
|
191
|
+
* the mute: it reads up (not held, never a press) until it is let go, as a key held through a
|
|
192
|
+
* detach does.
|
|
193
|
+
*/
|
|
194
|
+
private route;
|
|
195
|
+
/** Nearest hit for `t`'s ray; report `hitEnd`/`hit` when the target changes. */
|
|
196
|
+
private test;
|
|
197
|
+
private endHit;
|
|
198
|
+
private newTrack;
|
|
199
|
+
}
|
|
200
|
+
/**
|
|
201
|
+
* A pointer router (see `PointerRouter`). Link it to the action map with
|
|
202
|
+
* `input.setPointers(router)`; add `planeTester`/`aabbTester` or the game's own testers.
|
|
203
|
+
*/
|
|
204
|
+
export declare function createPointerRouter<T = unknown>(opts?: PointerRouterOptions<T>): PointerRouter<T>;
|