@vgai/engine 0.5.0 → 0.5.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/schemas/engine-capabilities.json +4 -4
- package/schemas/vgai-game.schema.json +2 -2
- package/src/adapter/authoring.ts +42 -0
- package/src/adapter/index.ts +3 -0
- package/src/adapter/ingest/overlay-apply.ts +50 -6
- package/src/adapter/ingest/scene-capture.ts +51 -2
- package/src/adapter/vgai-scene-game-adapter.ts +24 -0
- package/src/manifest/schema.ts +7 -3
- package/src/runtime/create-runtime.ts +97 -0
- package/src/runtime/game.ts +11 -1
- package/src/scene/asset-ref-check.ts +1 -1
- package/src/scene/scene-loader.ts +2 -2
- package/src/scene/user-data.ts +18 -0
- package/src/world3d-react/behavior.tsx +19 -11
- package/src/world3d-react/r3f-adapter.tsx +8 -0
- package/dist/adapter/adapter-surface.d.ts +0 -30
- package/dist/adapter/adapter-surface.d.ts.map +0 -1
- package/dist/adapter/adapter-surface.js +0 -18
- package/dist/adapter/authoring.d.ts +0 -461
- package/dist/adapter/authoring.d.ts.map +0 -1
- package/dist/adapter/authoring.js +0 -22
- package/dist/adapter/colyseus-networking-adapter.d.ts +0 -43
- package/dist/adapter/colyseus-networking-adapter.d.ts.map +0 -1
- package/dist/adapter/colyseus-networking-adapter.js +0 -38
- package/dist/adapter/first-party-systems.d.ts +0 -38
- package/dist/adapter/first-party-systems.d.ts.map +0 -1
- package/dist/adapter/first-party-systems.js +0 -77
- package/dist/adapter/game-adapter.d.ts +0 -133
- package/dist/adapter/game-adapter.d.ts.map +0 -1
- package/dist/adapter/game-adapter.js +0 -10
- package/dist/adapter/host-context.d.ts +0 -71
- package/dist/adapter/host-context.d.ts.map +0 -1
- package/dist/adapter/host-context.js +0 -16
- package/dist/adapter/index.d.ts +0 -22
- package/dist/adapter/index.d.ts.map +0 -1
- package/dist/adapter/index.js +0 -15
- package/dist/adapter/ingest/game-contract.d.ts +0 -53
- package/dist/adapter/ingest/game-contract.d.ts.map +0 -1
- package/dist/adapter/ingest/game-contract.js +0 -30
- package/dist/adapter/ingest/overlay-applier.d.ts +0 -118
- package/dist/adapter/ingest/overlay-applier.d.ts.map +0 -1
- package/dist/adapter/ingest/overlay-applier.js +0 -132
- package/dist/adapter/ingest/overlay-apply.d.ts +0 -60
- package/dist/adapter/ingest/overlay-apply.d.ts.map +0 -1
- package/dist/adapter/ingest/overlay-apply.js +0 -101
- package/dist/adapter/ingest/overlay-file.d.ts +0 -79
- package/dist/adapter/ingest/overlay-file.d.ts.map +0 -1
- package/dist/adapter/ingest/overlay-file.js +0 -66
- package/dist/adapter/ingest/overlay-report.d.ts +0 -113
- package/dist/adapter/ingest/overlay-report.d.ts.map +0 -1
- package/dist/adapter/ingest/overlay-report.js +0 -103
- package/dist/adapter/ingest/scene-capture.d.ts +0 -97
- package/dist/adapter/ingest/scene-capture.d.ts.map +0 -1
- package/dist/adapter/ingest/scene-capture.js +0 -248
- package/dist/adapter/ingest/upstream-pin.d.ts +0 -47
- package/dist/adapter/ingest/upstream-pin.d.ts.map +0 -1
- package/dist/adapter/ingest/upstream-pin.js +0 -50
- package/dist/adapter/loop-gate-report.d.ts +0 -34
- package/dist/adapter/loop-gate-report.d.ts.map +0 -1
- package/dist/adapter/loop-gate-report.js +0 -37
- package/dist/adapter/rapier-physics-adapter.d.ts +0 -12
- package/dist/adapter/rapier-physics-adapter.d.ts.map +0 -1
- package/dist/adapter/rapier-physics-adapter.js +0 -46
- package/dist/adapter/system-adapter.d.ts +0 -206
- package/dist/adapter/system-adapter.d.ts.map +0 -1
- package/dist/adapter/system-adapter.js +0 -13
- package/dist/adapter/transform.d.ts +0 -18
- package/dist/adapter/transform.d.ts.map +0 -1
- package/dist/adapter/transform.js +0 -1
- package/dist/adapter/vgai-scene-game-adapter.d.ts +0 -108
- package/dist/adapter/vgai-scene-game-adapter.d.ts.map +0 -1
- package/dist/adapter/vgai-scene-game-adapter.js +0 -762
- package/dist/ai/navigation.d.ts +0 -64
- package/dist/ai/navigation.d.ts.map +0 -1
- package/dist/ai/navigation.js +0 -133
- package/dist/animation/anim-graph-types.d.ts +0 -25
- package/dist/animation/anim-graph-types.d.ts.map +0 -1
- package/dist/animation/anim-graph-types.js +0 -1
- package/dist/animation/animation-clock.d.ts +0 -213
- package/dist/animation/animation-clock.d.ts.map +0 -1
- package/dist/animation/animation-clock.js +0 -301
- package/dist/animation/blend-node.d.ts +0 -22
- package/dist/animation/blend-node.d.ts.map +0 -1
- package/dist/animation/blend-node.js +0 -97
- package/dist/animation/camera-ownership.d.ts +0 -250
- package/dist/animation/camera-ownership.d.ts.map +0 -1
- package/dist/animation/camera-ownership.js +0 -169
- package/dist/animation/cinematic-cues.d.ts +0 -200
- package/dist/animation/cinematic-cues.d.ts.map +0 -1
- package/dist/animation/cinematic-cues.js +0 -213
- package/dist/animation/clip-map.d.ts +0 -12
- package/dist/animation/clip-map.d.ts.map +0 -1
- package/dist/animation/clip-map.js +0 -37
- package/dist/animation/gsap-registration.d.ts +0 -119
- package/dist/animation/gsap-registration.d.ts.map +0 -1
- package/dist/animation/gsap-registration.js +0 -92
- package/dist/animation/theatre-clock-binding.d.ts +0 -89
- package/dist/animation/theatre-clock-binding.d.ts.map +0 -1
- package/dist/animation/theatre-clock-binding.js +0 -29
- package/dist/animation/theatre-director.d.ts +0 -242
- package/dist/animation/theatre-director.d.ts.map +0 -1
- package/dist/animation/theatre-director.js +0 -235
- package/dist/animation/theatre-object-binding.d.ts +0 -305
- package/dist/animation/theatre-object-binding.d.ts.map +0 -1
- package/dist/animation/theatre-object-binding.js +0 -351
- package/dist/animation/xstate-animation-binding.d.ts +0 -56
- package/dist/animation/xstate-animation-binding.d.ts.map +0 -1
- package/dist/animation/xstate-animation-binding.js +0 -331
- package/dist/animation/xstate-animation-meta.d.ts +0 -266
- package/dist/animation/xstate-animation-meta.d.ts.map +0 -1
- package/dist/animation/xstate-animation-meta.js +0 -252
- package/dist/assets.d.ts +0 -26
- package/dist/assets.d.ts.map +0 -1
- package/dist/assets.js +0 -55
- package/dist/audio/index.d.ts +0 -4
- package/dist/audio/index.d.ts.map +0 -1
- package/dist/audio/index.js +0 -24
- package/dist/audio/tone-clock-binding.d.ts +0 -75
- package/dist/audio/tone-clock-binding.d.ts.map +0 -1
- package/dist/audio/tone-clock-binding.js +0 -29
- package/dist/audio/tone-context.d.ts +0 -114
- package/dist/audio/tone-context.d.ts.map +0 -1
- package/dist/audio/tone-context.js +0 -39
- package/dist/audio/tone-offline-render.d.ts +0 -90
- package/dist/audio/tone-offline-render.d.ts.map +0 -1
- package/dist/audio/tone-offline-render.js +0 -56
- package/dist/audio/wav-encode.d.ts +0 -38
- package/dist/audio/wav-encode.d.ts.map +0 -1
- package/dist/audio/wav-encode.js +0 -97
- package/dist/character/cloth-sim.d.ts +0 -179
- package/dist/character/cloth-sim.d.ts.map +0 -1
- package/dist/character/cloth-sim.js +0 -334
- package/dist/character/spring-chain.d.ts +0 -135
- package/dist/character/spring-chain.d.ts.map +0 -1
- package/dist/character/spring-chain.js +0 -165
- package/dist/core/game-loop.d.ts +0 -42
- package/dist/core/game-loop.d.ts.map +0 -1
- package/dist/core/game-loop.js +0 -167
- package/dist/core/seeded-random.d.ts +0 -69
- package/dist/core/seeded-random.d.ts.map +0 -1
- package/dist/core/seeded-random.js +0 -121
- package/dist/core/system-runner.d.ts +0 -120
- package/dist/core/system-runner.d.ts.map +0 -1
- package/dist/core/system-runner.js +0 -297
- package/dist/core/types.d.ts +0 -92
- package/dist/core/types.d.ts.map +0 -1
- package/dist/core/types.js +0 -25
- package/dist/data/data-asset.d.ts +0 -101
- package/dist/data/data-asset.d.ts.map +0 -1
- package/dist/data/data-asset.js +0 -122
- package/dist/data/data-check-core.d.ts +0 -110
- package/dist/data/data-check-core.d.ts.map +0 -1
- package/dist/data/data-check-core.js +0 -178
- package/dist/data/data-ref.d.ts +0 -79
- package/dist/data/data-ref.d.ts.map +0 -1
- package/dist/data/data-ref.js +0 -130
- package/dist/data/vite-plugin-data.d.ts +0 -79
- package/dist/data/vite-plugin-data.d.ts.map +0 -1
- package/dist/data/vite-plugin-data.js +0 -217
- package/dist/dev/console-bridge.d.ts +0 -22
- package/dist/dev/console-bridge.d.ts.map +0 -1
- package/dist/dev/console-bridge.js +0 -71
- package/dist/dev/debug-draw.d.ts +0 -24
- package/dist/dev/debug-draw.d.ts.map +0 -1
- package/dist/dev/debug-draw.js +0 -73
- package/dist/dev/logger.d.ts +0 -30
- package/dist/dev/logger.d.ts.map +0 -1
- package/dist/dev/logger.js +0 -90
- package/dist/dev/performance-profiler.d.ts +0 -60
- package/dist/dev/performance-profiler.d.ts.map +0 -1
- package/dist/dev/performance-profiler.js +0 -181
- package/dist/dev/webgl-gpu-timer.d.ts +0 -8
- package/dist/dev/webgl-gpu-timer.d.ts.map +0 -1
- package/dist/dev/webgl-gpu-timer.js +0 -52
- package/dist/ecs/component-manager.d.ts +0 -205
- package/dist/ecs/component-manager.d.ts.map +0 -1
- package/dist/ecs/component-manager.js +0 -706
- package/dist/ecs/game-component.d.ts +0 -146
- package/dist/ecs/game-component.d.ts.map +0 -1
- package/dist/ecs/game-component.js +0 -141
- package/dist/ecs/hmr-swap-report.d.ts +0 -53
- package/dist/ecs/hmr-swap-report.d.ts.map +0 -1
- package/dist/ecs/hmr-swap-report.js +0 -55
- package/dist/humanoid/bake.operation.d.ts +0 -119
- package/dist/humanoid/bake.operation.d.ts.map +0 -1
- package/dist/humanoid/bake.operation.js +0 -228
- package/dist/humanoid/body.d.ts +0 -101
- package/dist/humanoid/body.d.ts.map +0 -1
- package/dist/humanoid/body.js +0 -530
- package/dist/humanoid/clips.d.ts +0 -62
- package/dist/humanoid/clips.d.ts.map +0 -1
- package/dist/humanoid/clips.js +0 -121
- package/dist/humanoid/compose.d.ts +0 -75
- package/dist/humanoid/compose.d.ts.map +0 -1
- package/dist/humanoid/compose.js +0 -176
- package/dist/humanoid/generate.d.ts +0 -92
- package/dist/humanoid/generate.d.ts.map +0 -1
- package/dist/humanoid/generate.js +0 -124
- package/dist/humanoid/index.d.ts +0 -24
- package/dist/humanoid/index.d.ts.map +0 -1
- package/dist/humanoid/index.js +0 -18
- package/dist/humanoid/schema.d.ts +0 -35
- package/dist/humanoid/schema.d.ts.map +0 -1
- package/dist/humanoid/schema.js +0 -87
- package/dist/humanoid/skeleton.d.ts +0 -103
- package/dist/humanoid/skeleton.d.ts.map +0 -1
- package/dist/humanoid/skeleton.js +0 -289
- package/dist/index.d.ts +0 -37
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -30
- package/dist/input/input-manager.d.ts +0 -945
- package/dist/input/input-manager.d.ts.map +0 -1
- package/dist/input/input-manager.js +0 -2207
- package/dist/input/input-types.d.ts +0 -174
- package/dist/input/input-types.d.ts.map +0 -1
- package/dist/input/input-types.js +0 -1
- package/dist/input/prompt-labels.d.ts +0 -21
- package/dist/input/prompt-labels.d.ts.map +0 -1
- package/dist/input/prompt-labels.js +0 -121
- package/dist/input/rebind-controller.d.ts +0 -59
- package/dist/input/rebind-controller.d.ts.map +0 -1
- package/dist/input/rebind-controller.js +0 -85
- package/dist/input/schema.d.ts +0 -16
- package/dist/input/schema.d.ts.map +0 -1
- package/dist/input/schema.js +0 -228
- package/dist/loader.d.ts +0 -43
- package/dist/loader.d.ts.map +0 -1
- package/dist/loader.js +0 -59
- package/dist/manifest/index.d.ts +0 -5
- package/dist/manifest/index.d.ts.map +0 -1
- package/dist/manifest/index.js +0 -8
- package/dist/manifest/load-file.d.ts +0 -4
- package/dist/manifest/load-file.d.ts.map +0 -1
- package/dist/manifest/load-file.js +0 -14
- package/dist/manifest/load.d.ts +0 -144
- package/dist/manifest/load.d.ts.map +0 -1
- package/dist/manifest/load.js +0 -273
- package/dist/manifest/schema.d.ts +0 -230
- package/dist/manifest/schema.d.ts.map +0 -1
- package/dist/manifest/schema.js +0 -394
- package/dist/physics/collision-system.d.ts +0 -41
- package/dist/physics/collision-system.d.ts.map +0 -1
- package/dist/physics/collision-system.js +0 -64
- package/dist/physics/physics-registry.d.ts +0 -45
- package/dist/physics/physics-registry.d.ts.map +0 -1
- package/dist/physics/physics-registry.js +0 -65
- package/dist/physics/transform-writer.d.ts +0 -16
- package/dist/physics/transform-writer.d.ts.map +0 -1
- package/dist/physics/transform-writer.js +0 -38
- package/dist/physics/trigger-dispatch.d.ts +0 -24
- package/dist/physics/trigger-dispatch.d.ts.map +0 -1
- package/dist/physics/trigger-dispatch.js +0 -80
- package/dist/react/game-state.d.ts +0 -156
- package/dist/react/game-state.d.ts.map +0 -1
- package/dist/react/game-state.js +0 -222
- package/dist/react/root-adapter.d.ts +0 -11
- package/dist/react/root-adapter.d.ts.map +0 -1
- package/dist/react/root-adapter.js +0 -41
- package/dist/react/unmanaged-root-detector.d.ts +0 -12
- package/dist/react/unmanaged-root-detector.d.ts.map +0 -1
- package/dist/react/unmanaged-root-detector.js +0 -45
- package/dist/react/use-data.d.ts +0 -60
- package/dist/react/use-data.d.ts.map +0 -1
- package/dist/react/use-data.js +0 -101
- package/dist/react/use-selection.d.ts +0 -75
- package/dist/react/use-selection.d.ts.map +0 -1
- package/dist/react/use-selection.js +0 -90
- package/dist/render/auto-batcher.d.ts +0 -34
- package/dist/render/auto-batcher.d.ts.map +0 -1
- package/dist/render/auto-batcher.js +0 -140
- package/dist/render/render-batch-system.d.ts +0 -33
- package/dist/render/render-batch-system.d.ts.map +0 -1
- package/dist/render/render-batch-system.js +0 -230
- package/dist/render/render-features.d.ts +0 -47
- package/dist/render/render-features.d.ts.map +0 -1
- package/dist/render/render-features.js +0 -105
- package/dist/render/render-settings.d.ts +0 -36
- package/dist/render/render-settings.d.ts.map +0 -1
- package/dist/render/render-settings.js +0 -51
- package/dist/runtime/create-runtime.d.ts +0 -249
- package/dist/runtime/create-runtime.d.ts.map +0 -1
- package/dist/runtime/create-runtime.js +0 -641
- package/dist/runtime/debug-bridge.d.ts +0 -257
- package/dist/runtime/debug-bridge.d.ts.map +0 -1
- package/dist/runtime/debug-bridge.js +0 -224
- package/dist/runtime/debug-registry.d.ts +0 -288
- package/dist/runtime/debug-registry.d.ts.map +0 -1
- package/dist/runtime/debug-registry.js +0 -513
- package/dist/runtime/frame-selector-cache.d.ts +0 -41
- package/dist/runtime/frame-selector-cache.d.ts.map +0 -1
- package/dist/runtime/frame-selector-cache.js +0 -65
- package/dist/runtime/game.d.ts +0 -496
- package/dist/runtime/game.d.ts.map +0 -1
- package/dist/runtime/game.js +0 -741
- package/dist/runtime/gameplay-rng-trap.d.ts +0 -48
- package/dist/runtime/gameplay-rng-trap.d.ts.map +0 -1
- package/dist/runtime/gameplay-rng-trap.js +0 -96
- package/dist/runtime/input-router.d.ts +0 -78
- package/dist/runtime/input-router.d.ts.map +0 -1
- package/dist/runtime/input-router.js +0 -171
- package/dist/runtime/mount-game.d.ts +0 -129
- package/dist/runtime/mount-game.d.ts.map +0 -1
- package/dist/runtime/mount-game.js +0 -152
- package/dist/runtime/mount-manifest.d.ts +0 -173
- package/dist/runtime/mount-manifest.d.ts.map +0 -1
- package/dist/runtime/mount-manifest.js +0 -297
- package/dist/runtime/render-audio-control.d.ts +0 -110
- package/dist/runtime/render-audio-control.d.ts.map +0 -1
- package/dist/runtime/render-audio-control.js +0 -111
- package/dist/runtime/render-control.d.ts +0 -291
- package/dist/runtime/render-control.d.ts.map +0 -1
- package/dist/runtime/render-control.js +0 -264
- package/dist/runtime/render-seed.d.ts +0 -57
- package/dist/runtime/render-seed.d.ts.map +0 -1
- package/dist/runtime/render-seed.js +0 -74
- package/dist/runtime/state-bridge.d.ts +0 -61
- package/dist/runtime/state-bridge.d.ts.map +0 -1
- package/dist/runtime/state-bridge.js +0 -63
- package/dist/runtime/types.d.ts +0 -253
- package/dist/runtime/types.d.ts.map +0 -1
- package/dist/runtime/types.js +0 -1
- package/dist/scene/asset-loaders.d.ts +0 -79
- package/dist/scene/asset-loaders.d.ts.map +0 -1
- package/dist/scene/asset-loaders.js +0 -141
- package/dist/scene/asset-paths.d.ts +0 -11
- package/dist/scene/asset-paths.d.ts.map +0 -1
- package/dist/scene/asset-paths.js +0 -108
- package/dist/scene/asset-ref-check.d.ts +0 -88
- package/dist/scene/asset-ref-check.d.ts.map +0 -1
- package/dist/scene/asset-ref-check.js +0 -214
- package/dist/scene/asset-registry.d.ts +0 -38
- package/dist/scene/asset-registry.d.ts.map +0 -1
- package/dist/scene/asset-registry.js +0 -66
- package/dist/scene/collider-dimensions.d.ts +0 -63
- package/dist/scene/collider-dimensions.d.ts.map +0 -1
- package/dist/scene/collider-dimensions.js +0 -98
- package/dist/scene/component-registry.d.ts +0 -22
- package/dist/scene/component-registry.d.ts.map +0 -1
- package/dist/scene/component-registry.js +0 -37
- package/dist/scene/defaults.d.ts +0 -252
- package/dist/scene/defaults.d.ts.map +0 -1
- package/dist/scene/defaults.js +0 -151
- package/dist/scene/geometries/index.d.ts +0 -8
- package/dist/scene/geometries/index.d.ts.map +0 -1
- package/dist/scene/geometries/index.js +0 -7
- package/dist/scene/geometries/terrain.d.ts +0 -2
- package/dist/scene/geometries/terrain.d.ts.map +0 -1
- package/dist/scene/geometries/terrain.js +0 -37
- package/dist/scene/geometry-registry.d.ts +0 -24
- package/dist/scene/geometry-registry.d.ts.map +0 -1
- package/dist/scene/geometry-registry.js +0 -20
- package/dist/scene/instance-registry.d.ts +0 -36
- package/dist/scene/instance-registry.d.ts.map +0 -1
- package/dist/scene/instance-registry.js +0 -55
- package/dist/scene/instancers/grid.d.ts +0 -2
- package/dist/scene/instancers/grid.d.ts.map +0 -1
- package/dist/scene/instancers/grid.js +0 -36
- package/dist/scene/instancers/index.d.ts +0 -8
- package/dist/scene/instancers/index.d.ts.map +0 -1
- package/dist/scene/instancers/index.js +0 -7
- package/dist/scene/light-camera-factory.d.ts +0 -23
- package/dist/scene/light-camera-factory.d.ts.map +0 -1
- package/dist/scene/light-camera-factory.js +0 -68
- package/dist/scene/material-factory.d.ts +0 -17
- package/dist/scene/material-factory.d.ts.map +0 -1
- package/dist/scene/material-factory.js +0 -197
- package/dist/scene/material-registry.d.ts +0 -40
- package/dist/scene/material-registry.d.ts.map +0 -1
- package/dist/scene/material-registry.js +0 -44
- package/dist/scene/materials/index.d.ts +0 -8
- package/dist/scene/materials/index.d.ts.map +0 -1
- package/dist/scene/materials/index.js +0 -7
- package/dist/scene/materials/water.d.ts +0 -2
- package/dist/scene/materials/water.d.ts.map +0 -1
- package/dist/scene/materials/water.js +0 -54
- package/dist/scene/parse.d.ts +0 -23
- package/dist/scene/parse.d.ts.map +0 -1
- package/dist/scene/parse.js +0 -179
- package/dist/scene/particles-factory.d.ts +0 -33
- package/dist/scene/particles-factory.d.ts.map +0 -1
- package/dist/scene/particles-factory.js +0 -282
- package/dist/scene/scene-apply.d.ts +0 -109
- package/dist/scene/scene-apply.d.ts.map +0 -1
- package/dist/scene/scene-apply.js +0 -370
- package/dist/scene/scene-diff-schema.d.ts +0 -285
- package/dist/scene/scene-diff-schema.d.ts.map +0 -1
- package/dist/scene/scene-diff-schema.js +0 -92
- package/dist/scene/scene-diff-types.d.ts +0 -40
- package/dist/scene/scene-diff-types.d.ts.map +0 -1
- package/dist/scene/scene-diff-types.js +0 -14
- package/dist/scene/scene-loader.d.ts +0 -167
- package/dist/scene/scene-loader.d.ts.map +0 -1
- package/dist/scene/scene-loader.js +0 -1211
- package/dist/scene/scene-query.d.ts +0 -11
- package/dist/scene/scene-query.d.ts.map +0 -1
- package/dist/scene/scene-query.js +0 -63
- package/dist/scene/scene-types.d.ts +0 -10
- package/dist/scene/scene-types.d.ts.map +0 -1
- package/dist/scene/scene-types.js +0 -8
- package/dist/scene/scene-version.d.ts +0 -26
- package/dist/scene/scene-version.d.ts.map +0 -1
- package/dist/scene/scene-version.js +0 -34
- package/dist/scene/schema/animation.d.ts +0 -8
- package/dist/scene/schema/animation.d.ts.map +0 -1
- package/dist/scene/schema/animation.js +0 -42
- package/dist/scene/schema/audio.d.ts +0 -13
- package/dist/scene/schema/audio.d.ts.map +0 -1
- package/dist/scene/schema/audio.js +0 -22
- package/dist/scene/schema/camera.d.ts +0 -28
- package/dist/scene/schema/camera.d.ts.map +0 -1
- package/dist/scene/schema/camera.js +0 -17
- package/dist/scene/schema/collider.d.ts +0 -40
- package/dist/scene/schema/collider.d.ts.map +0 -1
- package/dist/scene/schema/collider.js +0 -55
- package/dist/scene/schema/entity-ref.d.ts +0 -31
- package/dist/scene/schema/entity-ref.d.ts.map +0 -1
- package/dist/scene/schema/entity-ref.js +0 -61
- package/dist/scene/schema/entity.d.ts +0 -1036
- package/dist/scene/schema/entity.d.ts.map +0 -1
- package/dist/scene/schema/entity.js +0 -153
- package/dist/scene/schema/environment.d.ts +0 -425
- package/dist/scene/schema/environment.d.ts.map +0 -1
- package/dist/scene/schema/environment.js +0 -357
- package/dist/scene/schema/index.d.ts +0 -37
- package/dist/scene/schema/index.d.ts.map +0 -1
- package/dist/scene/schema/index.js +0 -19
- package/dist/scene/schema/instances.d.ts +0 -14
- package/dist/scene/schema/instances.d.ts.map +0 -1
- package/dist/scene/schema/instances.js +0 -28
- package/dist/scene/schema/joint.d.ts +0 -23
- package/dist/scene/schema/joint.d.ts.map +0 -1
- package/dist/scene/schema/joint.js +0 -23
- package/dist/scene/schema/light.d.ts +0 -38
- package/dist/scene/schema/light.d.ts.map +0 -1
- package/dist/scene/schema/light.js +0 -26
- package/dist/scene/schema/material.d.ts +0 -199
- package/dist/scene/schema/material.d.ts.map +0 -1
- package/dist/scene/schema/material.js +0 -103
- package/dist/scene/schema/mesh.d.ts +0 -48
- package/dist/scene/schema/mesh.d.ts.map +0 -1
- package/dist/scene/schema/mesh.js +0 -82
- package/dist/scene/schema/particles.d.ts +0 -2178
- package/dist/scene/schema/particles.d.ts.map +0 -1
- package/dist/scene/schema/particles.js +0 -321
- package/dist/scene/schema/physics.d.ts +0 -56
- package/dist/scene/schema/physics.d.ts.map +0 -1
- package/dist/scene/schema/physics.js +0 -37
- package/dist/scene/schema/scene-file.d.ts +0 -303
- package/dist/scene/schema/scene-file.d.ts.map +0 -1
- package/dist/scene/schema/scene-file.js +0 -256
- package/dist/scene/schema/shadow.d.ts +0 -28
- package/dist/scene/schema/shadow.d.ts.map +0 -1
- package/dist/scene/schema/shadow.js +0 -20
- package/dist/scene/schema/spline.d.ts +0 -25
- package/dist/scene/schema/spline.d.ts.map +0 -1
- package/dist/scene/schema/spline.js +0 -15
- package/dist/scene/schema/tuples.d.ts +0 -12
- package/dist/scene/schema/tuples.d.ts.map +0 -1
- package/dist/scene/schema/tuples.js +0 -14
- package/dist/scene/user-data.d.ts +0 -185
- package/dist/scene/user-data.d.ts.map +0 -1
- package/dist/scene/user-data.js +0 -144
- package/dist/setup/setup-audio.d.ts +0 -20
- package/dist/setup/setup-audio.d.ts.map +0 -1
- package/dist/setup/setup-audio.js +0 -41
- package/dist/setup/setup-particles.d.ts +0 -17
- package/dist/setup/setup-particles.d.ts.map +0 -1
- package/dist/setup/setup-particles.js +0 -16
- package/dist/setup/setup-physics.d.ts +0 -25
- package/dist/setup/setup-physics.d.ts.map +0 -1
- package/dist/setup/setup-physics.js +0 -51
- package/dist/setup/setup-renderer.d.ts +0 -69
- package/dist/setup/setup-renderer.d.ts.map +0 -1
- package/dist/setup/setup-renderer.js +0 -363
- package/dist/tools/define-tool.d.ts +0 -130
- package/dist/tools/define-tool.d.ts.map +0 -1
- package/dist/tools/define-tool.js +0 -96
- package/dist/world2d/authoring-2d.d.ts +0 -80
- package/dist/world2d/authoring-2d.d.ts.map +0 -1
- package/dist/world2d/authoring-2d.js +0 -195
- package/dist/world2d/capture-to-scene2d.d.ts +0 -5
- package/dist/world2d/capture-to-scene2d.d.ts.map +0 -1
- package/dist/world2d/capture-to-scene2d.js +0 -49
- package/dist/world2d/collision-2d.d.ts +0 -52
- package/dist/world2d/collision-2d.d.ts.map +0 -1
- package/dist/world2d/collision-2d.js +0 -70
- package/dist/world2d/components-2d.d.ts +0 -47
- package/dist/world2d/components-2d.d.ts.map +0 -1
- package/dist/world2d/components-2d.js +0 -77
- package/dist/world2d/index.d.ts +0 -34
- package/dist/world2d/index.d.ts.map +0 -1
- package/dist/world2d/index.js +0 -32
- package/dist/world2d/ingest-iframe-2d.d.ts +0 -82
- package/dist/world2d/ingest-iframe-2d.d.ts.map +0 -1
- package/dist/world2d/ingest-iframe-2d.js +0 -166
- package/dist/world2d/ingest2d.d.ts +0 -97
- package/dist/world2d/ingest2d.d.ts.map +0 -1
- package/dist/world2d/ingest2d.js +0 -40
- package/dist/world2d/physics2d-registry.d.ts +0 -24
- package/dist/world2d/physics2d-registry.d.ts.map +0 -1
- package/dist/world2d/physics2d-registry.js +0 -38
- package/dist/world2d/pixi-game-adapter.d.ts +0 -107
- package/dist/world2d/pixi-game-adapter.d.ts.map +0 -1
- package/dist/world2d/pixi-game-adapter.js +0 -210
- package/dist/world2d/pixi-surface.d.ts +0 -39
- package/dist/world2d/pixi-surface.d.ts.map +0 -1
- package/dist/world2d/pixi-surface.js +0 -47
- package/dist/world2d/scene-capture-2d.d.ts +0 -43
- package/dist/world2d/scene-capture-2d.d.ts.map +0 -1
- package/dist/world2d/scene-capture-2d.js +0 -92
- package/dist/world2d/scene2d-loader.d.ts +0 -27
- package/dist/world2d/scene2d-loader.d.ts.map +0 -1
- package/dist/world2d/scene2d-loader.js +0 -275
- package/dist/world2d/schema/entity2d.d.ts +0 -102
- package/dist/world2d/schema/entity2d.d.ts.map +0 -1
- package/dist/world2d/schema/entity2d.js +0 -119
- package/dist/world2d/schema/physics2d.d.ts +0 -46
- package/dist/world2d/schema/physics2d.d.ts.map +0 -1
- package/dist/world2d/schema/physics2d.js +0 -45
- package/dist/world2d/schema/sprite.d.ts +0 -42
- package/dist/world2d/schema/sprite.d.ts.map +0 -1
- package/dist/world2d/schema/sprite.js +0 -63
- package/dist/world2d/schema/tilemap.d.ts +0 -15
- package/dist/world2d/schema/tilemap.d.ts.map +0 -1
- package/dist/world2d/schema/tilemap.js +0 -19
- package/dist/world2d/schema/tuples2d.d.ts +0 -20
- package/dist/world2d/schema/tuples2d.d.ts.map +0 -1
- package/dist/world2d/schema/tuples2d.js +0 -19
- package/dist/world2d/system-adapters-2d.d.ts +0 -16
- package/dist/world2d/system-adapters-2d.d.ts.map +0 -1
- package/dist/world2d/system-adapters-2d.js +0 -37
- package/dist/world2d/transform-writer-2d.d.ts +0 -16
- package/dist/world2d/transform-writer-2d.d.ts.map +0 -1
- package/dist/world2d/transform-writer-2d.js +0 -22
- package/dist/world2d/types.d.ts +0 -59
- package/dist/world2d/types.d.ts.map +0 -1
- package/dist/world2d/types.js +0 -1
package/dist/input/schema.js
DELETED
|
@@ -1,228 +0,0 @@
|
|
|
1
|
-
// T4.6 — the `.inputmap.json` schema.
|
|
2
|
-
//
|
|
3
|
-
// Was TS-types-only (`input-types.ts`) until T4.6 authored this Zod schema —
|
|
4
|
-
// see docs/BACKBONE-TASKS.md T4.6. `InputManager.loadMap` (input-manager.ts)
|
|
5
|
-
// is this schema's runtime reader: it parses via this schema, then copies
|
|
6
|
-
// each action's `bindings` array (and its declared `valueType`, F1) straight
|
|
7
|
-
// into `this.actions`/`this.actionValueTypes`.
|
|
8
|
-
//
|
|
9
|
-
// Every field has a `.describe()` (repo policy — powers
|
|
10
|
-
// `scripts/generate-schema.ts` and the T4.1/T4.6 schema-walk coverage test).
|
|
11
|
-
// No runtime dependency beyond `zod`, matching the `scene/schema/` and
|
|
12
|
-
// `manifest/schema.ts` precedent.
|
|
13
|
-
//
|
|
14
|
-
// T4.1 history (now closed by F2): `mouse_move` and `gamepad_axis_pair` were
|
|
15
|
-
// authored-but-unhandled binding kinds — REJECTED at parse via a `.superRefine`
|
|
16
|
-
// that threw naming the field, mirroring the `scene/schema/ui.ts` dead-field
|
|
17
|
-
// mechanism. F2 (spec §12 "Complete Device Backends") un-rejects both: real
|
|
18
|
-
// `InputManager` readers now exist for them (`collectPointerDeltaContributions`/
|
|
19
|
-
// `collectVector2Contributions` — `mouse_move` feeds pointerDelta/vector2 from
|
|
20
|
-
// the existing mouseDelta accumulator; `gamepad_axis_pair` feeds vector2 from
|
|
21
|
-
// the coupled `xAxis`/`yAxis` gamepad reading). F2 also adds two new LIVE
|
|
22
|
-
// binding kinds, `touch_button`/`touch_stick` (the touch/virtual-control
|
|
23
|
-
// backend — see `InputManager.setTouchButton`/`setTouchStick`).
|
|
24
|
-
//
|
|
25
|
-
// F1 (spec §12 "Define Typed Action Values") adds:
|
|
26
|
-
// - `InputAction.valueType` — an action now DECLARES its value shape
|
|
27
|
-
// (`digital`/`scalar`/`vector2`/`pointerDelta`/`pointerPosition`),
|
|
28
|
-
// defaulted to `digital` so every pre-F1 action stays valid unchanged.
|
|
29
|
-
// - four new, LIVE (not dead-rejected) binding kinds — `test_axis`,
|
|
30
|
-
// `test_vector2`, `test_pointer_delta`, `test_pointer_position` — the
|
|
31
|
-
// "injected test input" backend F2's acceptance criteria names as a
|
|
32
|
-
// peer of keyboard/mouse/gamepad/touch. They read back a caller-injected
|
|
33
|
-
// raw value (InputManager.injectAxis/injectVector2/injectPointerDelta/
|
|
34
|
-
// injectPointerPosition) through the SAME deadzone/normalize/combine path
|
|
35
|
-
// real device bindings use.
|
|
36
|
-
import { z } from 'zod';
|
|
37
|
-
const KeyBindingSchema = z.object({
|
|
38
|
-
type: z.literal('key').describe('Binding kind: a keyboard key (KeyboardEvent.code)'),
|
|
39
|
-
code: z.string().describe('KeyboardEvent.code value, e.g. "KeyW", "Space", "ArrowUp"'),
|
|
40
|
-
});
|
|
41
|
-
const MouseButtonBindingSchema = z.object({
|
|
42
|
-
type: z.literal('mouse_button').describe('Binding kind: a mouse button'),
|
|
43
|
-
button: z.number().describe('MouseEvent.button index (0 = left, 1 = middle, 2 = right)'),
|
|
44
|
-
});
|
|
45
|
-
const MouseMoveBindingSchema = z.object({
|
|
46
|
-
type: z
|
|
47
|
-
.literal('mouse_move')
|
|
48
|
-
.describe('Binding kind: raw mouse movement (F2, spec §12 "Complete Device Backends"). Feeds a ' +
|
|
49
|
-
"'pointerDelta'-valueType action with the raw accumulated mouse delta (no deadzone), and " +
|
|
50
|
-
"can also feed a 'vector2'-valueType action (the same delta, radial-deadzoned + unit-" +
|
|
51
|
-
'circle-clamped via `deadzone`).'),
|
|
52
|
-
deadzone: z
|
|
53
|
-
.number()
|
|
54
|
-
.optional()
|
|
55
|
-
.describe("Radial deadzone magnitude applied only when this binding feeds a 'vector2'-valueType " +
|
|
56
|
-
"action (default 0 — no deadzone; ignored for 'pointerDelta' reads, which are never " +
|
|
57
|
-
'deadzoned).'),
|
|
58
|
-
});
|
|
59
|
-
const GamepadButtonBindingSchema = z.object({
|
|
60
|
-
type: z.literal('gamepad_button').describe('Binding kind: a gamepad face/shoulder button'),
|
|
61
|
-
button: z.number().describe('Standard Gamepad API button index'),
|
|
62
|
-
});
|
|
63
|
-
const GamepadAxisBindingSchema = z.object({
|
|
64
|
-
type: z.literal('gamepad_axis').describe('Binding kind: a single thresholded gamepad axis'),
|
|
65
|
-
axis: z.number().describe('Standard Gamepad API axis index'),
|
|
66
|
-
direction: z
|
|
67
|
-
.enum(['positive', 'negative'])
|
|
68
|
-
.describe('Which side of the deadzone counts as "pressed"'),
|
|
69
|
-
deadzone: z.number().optional().describe('Deadzone magnitude (default 0.15 if omitted)'),
|
|
70
|
-
});
|
|
71
|
-
const GamepadAxisPairBindingSchema = z.object({
|
|
72
|
-
type: z
|
|
73
|
-
.literal('gamepad_axis_pair')
|
|
74
|
-
.describe('Binding kind: a coupled (x, y) gamepad axis pair, e.g. a stick used as a 2D vector ' +
|
|
75
|
-
'(look/aim/movement) (F2, spec §12 "Complete Device Backends"). Feeds a ' +
|
|
76
|
-
"'vector2'-valueType action: (xAxis, yAxis) read together, radial-deadzoned + unit-" +
|
|
77
|
-
'circle-clamped the same way a real analog stick is.'),
|
|
78
|
-
xAxis: z.number().describe('Standard Gamepad API axis index for the X component'),
|
|
79
|
-
yAxis: z.number().describe('Standard Gamepad API axis index for the Y component'),
|
|
80
|
-
deadzone: z.number().optional().describe('Deadzone magnitude (default 0.15 if omitted)'),
|
|
81
|
-
});
|
|
82
|
-
// ---------------------------------------------------------------------------
|
|
83
|
-
// F1 (spec §12) — injected test input bindings. LIVE (real runtime readers in
|
|
84
|
-
// InputManager's getScalar/getVector2/getPointerDelta/getPointerPosition),
|
|
85
|
-
// unlike the two dead stubs above. Foreshadows F2's "injected test input"
|
|
86
|
-
// backend: real device kinds F2 adds later feed the same typed-value
|
|
87
|
-
// aggregation path these exercise today.
|
|
88
|
-
// ---------------------------------------------------------------------------
|
|
89
|
-
const TestAxisBindingSchema = z.object({
|
|
90
|
-
type: z
|
|
91
|
-
.literal('test_axis')
|
|
92
|
-
.describe("Binding kind: an injected synthetic scalar value for a 'scalar'-valueType action " +
|
|
93
|
-
'(InputManager.injectAxis/getScalar) — the "injected test input" backend named in F2, ' +
|
|
94
|
-
"built in F1 as the typed scalar value model's testable source."),
|
|
95
|
-
sourceId: z
|
|
96
|
-
.string()
|
|
97
|
-
.describe('Names the injected test source this binding reads (InputManager.injectAxis).'),
|
|
98
|
-
deadzone: z
|
|
99
|
-
.number()
|
|
100
|
-
.optional()
|
|
101
|
-
.describe('1D deadzone magnitude applied to the injected raw value before combine (default 0 — no ' +
|
|
102
|
-
'deadzone). Values below it read as 0; values at/above it rescale from 0 (at the ' +
|
|
103
|
-
'deadzone edge) to ±1 (at |raw| = 1), sign preserved.'),
|
|
104
|
-
});
|
|
105
|
-
const TestVector2BindingSchema = z.object({
|
|
106
|
-
type: z
|
|
107
|
-
.literal('test_vector2')
|
|
108
|
-
.describe("Binding kind: an injected synthetic {x,y} value for a 'vector2'-valueType action " +
|
|
109
|
-
'(InputManager.injectVector2/getVector2) — the "injected test input" backend named in ' +
|
|
110
|
-
"F2, built in F1 as the typed Vector2 value model's testable source."),
|
|
111
|
-
sourceId: z
|
|
112
|
-
.string()
|
|
113
|
-
.describe('Names the injected test source this binding reads (InputManager.injectVector2).'),
|
|
114
|
-
deadzone: z
|
|
115
|
-
.number()
|
|
116
|
-
.optional()
|
|
117
|
-
.describe('Radial deadzone magnitude applied to the injected raw {x,y} before combine (default 0 ' +
|
|
118
|
-
'— no deadzone). Vectors whose magnitude is below it read as {0,0}; at/above it, ' +
|
|
119
|
-
'direction is preserved and magnitude rescales the same way the scalar deadzone does, ' +
|
|
120
|
-
'then the result is clamped to the unit circle (magnitude <= 1).'),
|
|
121
|
-
});
|
|
122
|
-
const TestPointerDeltaBindingSchema = z.object({
|
|
123
|
-
type: z
|
|
124
|
-
.literal('test_pointer_delta')
|
|
125
|
-
.describe("Binding kind: an injected synthetic per-frame {x,y} delta for a 'pointerDelta'-" +
|
|
126
|
-
'valueType action (InputManager.injectPointerDelta/getPointerDelta) — the "injected ' +
|
|
127
|
-
'test input" backend named in F2. No deadzone (deltas are not deadzoned).'),
|
|
128
|
-
sourceId: z
|
|
129
|
-
.string()
|
|
130
|
-
.describe('Names the injected test source this binding reads (InputManager.injectPointerDelta).'),
|
|
131
|
-
});
|
|
132
|
-
const TestPointerPositionBindingSchema = z.object({
|
|
133
|
-
type: z
|
|
134
|
-
.literal('test_pointer_position')
|
|
135
|
-
.describe("Binding kind: an injected synthetic absolute {x,y} position for a 'pointerPosition'-" +
|
|
136
|
-
'valueType action (InputManager.injectPointerPosition/getPointerPosition) — the ' +
|
|
137
|
-
'"injected test input" backend named in F2.'),
|
|
138
|
-
sourceId: z
|
|
139
|
-
.string()
|
|
140
|
-
.describe('Names the injected test source this binding reads (InputManager.injectPointerPosition).'),
|
|
141
|
-
});
|
|
142
|
-
// ---------------------------------------------------------------------------
|
|
143
|
-
// F2 (spec §12 "Complete Device Backends") — touch/virtual-control bindings.
|
|
144
|
-
// LIVE (real runtime readers in InputManager's isPressed/isJustPressed/
|
|
145
|
-
// isJustReleased/getDigitalSource and getVector2), driven by
|
|
146
|
-
// InputManager.setTouchButton/setTouchStick — the headless-testable
|
|
147
|
-
// injectable entry points a real on-screen touch-control UI's own
|
|
148
|
-
// touchstart/touchmove/touchend handlers would call (that DOM wiring is a
|
|
149
|
-
// thin adapter at the edge, out of scope here — see input-manager.ts).
|
|
150
|
-
// ---------------------------------------------------------------------------
|
|
151
|
-
const TouchButtonBindingSchema = z.object({
|
|
152
|
-
type: z
|
|
153
|
-
.literal('touch_button')
|
|
154
|
-
.describe("Binding kind: a virtual on-screen button for a 'digital' action " +
|
|
155
|
-
'(InputManager.setTouchButton/isPressed) — edge-tracked (isJustPressed/isJustReleased) ' +
|
|
156
|
-
'the same way a real mouse/keyboard button is.'),
|
|
157
|
-
sourceId: z
|
|
158
|
-
.string()
|
|
159
|
-
.describe('Names the virtual control zone this binding reads (InputManager.setTouchButton) — a ' +
|
|
160
|
-
'touch-UI-chosen id, not a real device index.'),
|
|
161
|
-
});
|
|
162
|
-
const TouchStickBindingSchema = z.object({
|
|
163
|
-
type: z
|
|
164
|
-
.literal('touch_stick')
|
|
165
|
-
.describe("Binding kind: a virtual on-screen analog stick for a 'vector2' action " +
|
|
166
|
-
'(InputManager.setTouchStick/getVector2) — radial-deadzoned + unit-circle-clamped the ' +
|
|
167
|
-
'same way a real gamepad stick is.'),
|
|
168
|
-
sourceId: z
|
|
169
|
-
.string()
|
|
170
|
-
.describe('Names the virtual control zone this binding reads (InputManager.setTouchStick) — a ' +
|
|
171
|
-
'touch-UI-chosen id, not a real device index.'),
|
|
172
|
-
deadzone: z
|
|
173
|
-
.number()
|
|
174
|
-
.optional()
|
|
175
|
-
.describe('Radial deadzone magnitude applied to the raw {x,y} before combine (default 0 — no ' +
|
|
176
|
-
'deadzone).'),
|
|
177
|
-
});
|
|
178
|
-
/** A single input binding. Every kind listed here is LIVE — F2 (spec §12) closed the last two
|
|
179
|
-
* dead stubs (`mouse_move`/`gamepad_axis_pair`) by giving both real `InputManager` readers. */
|
|
180
|
-
export const InputBindingSchema = z.discriminatedUnion('type', [
|
|
181
|
-
KeyBindingSchema,
|
|
182
|
-
MouseButtonBindingSchema,
|
|
183
|
-
MouseMoveBindingSchema,
|
|
184
|
-
GamepadButtonBindingSchema,
|
|
185
|
-
GamepadAxisBindingSchema,
|
|
186
|
-
GamepadAxisPairBindingSchema,
|
|
187
|
-
TestAxisBindingSchema,
|
|
188
|
-
TestVector2BindingSchema,
|
|
189
|
-
TestPointerDeltaBindingSchema,
|
|
190
|
-
TestPointerPositionBindingSchema,
|
|
191
|
-
TouchButtonBindingSchema,
|
|
192
|
-
TouchStickBindingSchema,
|
|
193
|
-
]);
|
|
194
|
-
/** An action has a name (the record key) and one or more bindings. */
|
|
195
|
-
export const InputActionSchema = z.object({
|
|
196
|
-
valueType: z
|
|
197
|
-
.enum(['digital', 'scalar', 'vector2', 'pointerDelta', 'pointerPosition'])
|
|
198
|
-
.default('digital')
|
|
199
|
-
.describe("This action's declared value shape (F1, spec §12). 'digital' (boolean, with " +
|
|
200
|
-
'pressed/justPressed/justReleased edges) is the default when omitted, matching every ' +
|
|
201
|
-
"action authored before F1. 'scalar' is a single deadzone-rescaled float axis. " +
|
|
202
|
-
"'vector2' is a radial-deadzoned, unit-circle-normalized {x,y}. 'pointerDelta' is a " +
|
|
203
|
-
"per-frame {x,y} movement delta, summed across sources. 'pointerPosition' is an " +
|
|
204
|
-
'absolute {x,y}, last-write-wins across sources. InputManager enforces this at read ' +
|
|
205
|
-
'time: reading an action through the wrong typed getter (e.g. getScalar on a ' +
|
|
206
|
-
"'digital' action) throws."),
|
|
207
|
-
bindings: z
|
|
208
|
-
.array(InputBindingSchema)
|
|
209
|
-
.describe('Bindings that all trigger/feed this action. Digital actions combine via OR (any one ' +
|
|
210
|
-
'binding satisfied is enough). Scalar actions combine via max-magnitude across ' +
|
|
211
|
-
'contributing bindings (ties keep the first-listed binding). Vector2 actions combine ' +
|
|
212
|
-
'by summing contributing {x,y} values then clamping to the unit circle. PointerDelta ' +
|
|
213
|
-
'actions sum contributing deltas. PointerPosition actions use the most-recently-' +
|
|
214
|
-
'written contributing source (last-write-wins).'),
|
|
215
|
-
});
|
|
216
|
-
/**
|
|
217
|
-
* The `.inputmap.json` file format (`InputManager.loadMap`).
|
|
218
|
-
*
|
|
219
|
-
* `version` is RESERVED (no range-check reader exists yet for this format —
|
|
220
|
-
* same convention `2d.version`/`Scene2DSchema` used before T2.3 gave the 3D
|
|
221
|
-
* scene version axis a real reader; see `schema-consumption-map.ts`).
|
|
222
|
-
*/
|
|
223
|
-
export const InputMapFileSchema = z.object({
|
|
224
|
-
version: z.number().describe('Input map file format version (RESERVED — no range check yet)'),
|
|
225
|
-
actions: z
|
|
226
|
-
.record(z.string(), InputActionSchema)
|
|
227
|
-
.describe('Named actions, each with a list of bindings (InputManager.loadMap)'),
|
|
228
|
-
});
|
package/dist/loader.d.ts
DELETED
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Shared asset loading infrastructure.
|
|
3
|
-
*
|
|
4
|
-
* Provides a single LoadingManager (for Three.js loaders) and resolveUrl()
|
|
5
|
-
* (for raw fetch calls) so that all engine asset requests go through one
|
|
6
|
-
* configurable URL prefix. Call setAssetPrefix() once at runtime startup.
|
|
7
|
-
*
|
|
8
|
-
* Three.js loaders constructed with `loadingManager` automatically rewrite
|
|
9
|
-
* URLs via setURLModifier(). For raw fetch() calls, wrap the URL with
|
|
10
|
-
* resolveUrl() to apply the same prefix.
|
|
11
|
-
*/
|
|
12
|
-
import * as THREE from 'three';
|
|
13
|
-
import { DRACOLoader } from 'three/addons/loaders/DRACOLoader.js';
|
|
14
|
-
import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js';
|
|
15
|
-
/** Shared Three.js LoadingManager — all engine loaders should use this. */
|
|
16
|
-
export declare const loadingManager: THREE.LoadingManager;
|
|
17
|
-
/** Pre-configured TextureLoader using the shared manager. */
|
|
18
|
-
export declare const textureLoader: THREE.TextureLoader;
|
|
19
|
-
/**
|
|
20
|
-
* Shared DRACOLoader for decoding DRACO-compressed GLTF/GLB meshes.
|
|
21
|
-
*
|
|
22
|
-
* The decoder wasm/js is vendored under
|
|
23
|
-
* packages/editor/template/public/jsm/libs/draco/gltf/ and served at the
|
|
24
|
-
* absolute runtime path '/jsm/libs/draco/gltf/' (DRACOLoader appends
|
|
25
|
-
* draco_wasm_wrapper.js / draco_decoder.wasm to this path). This is an
|
|
26
|
-
* absolute path, so it deliberately does NOT go through the asset prefix —
|
|
27
|
-
* the decoder is engine infrastructure, not a scene asset.
|
|
28
|
-
*/
|
|
29
|
-
export declare const dracoLoader: DRACOLoader;
|
|
30
|
-
/** Pre-configured GLTFLoader using the shared manager, with DRACO decoding wired in. */
|
|
31
|
-
export declare const gltfLoader: GLTFLoader;
|
|
32
|
-
/**
|
|
33
|
-
* Set the URL prefix prepended to relative asset paths.
|
|
34
|
-
* Called once by createGameRuntime(). Defaults to '/'.
|
|
35
|
-
*/
|
|
36
|
-
export declare function setAssetPrefix(prefix: string): void;
|
|
37
|
-
/**
|
|
38
|
-
* Resolve a relative asset URL using the current prefix.
|
|
39
|
-
* Use this for raw fetch() calls — Three.js loaders using
|
|
40
|
-
* `loadingManager` handle this automatically.
|
|
41
|
-
*/
|
|
42
|
-
export declare function resolveUrl(url: string): string;
|
|
43
|
-
//# sourceMappingURL=loader.d.ts.map
|
package/dist/loader.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAgBhE,2EAA2E;AAC3E,eAAO,MAAM,cAAc,sBAA6B,CAAC;AAGzD,6DAA6D;AAC7D,eAAO,MAAM,aAAa,qBAA0C,CAAC;AAErE;;;;;;;;;GASG;AACH,eAAO,MAAM,WAAW,aAAkC,CAAC;AAG3D,wFAAwF;AACxF,eAAO,MAAM,UAAU,YAAiC,CAAC;AAGzD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAEnD;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE9C"}
|
package/dist/loader.js
DELETED
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Shared asset loading infrastructure.
|
|
3
|
-
*
|
|
4
|
-
* Provides a single LoadingManager (for Three.js loaders) and resolveUrl()
|
|
5
|
-
* (for raw fetch calls) so that all engine asset requests go through one
|
|
6
|
-
* configurable URL prefix. Call setAssetPrefix() once at runtime startup.
|
|
7
|
-
*
|
|
8
|
-
* Three.js loaders constructed with `loadingManager` automatically rewrite
|
|
9
|
-
* URLs via setURLModifier(). For raw fetch() calls, wrap the URL with
|
|
10
|
-
* resolveUrl() to apply the same prefix.
|
|
11
|
-
*/
|
|
12
|
-
import * as THREE from 'three';
|
|
13
|
-
import { DRACOLoader } from 'three/addons/loaders/DRACOLoader.js';
|
|
14
|
-
import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js';
|
|
15
|
-
let _prefix = '/';
|
|
16
|
-
function rewriteUrl(url) {
|
|
17
|
-
if (url.startsWith('/') ||
|
|
18
|
-
url.startsWith('http') ||
|
|
19
|
-
url.startsWith('data:') ||
|
|
20
|
-
url.startsWith('blob:')) {
|
|
21
|
-
return url;
|
|
22
|
-
}
|
|
23
|
-
return _prefix + url;
|
|
24
|
-
}
|
|
25
|
-
/** Shared Three.js LoadingManager — all engine loaders should use this. */
|
|
26
|
-
export const loadingManager = new THREE.LoadingManager();
|
|
27
|
-
loadingManager.setURLModifier(rewriteUrl);
|
|
28
|
-
/** Pre-configured TextureLoader using the shared manager. */
|
|
29
|
-
export const textureLoader = new THREE.TextureLoader(loadingManager);
|
|
30
|
-
/**
|
|
31
|
-
* Shared DRACOLoader for decoding DRACO-compressed GLTF/GLB meshes.
|
|
32
|
-
*
|
|
33
|
-
* The decoder wasm/js is vendored under
|
|
34
|
-
* packages/editor/template/public/jsm/libs/draco/gltf/ and served at the
|
|
35
|
-
* absolute runtime path '/jsm/libs/draco/gltf/' (DRACOLoader appends
|
|
36
|
-
* draco_wasm_wrapper.js / draco_decoder.wasm to this path). This is an
|
|
37
|
-
* absolute path, so it deliberately does NOT go through the asset prefix —
|
|
38
|
-
* the decoder is engine infrastructure, not a scene asset.
|
|
39
|
-
*/
|
|
40
|
-
export const dracoLoader = new DRACOLoader(loadingManager);
|
|
41
|
-
dracoLoader.setDecoderPath('/jsm/libs/draco/gltf/');
|
|
42
|
-
/** Pre-configured GLTFLoader using the shared manager, with DRACO decoding wired in. */
|
|
43
|
-
export const gltfLoader = new GLTFLoader(loadingManager);
|
|
44
|
-
gltfLoader.setDRACOLoader(dracoLoader);
|
|
45
|
-
/**
|
|
46
|
-
* Set the URL prefix prepended to relative asset paths.
|
|
47
|
-
* Called once by createGameRuntime(). Defaults to '/'.
|
|
48
|
-
*/
|
|
49
|
-
export function setAssetPrefix(prefix) {
|
|
50
|
-
_prefix = prefix.endsWith('/') ? prefix : prefix ? `${prefix}/` : '/';
|
|
51
|
-
}
|
|
52
|
-
/**
|
|
53
|
-
* Resolve a relative asset URL using the current prefix.
|
|
54
|
-
* Use this for raw fetch() calls — Three.js loaders using
|
|
55
|
-
* `loadingManager` handle this automatically.
|
|
56
|
-
*/
|
|
57
|
-
export function resolveUrl(url) {
|
|
58
|
-
return rewriteUrl(url);
|
|
59
|
-
}
|
package/dist/manifest/index.d.ts
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
export type { ResolvedAdapter, ResolvedAdapterRoot, ResolvedGameManifest } from './load';
|
|
2
|
-
export { CAPABILITY_CEILINGS, DEFAULT_SERVER_MODULE, loadGameManifest } from './load';
|
|
3
|
-
export type { AdapterRoot, GameManifest, IngestStrategy, RootAdapter, Tier, } from './schema';
|
|
4
|
-
export { AdapterRootSchema, GameManifestSchema, IngestStrategySchema, RootAdapterSchema, TierSchema, } from './schema';
|
|
5
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/manifest/index.ts"],"names":[],"mappings":"AAGA,YAAY,EAAE,eAAe,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AACzF,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AACtF,YAAY,EACV,WAAW,EACX,YAAY,EACZ,cAAc,EACd,WAAW,EACX,IAAI,GACL,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB,EACjB,UAAU,GACX,MAAM,UAAU,CAAC"}
|
package/dist/manifest/index.js
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
// Game manifest (vgai.game.json) — schema + loader (T3.1 slice 1).
|
|
2
|
-
// See docs/GAME-MANIFEST-DESIGN.md.
|
|
3
|
-
export { CAPABILITY_CEILINGS, DEFAULT_SERVER_MODULE, loadGameManifest } from './load';
|
|
4
|
-
export { AdapterRootSchema, GameManifestSchema, IngestStrategySchema, RootAdapterSchema, TierSchema, } from './schema';
|
|
5
|
-
// `loadGameManifestFile` (Node-only, reads `path` via `node:fs`) is
|
|
6
|
-
// deliberately NOT re-exported here — this barrel must stay import-safe for
|
|
7
|
-
// browser bundles. Import it directly from `@engine/manifest/load-file` in
|
|
8
|
-
// Node-only contexts (CLI, tests).
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"load-file.d.ts","sourceRoot":"","sources":["../../src/manifest/load-file.ts"],"names":[],"mappings":"AASA,OAAO,EAAoB,KAAK,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AAErE,mFAAmF;AACnF,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,oBAAoB,CAGvE"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
// T3.1 slice 1 — Node-only path wrapper around `loadGameManifest` (§5).
|
|
2
|
-
//
|
|
3
|
-
// Kept in its own module (rather than folded into `load.ts`) so that
|
|
4
|
-
// `loadGameManifest` itself stays free of `node:fs` — anything that only
|
|
5
|
-
// needs the pure parse/resolve function (e.g. a future browser/hosted-editor
|
|
6
|
-
// caller) can import `./load` without pulling a Node-only module into its
|
|
7
|
-
// bundle.
|
|
8
|
-
import { readFileSync } from 'node:fs';
|
|
9
|
-
import { loadGameManifest } from './load';
|
|
10
|
-
/** Read + JSON.parse `path`, then resolve it via `loadGameManifest`. Node-only. */
|
|
11
|
-
export function loadGameManifestFile(path) {
|
|
12
|
-
const raw = JSON.parse(readFileSync(path, 'utf-8'));
|
|
13
|
-
return loadGameManifest(raw);
|
|
14
|
-
}
|
package/dist/manifest/load.d.ts
DELETED
|
@@ -1,144 +0,0 @@
|
|
|
1
|
-
import { type IngestStrategy, type Tier } from './schema';
|
|
2
|
-
/** D6's resolved adapter identities. */
|
|
3
|
-
export type ResolvedAdapter = {
|
|
4
|
-
readonly type: 'builtin';
|
|
5
|
-
readonly identity: 'threejs' | 'pixijs' | 'react';
|
|
6
|
-
readonly surface: 'threejs' | 'pixijs' | 'react';
|
|
7
|
-
} | {
|
|
8
|
-
readonly type: 'module';
|
|
9
|
-
readonly identity: 'module';
|
|
10
|
-
readonly module: string;
|
|
11
|
-
readonly surface: 'threejs' | 'pixijs' | 'react';
|
|
12
|
-
} | {
|
|
13
|
-
readonly type: 'ingest';
|
|
14
|
-
readonly identity: 'ingest-three' | 'ingest-pixi' | 'ingest-react';
|
|
15
|
-
readonly surface: 'threejs' | 'pixijs' | 'react';
|
|
16
|
-
readonly strategy: IngestStrategy;
|
|
17
|
-
readonly entryHtml: string | undefined;
|
|
18
|
-
readonly assets: Record<string, string> | undefined;
|
|
19
|
-
readonly domStubs: string[] | undefined;
|
|
20
|
-
readonly captureTimeoutMs: number | undefined;
|
|
21
|
-
/** Track P (docs/PIXI-INGEST-LANDING-DESIGN.md §2) — iframe-reachable-multi mount fields. */
|
|
22
|
-
readonly bundleUrl: string | undefined;
|
|
23
|
-
readonly baseHref: string | undefined;
|
|
24
|
-
readonly assetBaseUrl: string | undefined;
|
|
25
|
-
readonly extraDeps: string[] | undefined;
|
|
26
|
-
readonly pixiModuleUrl: string | undefined;
|
|
27
|
-
readonly bodyHtml: string | undefined;
|
|
28
|
-
};
|
|
29
|
-
export interface ResolvedAdapterRoot {
|
|
30
|
-
readonly id: string;
|
|
31
|
-
readonly surface: ResolvedAdapter['surface'];
|
|
32
|
-
readonly description: string | undefined;
|
|
33
|
-
readonly adapter: ResolvedAdapter;
|
|
34
|
-
readonly scene: string | undefined;
|
|
35
|
-
readonly entry: string | undefined;
|
|
36
|
-
readonly zOrder: number;
|
|
37
|
-
readonly pausable: boolean;
|
|
38
|
-
readonly loop: 'gated' | 'self-driven';
|
|
39
|
-
/** Every optional resolved: both contexts always present (§4/§5). */
|
|
40
|
-
readonly capabilities: {
|
|
41
|
-
readonly local: Tier;
|
|
42
|
-
readonly hosted: Tier;
|
|
43
|
-
};
|
|
44
|
-
}
|
|
45
|
-
export interface ResolvedGameManifest {
|
|
46
|
-
readonly manifestVersion: 2;
|
|
47
|
-
readonly name: string;
|
|
48
|
-
readonly appId: string | undefined;
|
|
49
|
-
readonly editorPort: number | undefined;
|
|
50
|
-
readonly version: string;
|
|
51
|
-
readonly engine: {
|
|
52
|
-
readonly version: string;
|
|
53
|
-
};
|
|
54
|
-
/** Sorted by zOrder; ties broken by original array order (§3). */
|
|
55
|
-
readonly roots: readonly ResolvedAdapterRoot[];
|
|
56
|
-
readonly server: {
|
|
57
|
-
readonly room: string;
|
|
58
|
-
readonly module: string;
|
|
59
|
-
} | undefined;
|
|
60
|
-
readonly resolution: {
|
|
61
|
-
readonly width: number;
|
|
62
|
-
readonly height: number;
|
|
63
|
-
} | undefined;
|
|
64
|
-
readonly authoring: {
|
|
65
|
-
readonly hierarchy?: {
|
|
66
|
-
readonly rootLabels?: Readonly<Record<string, string>> | undefined;
|
|
67
|
-
readonly groups?: readonly {
|
|
68
|
-
readonly id: string;
|
|
69
|
-
readonly label: string;
|
|
70
|
-
readonly roots: readonly string[];
|
|
71
|
-
}[] | undefined;
|
|
72
|
-
} | undefined;
|
|
73
|
-
} | undefined;
|
|
74
|
-
/** D18 — read by the debug-bridge installer to gate `?vgai-debug=1` in production builds. */
|
|
75
|
-
readonly debug: {
|
|
76
|
-
readonly allowInProduction: boolean;
|
|
77
|
-
} | undefined;
|
|
78
|
-
/** D15 — read by `mount-manifest.ts`'s boot-time seeding reader (gates
|
|
79
|
-
* whether `ctx.random` is seeded from `defaultSeed`/`?vgai-seed=`), the
|
|
80
|
-
* gameplay-rng-ban burn-down scan, and the dev-mode Math.random phase
|
|
81
|
-
* trap. See `docs/D15-DETERMINISM-DESIGN.md`. */
|
|
82
|
-
readonly determinism: {
|
|
83
|
-
readonly seededRandom: boolean;
|
|
84
|
-
readonly defaultSeed?: number | undefined;
|
|
85
|
-
} | undefined;
|
|
86
|
-
}
|
|
87
|
-
/**
|
|
88
|
-
* Ceiling (maximum legal declared `Tier`) per adapter type and delivery
|
|
89
|
-
* context. `default` roots are always first-party in both contexts (D6/§2 —
|
|
90
|
-
* a first-party root is fully vgai-native everywhere). `ingest` roots are
|
|
91
|
-
* ceilinged by their own capture `strategy`: locally the local CLI's Vite
|
|
92
|
-
* pipeline gives bundler dedupe, so every strategy reaches its own natural
|
|
93
|
-
* rung; hosted has no bundler (esbuild-wasm + externals only), and a
|
|
94
|
-
* `deduped` root is DEFINED by being source built through our pipeline — no
|
|
95
|
-
* prebuilt bundle exists to fall back to an iframe rung, and nothing
|
|
96
|
-
* implements a hosted build for it, so hosted is `unsupported` (honesty over
|
|
97
|
-
* optimism; if the hosted esbuild-wasm path ever proves capable, raising
|
|
98
|
-
* this ceiling is a non-breaking widening). `shared`/`iframe-reachable`/
|
|
99
|
-
* `opaque-embed` don't depend on a bundler either way, so they carry through
|
|
100
|
-
* unchanged. `module` adapters have no derivable ceiling ("a custom
|
|
101
|
-
* adapter's reach is not derivable", §4) — modeled here as `first-party`
|
|
102
|
-
* (the top rank), i.e. no ceiling actually constrains a module adapter's
|
|
103
|
-
* declared tier; the loader instead requires the tier to be declared
|
|
104
|
-
* explicitly for module roots (see `resolveCapabilities`), since there is no
|
|
105
|
-
* default to derive.
|
|
106
|
-
*/
|
|
107
|
-
export declare const CAPABILITY_CEILINGS: {
|
|
108
|
-
readonly builtin: {
|
|
109
|
-
readonly local: "first-party";
|
|
110
|
-
readonly hosted: "first-party";
|
|
111
|
-
};
|
|
112
|
-
readonly ingest: {
|
|
113
|
-
readonly shared: {
|
|
114
|
-
readonly local: "shared";
|
|
115
|
-
readonly hosted: "shared";
|
|
116
|
-
};
|
|
117
|
-
readonly deduped: {
|
|
118
|
-
readonly local: "deduped";
|
|
119
|
-
readonly hosted: "unsupported";
|
|
120
|
-
};
|
|
121
|
-
readonly 'iframe-reachable': {
|
|
122
|
-
readonly local: "iframe-reachable";
|
|
123
|
-
readonly hosted: "iframe-reachable";
|
|
124
|
-
};
|
|
125
|
-
readonly 'opaque-embed': {
|
|
126
|
-
readonly local: "opaque-embed";
|
|
127
|
-
readonly hosted: "opaque-embed";
|
|
128
|
-
};
|
|
129
|
-
};
|
|
130
|
-
readonly module: {
|
|
131
|
-
readonly local: "first-party";
|
|
132
|
-
readonly hosted: "first-party";
|
|
133
|
-
};
|
|
134
|
-
};
|
|
135
|
-
/** Default relative path for `server.module` when omitted (§3) — the scaffolded Colyseus bootstrap. */
|
|
136
|
-
export declare const DEFAULT_SERVER_MODULE = "server/colyseus-setup.ts";
|
|
137
|
-
/**
|
|
138
|
-
* Parse + validate + resolve a raw manifest value into a `ResolvedGameManifest`.
|
|
139
|
-
* Pure data-in/data-out (no `fs`) — see `load-file.ts` for the Node path-based
|
|
140
|
-
* wrapper. Throws a descriptive `Error` (naming the offending root/field) on
|
|
141
|
-
* any Zod validation failure or cross-field rule violation.
|
|
142
|
-
*/
|
|
143
|
-
export declare function loadGameManifest(raw: unknown): ResolvedGameManifest;
|
|
144
|
-
//# sourceMappingURL=load.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"load.d.ts","sourceRoot":"","sources":["../../src/manifest/load.ts"],"names":[],"mappings":"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"}
|