@relu-interactives/spatial-ecs 0.2.9 → 0.2.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{System-AV2_87Zr.d.cts → System-KTHuWc-i.d.cts} +1 -1
- package/dist/{System-AV2_87Zr.d.ts → System-KTHuWc-i.d.ts} +1 -1
- package/dist/{Video-D6mObK_5.d.ts → Video-BnrYbbzu.d.cts} +2 -2
- package/dist/{Video-Bn93p6XV.d.cts → Video-Ds_0Aj66.d.ts} +2 -2
- package/dist/{chunk-ODCWJHPS.js → chunk-OIOUWDOS.js} +3 -3
- package/dist/{chunk-ODCWJHPS.js.map → chunk-OIOUWDOS.js.map} +1 -1
- package/dist/{chunk-PHIEXEKJ.js → chunk-R2WMVXZZ.js} +11 -2
- package/dist/chunk-R2WMVXZZ.js.map +1 -0
- package/dist/{chunk-SABZQFSA.js → chunk-UU6VYCIO.js} +33 -11
- package/dist/chunk-UU6VYCIO.js.map +1 -0
- package/dist/{chunk-AZR6SLQN.js → chunk-XPCVEXMY.js} +2 -2
- package/dist/{chunk-AZR6SLQN.js.map → chunk-XPCVEXMY.js.map} +1 -1
- package/dist/{chunk-LE6ARNYQ.js → chunk-YLRCC4EK.js} +4 -4
- package/dist/{chunk-LE6ARNYQ.js.map → chunk-YLRCC4EK.js.map} +1 -1
- package/dist/components/index.cjs.map +1 -1
- package/dist/components/index.d.cts +2 -2
- package/dist/components/index.d.ts +2 -2
- package/dist/components/index.js +1 -1
- package/dist/docs/api/Behaviour/classes/Behaviour.md +29 -29
- package/dist/docs/api/Component/classes/Component.md +3 -1
- package/dist/docs/api/components/classes/AnimationComponent.md +26 -26
- package/dist/docs/api/components/classes/AudioComponent.md +19 -19
- package/dist/docs/api/components/classes/CameraComponent.md +14 -14
- package/dist/docs/api/components/classes/EntityType.md +4 -4
- package/dist/docs/api/components/classes/Environment.md +3 -3
- package/dist/docs/api/components/classes/ImageComponent.md +7 -7
- package/dist/docs/api/components/classes/ImageTarget.md +7 -7
- package/dist/docs/api/components/classes/ImageTargetAnchor.md +4 -4
- package/dist/docs/api/components/classes/InstanceSlotComponent.md +52 -0
- package/dist/docs/api/components/classes/InstancedMeshComponent.md +82 -0
- package/dist/docs/api/components/classes/LightComponent.md +6 -6
- package/dist/docs/api/components/classes/MaterialComponent.md +11 -11
- package/dist/docs/api/components/classes/MeshComponent.md +3 -3
- package/dist/docs/api/components/classes/MeshGeometryComponent.md +9 -9
- package/dist/docs/api/components/classes/ModelComponent.md +4 -4
- package/dist/docs/api/components/classes/Name.md +3 -3
- package/dist/docs/api/components/classes/Object3DRef.md +4 -4
- package/dist/docs/api/components/classes/ParentId.md +3 -3
- package/dist/docs/api/components/classes/PhysicsComponent.md +6 -6
- package/dist/docs/api/components/classes/Postprocessing.md +3 -3
- package/dist/docs/api/components/classes/ScriptComponent.md +5 -5
- package/dist/docs/api/components/classes/Selectable.md +3 -3
- package/dist/docs/api/components/classes/SelectionTransformState.md +5 -5
- package/dist/docs/api/components/classes/SpriteComponent.md +7 -7
- package/dist/docs/api/components/classes/TransformComponent.md +12 -12
- package/dist/docs/api/components/classes/VideoComponent.md +28 -28
- package/dist/docs/api/components/functions/normalizePhysicsState.md +1 -1
- package/dist/docs/api/components/index.md +6 -0
- package/dist/docs/api/components/type-aliases/AnimationComponentOptions.md +9 -9
- package/dist/docs/api/components/type-aliases/CameraComponentOptions.md +13 -13
- package/dist/docs/api/components/type-aliases/CameraProjection.md +1 -1
- package/dist/docs/api/components/type-aliases/CameraRuntimeType.md +1 -1
- package/dist/docs/api/components/type-aliases/ColliderShape.md +1 -1
- package/dist/docs/api/components/type-aliases/ColliderState.md +20 -20
- package/dist/docs/api/components/type-aliases/CubeMeshParameters.md +4 -4
- package/dist/docs/api/components/type-aliases/EditableMeshObjectKind.md +1 -1
- package/dist/docs/api/components/type-aliases/EnvironmentFogState.md +8 -8
- package/dist/docs/api/components/type-aliases/EnvironmentFogType.md +1 -1
- package/dist/docs/api/components/type-aliases/EnvironmentGradientEffect.md +1 -1
- package/dist/docs/api/components/type-aliases/EnvironmentSkyboxState.md +7 -7
- package/dist/docs/api/components/type-aliases/EnvironmentSkyboxType.md +1 -1
- package/dist/docs/api/components/type-aliases/EnvironmentState.md +5 -5
- package/dist/docs/api/components/type-aliases/ImageTargetAnchorOptions.md +3 -3
- package/dist/docs/api/components/type-aliases/ImageTargetReference.md +7 -7
- package/dist/docs/api/components/type-aliases/InstanceTransform.md +49 -0
- package/dist/docs/api/components/type-aliases/InstancedMeshKind.md +15 -0
- package/dist/docs/api/components/type-aliases/LightValueState.md +11 -11
- package/dist/docs/api/components/type-aliases/MaterialTypeValue.md +1 -1
- package/dist/docs/api/components/type-aliases/MaterialValueState.md +28 -28
- package/dist/docs/api/components/type-aliases/MeshGeometryParameters.md +1 -1
- package/dist/docs/api/components/type-aliases/MeshGeometryParametersByKind.md +7 -7
- package/dist/docs/api/components/type-aliases/PhysicsState.md +3 -3
- package/dist/docs/api/components/type-aliases/PlaneMeshParameters.md +3 -3
- package/dist/docs/api/components/type-aliases/PostprocessingState.md +62 -62
- package/dist/docs/api/components/type-aliases/RadiusHeightMeshParameters.md +3 -3
- package/dist/docs/api/components/type-aliases/RadiusMeshParameters.md +2 -2
- package/dist/docs/api/components/type-aliases/RigidbodyState.md +17 -17
- package/dist/docs/api/components/type-aliases/RigidbodyType.md +1 -1
- package/dist/docs/api/components/type-aliases/ScriptEntry.md +9 -9
- package/dist/docs/api/components/type-aliases/TextureFilteringValue.md +1 -1
- package/dist/docs/api/components/type-aliases/TransformData.md +4 -4
- package/dist/docs/api/components/type-aliases/TransformModeValue.md +1 -1
- package/dist/docs/api/components/type-aliases/TransformSpaceValue.md +1 -1
- package/dist/docs/api/components/type-aliases/Vec3.md +4 -4
- package/dist/docs/api/components/variables/DEFAULT_COLLIDER_STATE.md +1 -1
- package/dist/docs/api/components/variables/DEFAULT_ENVIRONMENT_STATE.md +1 -1
- package/dist/docs/api/components/variables/DEFAULT_INSTANCED_MESH_PARAMETERS.md +15 -0
- package/dist/docs/api/components/variables/DEFAULT_INSTANCE_TRANSFORM.md +15 -0
- package/dist/docs/api/components/variables/DEFAULT_MESH_GEOMETRY_PARAMETERS.md +1 -1
- package/dist/docs/api/components/variables/DEFAULT_PHYSICS_STATE.md +1 -1
- package/dist/docs/api/components/variables/DEFAULT_POSTPROCESSING_STATE.md +1 -1
- package/dist/docs/api/components/variables/DEFAULT_RIGIDBODY_STATE.md +1 -1
- package/dist/docs/api/index/classes/AnimationStateMachine.md +16 -16
- package/dist/docs/api/index/classes/AnimationStateManager.md +13 -13
- package/dist/docs/api/index/classes/AnimationSystem.md +3 -3
- package/dist/docs/api/index/classes/AudioSystem.md +4 -4
- package/dist/docs/api/index/classes/CameraSyncSystem.md +2 -2
- package/dist/docs/api/index/classes/EnvironmentSyncSystem.md +4 -4
- package/dist/docs/api/index/classes/InputSystem.md +33 -33
- package/dist/docs/api/index/classes/InstancedMeshSystem.md +62 -0
- package/dist/docs/api/index/classes/LightSyncSystem.md +2 -2
- package/dist/docs/api/index/classes/MaterialSyncSystem.md +3 -3
- package/dist/docs/api/index/classes/MeshGeometrySystem.md +2 -2
- package/dist/docs/api/index/classes/ObjectManagementSystem.md +14 -14
- package/dist/docs/api/index/classes/ObjectVisibilitySystem.md +2 -2
- package/dist/docs/api/index/classes/PhysicsSyncSystem.md +4 -4
- package/dist/docs/api/index/classes/PostprocessingSyncSystem.md +4 -4
- package/dist/docs/api/index/classes/RenderSystem.md +3 -3
- package/dist/docs/api/index/classes/ScriptBehaviourSystem.md +4 -4
- package/dist/docs/api/index/classes/TransformSyncSystem.md +2 -2
- package/dist/docs/api/index/classes/VideoSystem.md +4 -4
- package/dist/docs/api/index/classes/World.md +82 -82
- package/dist/docs/api/index/functions/createAnimationComponent.md +1 -1
- package/dist/docs/api/index/functions/createAudioComponent.md +1 -1
- package/dist/docs/api/index/functions/createCameraComponent.md +1 -1
- package/dist/docs/api/index/functions/createEntityTypeComponent.md +2 -2
- package/dist/docs/api/index/functions/createEnvironmentComponent.md +1 -1
- package/dist/docs/api/index/functions/createImageComponent.md +1 -1
- package/dist/docs/api/index/functions/createImageTargetAnchorComponent.md +1 -1
- package/dist/docs/api/index/functions/createImageTargetComponent.md +1 -1
- package/dist/docs/api/index/functions/createInstanceSlotComponent.md +30 -0
- package/dist/docs/api/index/functions/createInstancedMeshComponent.md +36 -0
- package/dist/docs/api/index/functions/createLightComponent.md +1 -1
- package/dist/docs/api/index/functions/createMaterialComponent.md +1 -1
- package/dist/docs/api/index/functions/createMeshComponent.md +1 -1
- package/dist/docs/api/index/functions/createMeshGeometryComponent.md +1 -1
- package/dist/docs/api/index/functions/createModelComponent.md +1 -1
- package/dist/docs/api/index/functions/createNameComponent.md +1 -1
- package/dist/docs/api/index/functions/createObject3DRefComponent.md +1 -1
- package/dist/docs/api/index/functions/createParentIdComponent.md +1 -1
- package/dist/docs/api/index/functions/createPhysicsComponent.md +1 -1
- package/dist/docs/api/index/functions/createPostprocessingComponent.md +1 -1
- package/dist/docs/api/index/functions/createScriptComponent.md +1 -1
- package/dist/docs/api/index/functions/createSelectableComponent.md +1 -1
- package/dist/docs/api/index/functions/createSelectionTransformStateComponent.md +1 -1
- package/dist/docs/api/index/functions/createSpriteComponent.md +1 -1
- package/dist/docs/api/index/functions/createTransformComponent.md +1 -1
- package/dist/docs/api/index/functions/createVideoComponent.md +1 -1
- package/dist/docs/api/index/functions/hydrateWorldFromSnapshot.md +1 -1
- package/dist/docs/api/index/functions/hydrateWorldFromSnapshotDetailed.md +1 -1
- package/dist/docs/api/index/functions/registerDefaultComponentFactories.md +1 -1
- package/dist/docs/api/index/functions/registerDefaultFactories.md +1 -1
- package/dist/docs/api/index/index.md +3 -0
- package/dist/docs/api/index/interfaces/EcsSystem.md +3 -3
- package/dist/docs/api/index/interfaces/StateMachine.md +13 -13
- package/dist/docs/api/index/type-aliases/AnimationStateCallbacks.md +4 -4
- package/dist/docs/api/index/type-aliases/ComponentFactory.md +1 -1
- package/dist/docs/api/index/type-aliases/EcsComponentFactoryKind.md +3 -2
- package/dist/docs/api/index/type-aliases/EcsWorldComponentSnapshot.md +3 -3
- package/dist/docs/api/index/type-aliases/EcsWorldStateSnapshotLike.md +4 -4
- package/dist/docs/api/index/type-aliases/HydrateWorldFromSnapshotResult.md +3 -3
- package/dist/docs/api/index/type-aliases/KeyboardKey.md +1 -1
- package/dist/docs/api/index/type-aliases/MouseButton.md +1 -1
- package/dist/docs/api/index/type-aliases/SelectionContext.md +4 -4
- package/dist/docs/api/index/variables/HYDRATABLE_ENTITY_KINDS.md +1 -1
- package/dist/docs/api/index/variables/KeyboardKeys.md +89 -89
- package/dist/docs/api/typedoc-sidebar.json +1 -1
- package/dist/docs/api/types/type-aliases/AssetInput.md +3 -3
- package/dist/docs/api/types/type-aliases/CheckboxInput.md +1 -1
- package/dist/docs/api/types/type-aliases/ColorInput.md +1 -1
- package/dist/docs/api/types/type-aliases/ComponentInput.md +4 -4
- package/dist/docs/api/types/type-aliases/ComponentKind.md +3 -1
- package/dist/docs/api/types/type-aliases/DropdownInput.md +3 -3
- package/dist/docs/api/types/type-aliases/DropdownOption.md +3 -3
- package/dist/docs/api/types/type-aliases/EcsEntityEditorKind.md +1 -1
- package/dist/docs/api/types/type-aliases/EcsEntityKind.md +4 -2
- package/dist/docs/api/types/type-aliases/EntityId.md +1 -1
- package/dist/docs/api/types/type-aliases/EntityInput.md +3 -3
- package/dist/docs/api/types/type-aliases/FloatInput.md +1 -1
- package/dist/docs/api/types/type-aliases/IntersectionResult.md +3 -3
- package/dist/docs/api/types/type-aliases/ParentLookup.md +3 -3
- package/dist/docs/api/types/type-aliases/SelectionListener.md +1 -1
- package/dist/docs/api/types/type-aliases/SliderInput.md +5 -5
- package/dist/docs/api/types/type-aliases/TextInput.md +1 -1
- package/dist/docs/api/types/type-aliases/ToggleInput.md +1 -1
- package/dist/docs/api/types/type-aliases/Vec3.md +1 -1
- package/dist/docs/api/types/type-aliases/Vector2Input.md +3 -3
- package/dist/docs/api/types/type-aliases/Vector3Input.md +4 -4
- package/dist/docs/api/types/type-aliases/WorldEntityView.md +1 -1
- package/dist/docs/guide/components/instance-slot.md +102 -0
- package/dist/docs/guide/components/instanced-mesh.md +189 -0
- package/dist/docs/guide/spawning/index.md +4 -0
- package/dist/docs/guide/spawning/instanced-mesh.md +267 -0
- package/dist/docs/guide/systems/_sidebar.json +4 -0
- package/dist/docs/guide/systems/instanced-mesh-system.md +32 -0
- package/dist/factories/index.cjs.map +1 -1
- package/dist/factories/index.d.cts +2 -2
- package/dist/factories/index.d.ts +2 -2
- package/dist/factories/index.js +3 -3
- package/dist/{index-B4-ABchF.d.cts → index-ComEYKYI.d.cts} +2 -2
- package/dist/{index-BO49V8aS.d.ts → index-D-gUELQS.d.ts} +2 -2
- package/dist/index.cjs +38 -7
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +5 -5
- package/dist/index.d.ts +5 -5
- package/dist/index.js +9 -9
- package/dist/systems/index.cjs +29 -7
- package/dist/systems/index.cjs.map +1 -1
- package/dist/systems/index.d.cts +11 -2
- package/dist/systems/index.d.ts +11 -2
- package/dist/systems/index.js +3 -3
- package/dist/types.d.cts +1 -1
- package/dist/types.d.ts +1 -1
- package/dist/worldSnapshotUtils.cjs +9 -0
- package/dist/worldSnapshotUtils.cjs.map +1 -1
- package/dist/worldSnapshotUtils.d.cts +1 -1
- package/dist/worldSnapshotUtils.d.ts +1 -1
- package/dist/worldSnapshotUtils.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-PHIEXEKJ.js.map +0 -1
- package/dist/chunk-SABZQFSA.js.map +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { A as AnimationComponent, b as AudioComponent, c as CameraComponentOptions, C as CameraComponent, a1 as RigidbodyState, g as ColliderState, W as PhysicsComponent, w as EnvironmentState, q as Environment, p as EntityType, I as ImageComponent, y as ImageTargetAnchor, x as ImageTarget, L as LightComponent, M as MaterialComponent, P as MeshComponent, Q as MeshGeometryComponent, T as ModelComponent, U as Name, V as Object3DRef, _ as PostprocessingState, Z as Postprocessing, a4 as ScriptEntry, a3 as ScriptComponent, a5 as Selectable, a6 as SelectionTransformState, a7 as SpriteComponent, J as InstancedMeshKind, R as MeshGeometryParameters, H as InstancedMeshComponent, F as InstanceSlotComponent, ab as VideoComponent } from '../Video-
|
|
2
|
-
import { b as World, P as ParentId, T as TransformComponent, O as ObjectManagementSystem } from '../System-
|
|
1
|
+
import { A as AnimationComponent, b as AudioComponent, c as CameraComponentOptions, C as CameraComponent, a1 as RigidbodyState, g as ColliderState, W as PhysicsComponent, w as EnvironmentState, q as Environment, p as EntityType, I as ImageComponent, y as ImageTargetAnchor, x as ImageTarget, L as LightComponent, M as MaterialComponent, P as MeshComponent, Q as MeshGeometryComponent, T as ModelComponent, U as Name, V as Object3DRef, _ as PostprocessingState, Z as Postprocessing, a4 as ScriptEntry, a3 as ScriptComponent, a5 as Selectable, a6 as SelectionTransformState, a7 as SpriteComponent, J as InstancedMeshKind, R as MeshGeometryParameters, H as InstancedMeshComponent, F as InstanceSlotComponent, ab as VideoComponent } from '../Video-BnrYbbzu.cjs';
|
|
2
|
+
import { b as World, P as ParentId, T as TransformComponent, O as ObjectManagementSystem } from '../System-KTHuWc-i.cjs';
|
|
3
3
|
import * as THREE from 'three';
|
|
4
4
|
import '@dimforge/rapier3d-compat';
|
|
5
5
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { A as AnimationComponent, b as AudioComponent, c as CameraComponentOptions, C as CameraComponent, a1 as RigidbodyState, g as ColliderState, W as PhysicsComponent, w as EnvironmentState, q as Environment, p as EntityType, I as ImageComponent, y as ImageTargetAnchor, x as ImageTarget, L as LightComponent, M as MaterialComponent, P as MeshComponent, Q as MeshGeometryComponent, T as ModelComponent, U as Name, V as Object3DRef, _ as PostprocessingState, Z as Postprocessing, a4 as ScriptEntry, a3 as ScriptComponent, a5 as Selectable, a6 as SelectionTransformState, a7 as SpriteComponent, J as InstancedMeshKind, R as MeshGeometryParameters, H as InstancedMeshComponent, F as InstanceSlotComponent, ab as VideoComponent } from '../Video-
|
|
2
|
-
import { b as World, P as ParentId, T as TransformComponent, O as ObjectManagementSystem } from '../System-
|
|
1
|
+
import { A as AnimationComponent, b as AudioComponent, c as CameraComponentOptions, C as CameraComponent, a1 as RigidbodyState, g as ColliderState, W as PhysicsComponent, w as EnvironmentState, q as Environment, p as EntityType, I as ImageComponent, y as ImageTargetAnchor, x as ImageTarget, L as LightComponent, M as MaterialComponent, P as MeshComponent, Q as MeshGeometryComponent, T as ModelComponent, U as Name, V as Object3DRef, _ as PostprocessingState, Z as Postprocessing, a4 as ScriptEntry, a3 as ScriptComponent, a5 as Selectable, a6 as SelectionTransformState, a7 as SpriteComponent, J as InstancedMeshKind, R as MeshGeometryParameters, H as InstancedMeshComponent, F as InstanceSlotComponent, ab as VideoComponent } from '../Video-Ds_0Aj66.js';
|
|
2
|
+
import { b as World, P as ParentId, T as TransformComponent, O as ObjectManagementSystem } from '../System-KTHuWc-i.js';
|
|
3
3
|
import * as THREE from 'three';
|
|
4
4
|
import '@dimforge/rapier3d-compat';
|
|
5
5
|
|
package/dist/factories/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export { createAnimationComponent, createAudioComponent, createCameraComponent, createEntityTypeComponent, createEnvironmentComponent, createImageComponent, createImageTargetAnchorComponent, createImageTargetComponent, createInstanceSlotComponent, createInstancedMeshComponent, createLightComponent, createMaterialComponent, createMeshComponent, createMeshGeometryComponent, createModelComponent, createNameComponent, createObject3DRefComponent, createParentIdComponent, createPhysicsComponent, createPostprocessingComponent, createScriptComponent, createSelectableComponent, createSelectionTransformStateComponent, createSpriteComponent, createTransformComponent, createVideoComponent, registerDefaultComponentFactories, registerDefaultFactories } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
3
|
-
import '../chunk-
|
|
1
|
+
export { createAnimationComponent, createAudioComponent, createCameraComponent, createEntityTypeComponent, createEnvironmentComponent, createImageComponent, createImageTargetAnchorComponent, createImageTargetComponent, createInstanceSlotComponent, createInstancedMeshComponent, createLightComponent, createMaterialComponent, createMeshComponent, createMeshGeometryComponent, createModelComponent, createNameComponent, createObject3DRefComponent, createParentIdComponent, createPhysicsComponent, createPostprocessingComponent, createScriptComponent, createSelectableComponent, createSelectionTransformStateComponent, createSpriteComponent, createTransformComponent, createVideoComponent, registerDefaultComponentFactories, registerDefaultFactories } from '../chunk-YLRCC4EK.js';
|
|
2
|
+
import '../chunk-OIOUWDOS.js';
|
|
3
|
+
import '../chunk-XPCVEXMY.js';
|
|
4
4
|
import '../chunk-OY7ZODZP.js';
|
|
5
5
|
//# sourceMappingURL=index.js.map
|
|
6
6
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { A as AnimationComponent, a as AnimationComponentOptions, b as AudioComponent, C as CameraComponent, c as CameraComponentOptions, d as CameraProjection, e as CameraRuntimeType, f as ColliderShape, g as ColliderState, h as CubeMeshParameters, D as DEFAULT_COLLIDER_STATE, i as DEFAULT_ENVIRONMENT_STATE, j as DEFAULT_INSTANCED_MESH_PARAMETERS, k as DEFAULT_INSTANCE_TRANSFORM, l as DEFAULT_MESH_GEOMETRY_PARAMETERS, m as DEFAULT_PHYSICS_STATE, n as DEFAULT_POSTPROCESSING_STATE, o as DEFAULT_RIGIDBODY_STATE, E as EditableMeshObjectKind, p as EntityType, q as Environment, r as EnvironmentFogState, s as EnvironmentFogType, t as EnvironmentGradientEffect, u as EnvironmentSkyboxState, v as EnvironmentSkyboxType, w as EnvironmentState, I as ImageComponent, x as ImageTarget, y as ImageTargetAnchor, z as ImageTargetAnchorOptions, B as ImageTargetReference, F as InstanceSlotComponent, G as InstanceTransform, H as InstancedMeshComponent, J as InstancedMeshKind, L as LightComponent, K as LightValueState, M as MaterialComponent, N as MaterialTypeValue, O as MaterialValueState, P as MeshComponent, Q as MeshGeometryComponent, R as MeshGeometryParameters, S as MeshGeometryParametersByKind, T as ModelComponent, U as Name, V as Object3DRef, W as PhysicsComponent, X as PhysicsState, Y as PlaneMeshParameters, Z as Postprocessing, _ as PostprocessingState, $ as RadiusHeightMeshParameters, a0 as RadiusMeshParameters, a1 as RigidbodyState, a2 as RigidbodyType, a3 as ScriptComponent, a4 as ScriptEntry, a5 as Selectable, a6 as SelectionTransformState, a7 as SpriteComponent, a8 as TextureFilteringValue, a9 as TransformModeValue, aa as TransformSpaceValue, ab as VideoComponent, ac as normalizePhysicsState } from './Video-
|
|
2
|
-
import { P as ParentId, T as TransformComponent, a as TransformData, V as Vec3 } from './System-
|
|
1
|
+
import { A as AnimationComponent, a as AnimationComponentOptions, b as AudioComponent, C as CameraComponent, c as CameraComponentOptions, d as CameraProjection, e as CameraRuntimeType, f as ColliderShape, g as ColliderState, h as CubeMeshParameters, D as DEFAULT_COLLIDER_STATE, i as DEFAULT_ENVIRONMENT_STATE, j as DEFAULT_INSTANCED_MESH_PARAMETERS, k as DEFAULT_INSTANCE_TRANSFORM, l as DEFAULT_MESH_GEOMETRY_PARAMETERS, m as DEFAULT_PHYSICS_STATE, n as DEFAULT_POSTPROCESSING_STATE, o as DEFAULT_RIGIDBODY_STATE, E as EditableMeshObjectKind, p as EntityType, q as Environment, r as EnvironmentFogState, s as EnvironmentFogType, t as EnvironmentGradientEffect, u as EnvironmentSkyboxState, v as EnvironmentSkyboxType, w as EnvironmentState, I as ImageComponent, x as ImageTarget, y as ImageTargetAnchor, z as ImageTargetAnchorOptions, B as ImageTargetReference, F as InstanceSlotComponent, G as InstanceTransform, H as InstancedMeshComponent, J as InstancedMeshKind, L as LightComponent, K as LightValueState, M as MaterialComponent, N as MaterialTypeValue, O as MaterialValueState, P as MeshComponent, Q as MeshGeometryComponent, R as MeshGeometryParameters, S as MeshGeometryParametersByKind, T as ModelComponent, U as Name, V as Object3DRef, W as PhysicsComponent, X as PhysicsState, Y as PlaneMeshParameters, Z as Postprocessing, _ as PostprocessingState, $ as RadiusHeightMeshParameters, a0 as RadiusMeshParameters, a1 as RigidbodyState, a2 as RigidbodyType, a3 as ScriptComponent, a4 as ScriptEntry, a5 as Selectable, a6 as SelectionTransformState, a7 as SpriteComponent, a8 as TextureFilteringValue, a9 as TransformModeValue, aa as TransformSpaceValue, ab as VideoComponent, ac as normalizePhysicsState } from './Video-BnrYbbzu.cjs';
|
|
2
|
+
import { P as ParentId, T as TransformComponent, a as TransformData, V as Vec3 } from './System-KTHuWc-i.cjs';
|
|
3
3
|
|
|
4
4
|
declare const index_AnimationComponent: typeof AnimationComponent;
|
|
5
5
|
declare const index_AnimationComponentOptions: typeof AnimationComponentOptions;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { A as AnimationComponent, a as AnimationComponentOptions, b as AudioComponent, C as CameraComponent, c as CameraComponentOptions, d as CameraProjection, e as CameraRuntimeType, f as ColliderShape, g as ColliderState, h as CubeMeshParameters, D as DEFAULT_COLLIDER_STATE, i as DEFAULT_ENVIRONMENT_STATE, j as DEFAULT_INSTANCED_MESH_PARAMETERS, k as DEFAULT_INSTANCE_TRANSFORM, l as DEFAULT_MESH_GEOMETRY_PARAMETERS, m as DEFAULT_PHYSICS_STATE, n as DEFAULT_POSTPROCESSING_STATE, o as DEFAULT_RIGIDBODY_STATE, E as EditableMeshObjectKind, p as EntityType, q as Environment, r as EnvironmentFogState, s as EnvironmentFogType, t as EnvironmentGradientEffect, u as EnvironmentSkyboxState, v as EnvironmentSkyboxType, w as EnvironmentState, I as ImageComponent, x as ImageTarget, y as ImageTargetAnchor, z as ImageTargetAnchorOptions, B as ImageTargetReference, F as InstanceSlotComponent, G as InstanceTransform, H as InstancedMeshComponent, J as InstancedMeshKind, L as LightComponent, K as LightValueState, M as MaterialComponent, N as MaterialTypeValue, O as MaterialValueState, P as MeshComponent, Q as MeshGeometryComponent, R as MeshGeometryParameters, S as MeshGeometryParametersByKind, T as ModelComponent, U as Name, V as Object3DRef, W as PhysicsComponent, X as PhysicsState, Y as PlaneMeshParameters, Z as Postprocessing, _ as PostprocessingState, $ as RadiusHeightMeshParameters, a0 as RadiusMeshParameters, a1 as RigidbodyState, a2 as RigidbodyType, a3 as ScriptComponent, a4 as ScriptEntry, a5 as Selectable, a6 as SelectionTransformState, a7 as SpriteComponent, a8 as TextureFilteringValue, a9 as TransformModeValue, aa as TransformSpaceValue, ab as VideoComponent, ac as normalizePhysicsState } from './Video-
|
|
2
|
-
import { P as ParentId, T as TransformComponent, a as TransformData, V as Vec3 } from './System-
|
|
1
|
+
import { A as AnimationComponent, a as AnimationComponentOptions, b as AudioComponent, C as CameraComponent, c as CameraComponentOptions, d as CameraProjection, e as CameraRuntimeType, f as ColliderShape, g as ColliderState, h as CubeMeshParameters, D as DEFAULT_COLLIDER_STATE, i as DEFAULT_ENVIRONMENT_STATE, j as DEFAULT_INSTANCED_MESH_PARAMETERS, k as DEFAULT_INSTANCE_TRANSFORM, l as DEFAULT_MESH_GEOMETRY_PARAMETERS, m as DEFAULT_PHYSICS_STATE, n as DEFAULT_POSTPROCESSING_STATE, o as DEFAULT_RIGIDBODY_STATE, E as EditableMeshObjectKind, p as EntityType, q as Environment, r as EnvironmentFogState, s as EnvironmentFogType, t as EnvironmentGradientEffect, u as EnvironmentSkyboxState, v as EnvironmentSkyboxType, w as EnvironmentState, I as ImageComponent, x as ImageTarget, y as ImageTargetAnchor, z as ImageTargetAnchorOptions, B as ImageTargetReference, F as InstanceSlotComponent, G as InstanceTransform, H as InstancedMeshComponent, J as InstancedMeshKind, L as LightComponent, K as LightValueState, M as MaterialComponent, N as MaterialTypeValue, O as MaterialValueState, P as MeshComponent, Q as MeshGeometryComponent, R as MeshGeometryParameters, S as MeshGeometryParametersByKind, T as ModelComponent, U as Name, V as Object3DRef, W as PhysicsComponent, X as PhysicsState, Y as PlaneMeshParameters, Z as Postprocessing, _ as PostprocessingState, $ as RadiusHeightMeshParameters, a0 as RadiusMeshParameters, a1 as RigidbodyState, a2 as RigidbodyType, a3 as ScriptComponent, a4 as ScriptEntry, a5 as Selectable, a6 as SelectionTransformState, a7 as SpriteComponent, a8 as TextureFilteringValue, a9 as TransformModeValue, aa as TransformSpaceValue, ab as VideoComponent, ac as normalizePhysicsState } from './Video-Ds_0Aj66.js';
|
|
2
|
+
import { P as ParentId, T as TransformComponent, a as TransformData, V as Vec3 } from './System-KTHuWc-i.js';
|
|
3
3
|
|
|
4
4
|
declare const index_AnimationComponent: typeof AnimationComponent;
|
|
5
5
|
declare const index_AnimationComponentOptions: typeof AnimationComponentOptions;
|
package/dist/index.cjs
CHANGED
|
@@ -306,10 +306,19 @@ function cloneHistoryValue(value, seen = /* @__PURE__ */ new WeakMap()) {
|
|
|
306
306
|
return cloneArray;
|
|
307
307
|
}
|
|
308
308
|
const prototype = Object.getPrototypeOf(objectValue);
|
|
309
|
+
const constructorName = objectValue.constructor?.name;
|
|
309
310
|
const shouldCloneWithPrototype = objectValue instanceof Component || prototype === Object.prototype || prototype === null;
|
|
310
311
|
if (!shouldCloneWithPrototype) {
|
|
311
312
|
return value;
|
|
312
313
|
}
|
|
314
|
+
if (constructorName === "InstancedMeshComponent") {
|
|
315
|
+
const cloneObject2 = Object.create(prototype);
|
|
316
|
+
seen.set(objectValue, cloneObject2);
|
|
317
|
+
for (const key of Object.keys(objectValue)) {
|
|
318
|
+
cloneObject2[key] = key === "instancedMesh" ? null : cloneHistoryValue(objectValue[key], seen);
|
|
319
|
+
}
|
|
320
|
+
return cloneObject2;
|
|
321
|
+
}
|
|
313
322
|
const cloneObject = Object.create(prototype);
|
|
314
323
|
seen.set(objectValue, cloneObject);
|
|
315
324
|
for (const key of Object.keys(objectValue)) {
|
|
@@ -6113,6 +6122,15 @@ var _InstancedMeshSystem = class _InstancedMeshSystem {
|
|
|
6113
6122
|
this.loadingSignatures = /* @__PURE__ */ new Map();
|
|
6114
6123
|
/** Per-mesh data for model kind, populated after GLTF load. */
|
|
6115
6124
|
this.modelMeshEntries = /* @__PURE__ */ new Map();
|
|
6125
|
+
/**
|
|
6126
|
+
* System-internal ref to the Three.js mesh/group most recently placed on
|
|
6127
|
+
* the anchor by this system. Used for cleanup on rebuild instead of
|
|
6128
|
+
* `comp.instancedMesh`, which can be stale (pointing to a disposed mesh)
|
|
6129
|
+
* after an undo/redo restores a history snapshot captured at an earlier
|
|
6130
|
+
* geometry configuration. Relying on the stale comp ref would skip removal
|
|
6131
|
+
* of the current live mesh → ghost mesh in the scene.
|
|
6132
|
+
*/
|
|
6133
|
+
this.trackedMeshes = /* @__PURE__ */ new Map();
|
|
6116
6134
|
}
|
|
6117
6135
|
update(world) {
|
|
6118
6136
|
const entityIds = world.query(InstancedMeshComponent);
|
|
@@ -6126,6 +6144,9 @@ var _InstancedMeshSystem = class _InstancedMeshSystem {
|
|
|
6126
6144
|
for (const trackedId of this.modelMeshEntries.keys()) {
|
|
6127
6145
|
if (!alive.has(trackedId)) this.modelMeshEntries.delete(trackedId);
|
|
6128
6146
|
}
|
|
6147
|
+
for (const trackedId of this.trackedMeshes.keys()) {
|
|
6148
|
+
if (!alive.has(trackedId)) this.trackedMeshes.delete(trackedId);
|
|
6149
|
+
}
|
|
6129
6150
|
for (const entityId of entityIds) {
|
|
6130
6151
|
const comp = world.getComponent(
|
|
6131
6152
|
entityId,
|
|
@@ -6137,18 +6158,26 @@ var _InstancedMeshSystem = class _InstancedMeshSystem {
|
|
|
6137
6158
|
if (!anchor) continue;
|
|
6138
6159
|
const instanceCount = comp.instanceEntityIds.length;
|
|
6139
6160
|
const geometrySignature = comp.meshKind === "model" ? `model:${comp.modelPath}:${instanceCount}` : `${comp.meshKind}:${JSON.stringify(comp.meshParameters)}:${instanceCount}`;
|
|
6161
|
+
if (comp.instancedMesh === null) {
|
|
6162
|
+
const tracked = this.trackedMeshes.get(entityId);
|
|
6163
|
+
if (tracked) {
|
|
6164
|
+
comp.instancedMesh = tracked;
|
|
6165
|
+
}
|
|
6166
|
+
}
|
|
6140
6167
|
const pendingLoadSignature = this.loadingSignatures.get(entityId);
|
|
6141
|
-
const needsRebuild = (
|
|
6168
|
+
const needsRebuild = (!this.trackedMeshes.has(entityId) || this.geometrySignatures.get(entityId) !== geometrySignature) && pendingLoadSignature !== geometrySignature;
|
|
6142
6169
|
if (needsRebuild) {
|
|
6143
|
-
|
|
6144
|
-
|
|
6145
|
-
|
|
6146
|
-
|
|
6170
|
+
const trackedMesh = this.trackedMeshes.get(entityId);
|
|
6171
|
+
if (trackedMesh) {
|
|
6172
|
+
anchor.remove(trackedMesh);
|
|
6173
|
+
if (trackedMesh.isInstancedMesh) {
|
|
6174
|
+
disposePrimitiveInstancedMesh(trackedMesh);
|
|
6147
6175
|
} else {
|
|
6148
|
-
disposeModelGroup(
|
|
6176
|
+
disposeModelGroup(trackedMesh);
|
|
6149
6177
|
}
|
|
6150
|
-
|
|
6178
|
+
this.trackedMeshes.delete(entityId);
|
|
6151
6179
|
}
|
|
6180
|
+
comp.instancedMesh = null;
|
|
6152
6181
|
if (pendingLoadSignature !== void 0 && pendingLoadSignature !== geometrySignature) {
|
|
6153
6182
|
this.loadingSignatures.delete(entityId);
|
|
6154
6183
|
this.modelMeshEntries.delete(entityId);
|
|
@@ -6234,6 +6263,7 @@ var _InstancedMeshSystem = class _InstancedMeshSystem {
|
|
|
6234
6263
|
currentComp.instancedMesh = group;
|
|
6235
6264
|
this.modelMeshEntries.set(targetEntityId, entries);
|
|
6236
6265
|
this.geometrySignatures.set(targetEntityId, targetSignature);
|
|
6266
|
+
this.trackedMeshes.set(targetEntityId, group);
|
|
6237
6267
|
this.loadingSignatures.delete(targetEntityId);
|
|
6238
6268
|
}).catch(() => {
|
|
6239
6269
|
this.loadingSignatures.delete(targetEntityId);
|
|
@@ -6260,6 +6290,7 @@ var _InstancedMeshSystem = class _InstancedMeshSystem {
|
|
|
6260
6290
|
instancedMesh.instanceMatrix.needsUpdate = true;
|
|
6261
6291
|
anchor.add(instancedMesh);
|
|
6262
6292
|
comp.instancedMesh = instancedMesh;
|
|
6293
|
+
this.trackedMeshes.set(entityId, instancedMesh);
|
|
6263
6294
|
this.geometrySignatures.set(entityId, geometrySignature);
|
|
6264
6295
|
} else {
|
|
6265
6296
|
if (comp.meshKind === "model") {
|