@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
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"particles.d.ts","sourceRoot":"","sources":["../../../src/scene/schema/particles.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,321 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import { Vec3Schema } from './tuples';
|
|
3
|
-
// --- Value Generators (mirrors quarks.core FunctionJSON) ---
|
|
4
|
-
const ConstantValueSchema = z.object({
|
|
5
|
-
type: z.literal('ConstantValue'),
|
|
6
|
-
value: z.number(),
|
|
7
|
-
});
|
|
8
|
-
const IntervalValueSchema = z.object({
|
|
9
|
-
type: z.literal('IntervalValue'),
|
|
10
|
-
a: z.number(),
|
|
11
|
-
b: z.number(),
|
|
12
|
-
});
|
|
13
|
-
const BezierSchema = z.object({
|
|
14
|
-
p0: z.number(),
|
|
15
|
-
p1: z.number(),
|
|
16
|
-
p2: z.number(),
|
|
17
|
-
p3: z.number(),
|
|
18
|
-
});
|
|
19
|
-
const PiecewiseBezierSchema = z.object({
|
|
20
|
-
type: z.literal('PiecewiseBezier'),
|
|
21
|
-
functions: z.array(z.object({
|
|
22
|
-
function: BezierSchema,
|
|
23
|
-
start: z.number(),
|
|
24
|
-
})),
|
|
25
|
-
});
|
|
26
|
-
export const ValueGeneratorSchema = z
|
|
27
|
-
.discriminatedUnion('type', [ConstantValueSchema, IntervalValueSchema, PiecewiseBezierSchema])
|
|
28
|
-
.describe('Numeric value: constant, random interval, or bezier curve');
|
|
29
|
-
// --- Color Generators (mirrors quarks.core ColorGenerator JSON) ---
|
|
30
|
-
const ColorRGBA = z.object({
|
|
31
|
-
r: z.number(),
|
|
32
|
-
g: z.number(),
|
|
33
|
-
b: z.number(),
|
|
34
|
-
a: z.number(),
|
|
35
|
-
});
|
|
36
|
-
const ColorRGB = z.object({
|
|
37
|
-
r: z.number(),
|
|
38
|
-
g: z.number(),
|
|
39
|
-
b: z.number(),
|
|
40
|
-
});
|
|
41
|
-
/** ContinuousLinearFunction JSON format used by Gradient internally */
|
|
42
|
-
const CLinearColorSchema = z.object({
|
|
43
|
-
type: z.literal('CLinearFunction'),
|
|
44
|
-
subType: z.literal('Color'),
|
|
45
|
-
keys: z.array(z.object({ value: ColorRGB, pos: z.number() })),
|
|
46
|
-
});
|
|
47
|
-
const CLinearNumberSchema = z.object({
|
|
48
|
-
type: z.literal('CLinearFunction'),
|
|
49
|
-
subType: z.literal('Number'),
|
|
50
|
-
keys: z.array(z.object({ value: z.number(), pos: z.number() })),
|
|
51
|
-
});
|
|
52
|
-
const ConstantColorSchema = z.object({
|
|
53
|
-
type: z.literal('ConstantColor'),
|
|
54
|
-
color: ColorRGBA,
|
|
55
|
-
});
|
|
56
|
-
const ColorRangeSchema = z.object({
|
|
57
|
-
type: z.literal('ColorRange'),
|
|
58
|
-
a: ColorRGBA,
|
|
59
|
-
b: ColorRGBA,
|
|
60
|
-
});
|
|
61
|
-
const GradientSchema = z.object({
|
|
62
|
-
type: z.literal('Gradient'),
|
|
63
|
-
color: CLinearColorSchema,
|
|
64
|
-
alpha: CLinearNumberSchema,
|
|
65
|
-
});
|
|
66
|
-
const RandomColorBetweenGradientSchema = z.object({
|
|
67
|
-
type: z.literal('RandomColorBetweenGradient'),
|
|
68
|
-
gradient1: GradientSchema,
|
|
69
|
-
gradient2: GradientSchema,
|
|
70
|
-
});
|
|
71
|
-
export const ColorGeneratorSchema = z
|
|
72
|
-
.discriminatedUnion('type', [
|
|
73
|
-
ConstantColorSchema,
|
|
74
|
-
ColorRangeSchema,
|
|
75
|
-
GradientSchema,
|
|
76
|
-
RandomColorBetweenGradientSchema,
|
|
77
|
-
])
|
|
78
|
-
.describe('Color generator: constant, range, gradient, or random between gradients');
|
|
79
|
-
// --- Emitter Shapes (mirrors quarks.core shape constructor params) ---
|
|
80
|
-
const PointEmitterSchema = z.object({ type: z.literal('point') });
|
|
81
|
-
const SphereEmitterSchema = z.object({
|
|
82
|
-
type: z.literal('sphere'),
|
|
83
|
-
radius: z.number().optional().describe('Sphere radius'),
|
|
84
|
-
arc: z.number().optional().describe('Arc angle in radians (2π = full sphere)'),
|
|
85
|
-
thickness: z.number().optional().describe('Shell thickness 0–1 (1 = solid, 0 = surface only)'),
|
|
86
|
-
});
|
|
87
|
-
const HemisphereEmitterSchema = z.object({
|
|
88
|
-
type: z.literal('hemisphere'),
|
|
89
|
-
radius: z.number().optional().describe('Hemisphere radius'),
|
|
90
|
-
arc: z.number().optional().describe('Arc angle in radians'),
|
|
91
|
-
thickness: z.number().optional().describe('Shell thickness 0–1'),
|
|
92
|
-
});
|
|
93
|
-
const ConeEmitterSchema = z.object({
|
|
94
|
-
type: z.literal('cone'),
|
|
95
|
-
radius: z.number().optional().describe('Cone base radius'),
|
|
96
|
-
arc: z.number().optional().describe('Arc angle in radians'),
|
|
97
|
-
thickness: z.number().optional().describe('Shell thickness 0–1'),
|
|
98
|
-
angle: z.number().optional().describe('Cone opening angle in radians'),
|
|
99
|
-
});
|
|
100
|
-
const CircleEmitterSchema = z.object({
|
|
101
|
-
type: z.literal('circle'),
|
|
102
|
-
radius: z.number().optional().describe('Circle radius'),
|
|
103
|
-
arc: z.number().optional().describe('Arc angle in radians'),
|
|
104
|
-
thickness: z.number().optional().describe('Ring thickness 0–1'),
|
|
105
|
-
});
|
|
106
|
-
const DonutEmitterSchema = z.object({
|
|
107
|
-
type: z.literal('donut'),
|
|
108
|
-
radius: z.number().optional().describe('Donut major radius'),
|
|
109
|
-
arc: z.number().optional().describe('Arc angle in radians'),
|
|
110
|
-
thickness: z.number().optional().describe('Ring thickness 0–1'),
|
|
111
|
-
donutRadius: z.number().optional().describe('Donut tube (minor) radius'),
|
|
112
|
-
});
|
|
113
|
-
const RectangleEmitterSchema = z.object({
|
|
114
|
-
type: z.literal('rectangle'),
|
|
115
|
-
width: z.number().optional().describe('Rectangle width'),
|
|
116
|
-
height: z.number().optional().describe('Rectangle height'),
|
|
117
|
-
thickness: z.number().optional().describe('Extrusion depth 0–1'),
|
|
118
|
-
});
|
|
119
|
-
const GridEmitterSchema = z.object({
|
|
120
|
-
type: z.literal('grid'),
|
|
121
|
-
width: z.number().optional().describe('Grid total width'),
|
|
122
|
-
height: z.number().optional().describe('Grid total height'),
|
|
123
|
-
column: z.number().int().optional().describe('Number of columns'),
|
|
124
|
-
row: z.number().int().optional().describe('Number of rows'),
|
|
125
|
-
});
|
|
126
|
-
export const EmitterShapeSchema = z
|
|
127
|
-
.discriminatedUnion('type', [
|
|
128
|
-
PointEmitterSchema,
|
|
129
|
-
SphereEmitterSchema,
|
|
130
|
-
HemisphereEmitterSchema,
|
|
131
|
-
ConeEmitterSchema,
|
|
132
|
-
CircleEmitterSchema,
|
|
133
|
-
DonutEmitterSchema,
|
|
134
|
-
RectangleEmitterSchema,
|
|
135
|
-
GridEmitterSchema,
|
|
136
|
-
])
|
|
137
|
-
.describe('Particle emitter shape');
|
|
138
|
-
// --- Behaviors (mirrors quarks.core behavior toJSON) ---
|
|
139
|
-
const ApplyForceBehaviorSchema = z.object({
|
|
140
|
-
type: z.literal('ApplyForce'),
|
|
141
|
-
direction: Vec3Schema.describe('Force direction vector'),
|
|
142
|
-
magnitude: ValueGeneratorSchema.describe('Force magnitude'),
|
|
143
|
-
});
|
|
144
|
-
const ColorOverLifeBehaviorSchema = z.object({
|
|
145
|
-
type: z.literal('ColorOverLife'),
|
|
146
|
-
color: ColorGeneratorSchema.describe('Color curve over particle lifetime'),
|
|
147
|
-
});
|
|
148
|
-
const SizeOverLifeBehaviorSchema = z.object({
|
|
149
|
-
type: z.literal('SizeOverLife'),
|
|
150
|
-
size: ValueGeneratorSchema.describe('Size curve over particle lifetime'),
|
|
151
|
-
});
|
|
152
|
-
const SpeedOverLifeBehaviorSchema = z.object({
|
|
153
|
-
type: z.literal('SpeedOverLife'),
|
|
154
|
-
speed: ValueGeneratorSchema.describe('Speed multiplier curve over lifetime'),
|
|
155
|
-
});
|
|
156
|
-
const RotationOverLifeBehaviorSchema = z.object({
|
|
157
|
-
type: z.literal('RotationOverLife'),
|
|
158
|
-
angularVelocity: ValueGeneratorSchema.describe('Angular velocity in radians/sec'),
|
|
159
|
-
});
|
|
160
|
-
const ForceOverLifeBehaviorSchema = z.object({
|
|
161
|
-
type: z.literal('ForceOverLife'),
|
|
162
|
-
x: ValueGeneratorSchema.describe('Force along X axis over lifetime'),
|
|
163
|
-
y: ValueGeneratorSchema.describe('Force along Y axis over lifetime'),
|
|
164
|
-
z: ValueGeneratorSchema.describe('Force along Z axis over lifetime'),
|
|
165
|
-
});
|
|
166
|
-
const OrbitOverLifeBehaviorSchema = z.object({
|
|
167
|
-
type: z.literal('OrbitOverLife'),
|
|
168
|
-
orbitSpeed: ValueGeneratorSchema.describe('Orbit speed over lifetime'),
|
|
169
|
-
axis: Vec3Schema.optional().describe('Orbit axis. Defaults to [0, 1, 0]'),
|
|
170
|
-
});
|
|
171
|
-
const NoiseBehaviorSchema = z.object({
|
|
172
|
-
type: z.literal('Noise'),
|
|
173
|
-
frequency: ValueGeneratorSchema.describe('Noise frequency'),
|
|
174
|
-
power: ValueGeneratorSchema.describe('Noise amplitude'),
|
|
175
|
-
positionAmount: ValueGeneratorSchema.optional().describe('Position displacement amount'),
|
|
176
|
-
rotationAmount: ValueGeneratorSchema.optional().describe('Rotation displacement amount'),
|
|
177
|
-
});
|
|
178
|
-
const TurbulenceFieldBehaviorSchema = z.object({
|
|
179
|
-
type: z.literal('TurbulenceField'),
|
|
180
|
-
scale: Vec3Schema.describe('Turbulence field scale'),
|
|
181
|
-
octaves: z.number().int().describe('Noise octave count'),
|
|
182
|
-
velocityMultiplier: Vec3Schema.describe('Velocity multiplier per axis'),
|
|
183
|
-
timeScale: Vec3Schema.describe('Time scale per axis'),
|
|
184
|
-
});
|
|
185
|
-
const FrameOverLifeBehaviorSchema = z.object({
|
|
186
|
-
type: z.literal('FrameOverLife'),
|
|
187
|
-
frame: ValueGeneratorSchema.describe('Sprite sheet frame index over lifetime'),
|
|
188
|
-
});
|
|
189
|
-
const LimitSpeedOverLifeBehaviorSchema = z.object({
|
|
190
|
-
type: z.literal('LimitSpeedOverLife'),
|
|
191
|
-
speed: ValueGeneratorSchema.describe('Maximum speed over lifetime'),
|
|
192
|
-
dampen: z.number().describe('Damping factor when speed exceeds limit (0–1)'),
|
|
193
|
-
});
|
|
194
|
-
const ChangeEmitDirectionBehaviorSchema = z.object({
|
|
195
|
-
type: z.literal('ChangeEmitDirection'),
|
|
196
|
-
angle: ValueGeneratorSchema.describe('Angle deviation from original emit direction'),
|
|
197
|
-
});
|
|
198
|
-
const GravityForceBehaviorSchema = z.object({
|
|
199
|
-
type: z.literal('GravityForce'),
|
|
200
|
-
center: Vec3Schema.describe('Gravity center point'),
|
|
201
|
-
magnitude: z.number().describe('Gravity force strength'),
|
|
202
|
-
});
|
|
203
|
-
const WidthOverLengthBehaviorSchema = z.object({
|
|
204
|
-
type: z.literal('WidthOverLength'),
|
|
205
|
-
width: ValueGeneratorSchema.describe('Trail width over trail length'),
|
|
206
|
-
});
|
|
207
|
-
export const BehaviorSchema = z
|
|
208
|
-
.discriminatedUnion('type', [
|
|
209
|
-
ApplyForceBehaviorSchema,
|
|
210
|
-
ColorOverLifeBehaviorSchema,
|
|
211
|
-
SizeOverLifeBehaviorSchema,
|
|
212
|
-
SpeedOverLifeBehaviorSchema,
|
|
213
|
-
RotationOverLifeBehaviorSchema,
|
|
214
|
-
ForceOverLifeBehaviorSchema,
|
|
215
|
-
OrbitOverLifeBehaviorSchema,
|
|
216
|
-
NoiseBehaviorSchema,
|
|
217
|
-
TurbulenceFieldBehaviorSchema,
|
|
218
|
-
FrameOverLifeBehaviorSchema,
|
|
219
|
-
LimitSpeedOverLifeBehaviorSchema,
|
|
220
|
-
ChangeEmitDirectionBehaviorSchema,
|
|
221
|
-
GravityForceBehaviorSchema,
|
|
222
|
-
WidthOverLengthBehaviorSchema,
|
|
223
|
-
])
|
|
224
|
-
.describe('Particle behavior applied over lifetime');
|
|
225
|
-
// --- Render Mode ---
|
|
226
|
-
export const RenderModeSchema = z
|
|
227
|
-
.enum([
|
|
228
|
-
'billboard',
|
|
229
|
-
'stretchedBillboard',
|
|
230
|
-
'mesh',
|
|
231
|
-
'trail',
|
|
232
|
-
'horizontalBillboard',
|
|
233
|
-
'verticalBillboard',
|
|
234
|
-
])
|
|
235
|
-
.describe('How particles are rendered');
|
|
236
|
-
// --- Particle Material (our format — asset paths, not Three.js UUIDs) ---
|
|
237
|
-
const ParticleMaterialSchema = z
|
|
238
|
-
.object({
|
|
239
|
-
type: z.enum(['basic', 'standard']).optional().describe('Particle material shading model'),
|
|
240
|
-
color: z.string().optional().describe('Particle color as CSS hex string'),
|
|
241
|
-
map: z.string().optional().describe('Path to particle sprite texture'),
|
|
242
|
-
blending: z
|
|
243
|
-
.enum(['normal', 'additive'])
|
|
244
|
-
.optional()
|
|
245
|
-
.describe('Blending mode (additive for glowing/fire effects)'),
|
|
246
|
-
transparent: z.boolean().optional().describe('Enable transparency'),
|
|
247
|
-
depthWrite: z
|
|
248
|
-
.boolean()
|
|
249
|
-
.optional()
|
|
250
|
-
.describe('Write to depth buffer (disable for additive effects)'),
|
|
251
|
-
side: z.enum(['front', 'back', 'double']).optional().describe('Which face sides to render'),
|
|
252
|
-
})
|
|
253
|
-
.describe('Particle material settings');
|
|
254
|
-
// --- Burst ---
|
|
255
|
-
const BurstSchema = z
|
|
256
|
-
.object({
|
|
257
|
-
time: z.number().describe('Time offset in seconds within the emission cycle'),
|
|
258
|
-
count: ValueGeneratorSchema.describe('Number of particles to emit'),
|
|
259
|
-
cycle: z.number().optional().describe('Burst repeat interval in seconds'),
|
|
260
|
-
interval: z.number().optional().describe('Delay between burst repetitions'),
|
|
261
|
-
probability: z.number().optional().describe('Chance of burst firing (0–1)'),
|
|
262
|
-
})
|
|
263
|
-
.describe('Timed particle burst');
|
|
264
|
-
// --- Top-level SceneParticles ---
|
|
265
|
-
export const SceneParticlesSchema = z
|
|
266
|
-
.object({
|
|
267
|
-
// Lifecycle
|
|
268
|
-
autoDestroy: z
|
|
269
|
-
.boolean()
|
|
270
|
-
.optional()
|
|
271
|
-
.describe('Destroy the particle system when all particles have died'),
|
|
272
|
-
looping: z.boolean().optional().describe('Continuously emit particles'),
|
|
273
|
-
prewarm: z
|
|
274
|
-
.boolean()
|
|
275
|
-
.optional()
|
|
276
|
-
.describe('Simulate one full cycle on start so particles appear immediately'),
|
|
277
|
-
duration: z.number().optional().describe('Total emission duration in seconds'),
|
|
278
|
-
// Shape
|
|
279
|
-
shape: EmitterShapeSchema.optional().describe('Emitter shape that defines where particles spawn'),
|
|
280
|
-
// Per-particle initial values
|
|
281
|
-
startLife: ValueGeneratorSchema.optional().describe('Initial particle lifetime in seconds'),
|
|
282
|
-
startSpeed: ValueGeneratorSchema.optional().describe('Initial particle speed'),
|
|
283
|
-
startSize: ValueGeneratorSchema.optional().describe('Initial particle size'),
|
|
284
|
-
startRotation: ValueGeneratorSchema.optional().describe('Initial particle rotation in radians'),
|
|
285
|
-
startColor: ColorGeneratorSchema.optional().describe('Initial particle color'),
|
|
286
|
-
startLength: ValueGeneratorSchema.optional().describe('Initial trail length (trail render mode only)'),
|
|
287
|
-
startTileIndex: ValueGeneratorSchema.optional().describe('Initial sprite sheet tile index'),
|
|
288
|
-
// Emission
|
|
289
|
-
emissionOverTime: ValueGeneratorSchema.optional().describe('Particles emitted per second'),
|
|
290
|
-
emissionOverDistance: ValueGeneratorSchema.optional().describe('Particles emitted per unit of emitter movement'),
|
|
291
|
-
emissionBursts: z.array(BurstSchema).optional().describe('Timed burst emissions'),
|
|
292
|
-
// Behaviors
|
|
293
|
-
behaviors: z
|
|
294
|
-
.array(BehaviorSchema)
|
|
295
|
-
.optional()
|
|
296
|
-
.describe('Behaviors applied to particles over their lifetime'),
|
|
297
|
-
// Rendering
|
|
298
|
-
renderMode: RenderModeSchema.optional().describe('How particles are rendered (billboard, trail, mesh, etc.)'),
|
|
299
|
-
worldSpace: z
|
|
300
|
-
.boolean()
|
|
301
|
-
.optional()
|
|
302
|
-
.describe('Simulate particles in world space instead of local space'),
|
|
303
|
-
renderOrder: z
|
|
304
|
-
.number()
|
|
305
|
-
.optional()
|
|
306
|
-
.describe('Render order for sorting (higher = rendered later)'),
|
|
307
|
-
uTileCount: z.number().int().optional().describe('Horizontal tile count in sprite sheet'),
|
|
308
|
-
vTileCount: z.number().int().optional().describe('Vertical tile count in sprite sheet'),
|
|
309
|
-
blendTiles: z
|
|
310
|
-
.boolean()
|
|
311
|
-
.optional()
|
|
312
|
-
.describe('Blend between sprite sheet tiles for smooth animation'),
|
|
313
|
-
softParticles: z.boolean().optional().describe('Enable soft particle depth fading'),
|
|
314
|
-
softFarFade: z.number().optional().describe('Far fade distance for soft particles'),
|
|
315
|
-
softNearFade: z.number().optional().describe('Near fade distance for soft particles'),
|
|
316
|
-
// Material
|
|
317
|
-
material: ParticleMaterialSchema.describe('Particle material settings'),
|
|
318
|
-
})
|
|
319
|
-
.describe('Particle system configuration');
|
|
320
|
-
/** Partial schema for prefab instance overrides. */
|
|
321
|
-
export const SceneParticlesOverrideSchema = SceneParticlesSchema.partial();
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
export declare const ScenePhysicsSchema: z.ZodObject<{
|
|
3
|
-
bodyType: z.ZodEnum<{
|
|
4
|
-
fixed: "fixed";
|
|
5
|
-
dynamic: "dynamic";
|
|
6
|
-
kinematic: "kinematic";
|
|
7
|
-
}>;
|
|
8
|
-
mass: z.ZodOptional<z.ZodNumber>;
|
|
9
|
-
collider: z.ZodObject<{
|
|
10
|
-
type: z.ZodEnum<{
|
|
11
|
-
cuboid: "cuboid";
|
|
12
|
-
ball: "ball";
|
|
13
|
-
capsule: "capsule";
|
|
14
|
-
trimesh: "trimesh";
|
|
15
|
-
}>;
|
|
16
|
-
halfExtents: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
|
|
17
|
-
radius: z.ZodOptional<z.ZodNumber>;
|
|
18
|
-
halfHeight: z.ZodOptional<z.ZodNumber>;
|
|
19
|
-
friction: z.ZodOptional<z.ZodNumber>;
|
|
20
|
-
restitution: z.ZodOptional<z.ZodNumber>;
|
|
21
|
-
density: z.ZodOptional<z.ZodNumber>;
|
|
22
|
-
offset: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
|
|
23
|
-
isSensor: z.ZodOptional<z.ZodBoolean>;
|
|
24
|
-
collisionGroups: z.ZodOptional<z.ZodNumber>;
|
|
25
|
-
collisionFilter: z.ZodOptional<z.ZodNumber>;
|
|
26
|
-
}, z.core.$strip>;
|
|
27
|
-
}, z.core.$strip>;
|
|
28
|
-
/** Partial override — uses SceneColliderOverrideSchema for deep partial on collider. */
|
|
29
|
-
export declare const ScenePhysicsOverrideSchema: z.ZodObject<{
|
|
30
|
-
bodyType: z.ZodOptional<z.ZodEnum<{
|
|
31
|
-
fixed: "fixed";
|
|
32
|
-
dynamic: "dynamic";
|
|
33
|
-
kinematic: "kinematic";
|
|
34
|
-
}>>;
|
|
35
|
-
mass: z.ZodOptional<z.ZodNumber>;
|
|
36
|
-
collider: z.ZodOptional<z.ZodObject<{
|
|
37
|
-
type: z.ZodOptional<z.ZodEnum<{
|
|
38
|
-
cuboid: "cuboid";
|
|
39
|
-
ball: "ball";
|
|
40
|
-
capsule: "capsule";
|
|
41
|
-
trimesh: "trimesh";
|
|
42
|
-
}>>;
|
|
43
|
-
halfExtents: z.ZodOptional<z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>>;
|
|
44
|
-
radius: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
|
|
45
|
-
halfHeight: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
|
|
46
|
-
friction: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
|
|
47
|
-
restitution: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
|
|
48
|
-
density: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
|
|
49
|
-
offset: z.ZodOptional<z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>>;
|
|
50
|
-
isSensor: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
|
|
51
|
-
collisionGroups: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
|
|
52
|
-
collisionFilter: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
|
|
53
|
-
}, z.core.$strip>>;
|
|
54
|
-
}, z.core.$strip>;
|
|
55
|
-
export type ScenePhysics = z.infer<typeof ScenePhysicsSchema>;
|
|
56
|
-
//# sourceMappingURL=physics.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"physics.d.ts","sourceRoot":"","sources":["../../../src/scene/schema/physics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;iBAwBgB,CAAC;AAEhD,wFAAwF;AACxF,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;iBAgBrC,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC"}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import { SceneColliderOverrideSchema, SceneColliderSchema } from './collider';
|
|
3
|
-
export const ScenePhysicsSchema = z
|
|
4
|
-
.object({
|
|
5
|
-
bodyType: z
|
|
6
|
-
.enum(['dynamic', 'fixed', 'kinematic'])
|
|
7
|
-
.describe('Physics body type: dynamic (simulated), fixed (immovable), kinematic (script-driven). ' +
|
|
8
|
-
'T1.1/R1c: ANY physics body (dynamic, fixed, OR kinematic) nested under an ancestor ' +
|
|
9
|
-
'entity that itself has a "dynamic" or "kinematic" body is unsupported (loud load ' +
|
|
10
|
-
'error) — Rapier has no parent/child body relationship, so a moving ancestor cannot ' +
|
|
11
|
-
"carry a nested body of ANY type with it; the child's Object3D would stay pinned to " +
|
|
12
|
-
"its own (non-moving) body's pose while the ancestor moves out from under it. " +
|
|
13
|
-
'Nesting under a "fixed"/static or physics-less transformed ancestor is fine.'),
|
|
14
|
-
mass: z
|
|
15
|
-
.number()
|
|
16
|
-
.optional()
|
|
17
|
-
.describe('Explicit mass override. If omitted, computed from collider density and volume'),
|
|
18
|
-
collider: SceneColliderSchema.describe('Collider shape attached to this body. T1.1/T1.2: the Rapier body is created at this ' +
|
|
19
|
-
"entity's COMPOSED WORLD transform (parent chain × own local transform) — Rapier has " +
|
|
20
|
-
"no concept of a parent Object3D, so nested entities' transforms are baked in at spawn " +
|
|
21
|
-
'time, not read live thereafter.'),
|
|
22
|
-
})
|
|
23
|
-
.describe('Physics rigid body configuration');
|
|
24
|
-
/** Partial override — uses SceneColliderOverrideSchema for deep partial on collider. */
|
|
25
|
-
export const ScenePhysicsOverrideSchema = z.object({
|
|
26
|
-
bodyType: z
|
|
27
|
-
.enum(['dynamic', 'fixed', 'kinematic'])
|
|
28
|
-
.optional()
|
|
29
|
-
.describe('Physics body type: dynamic (simulated), fixed (immovable), kinematic (script-driven). ' +
|
|
30
|
-
'A body of ANY type nested under a "dynamic"/"kinematic"-bodied ancestor throws a loud ' +
|
|
31
|
-
'load error (T1.1/R1c) — see ScenePhysicsSchema.bodyType.'),
|
|
32
|
-
mass: z
|
|
33
|
-
.number()
|
|
34
|
-
.optional()
|
|
35
|
-
.describe('Explicit mass override. If omitted, computed from collider density and volume'),
|
|
36
|
-
collider: SceneColliderOverrideSchema.optional().describe('Partial collider overrides merged with prefab'),
|
|
37
|
-
});
|