@vgai/engine 0.5.5 → 0.5.7
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/dist/adapter/adapter-surface.d.ts +30 -0
- package/dist/adapter/adapter-surface.d.ts.map +1 -0
- package/dist/adapter/adapter-surface.js +18 -0
- package/dist/adapter/authoring.d.ts +597 -0
- package/dist/adapter/authoring.d.ts.map +1 -0
- package/dist/adapter/authoring.js +22 -0
- package/dist/adapter/colyseus-networking-adapter.d.ts +77 -0
- package/dist/adapter/colyseus-networking-adapter.d.ts.map +1 -0
- package/dist/adapter/colyseus-networking-adapter.js +76 -0
- package/dist/adapter/first-party-systems.d.ts +23 -0
- package/dist/adapter/first-party-systems.d.ts.map +1 -0
- package/dist/adapter/first-party-systems.js +196 -0
- package/dist/adapter/host-context.d.ts +194 -0
- package/dist/adapter/host-context.d.ts.map +1 -0
- package/dist/adapter/host-context.js +80 -0
- package/dist/adapter/index.d.ts +33 -0
- package/dist/adapter/index.d.ts.map +1 -0
- package/dist/adapter/index.js +25 -0
- package/dist/adapter/ingest/game-contract.d.ts +53 -0
- package/dist/adapter/ingest/game-contract.d.ts.map +1 -0
- package/dist/adapter/ingest/game-contract.js +30 -0
- package/dist/adapter/ingest/scene-capture.d.ts +121 -0
- package/dist/adapter/ingest/scene-capture.d.ts.map +1 -0
- package/dist/adapter/ingest/scene-capture.js +270 -0
- package/dist/adapter/ingest/structural-ids.d.ts +64 -0
- package/dist/adapter/ingest/structural-ids.d.ts.map +1 -0
- package/dist/adapter/ingest/structural-ids.js +110 -0
- package/dist/adapter/ingest/upstream-pin.d.ts +44 -0
- package/dist/adapter/ingest/upstream-pin.d.ts.map +1 -0
- package/dist/adapter/ingest/upstream-pin.js +47 -0
- package/dist/adapter/loop-gate-report.d.ts +34 -0
- package/dist/adapter/loop-gate-report.d.ts.map +1 -0
- package/dist/adapter/loop-gate-report.js +37 -0
- package/dist/adapter/rapier-physics-adapter.d.ts +69 -0
- package/dist/adapter/rapier-physics-adapter.d.ts.map +1 -0
- package/dist/adapter/rapier-physics-adapter.js +135 -0
- package/dist/adapter/root-adapter.d.ts +195 -0
- package/dist/adapter/root-adapter.d.ts.map +1 -0
- package/dist/adapter/root-adapter.js +25 -0
- package/dist/adapter/setup-three-root-adapter.d.ts +87 -0
- package/dist/adapter/setup-three-root-adapter.d.ts.map +1 -0
- package/dist/adapter/setup-three-root-adapter.js +791 -0
- package/dist/adapter/system-adapter.d.ts +453 -0
- package/dist/adapter/system-adapter.d.ts.map +1 -0
- package/dist/adapter/system-adapter.js +13 -0
- package/dist/adapter/transform.d.ts +18 -0
- package/dist/adapter/transform.d.ts.map +1 -0
- package/dist/adapter/transform.js +1 -0
- package/dist/ai/navigation.d.ts +78 -0
- package/dist/ai/navigation.d.ts.map +1 -0
- package/dist/ai/navigation.js +152 -0
- package/dist/animation/anim-graph-types.d.ts +25 -0
- package/dist/animation/anim-graph-types.d.ts.map +1 -0
- package/dist/animation/anim-graph-types.js +1 -0
- package/dist/animation/animation-clock.d.ts +213 -0
- package/dist/animation/animation-clock.d.ts.map +1 -0
- package/dist/animation/animation-clock.js +301 -0
- package/dist/animation/blend-node.d.ts +22 -0
- package/dist/animation/blend-node.d.ts.map +1 -0
- package/dist/animation/blend-node.js +97 -0
- package/dist/animation/camera-ownership.d.ts +249 -0
- package/dist/animation/camera-ownership.d.ts.map +1 -0
- package/dist/animation/camera-ownership.js +169 -0
- package/dist/animation/cinematic-cues.d.ts +200 -0
- package/dist/animation/cinematic-cues.d.ts.map +1 -0
- package/dist/animation/cinematic-cues.js +213 -0
- package/dist/animation/clip-map.d.ts +12 -0
- package/dist/animation/clip-map.d.ts.map +1 -0
- package/dist/animation/clip-map.js +31 -0
- package/dist/animation/cubic-spline-interpolant.d.ts +54 -0
- package/dist/animation/cubic-spline-interpolant.d.ts.map +1 -0
- package/dist/animation/cubic-spline-interpolant.js +111 -0
- package/dist/animation/theatre-clock-binding.d.ts +89 -0
- package/dist/animation/theatre-clock-binding.d.ts.map +1 -0
- package/dist/animation/theatre-clock-binding.js +29 -0
- package/dist/animation/theatre-director.d.ts +277 -0
- package/dist/animation/theatre-director.d.ts.map +1 -0
- package/dist/animation/theatre-director.js +248 -0
- package/dist/animation/theatre-object-binding.d.ts +305 -0
- package/dist/animation/theatre-object-binding.d.ts.map +1 -0
- package/dist/animation/theatre-object-binding.js +351 -0
- package/dist/animation/xstate-animation-binding.d.ts +119 -0
- package/dist/animation/xstate-animation-binding.d.ts.map +1 -0
- package/dist/animation/xstate-animation-binding.js +349 -0
- package/dist/animation/xstate-animation-meta.d.ts +266 -0
- package/dist/animation/xstate-animation-meta.d.ts.map +1 -0
- package/dist/animation/xstate-animation-meta.js +252 -0
- package/dist/asset-formats/camera.d.ts +15 -0
- package/dist/asset-formats/camera.d.ts.map +1 -0
- package/dist/asset-formats/camera.js +15 -0
- package/dist/asset-formats/collider.d.ts +21 -0
- package/dist/asset-formats/collider.d.ts.map +1 -0
- package/dist/asset-formats/collider.js +53 -0
- package/dist/asset-formats/index.d.ts +46 -0
- package/dist/asset-formats/index.d.ts.map +1 -0
- package/dist/asset-formats/index.js +36 -0
- package/dist/asset-formats/instances.d.ts +17 -0
- package/dist/asset-formats/instances.d.ts.map +1 -0
- package/dist/asset-formats/instances.js +31 -0
- package/dist/asset-formats/light.d.ts +21 -0
- package/dist/asset-formats/light.d.ts.map +1 -0
- package/dist/asset-formats/light.js +35 -0
- package/dist/asset-formats/material.d.ts +129 -0
- package/dist/asset-formats/material.d.ts.map +1 -0
- package/dist/asset-formats/material.js +88 -0
- package/dist/asset-formats/mesh.d.ts +22 -0
- package/dist/asset-formats/mesh.d.ts.map +1 -0
- package/dist/asset-formats/mesh.js +64 -0
- package/dist/asset-formats/parse.d.ts +20 -0
- package/dist/asset-formats/parse.d.ts.map +1 -0
- package/dist/asset-formats/parse.js +34 -0
- package/dist/asset-formats/particles.d.ts +1390 -0
- package/dist/asset-formats/particles.d.ts.map +1 -0
- package/dist/asset-formats/particles.js +319 -0
- package/dist/asset-formats/render-env.d.ts +387 -0
- package/dist/asset-formats/render-env.d.ts.map +1 -0
- package/dist/asset-formats/render-env.js +300 -0
- package/dist/asset-formats/tuples.d.ts +12 -0
- package/dist/asset-formats/tuples.d.ts.map +1 -0
- package/dist/asset-formats/tuples.js +14 -0
- package/dist/asset-loaders.d.ts +97 -0
- package/dist/asset-loaders.d.ts.map +1 -0
- package/dist/asset-loaders.js +209 -0
- package/dist/asset-parse-error.d.ts +24 -0
- package/dist/asset-parse-error.d.ts.map +1 -0
- package/dist/asset-parse-error.js +29 -0
- package/dist/asset-registry.d.ts +38 -0
- package/dist/asset-registry.d.ts.map +1 -0
- package/dist/asset-registry.js +66 -0
- package/dist/assets.d.ts +26 -0
- package/dist/assets.d.ts.map +1 -0
- package/dist/assets.js +55 -0
- package/dist/audio/wav-encode.d.ts +38 -0
- package/dist/audio/wav-encode.d.ts.map +1 -0
- package/dist/audio/wav-encode.js +97 -0
- package/dist/canvas-react/engine-bridge.d.ts +45 -0
- package/dist/canvas-react/engine-bridge.d.ts.map +1 -0
- package/dist/canvas-react/engine-bridge.js +45 -0
- package/dist/canvas-react/index.d.ts +42 -0
- package/dist/canvas-react/index.d.ts.map +1 -0
- package/dist/canvas-react/index.js +41 -0
- package/dist/canvas-react/pixi-primitive.d.ts +85 -0
- package/dist/canvas-react/pixi-primitive.d.ts.map +1 -0
- package/dist/canvas-react/pixi-primitive.js +181 -0
- package/dist/canvas-react/pixi-react-adapter.d.ts +71 -0
- package/dist/canvas-react/pixi-react-adapter.d.ts.map +1 -0
- package/dist/canvas-react/pixi-react-adapter.js +229 -0
- package/dist/canvas-react/pixi-react-root-factory.d.ts +56 -0
- package/dist/canvas-react/pixi-react-root-factory.d.ts.map +1 -0
- package/dist/canvas-react/pixi-react-root-factory.js +73 -0
- package/dist/canvas-react/world-context.d.ts +88 -0
- package/dist/canvas-react/world-context.d.ts.map +1 -0
- package/dist/canvas-react/world-context.js +212 -0
- package/dist/config.d.ts +9 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +8 -0
- package/dist/core/frame-pacing.d.ts +90 -0
- package/dist/core/frame-pacing.d.ts.map +1 -0
- package/dist/core/frame-pacing.js +89 -0
- package/dist/core/game-loop.d.ts +62 -0
- package/dist/core/game-loop.d.ts.map +1 -0
- package/dist/core/game-loop.js +189 -0
- package/dist/core/seeded-random.d.ts +69 -0
- package/dist/core/seeded-random.d.ts.map +1 -0
- package/dist/core/seeded-random.js +121 -0
- package/dist/core/sim-clock.d.ts +199 -0
- package/dist/core/sim-clock.d.ts.map +1 -0
- package/dist/core/sim-clock.js +291 -0
- package/dist/core/system-runner.d.ts +96 -0
- package/dist/core/system-runner.d.ts.map +1 -0
- package/dist/core/system-runner.js +253 -0
- package/dist/core/types.d.ts +111 -0
- package/dist/core/types.d.ts.map +1 -0
- package/dist/core/types.js +25 -0
- package/dist/data/data-asset.d.ts +101 -0
- package/dist/data/data-asset.d.ts.map +1 -0
- package/dist/data/data-asset.js +122 -0
- package/dist/data/data-check-core.d.ts +109 -0
- package/dist/data/data-check-core.d.ts.map +1 -0
- package/dist/data/data-check-core.js +177 -0
- package/dist/data/data-ref.d.ts +79 -0
- package/dist/data/data-ref.d.ts.map +1 -0
- package/dist/data/data-ref.js +130 -0
- package/dist/data/vite-plugin-data.d.ts +79 -0
- package/dist/data/vite-plugin-data.d.ts.map +1 -0
- package/dist/data/vite-plugin-data.js +217 -0
- package/dist/defaults.d.ts +233 -0
- package/dist/defaults.d.ts.map +1 -0
- package/dist/defaults.js +137 -0
- package/dist/dev/chrome-trace.d.ts +45 -0
- package/dist/dev/chrome-trace.d.ts.map +1 -0
- package/dist/dev/chrome-trace.js +114 -0
- package/dist/dev/console-bridge.d.ts +22 -0
- package/dist/dev/console-bridge.d.ts.map +1 -0
- package/dist/dev/console-bridge.js +71 -0
- package/dist/dev/debug-draw.d.ts +24 -0
- package/dist/dev/debug-draw.d.ts.map +1 -0
- package/dist/dev/debug-draw.js +73 -0
- package/dist/dev/instruments.d.ts +133 -0
- package/dist/dev/instruments.d.ts.map +1 -0
- package/dist/dev/instruments.js +231 -0
- package/dist/dev/logger.d.ts +30 -0
- package/dist/dev/logger.d.ts.map +1 -0
- package/dist/dev/logger.js +90 -0
- package/dist/dev/performance-profiler.d.ts +111 -0
- package/dist/dev/performance-profiler.d.ts.map +1 -0
- package/dist/dev/performance-profiler.js +215 -0
- package/dist/dev/render-debug-adapter.d.ts +57 -0
- package/dist/dev/render-debug-adapter.d.ts.map +1 -0
- package/dist/dev/render-debug-adapter.js +141 -0
- package/dist/dev/render-memory.d.ts +53 -0
- package/dist/dev/render-memory.d.ts.map +1 -0
- package/dist/dev/render-memory.js +190 -0
- package/dist/dev/webgl-frame-capture.d.ts +134 -0
- package/dist/dev/webgl-frame-capture.d.ts.map +1 -0
- package/dist/dev/webgl-frame-capture.js +270 -0
- package/dist/dev/webgl-gpu-timer.d.ts +8 -0
- package/dist/dev/webgl-gpu-timer.d.ts.map +1 -0
- package/dist/dev/webgl-gpu-timer.js +52 -0
- package/dist/ecs/scene-index.d.ts +179 -0
- package/dist/ecs/scene-index.d.ts.map +1 -0
- package/dist/ecs/scene-index.js +331 -0
- package/dist/ecs/scene-query.d.ts +6 -0
- package/dist/ecs/scene-query.d.ts.map +1 -0
- package/dist/ecs/scene-query.js +40 -0
- package/dist/ecs/user-data.d.ts +193 -0
- package/dist/ecs/user-data.d.ts.map +1 -0
- package/dist/ecs/user-data.js +145 -0
- package/dist/index.d.ts +35 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +29 -0
- package/dist/input/input-manager.d.ts +944 -0
- package/dist/input/input-manager.d.ts.map +1 -0
- package/dist/input/input-manager.js +2209 -0
- package/dist/input/input-types.d.ts +174 -0
- package/dist/input/input-types.d.ts.map +1 -0
- package/dist/input/input-types.js +1 -0
- package/dist/input/prompt-labels.d.ts +21 -0
- package/dist/input/prompt-labels.d.ts.map +1 -0
- package/dist/input/prompt-labels.js +121 -0
- package/dist/input/rebind-controller.d.ts +59 -0
- package/dist/input/rebind-controller.d.ts.map +1 -0
- package/dist/input/rebind-controller.js +85 -0
- package/dist/input/schema.d.ts +16 -0
- package/dist/input/schema.d.ts.map +1 -0
- package/dist/input/schema.js +228 -0
- package/dist/loader.d.ts +76 -0
- package/dist/loader.d.ts.map +1 -0
- package/dist/loader.js +114 -0
- package/dist/manifest/editor-port.d.ts +53 -0
- package/dist/manifest/editor-port.d.ts.map +1 -0
- package/dist/manifest/editor-port.js +67 -0
- package/dist/manifest/filename.d.ts +14 -0
- package/dist/manifest/filename.d.ts.map +1 -0
- package/dist/manifest/filename.js +43 -0
- package/dist/manifest/index.d.ts +6 -0
- package/dist/manifest/index.d.ts.map +1 -0
- package/dist/manifest/index.js +9 -0
- package/dist/manifest/load-file.d.ts +7 -0
- package/dist/manifest/load-file.d.ts.map +1 -0
- package/dist/manifest/load-file.js +23 -0
- package/dist/manifest/load.d.ts +161 -0
- package/dist/manifest/load.d.ts.map +1 -0
- package/dist/manifest/load.js +269 -0
- package/dist/manifest/locate.d.ts +24 -0
- package/dist/manifest/locate.d.ts.map +1 -0
- package/dist/manifest/locate.js +48 -0
- package/dist/manifest/schema.d.ts +293 -0
- package/dist/manifest/schema.d.ts.map +1 -0
- package/dist/manifest/schema.js +633 -0
- package/dist/physics/collider-dimensions.d.ts +63 -0
- package/dist/physics/collider-dimensions.d.ts.map +1 -0
- package/dist/physics/collider-dimensions.js +98 -0
- package/dist/physics/collision-system.d.ts +41 -0
- package/dist/physics/collision-system.d.ts.map +1 -0
- package/dist/physics/collision-system.js +64 -0
- package/dist/physics/physics-registry.d.ts +45 -0
- package/dist/physics/physics-registry.d.ts.map +1 -0
- package/dist/physics/physics-registry.js +65 -0
- package/dist/physics/transform-writer.d.ts +16 -0
- package/dist/physics/transform-writer.d.ts.map +1 -0
- package/dist/physics/transform-writer.js +38 -0
- package/dist/pixi/authoring.d.ts +93 -0
- package/dist/pixi/authoring.d.ts.map +1 -0
- package/dist/pixi/authoring.js +207 -0
- package/dist/pixi/index.d.ts +16 -0
- package/dist/pixi/index.d.ts.map +1 -0
- package/dist/pixi/index.js +15 -0
- package/dist/pixi/ingest-iframe.d.ts +82 -0
- package/dist/pixi/ingest-iframe.d.ts.map +1 -0
- package/dist/pixi/ingest-iframe.js +166 -0
- package/dist/pixi/ingest.d.ts +97 -0
- package/dist/pixi/ingest.d.ts.map +1 -0
- package/dist/pixi/ingest.js +40 -0
- package/dist/pixi/physics-registry.d.ts +24 -0
- package/dist/pixi/physics-registry.d.ts.map +1 -0
- package/dist/pixi/physics-registry.js +38 -0
- package/dist/pixi/scene-capture.d.ts +43 -0
- package/dist/pixi/scene-capture.d.ts.map +1 -0
- package/dist/pixi/scene-capture.js +92 -0
- package/dist/pixi/system-adapters.d.ts +16 -0
- package/dist/pixi/system-adapters.d.ts.map +1 -0
- package/dist/pixi/system-adapters.js +37 -0
- package/dist/react/unmanaged-root-detector.d.ts +18 -0
- package/dist/react/unmanaged-root-detector.d.ts.map +1 -0
- package/dist/react/unmanaged-root-detector.js +70 -0
- package/dist/react/use-data.d.ts +60 -0
- package/dist/react/use-data.d.ts.map +1 -0
- package/dist/react/use-data.js +101 -0
- package/dist/react/use-selection.d.ts +54 -0
- package/dist/react/use-selection.d.ts.map +1 -0
- package/dist/react/use-selection.js +71 -0
- package/dist/react/world-state.d.ts +154 -0
- package/dist/react/world-state.d.ts.map +1 -0
- package/dist/react/world-state.js +220 -0
- package/dist/render/auto-batcher.d.ts +34 -0
- package/dist/render/auto-batcher.d.ts.map +1 -0
- package/dist/render/auto-batcher.js +140 -0
- package/dist/render/instance-mesh.d.ts +5 -0
- package/dist/render/instance-mesh.d.ts.map +1 -0
- package/dist/render/instance-mesh.js +19 -0
- package/dist/render/light-camera-factory.d.ts +24 -0
- package/dist/render/light-camera-factory.d.ts.map +1 -0
- package/dist/render/light-camera-factory.js +71 -0
- package/dist/render/lod.d.ts +13 -0
- package/dist/render/lod.d.ts.map +1 -0
- package/dist/render/lod.js +16 -0
- package/dist/render/material-factory.d.ts +15 -0
- package/dist/render/material-factory.d.ts.map +1 -0
- package/dist/render/material-factory.js +186 -0
- package/dist/render/mesh-shadow.d.ts +11 -0
- package/dist/render/mesh-shadow.d.ts.map +1 -0
- package/dist/render/mesh-shadow.js +19 -0
- package/dist/render/particles-factory.d.ts +99 -0
- package/dist/render/particles-factory.d.ts.map +1 -0
- package/dist/render/particles-factory.js +361 -0
- package/dist/render/render-batch-system.d.ts +33 -0
- package/dist/render/render-batch-system.d.ts.map +1 -0
- package/dist/render/render-batch-system.js +223 -0
- package/dist/render/render-features.d.ts +47 -0
- package/dist/render/render-features.d.ts.map +1 -0
- package/dist/render/render-features.js +105 -0
- package/dist/render/render-settings.d.ts +35 -0
- package/dist/render/render-settings.d.ts.map +1 -0
- package/dist/render/render-settings.js +51 -0
- package/dist/render/spark-renderer-lifecycle.d.ts +18 -0
- package/dist/render/spark-renderer-lifecycle.d.ts.map +1 -0
- package/dist/render/spark-renderer-lifecycle.js +57 -0
- package/dist/render/viewport-shading.d.ts +17 -0
- package/dist/render/viewport-shading.d.ts.map +1 -0
- package/dist/render/viewport-shading.js +87 -0
- package/dist/runtime/create-runtime.d.ts +259 -0
- package/dist/runtime/create-runtime.d.ts.map +1 -0
- package/dist/runtime/create-runtime.js +666 -0
- package/dist/runtime/debug-bridge.d.ts +288 -0
- package/dist/runtime/debug-bridge.d.ts.map +1 -0
- package/dist/runtime/debug-bridge.js +277 -0
- package/dist/runtime/debug-registry.d.ts +287 -0
- package/dist/runtime/debug-registry.d.ts.map +1 -0
- package/dist/runtime/debug-registry.js +528 -0
- package/dist/runtime/dev-layers.d.ts +34 -0
- package/dist/runtime/dev-layers.d.ts.map +1 -0
- package/dist/runtime/dev-layers.js +40 -0
- package/dist/runtime/frame-selector-cache.d.ts +41 -0
- package/dist/runtime/frame-selector-cache.d.ts.map +1 -0
- package/dist/runtime/frame-selector-cache.js +65 -0
- package/dist/runtime/game.d.ts +576 -0
- package/dist/runtime/game.d.ts.map +1 -0
- package/dist/runtime/game.js +1003 -0
- package/dist/runtime/gameplay-rng-trap.d.ts +47 -0
- package/dist/runtime/gameplay-rng-trap.d.ts.map +1 -0
- package/dist/runtime/gameplay-rng-trap.js +95 -0
- package/dist/runtime/input-router.d.ts +78 -0
- package/dist/runtime/input-router.d.ts.map +1 -0
- package/dist/runtime/input-router.js +171 -0
- package/dist/runtime/mount-game.d.ts +126 -0
- package/dist/runtime/mount-game.d.ts.map +1 -0
- package/dist/runtime/mount-game.js +159 -0
- package/dist/runtime/mount-manifest.d.ts +174 -0
- package/dist/runtime/mount-manifest.d.ts.map +1 -0
- package/dist/runtime/mount-manifest.js +304 -0
- package/dist/runtime/presentation.d.ts +85 -0
- package/dist/runtime/presentation.d.ts.map +1 -0
- package/dist/runtime/presentation.js +92 -0
- package/dist/runtime/render-audio-control.d.ts +126 -0
- package/dist/runtime/render-audio-control.d.ts.map +1 -0
- package/dist/runtime/render-audio-control.js +116 -0
- package/dist/runtime/render-control.d.ts +347 -0
- package/dist/runtime/render-control.d.ts.map +1 -0
- package/dist/runtime/render-control.js +317 -0
- package/dist/runtime/render-seed.d.ts +56 -0
- package/dist/runtime/render-seed.d.ts.map +1 -0
- package/dist/runtime/render-seed.js +73 -0
- package/dist/runtime/state-bridge.d.ts +60 -0
- package/dist/runtime/state-bridge.d.ts.map +1 -0
- package/dist/runtime/state-bridge.js +62 -0
- package/dist/runtime/types.d.ts +285 -0
- package/dist/runtime/types.d.ts.map +1 -0
- package/dist/runtime/types.js +1 -0
- package/dist/runtime/unexported-game-trap.d.ts +36 -0
- package/dist/runtime/unexported-game-trap.d.ts.map +1 -0
- package/dist/runtime/unexported-game-trap.js +80 -0
- package/dist/setup/setup-audio.d.ts +20 -0
- package/dist/setup/setup-audio.d.ts.map +1 -0
- package/dist/setup/setup-audio.js +41 -0
- package/dist/setup/setup-particles.d.ts +17 -0
- package/dist/setup/setup-particles.d.ts.map +1 -0
- package/dist/setup/setup-particles.js +16 -0
- package/dist/setup/setup-physics.d.ts +25 -0
- package/dist/setup/setup-physics.d.ts.map +1 -0
- package/dist/setup/setup-physics.js +51 -0
- package/dist/setup/setup-renderer.d.ts +82 -0
- package/dist/setup/setup-renderer.d.ts.map +1 -0
- package/dist/setup/setup-renderer.js +381 -0
- package/dist/world3d-react/engine-bridge.d.ts +47 -0
- package/dist/world3d-react/engine-bridge.d.ts.map +1 -0
- package/dist/world3d-react/engine-bridge.js +48 -0
- package/dist/world3d-react/index.d.ts +47 -0
- package/dist/world3d-react/index.d.ts.map +1 -0
- package/dist/world3d-react/index.js +46 -0
- package/dist/world3d-react/r3f-adapter.d.ts +51 -0
- package/dist/world3d-react/r3f-adapter.d.ts.map +1 -0
- package/dist/world3d-react/r3f-adapter.js +368 -0
- package/dist/world3d-react/r3f-root-factory.d.ts +62 -0
- package/dist/world3d-react/r3f-root-factory.d.ts.map +1 -0
- package/dist/world3d-react/r3f-root-factory.js +79 -0
- package/dist/world3d-react/rapier-physics-bridge.d.ts +76 -0
- package/dist/world3d-react/rapier-physics-bridge.d.ts.map +1 -0
- package/dist/world3d-react/rapier-physics-bridge.js +120 -0
- package/dist/world3d-react/renderer-config.d.ts +58 -0
- package/dist/world3d-react/renderer-config.d.ts.map +1 -0
- package/dist/world3d-react/renderer-config.js +96 -0
- package/dist/world3d-react/world-context.d.ts +123 -0
- package/dist/world3d-react/world-context.d.ts.map +1 -0
- package/dist/world3d-react/world-context.js +204 -0
- package/dist-config/config.js +303 -0
- package/dist-config/config.js.map +7 -0
- package/package.json +14 -3
- package/src/adapter/rapier-physics-adapter.ts +77 -34
- package/src/config.ts +8 -0
- package/src/core/frame-pacing.ts +26 -0
- package/src/core/game-loop.ts +4 -3
- package/src/dev/instruments.ts +302 -0
- package/src/setup/setup-renderer.ts +2 -0
- package/src/world3d-react/index.ts +9 -0
- package/src/world3d-react/rapier-physics-bridge.tsx +137 -0
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* THE UNEXPORTED-GAME TRAP: a dev-served standalone game page REFUSES to boot.
|
|
3
|
+
*
|
|
4
|
+
* Owner decision (2026-08-09): until a game is EXPORTED, it is never played
|
|
5
|
+
* outside the editor. The editor is the one authoring, viewing and
|
|
6
|
+
* verification surface; the standalone page exists to serve the exported
|
|
7
|
+
* artifact, not to be a second door during development.
|
|
8
|
+
*
|
|
9
|
+
* Why this is a trap in CODE and not a rule in prose: the rule already
|
|
10
|
+
* existed, and it drifted. When an editor session broke mid-task, an agent
|
|
11
|
+
* "temporarily" switched to `npm run game`, the fallback fed its whole
|
|
12
|
+
* feedback loop (pixels for screenshots), nothing broken ever pushed it back,
|
|
13
|
+
* and hours of verification ran outside the editor without anyone deciding
|
|
14
|
+
* that. A workaround whose cost lands outside the loop that chose it is
|
|
15
|
+
* sticky; the only fix that holds is for the workaround PATH ITSELF to fail
|
|
16
|
+
* immediately, loudly, and with the way back in its hands. That is this file.
|
|
17
|
+
*
|
|
18
|
+
* The boundary is DEV-SERVED vs EXPORTED, decided by the bundler: a Vite dev
|
|
19
|
+
* server strips nothing, so `import.meta.env.DEV` is true; a production build
|
|
20
|
+
* (`vite build` — what `vgai deploy` runs) compiles it false and this module
|
|
21
|
+
* costs an exported game nothing. Headless contexts (unit tests, playtest's
|
|
22
|
+
* node leg) have no real browser page and never trip it — the check requires
|
|
23
|
+
* a document whose `defaultView` is the window, which no test stub wires up.
|
|
24
|
+
*
|
|
25
|
+
* There is deliberately NO opt-out flag, env var, or query param. An escape
|
|
26
|
+
* hatch an agent can reach for is the workaround again, one hop later.
|
|
27
|
+
*/
|
|
28
|
+
/** What the refusal says — one place, so the page and the thrown Error agree. */
|
|
29
|
+
const REFUSAL = [
|
|
30
|
+
'UNEXPORTED GAME, OUTSIDE THE EDITOR — refusing to mount.',
|
|
31
|
+
'',
|
|
32
|
+
'This game has not been exported. Until it is, the ONLY way to run, see,',
|
|
33
|
+
'or drive it is the editor:',
|
|
34
|
+
'',
|
|
35
|
+
' vgai edit . open (or reuse) the editor for this project',
|
|
36
|
+
' vgai play enter play mode from the terminal',
|
|
37
|
+
" vgai eval '<js>' drive and read the running game",
|
|
38
|
+
'',
|
|
39
|
+
'The standalone page serves EXPORTED builds only (`vgai deploy`, or the',
|
|
40
|
+
'production build it runs). Do not script around this page — no headless',
|
|
41
|
+
'browsers, bots, or screenshots against the dev server. Every agent',
|
|
42
|
+
'workflow goes through the editor session.',
|
|
43
|
+
].join('\n');
|
|
44
|
+
/** True only on a real, dev-served browser page — the one context the trap is for. */
|
|
45
|
+
function isDevServedBrowserPage() {
|
|
46
|
+
if (typeof window === 'undefined' || typeof document === 'undefined')
|
|
47
|
+
return false;
|
|
48
|
+
// Test stubs install a bare `document` object; only a real page has the
|
|
49
|
+
// document↔window linkage.
|
|
50
|
+
if (document.defaultView !== window)
|
|
51
|
+
return false;
|
|
52
|
+
return Boolean(import.meta.env?.DEV);
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Throws (and paints a full-screen refusal, so a human at the tab sees it as
|
|
56
|
+
* immediately as a harness watching the console does) when an unexported game
|
|
57
|
+
* is being mounted on a dev-served page. Called by `mountGameFromManifest`
|
|
58
|
+
* before any root is resolved; exported builds and headless tests pass
|
|
59
|
+
* through untouched.
|
|
60
|
+
*/
|
|
61
|
+
export function assertExportedOrInEditor() {
|
|
62
|
+
if (!isDevServedBrowserPage())
|
|
63
|
+
return;
|
|
64
|
+
const screen = document.createElement('pre');
|
|
65
|
+
screen.textContent = REFUSAL;
|
|
66
|
+
screen.style.cssText = [
|
|
67
|
+
'position:fixed',
|
|
68
|
+
'inset:0',
|
|
69
|
+
'z-index:2147483647',
|
|
70
|
+
'margin:0',
|
|
71
|
+
'padding:48px',
|
|
72
|
+
'background:#1A0E0E',
|
|
73
|
+
'color:#FF9B8A',
|
|
74
|
+
'font:600 15px/1.7 ui-monospace,SFMono-Regular,Menlo,monospace',
|
|
75
|
+
'white-space:pre-wrap',
|
|
76
|
+
].join(';');
|
|
77
|
+
document.body.appendChild(screen);
|
|
78
|
+
document.title = 'UNEXPORTED — use the editor';
|
|
79
|
+
throw new Error(`mountGameFromManifest: ${REFUSAL}`);
|
|
80
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import * as THREE from 'three';
|
|
2
|
+
export interface AudioContext {
|
|
3
|
+
listener: THREE.AudioListener;
|
|
4
|
+
masterGain: GainNode;
|
|
5
|
+
buses: {
|
|
6
|
+
music: GainNode;
|
|
7
|
+
sfx: GainNode;
|
|
8
|
+
voice: GainNode;
|
|
9
|
+
};
|
|
10
|
+
/** Call this on first user interaction (click/key) to resume audio context */
|
|
11
|
+
resume: () => void;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Creates the audio listener and bus hierarchy.
|
|
15
|
+
*
|
|
16
|
+
* Bus routing: music/sfx/voice → master → destination
|
|
17
|
+
* Attach `listener` to the active camera: `camera.add(audioCtx.listener)`.
|
|
18
|
+
*/
|
|
19
|
+
export declare function setupAudio(camera: THREE.Camera): AudioContext;
|
|
20
|
+
//# sourceMappingURL=setup-audio.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup-audio.d.ts","sourceRoot":"","sources":["../../src/setup/setup-audio.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,KAAK,CAAC,aAAa,CAAC;IAC9B,UAAU,EAAE,QAAQ,CAAC;IACrB,KAAK,EAAE;QACL,KAAK,EAAE,QAAQ,CAAC;QAChB,GAAG,EAAE,QAAQ,CAAC;QACd,KAAK,EAAE,QAAQ,CAAC;KACjB,CAAC;IACF,8EAA8E;IAC9E,MAAM,EAAE,MAAM,IAAI,CAAC;CACpB;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,YAAY,CAuC7D"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import * as THREE from 'three';
|
|
2
|
+
/**
|
|
3
|
+
* Creates the audio listener and bus hierarchy.
|
|
4
|
+
*
|
|
5
|
+
* Bus routing: music/sfx/voice → master → destination
|
|
6
|
+
* Attach `listener` to the active camera: `camera.add(audioCtx.listener)`.
|
|
7
|
+
*/
|
|
8
|
+
export function setupAudio(camera) {
|
|
9
|
+
const listener = new THREE.AudioListener();
|
|
10
|
+
camera.add(listener);
|
|
11
|
+
const ctx = listener.context;
|
|
12
|
+
const masterGain = ctx.createGain();
|
|
13
|
+
masterGain.connect(ctx.destination);
|
|
14
|
+
// Route the Three.js listener through masterGain so that THREE.Audio /
|
|
15
|
+
// THREE.PositionalAudio objects are also silenced by the mute button.
|
|
16
|
+
listener.gain.disconnect();
|
|
17
|
+
listener.gain.connect(masterGain);
|
|
18
|
+
const musicGain = ctx.createGain();
|
|
19
|
+
musicGain.gain.value = 0.7;
|
|
20
|
+
musicGain.connect(masterGain);
|
|
21
|
+
const sfxGain = ctx.createGain();
|
|
22
|
+
sfxGain.gain.value = 1.0;
|
|
23
|
+
sfxGain.connect(masterGain);
|
|
24
|
+
const voiceGain = ctx.createGain();
|
|
25
|
+
voiceGain.gain.value = 1.0;
|
|
26
|
+
voiceGain.connect(masterGain);
|
|
27
|
+
return {
|
|
28
|
+
listener,
|
|
29
|
+
masterGain,
|
|
30
|
+
buses: {
|
|
31
|
+
music: musicGain,
|
|
32
|
+
sfx: sfxGain,
|
|
33
|
+
voice: voiceGain,
|
|
34
|
+
},
|
|
35
|
+
resume() {
|
|
36
|
+
if (ctx.state === 'suspended') {
|
|
37
|
+
ctx.resume();
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
};
|
|
41
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type * as THREE from 'three';
|
|
2
|
+
import { BatchedRenderer } from 'three.quarks';
|
|
3
|
+
export interface ParticlesContext {
|
|
4
|
+
batchedRenderer: BatchedRenderer;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Creates the three.quarks BatchedRenderer for GPU particle systems.
|
|
8
|
+
*
|
|
9
|
+
* three.quarks renders all particle systems in a single draw call via instancing.
|
|
10
|
+
* Add particle systems to the batchedRenderer, not directly to the scene.
|
|
11
|
+
*
|
|
12
|
+
* Usage:
|
|
13
|
+
* const particles = setupParticles(scene);
|
|
14
|
+
* // In render loop: particles.batchedRenderer.update(dt);
|
|
15
|
+
*/
|
|
16
|
+
export declare function setupParticles(scene: THREE.Scene): ParticlesContext;
|
|
17
|
+
//# sourceMappingURL=setup-particles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup-particles.d.ts","sourceRoot":"","sources":["../../src/setup/setup-particles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,MAAM,WAAW,gBAAgB;IAC/B,eAAe,EAAE,eAAe,CAAC;CAClC;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,gBAAgB,CAKnE"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { BatchedRenderer } from 'three.quarks';
|
|
2
|
+
/**
|
|
3
|
+
* Creates the three.quarks BatchedRenderer for GPU particle systems.
|
|
4
|
+
*
|
|
5
|
+
* three.quarks renders all particle systems in a single draw call via instancing.
|
|
6
|
+
* Add particle systems to the batchedRenderer, not directly to the scene.
|
|
7
|
+
*
|
|
8
|
+
* Usage:
|
|
9
|
+
* const particles = setupParticles(scene);
|
|
10
|
+
* // In render loop: particles.batchedRenderer.update(dt);
|
|
11
|
+
*/
|
|
12
|
+
export function setupParticles(scene) {
|
|
13
|
+
const batchedRenderer = new BatchedRenderer();
|
|
14
|
+
scene.add(batchedRenderer);
|
|
15
|
+
return { batchedRenderer };
|
|
16
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type RAPIER from '@dimforge/rapier3d-compat';
|
|
2
|
+
import * as THREE from 'three';
|
|
3
|
+
export interface PhysicsContext {
|
|
4
|
+
rapierWorld: RAPIER.World;
|
|
5
|
+
eventQueue: RAPIER.EventQueue;
|
|
6
|
+
debugMesh: THREE.LineSegments;
|
|
7
|
+
debugEnabled: boolean;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Creates the Rapier physics world and debug visualization.
|
|
11
|
+
*
|
|
12
|
+
* Call RAPIER.init() before this function.
|
|
13
|
+
* This is direct Rapier setup — no abstraction. Edit freely.
|
|
14
|
+
*/
|
|
15
|
+
export declare function setupPhysics(rapier: typeof RAPIER, scene: THREE.Scene, gravity?: {
|
|
16
|
+
x: number;
|
|
17
|
+
y: number;
|
|
18
|
+
z: number;
|
|
19
|
+
}): PhysicsContext;
|
|
20
|
+
/**
|
|
21
|
+
* Update the debug line visualization from Rapier's debug render data.
|
|
22
|
+
* Call this each frame if debug is enabled.
|
|
23
|
+
*/
|
|
24
|
+
export declare function updatePhysicsDebug(rapierWorld: RAPIER.World, debugMesh: THREE.LineSegments): void;
|
|
25
|
+
//# sourceMappingURL=setup-physics.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup-physics.d.ts","sourceRoot":"","sources":["../../src/setup/setup-physics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,2BAA2B,CAAC;AACpD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC;IAC9B,SAAS,EAAE,KAAK,CAAC,YAAY,CAAC;IAC9B,YAAY,EAAE,OAAO,CAAC;CACvB;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,OAAO,MAAM,EACrB,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,OAAO,GAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAA6B,GACtE,cAAc,CAiBhB;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,YAAY,QAuB1F"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import * as THREE from 'three';
|
|
2
|
+
/**
|
|
3
|
+
* Creates the Rapier physics world and debug visualization.
|
|
4
|
+
*
|
|
5
|
+
* Call RAPIER.init() before this function.
|
|
6
|
+
* This is direct Rapier setup — no abstraction. Edit freely.
|
|
7
|
+
*/
|
|
8
|
+
export function setupPhysics(rapier, scene, gravity = { x: 0, y: -9.81, z: 0 }) {
|
|
9
|
+
const rapierWorld = new rapier.World(gravity);
|
|
10
|
+
const eventQueue = new rapier.EventQueue(true);
|
|
11
|
+
// Debug visualization (toggled at runtime)
|
|
12
|
+
const debugGeometry = new THREE.BufferGeometry();
|
|
13
|
+
const debugMaterial = new THREE.LineBasicMaterial({ color: 0x00ff00, vertexColors: true });
|
|
14
|
+
const debugMesh = new THREE.LineSegments(debugGeometry, debugMaterial);
|
|
15
|
+
debugMesh.visible = false;
|
|
16
|
+
scene.add(debugMesh);
|
|
17
|
+
return {
|
|
18
|
+
rapierWorld,
|
|
19
|
+
eventQueue,
|
|
20
|
+
debugMesh,
|
|
21
|
+
debugEnabled: false,
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Update the debug line visualization from Rapier's debug render data.
|
|
26
|
+
* Call this each frame if debug is enabled.
|
|
27
|
+
*/
|
|
28
|
+
export function updatePhysicsDebug(rapierWorld, debugMesh) {
|
|
29
|
+
const buffers = rapierWorld.debugRender();
|
|
30
|
+
const geom = debugMesh.geometry;
|
|
31
|
+
// Reuse the existing BufferAttributes whenever the vertex count is stable
|
|
32
|
+
// (the common case). Allocating a new Float32Array + BufferAttribute every
|
|
33
|
+
// frame orphaned a fresh GPU buffer each time. We only allocate when the
|
|
34
|
+
// size actually changes.
|
|
35
|
+
const posAttr = geom.getAttribute('position');
|
|
36
|
+
if (posAttr && posAttr.array.length === buffers.vertices.length) {
|
|
37
|
+
posAttr.array.set(buffers.vertices);
|
|
38
|
+
posAttr.needsUpdate = true;
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
geom.setAttribute('position', new THREE.BufferAttribute(new Float32Array(buffers.vertices), 3));
|
|
42
|
+
}
|
|
43
|
+
const colAttr = geom.getAttribute('color');
|
|
44
|
+
if (colAttr && colAttr.array.length === buffers.colors.length) {
|
|
45
|
+
colAttr.array.set(buffers.colors);
|
|
46
|
+
colAttr.needsUpdate = true;
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
geom.setAttribute('color', new THREE.BufferAttribute(new Float32Array(buffers.colors), 4));
|
|
50
|
+
}
|
|
51
|
+
}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { EffectComposer } from 'postprocessing';
|
|
2
|
+
import * as THREE from 'three';
|
|
3
|
+
import type { RenderEnvironment } from '../asset-formats/render-env';
|
|
4
|
+
import { type RenderScope } from '../render/render-settings';
|
|
5
|
+
export interface RendererContext {
|
|
6
|
+
renderer: THREE.WebGLRenderer;
|
|
7
|
+
scene: THREE.Scene;
|
|
8
|
+
camera: THREE.PerspectiveCamera;
|
|
9
|
+
composer: EffectComposer;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Apply the live renderer-level render settings (shadows, resolution scale) from
|
|
13
|
+
* the resolved cascade. `antialias`/`backend` are reload-only (renderer re-init)
|
|
14
|
+
* and are handled at construction, not here. Pass the scene `rendering` scope
|
|
15
|
+
* (e.g. `env.rendering`); absent values fall back to the registry defaults so
|
|
16
|
+
* behavior is unchanged when a scene omits `rendering`.
|
|
17
|
+
*
|
|
18
|
+
* `basePixelRatio` is the call-site's native pixel-ratio policy (the runtime caps
|
|
19
|
+
* at 2; the editor uses the raw devicePixelRatio); `resolutionScale` multiplies it.
|
|
20
|
+
*/
|
|
21
|
+
export declare function applyRendererSettings(renderer: THREE.WebGLRenderer, rendering?: RenderScope, basePixelRatio?: number): void;
|
|
22
|
+
/**
|
|
23
|
+
* Create ONLY the WebGL renderer. The HOST owns the renderer (see
|
|
24
|
+
* `ThreeHostContext.renderer`); the game/adapter owns the scene/camera/composer it
|
|
25
|
+
* renders into. Split out of `setupRenderer` for the adapter inversion.
|
|
26
|
+
*
|
|
27
|
+
* `rendering` is the scene-level render scope (`env.rendering`); it seeds the
|
|
28
|
+
* reload-only `antialias` option at construction and the live shadow/resolution
|
|
29
|
+
* settings (via {@link applyRendererSettings}). Absent → registry defaults.
|
|
30
|
+
*
|
|
31
|
+
* `opts` is additive (T6.1 slice 1, D5 §1/§4): omitted
|
|
32
|
+
* entirely, construction is byte-identical to before (no `alpha`/
|
|
33
|
+
* `preserveDrawingBuffer` keys at all) — the legacy single-canvas host never
|
|
34
|
+
* passes it. The roots path passes `alpha:true` for every stacked canvas
|
|
35
|
+
* above the bottom one (so its clear-alpha-0 shows the layer below through
|
|
36
|
+
* it) and `preserveDrawingBuffer:true` for every stacked canvas (the
|
|
37
|
+
* recorded capture-tier cost, paid once here rather than re-derived later).
|
|
38
|
+
*/
|
|
39
|
+
export declare function createHostRenderer(canvas: HTMLCanvasElement, width?: number, height?: number, rendering?: RenderScope, opts?: {
|
|
40
|
+
alpha?: boolean;
|
|
41
|
+
preserveDrawingBuffer?: boolean;
|
|
42
|
+
}): THREE.WebGLRenderer;
|
|
43
|
+
/**
|
|
44
|
+
* Create the scene, camera, and postprocessing composer that a first-party game
|
|
45
|
+
* renders into, given a host-provided renderer. The GPU-only `composer` is
|
|
46
|
+
* created here; a headless host (no GPU) skips this entirely.
|
|
47
|
+
*/
|
|
48
|
+
export declare function createSceneView(renderer: THREE.WebGLRenderer, width?: number, height?: number): {
|
|
49
|
+
scene: THREE.Scene;
|
|
50
|
+
camera: THREE.PerspectiveCamera;
|
|
51
|
+
composer: EffectComposer;
|
|
52
|
+
};
|
|
53
|
+
/**
|
|
54
|
+
* Creates the Three.js renderer, scene, camera, and postprocessing pipeline.
|
|
55
|
+
*
|
|
56
|
+
* This is direct Three.js setup — no abstraction. Edit freely. (Now a thin
|
|
57
|
+
* combination of {@link createHostRenderer} + {@link createSceneView}.)
|
|
58
|
+
*/
|
|
59
|
+
export declare function setupRenderer(canvas: HTMLCanvasElement, width?: number, height?: number): RendererContext;
|
|
60
|
+
/**
|
|
61
|
+
* Rebuild composer passes from scene environment settings.
|
|
62
|
+
* Scenes without toneMapping default to ACES (the runtime default).
|
|
63
|
+
* Code can further modify the composer after this call.
|
|
64
|
+
*
|
|
65
|
+
* Pass objectMap to enable entity-referencing effects (godRays, outline).
|
|
66
|
+
* Pass entities to resolve tag-based references (outline).
|
|
67
|
+
*/
|
|
68
|
+
export declare function applyScenePostProcessing(composer: EffectComposer, renderer: THREE.WebGLRenderer, scene: THREE.Scene, camera: THREE.Camera, env?: RenderEnvironment, objectMap?: Map<string, THREE.Object3D>, entityTags?: Map<string, string[]>): void;
|
|
69
|
+
/**
|
|
70
|
+
* Apply every authored scene-level renderer setting through one path.
|
|
71
|
+
*
|
|
72
|
+
* Tone mapping is part of the scene environment, not conditional on the
|
|
73
|
+
* presence of post-processing effects. Keeping renderer settings and the
|
|
74
|
+
* composer rebuild together prevents editor/runtime drift for scenes that
|
|
75
|
+
* only author exposure or a tone-mapping mode.
|
|
76
|
+
*/
|
|
77
|
+
export declare function applySceneRenderPipeline(composer: EffectComposer, renderer: THREE.WebGLRenderer, scene: THREE.Scene, camera: THREE.Camera, env?: RenderEnvironment, options?: {
|
|
78
|
+
basePixelRatio?: number;
|
|
79
|
+
objectMap?: Map<string, THREE.Object3D>;
|
|
80
|
+
entityTags?: Map<string, string[]>;
|
|
81
|
+
}): void;
|
|
82
|
+
//# sourceMappingURL=setup-renderer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup-renderer.d.ts","sourceRoot":"","sources":["../../src/setup/setup-renderer.ts"],"names":[],"mappings":"AAGA,OAAO,EAQL,cAAc,EAoBf,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAO/B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAGrE,OAAO,EAAE,KAAK,WAAW,EAAyB,MAAM,2BAA2B,CAAC;AAEpF,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,KAAK,CAAC,aAAa,CAAC;IAC9B,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC;IACnB,MAAM,EAAE,KAAK,CAAC,iBAAiB,CAAC;IAChC,QAAQ,EAAE,cAAc,CAAC;CAC1B;AAED;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,KAAK,CAAC,aAAa,EAC7B,SAAS,CAAC,EAAE,WAAW,EACvB,cAAc,SAAuC,GACpD,IAAI,CAKN;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,iBAAiB,EACzB,KAAK,SAAoB,EACzB,MAAM,SAAqB,EAC3B,SAAS,CAAC,EAAE,WAAW,EACvB,IAAI,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,qBAAqB,CAAC,EAAE,OAAO,CAAA;CAAE,GAC1D,KAAK,CAAC,aAAa,CAwBrB;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,KAAK,CAAC,aAAa,EAC7B,KAAK,SAAoB,EACzB,MAAM,SAAqB,GAC1B;IAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC;IAAC,MAAM,EAAE,KAAK,CAAC,iBAAiB,CAAC;IAAC,QAAQ,EAAE,cAAc,CAAA;CAAE,CAyBnF;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,iBAAiB,EACzB,KAAK,SAAoB,EACzB,MAAM,SAAqB,GAC1B,eAAe,CAIjB;AAkBD;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,cAAc,EACxB,QAAQ,EAAE,KAAK,CAAC,aAAa,EAC7B,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,GAAG,CAAC,EAAE,iBAAiB,EACvB,SAAS,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,EACvC,UAAU,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GACjC,IAAI,CAsVN;AAED;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,cAAc,EACxB,QAAQ,EAAE,KAAK,CAAC,aAAa,EAC7B,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,GAAG,CAAC,EAAE,iBAAiB,EACvB,OAAO,CAAC,EAAE;IACR,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IACxC,UAAU,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;CACpC,GACA,IAAI,CAeN"}
|