@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.
Files changed (211) hide show
  1. package/dist/{System-AV2_87Zr.d.cts → System-KTHuWc-i.d.cts} +1 -1
  2. package/dist/{System-AV2_87Zr.d.ts → System-KTHuWc-i.d.ts} +1 -1
  3. package/dist/{Video-D6mObK_5.d.ts → Video-BnrYbbzu.d.cts} +2 -2
  4. package/dist/{Video-Bn93p6XV.d.cts → Video-Ds_0Aj66.d.ts} +2 -2
  5. package/dist/{chunk-ODCWJHPS.js → chunk-OIOUWDOS.js} +3 -3
  6. package/dist/{chunk-ODCWJHPS.js.map → chunk-OIOUWDOS.js.map} +1 -1
  7. package/dist/{chunk-PHIEXEKJ.js → chunk-R2WMVXZZ.js} +11 -2
  8. package/dist/chunk-R2WMVXZZ.js.map +1 -0
  9. package/dist/{chunk-SABZQFSA.js → chunk-UU6VYCIO.js} +33 -11
  10. package/dist/chunk-UU6VYCIO.js.map +1 -0
  11. package/dist/{chunk-AZR6SLQN.js → chunk-XPCVEXMY.js} +2 -2
  12. package/dist/{chunk-AZR6SLQN.js.map → chunk-XPCVEXMY.js.map} +1 -1
  13. package/dist/{chunk-LE6ARNYQ.js → chunk-YLRCC4EK.js} +4 -4
  14. package/dist/{chunk-LE6ARNYQ.js.map → chunk-YLRCC4EK.js.map} +1 -1
  15. package/dist/components/index.cjs.map +1 -1
  16. package/dist/components/index.d.cts +2 -2
  17. package/dist/components/index.d.ts +2 -2
  18. package/dist/components/index.js +1 -1
  19. package/dist/docs/api/Behaviour/classes/Behaviour.md +29 -29
  20. package/dist/docs/api/Component/classes/Component.md +3 -1
  21. package/dist/docs/api/components/classes/AnimationComponent.md +26 -26
  22. package/dist/docs/api/components/classes/AudioComponent.md +19 -19
  23. package/dist/docs/api/components/classes/CameraComponent.md +14 -14
  24. package/dist/docs/api/components/classes/EntityType.md +4 -4
  25. package/dist/docs/api/components/classes/Environment.md +3 -3
  26. package/dist/docs/api/components/classes/ImageComponent.md +7 -7
  27. package/dist/docs/api/components/classes/ImageTarget.md +7 -7
  28. package/dist/docs/api/components/classes/ImageTargetAnchor.md +4 -4
  29. package/dist/docs/api/components/classes/InstanceSlotComponent.md +52 -0
  30. package/dist/docs/api/components/classes/InstancedMeshComponent.md +82 -0
  31. package/dist/docs/api/components/classes/LightComponent.md +6 -6
  32. package/dist/docs/api/components/classes/MaterialComponent.md +11 -11
  33. package/dist/docs/api/components/classes/MeshComponent.md +3 -3
  34. package/dist/docs/api/components/classes/MeshGeometryComponent.md +9 -9
  35. package/dist/docs/api/components/classes/ModelComponent.md +4 -4
  36. package/dist/docs/api/components/classes/Name.md +3 -3
  37. package/dist/docs/api/components/classes/Object3DRef.md +4 -4
  38. package/dist/docs/api/components/classes/ParentId.md +3 -3
  39. package/dist/docs/api/components/classes/PhysicsComponent.md +6 -6
  40. package/dist/docs/api/components/classes/Postprocessing.md +3 -3
  41. package/dist/docs/api/components/classes/ScriptComponent.md +5 -5
  42. package/dist/docs/api/components/classes/Selectable.md +3 -3
  43. package/dist/docs/api/components/classes/SelectionTransformState.md +5 -5
  44. package/dist/docs/api/components/classes/SpriteComponent.md +7 -7
  45. package/dist/docs/api/components/classes/TransformComponent.md +12 -12
  46. package/dist/docs/api/components/classes/VideoComponent.md +28 -28
  47. package/dist/docs/api/components/functions/normalizePhysicsState.md +1 -1
  48. package/dist/docs/api/components/index.md +6 -0
  49. package/dist/docs/api/components/type-aliases/AnimationComponentOptions.md +9 -9
  50. package/dist/docs/api/components/type-aliases/CameraComponentOptions.md +13 -13
  51. package/dist/docs/api/components/type-aliases/CameraProjection.md +1 -1
  52. package/dist/docs/api/components/type-aliases/CameraRuntimeType.md +1 -1
  53. package/dist/docs/api/components/type-aliases/ColliderShape.md +1 -1
  54. package/dist/docs/api/components/type-aliases/ColliderState.md +20 -20
  55. package/dist/docs/api/components/type-aliases/CubeMeshParameters.md +4 -4
  56. package/dist/docs/api/components/type-aliases/EditableMeshObjectKind.md +1 -1
  57. package/dist/docs/api/components/type-aliases/EnvironmentFogState.md +8 -8
  58. package/dist/docs/api/components/type-aliases/EnvironmentFogType.md +1 -1
  59. package/dist/docs/api/components/type-aliases/EnvironmentGradientEffect.md +1 -1
  60. package/dist/docs/api/components/type-aliases/EnvironmentSkyboxState.md +7 -7
  61. package/dist/docs/api/components/type-aliases/EnvironmentSkyboxType.md +1 -1
  62. package/dist/docs/api/components/type-aliases/EnvironmentState.md +5 -5
  63. package/dist/docs/api/components/type-aliases/ImageTargetAnchorOptions.md +3 -3
  64. package/dist/docs/api/components/type-aliases/ImageTargetReference.md +7 -7
  65. package/dist/docs/api/components/type-aliases/InstanceTransform.md +49 -0
  66. package/dist/docs/api/components/type-aliases/InstancedMeshKind.md +15 -0
  67. package/dist/docs/api/components/type-aliases/LightValueState.md +11 -11
  68. package/dist/docs/api/components/type-aliases/MaterialTypeValue.md +1 -1
  69. package/dist/docs/api/components/type-aliases/MaterialValueState.md +28 -28
  70. package/dist/docs/api/components/type-aliases/MeshGeometryParameters.md +1 -1
  71. package/dist/docs/api/components/type-aliases/MeshGeometryParametersByKind.md +7 -7
  72. package/dist/docs/api/components/type-aliases/PhysicsState.md +3 -3
  73. package/dist/docs/api/components/type-aliases/PlaneMeshParameters.md +3 -3
  74. package/dist/docs/api/components/type-aliases/PostprocessingState.md +62 -62
  75. package/dist/docs/api/components/type-aliases/RadiusHeightMeshParameters.md +3 -3
  76. package/dist/docs/api/components/type-aliases/RadiusMeshParameters.md +2 -2
  77. package/dist/docs/api/components/type-aliases/RigidbodyState.md +17 -17
  78. package/dist/docs/api/components/type-aliases/RigidbodyType.md +1 -1
  79. package/dist/docs/api/components/type-aliases/ScriptEntry.md +9 -9
  80. package/dist/docs/api/components/type-aliases/TextureFilteringValue.md +1 -1
  81. package/dist/docs/api/components/type-aliases/TransformData.md +4 -4
  82. package/dist/docs/api/components/type-aliases/TransformModeValue.md +1 -1
  83. package/dist/docs/api/components/type-aliases/TransformSpaceValue.md +1 -1
  84. package/dist/docs/api/components/type-aliases/Vec3.md +4 -4
  85. package/dist/docs/api/components/variables/DEFAULT_COLLIDER_STATE.md +1 -1
  86. package/dist/docs/api/components/variables/DEFAULT_ENVIRONMENT_STATE.md +1 -1
  87. package/dist/docs/api/components/variables/DEFAULT_INSTANCED_MESH_PARAMETERS.md +15 -0
  88. package/dist/docs/api/components/variables/DEFAULT_INSTANCE_TRANSFORM.md +15 -0
  89. package/dist/docs/api/components/variables/DEFAULT_MESH_GEOMETRY_PARAMETERS.md +1 -1
  90. package/dist/docs/api/components/variables/DEFAULT_PHYSICS_STATE.md +1 -1
  91. package/dist/docs/api/components/variables/DEFAULT_POSTPROCESSING_STATE.md +1 -1
  92. package/dist/docs/api/components/variables/DEFAULT_RIGIDBODY_STATE.md +1 -1
  93. package/dist/docs/api/index/classes/AnimationStateMachine.md +16 -16
  94. package/dist/docs/api/index/classes/AnimationStateManager.md +13 -13
  95. package/dist/docs/api/index/classes/AnimationSystem.md +3 -3
  96. package/dist/docs/api/index/classes/AudioSystem.md +4 -4
  97. package/dist/docs/api/index/classes/CameraSyncSystem.md +2 -2
  98. package/dist/docs/api/index/classes/EnvironmentSyncSystem.md +4 -4
  99. package/dist/docs/api/index/classes/InputSystem.md +33 -33
  100. package/dist/docs/api/index/classes/InstancedMeshSystem.md +62 -0
  101. package/dist/docs/api/index/classes/LightSyncSystem.md +2 -2
  102. package/dist/docs/api/index/classes/MaterialSyncSystem.md +3 -3
  103. package/dist/docs/api/index/classes/MeshGeometrySystem.md +2 -2
  104. package/dist/docs/api/index/classes/ObjectManagementSystem.md +14 -14
  105. package/dist/docs/api/index/classes/ObjectVisibilitySystem.md +2 -2
  106. package/dist/docs/api/index/classes/PhysicsSyncSystem.md +4 -4
  107. package/dist/docs/api/index/classes/PostprocessingSyncSystem.md +4 -4
  108. package/dist/docs/api/index/classes/RenderSystem.md +3 -3
  109. package/dist/docs/api/index/classes/ScriptBehaviourSystem.md +4 -4
  110. package/dist/docs/api/index/classes/TransformSyncSystem.md +2 -2
  111. package/dist/docs/api/index/classes/VideoSystem.md +4 -4
  112. package/dist/docs/api/index/classes/World.md +82 -82
  113. package/dist/docs/api/index/functions/createAnimationComponent.md +1 -1
  114. package/dist/docs/api/index/functions/createAudioComponent.md +1 -1
  115. package/dist/docs/api/index/functions/createCameraComponent.md +1 -1
  116. package/dist/docs/api/index/functions/createEntityTypeComponent.md +2 -2
  117. package/dist/docs/api/index/functions/createEnvironmentComponent.md +1 -1
  118. package/dist/docs/api/index/functions/createImageComponent.md +1 -1
  119. package/dist/docs/api/index/functions/createImageTargetAnchorComponent.md +1 -1
  120. package/dist/docs/api/index/functions/createImageTargetComponent.md +1 -1
  121. package/dist/docs/api/index/functions/createInstanceSlotComponent.md +30 -0
  122. package/dist/docs/api/index/functions/createInstancedMeshComponent.md +36 -0
  123. package/dist/docs/api/index/functions/createLightComponent.md +1 -1
  124. package/dist/docs/api/index/functions/createMaterialComponent.md +1 -1
  125. package/dist/docs/api/index/functions/createMeshComponent.md +1 -1
  126. package/dist/docs/api/index/functions/createMeshGeometryComponent.md +1 -1
  127. package/dist/docs/api/index/functions/createModelComponent.md +1 -1
  128. package/dist/docs/api/index/functions/createNameComponent.md +1 -1
  129. package/dist/docs/api/index/functions/createObject3DRefComponent.md +1 -1
  130. package/dist/docs/api/index/functions/createParentIdComponent.md +1 -1
  131. package/dist/docs/api/index/functions/createPhysicsComponent.md +1 -1
  132. package/dist/docs/api/index/functions/createPostprocessingComponent.md +1 -1
  133. package/dist/docs/api/index/functions/createScriptComponent.md +1 -1
  134. package/dist/docs/api/index/functions/createSelectableComponent.md +1 -1
  135. package/dist/docs/api/index/functions/createSelectionTransformStateComponent.md +1 -1
  136. package/dist/docs/api/index/functions/createSpriteComponent.md +1 -1
  137. package/dist/docs/api/index/functions/createTransformComponent.md +1 -1
  138. package/dist/docs/api/index/functions/createVideoComponent.md +1 -1
  139. package/dist/docs/api/index/functions/hydrateWorldFromSnapshot.md +1 -1
  140. package/dist/docs/api/index/functions/hydrateWorldFromSnapshotDetailed.md +1 -1
  141. package/dist/docs/api/index/functions/registerDefaultComponentFactories.md +1 -1
  142. package/dist/docs/api/index/functions/registerDefaultFactories.md +1 -1
  143. package/dist/docs/api/index/index.md +3 -0
  144. package/dist/docs/api/index/interfaces/EcsSystem.md +3 -3
  145. package/dist/docs/api/index/interfaces/StateMachine.md +13 -13
  146. package/dist/docs/api/index/type-aliases/AnimationStateCallbacks.md +4 -4
  147. package/dist/docs/api/index/type-aliases/ComponentFactory.md +1 -1
  148. package/dist/docs/api/index/type-aliases/EcsComponentFactoryKind.md +3 -2
  149. package/dist/docs/api/index/type-aliases/EcsWorldComponentSnapshot.md +3 -3
  150. package/dist/docs/api/index/type-aliases/EcsWorldStateSnapshotLike.md +4 -4
  151. package/dist/docs/api/index/type-aliases/HydrateWorldFromSnapshotResult.md +3 -3
  152. package/dist/docs/api/index/type-aliases/KeyboardKey.md +1 -1
  153. package/dist/docs/api/index/type-aliases/MouseButton.md +1 -1
  154. package/dist/docs/api/index/type-aliases/SelectionContext.md +4 -4
  155. package/dist/docs/api/index/variables/HYDRATABLE_ENTITY_KINDS.md +1 -1
  156. package/dist/docs/api/index/variables/KeyboardKeys.md +89 -89
  157. package/dist/docs/api/typedoc-sidebar.json +1 -1
  158. package/dist/docs/api/types/type-aliases/AssetInput.md +3 -3
  159. package/dist/docs/api/types/type-aliases/CheckboxInput.md +1 -1
  160. package/dist/docs/api/types/type-aliases/ColorInput.md +1 -1
  161. package/dist/docs/api/types/type-aliases/ComponentInput.md +4 -4
  162. package/dist/docs/api/types/type-aliases/ComponentKind.md +3 -1
  163. package/dist/docs/api/types/type-aliases/DropdownInput.md +3 -3
  164. package/dist/docs/api/types/type-aliases/DropdownOption.md +3 -3
  165. package/dist/docs/api/types/type-aliases/EcsEntityEditorKind.md +1 -1
  166. package/dist/docs/api/types/type-aliases/EcsEntityKind.md +4 -2
  167. package/dist/docs/api/types/type-aliases/EntityId.md +1 -1
  168. package/dist/docs/api/types/type-aliases/EntityInput.md +3 -3
  169. package/dist/docs/api/types/type-aliases/FloatInput.md +1 -1
  170. package/dist/docs/api/types/type-aliases/IntersectionResult.md +3 -3
  171. package/dist/docs/api/types/type-aliases/ParentLookup.md +3 -3
  172. package/dist/docs/api/types/type-aliases/SelectionListener.md +1 -1
  173. package/dist/docs/api/types/type-aliases/SliderInput.md +5 -5
  174. package/dist/docs/api/types/type-aliases/TextInput.md +1 -1
  175. package/dist/docs/api/types/type-aliases/ToggleInput.md +1 -1
  176. package/dist/docs/api/types/type-aliases/Vec3.md +1 -1
  177. package/dist/docs/api/types/type-aliases/Vector2Input.md +3 -3
  178. package/dist/docs/api/types/type-aliases/Vector3Input.md +4 -4
  179. package/dist/docs/api/types/type-aliases/WorldEntityView.md +1 -1
  180. package/dist/docs/guide/components/instance-slot.md +102 -0
  181. package/dist/docs/guide/components/instanced-mesh.md +189 -0
  182. package/dist/docs/guide/spawning/index.md +4 -0
  183. package/dist/docs/guide/spawning/instanced-mesh.md +267 -0
  184. package/dist/docs/guide/systems/_sidebar.json +4 -0
  185. package/dist/docs/guide/systems/instanced-mesh-system.md +32 -0
  186. package/dist/factories/index.cjs.map +1 -1
  187. package/dist/factories/index.d.cts +2 -2
  188. package/dist/factories/index.d.ts +2 -2
  189. package/dist/factories/index.js +3 -3
  190. package/dist/{index-B4-ABchF.d.cts → index-ComEYKYI.d.cts} +2 -2
  191. package/dist/{index-BO49V8aS.d.ts → index-D-gUELQS.d.ts} +2 -2
  192. package/dist/index.cjs +38 -7
  193. package/dist/index.cjs.map +1 -1
  194. package/dist/index.d.cts +5 -5
  195. package/dist/index.d.ts +5 -5
  196. package/dist/index.js +9 -9
  197. package/dist/systems/index.cjs +29 -7
  198. package/dist/systems/index.cjs.map +1 -1
  199. package/dist/systems/index.d.cts +11 -2
  200. package/dist/systems/index.d.ts +11 -2
  201. package/dist/systems/index.js +3 -3
  202. package/dist/types.d.cts +1 -1
  203. package/dist/types.d.ts +1 -1
  204. package/dist/worldSnapshotUtils.cjs +9 -0
  205. package/dist/worldSnapshotUtils.cjs.map +1 -1
  206. package/dist/worldSnapshotUtils.d.cts +1 -1
  207. package/dist/worldSnapshotUtils.d.ts +1 -1
  208. package/dist/worldSnapshotUtils.js +1 -1
  209. package/package.json +1 -1
  210. package/dist/chunk-PHIEXEKJ.js.map +0 -1
  211. package/dist/chunk-SABZQFSA.js.map +0 -1
package/dist/index.d.cts CHANGED
@@ -1,9 +1,9 @@
1
- import { E as EcsSystem, C as Component, W as WorldEntityView, T as TransformComponent, b as World, c as ComponentClass, d as ParentLookup, e as EcsEntityKind, O as ObjectManagementSystem } from './System-AV2_87Zr.cjs';
2
- export { A as AssetInput, f as CheckboxInput, g as ColorInput, h as ComponentFactory, i as ComponentInput, j as ComponentKind, D as DropdownInput, k as DropdownOption, l as EcsComponentFactoryKind, m as EcsEntityEditorKind, n as EntityId, o as EntityInput, F as FloatInput, I as InputSystem, p as IntersectionResult, K as KeyboardKey, q as KeyboardKeys, M as MouseButton, R as RenderSystem, S as SelectionListener, r as SliderInput, s as TextInput, t as ToggleInput, u as TransformSyncSystem, v as Vec3, w as Vector2Input, x as Vector3Input } from './System-AV2_87Zr.cjs';
1
+ import { E as EcsSystem, C as Component, W as WorldEntityView, T as TransformComponent, b as World, c as ComponentClass, d as ParentLookup, e as EcsEntityKind, O as ObjectManagementSystem } from './System-KTHuWc-i.cjs';
2
+ export { A as AssetInput, f as CheckboxInput, g as ColorInput, h as ComponentFactory, i as ComponentInput, j as ComponentKind, D as DropdownInput, k as DropdownOption, l as EcsComponentFactoryKind, m as EcsEntityEditorKind, n as EntityId, o as EntityInput, F as FloatInput, I as InputSystem, p as IntersectionResult, K as KeyboardKey, q as KeyboardKeys, M as MouseButton, R as RenderSystem, S as SelectionListener, r as SliderInput, s as TextInput, t as ToggleInput, u as TransformSyncSystem, v as Vec3, w as Vector2Input, x as Vector3Input } from './System-KTHuWc-i.cjs';
3
3
  import * as THREE from 'three';
4
- import { V as Object3DRef } from './Video-Bn93p6XV.cjs';
5
- export { ad as AnimationStateCallbacks, ae as AnimationStateMachine, af as AnimationStateManager, ag as StateMachine } from './Video-Bn93p6XV.cjs';
6
- export { i as CoreComponents } from './index-B4-ABchF.cjs';
4
+ import { V as Object3DRef } from './Video-BnrYbbzu.cjs';
5
+ export { ad as AnimationStateCallbacks, ae as AnimationStateMachine, af as AnimationStateManager, ag as StateMachine } from './Video-BnrYbbzu.cjs';
6
+ export { i as CoreComponents } from './index-ComEYKYI.cjs';
7
7
  export { AnimationSystem, AudioSystem, CameraSyncSystem, EnvironmentSyncSystem, InstancedMeshSystem, LightSyncSystem, MaterialSyncSystem, MeshGeometrySystem, ObjectVisibilitySystem, PhysicsSyncSystem, PostprocessingSyncSystem, ScriptBehaviourSystem, SelectionContext, VideoSystem } from './systems/index.cjs';
8
8
  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 './factories/index.cjs';
9
9
  import '@dimforge/rapier3d-compat';
package/dist/index.d.ts CHANGED
@@ -1,9 +1,9 @@
1
- import { E as EcsSystem, C as Component, W as WorldEntityView, T as TransformComponent, b as World, c as ComponentClass, d as ParentLookup, e as EcsEntityKind, O as ObjectManagementSystem } from './System-AV2_87Zr.js';
2
- export { A as AssetInput, f as CheckboxInput, g as ColorInput, h as ComponentFactory, i as ComponentInput, j as ComponentKind, D as DropdownInput, k as DropdownOption, l as EcsComponentFactoryKind, m as EcsEntityEditorKind, n as EntityId, o as EntityInput, F as FloatInput, I as InputSystem, p as IntersectionResult, K as KeyboardKey, q as KeyboardKeys, M as MouseButton, R as RenderSystem, S as SelectionListener, r as SliderInput, s as TextInput, t as ToggleInput, u as TransformSyncSystem, v as Vec3, w as Vector2Input, x as Vector3Input } from './System-AV2_87Zr.js';
1
+ import { E as EcsSystem, C as Component, W as WorldEntityView, T as TransformComponent, b as World, c as ComponentClass, d as ParentLookup, e as EcsEntityKind, O as ObjectManagementSystem } from './System-KTHuWc-i.js';
2
+ export { A as AssetInput, f as CheckboxInput, g as ColorInput, h as ComponentFactory, i as ComponentInput, j as ComponentKind, D as DropdownInput, k as DropdownOption, l as EcsComponentFactoryKind, m as EcsEntityEditorKind, n as EntityId, o as EntityInput, F as FloatInput, I as InputSystem, p as IntersectionResult, K as KeyboardKey, q as KeyboardKeys, M as MouseButton, R as RenderSystem, S as SelectionListener, r as SliderInput, s as TextInput, t as ToggleInput, u as TransformSyncSystem, v as Vec3, w as Vector2Input, x as Vector3Input } from './System-KTHuWc-i.js';
3
3
  import * as THREE from 'three';
4
- import { V as Object3DRef } from './Video-D6mObK_5.js';
5
- export { ad as AnimationStateCallbacks, ae as AnimationStateMachine, af as AnimationStateManager, ag as StateMachine } from './Video-D6mObK_5.js';
6
- export { i as CoreComponents } from './index-BO49V8aS.js';
4
+ import { V as Object3DRef } from './Video-Ds_0Aj66.js';
5
+ export { ad as AnimationStateCallbacks, ae as AnimationStateMachine, af as AnimationStateManager, ag as StateMachine } from './Video-Ds_0Aj66.js';
6
+ export { i as CoreComponents } from './index-D-gUELQS.js';
7
7
  export { AnimationSystem, AudioSystem, CameraSyncSystem, EnvironmentSyncSystem, InstancedMeshSystem, LightSyncSystem, MaterialSyncSystem, MeshGeometrySystem, ObjectVisibilitySystem, PhysicsSyncSystem, PostprocessingSyncSystem, ScriptBehaviourSystem, SelectionContext, VideoSystem } from './systems/index.js';
8
8
  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 './factories/index.js';
9
9
  import '@dimforge/rapier3d-compat';
package/dist/index.js CHANGED
@@ -1,13 +1,13 @@
1
- import { MeshGeometrySystem, InstancedMeshSystem, EnvironmentSyncSystem, PostprocessingSyncSystem, LightSyncSystem, MaterialSyncSystem, PhysicsSyncSystem, AnimationSystem, AudioSystem, VideoSystem, CameraSyncSystem, TransformSyncSystem, ObjectVisibilitySystem, RenderSystem } from './chunk-SABZQFSA.js';
2
- export { AnimationSystem, AudioSystem, Behaviour, CameraSyncSystem, EnvironmentSyncSystem, InputSystem, InstancedMeshSystem, KeyboardKeys, LightSyncSystem, MaterialSyncSystem, MeshGeometrySystem, ObjectVisibilitySystem, PhysicsSyncSystem, PostprocessingSyncSystem, RenderSystem, ScriptBehaviourSystem, TransformSyncSystem, VideoSystem } from './chunk-SABZQFSA.js';
3
- import { registerDefaultFactories } from './chunk-LE6ARNYQ.js';
4
- 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-LE6ARNYQ.js';
5
- import { ObjectManagementSystem, applyTransform } from './chunk-ODCWJHPS.js';
6
- export { ObjectManagementSystem } from './chunk-ODCWJHPS.js';
7
- import { SelectionTransformState, Object3DRef, Name, EntityType, ScriptComponent, InstancedMeshComponent, InstanceSlotComponent, AnimationComponent, TransformComponent, ModelComponent, ImageComponent, SpriteComponent, VideoComponent, AudioComponent, CameraComponent, Environment, Postprocessing, ImageTarget, LightComponent, MaterialComponent, MeshGeometryComponent, Selectable, PhysicsComponent } from './chunk-AZR6SLQN.js';
8
- export { AnimationStateMachine, AnimationStateManager, components_exports as CoreComponents } from './chunk-AZR6SLQN.js';
1
+ import { MeshGeometrySystem, InstancedMeshSystem, EnvironmentSyncSystem, PostprocessingSyncSystem, LightSyncSystem, MaterialSyncSystem, PhysicsSyncSystem, AnimationSystem, AudioSystem, VideoSystem, CameraSyncSystem, TransformSyncSystem, ObjectVisibilitySystem, RenderSystem } from './chunk-UU6VYCIO.js';
2
+ export { AnimationSystem, AudioSystem, Behaviour, CameraSyncSystem, EnvironmentSyncSystem, InputSystem, InstancedMeshSystem, KeyboardKeys, LightSyncSystem, MaterialSyncSystem, MeshGeometrySystem, ObjectVisibilitySystem, PhysicsSyncSystem, PostprocessingSyncSystem, RenderSystem, ScriptBehaviourSystem, TransformSyncSystem, VideoSystem } from './chunk-UU6VYCIO.js';
3
+ import { registerDefaultFactories } from './chunk-YLRCC4EK.js';
4
+ 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';
5
+ import { ObjectManagementSystem, applyTransform } from './chunk-OIOUWDOS.js';
6
+ export { ObjectManagementSystem } from './chunk-OIOUWDOS.js';
7
+ import { SelectionTransformState, Object3DRef, Name, EntityType, ScriptComponent, InstancedMeshComponent, InstanceSlotComponent, AnimationComponent, TransformComponent, ModelComponent, ImageComponent, SpriteComponent, VideoComponent, AudioComponent, CameraComponent, Environment, Postprocessing, ImageTarget, LightComponent, MaterialComponent, MeshGeometryComponent, Selectable, PhysicsComponent } from './chunk-XPCVEXMY.js';
8
+ export { AnimationStateMachine, AnimationStateManager, components_exports as CoreComponents } from './chunk-XPCVEXMY.js';
9
9
  import './chunk-QHILSPT4.js';
10
- import { normalizeDebugValue, DEBUG_CHANGE_IGNORED_SYSTEMS, cloneHistoryValue } from './chunk-PHIEXEKJ.js';
10
+ import { normalizeDebugValue, DEBUG_CHANGE_IGNORED_SYSTEMS, cloneHistoryValue } from './chunk-R2WMVXZZ.js';
11
11
  import { __name } from './chunk-OY7ZODZP.js';
12
12
  export { Component } from './chunk-OY7ZODZP.js';
13
13
  import * as THREE from 'three';
@@ -4236,6 +4236,15 @@ var _InstancedMeshSystem = class _InstancedMeshSystem {
4236
4236
  this.loadingSignatures = /* @__PURE__ */ new Map();
4237
4237
  /** Per-mesh data for model kind, populated after GLTF load. */
4238
4238
  this.modelMeshEntries = /* @__PURE__ */ new Map();
4239
+ /**
4240
+ * System-internal ref to the Three.js mesh/group most recently placed on
4241
+ * the anchor by this system. Used for cleanup on rebuild instead of
4242
+ * `comp.instancedMesh`, which can be stale (pointing to a disposed mesh)
4243
+ * after an undo/redo restores a history snapshot captured at an earlier
4244
+ * geometry configuration. Relying on the stale comp ref would skip removal
4245
+ * of the current live mesh → ghost mesh in the scene.
4246
+ */
4247
+ this.trackedMeshes = /* @__PURE__ */ new Map();
4239
4248
  }
4240
4249
  update(world) {
4241
4250
  const entityIds = world.query(InstancedMeshComponent);
@@ -4249,6 +4258,9 @@ var _InstancedMeshSystem = class _InstancedMeshSystem {
4249
4258
  for (const trackedId of this.modelMeshEntries.keys()) {
4250
4259
  if (!alive.has(trackedId)) this.modelMeshEntries.delete(trackedId);
4251
4260
  }
4261
+ for (const trackedId of this.trackedMeshes.keys()) {
4262
+ if (!alive.has(trackedId)) this.trackedMeshes.delete(trackedId);
4263
+ }
4252
4264
  for (const entityId of entityIds) {
4253
4265
  const comp = world.getComponent(
4254
4266
  entityId,
@@ -4260,18 +4272,26 @@ var _InstancedMeshSystem = class _InstancedMeshSystem {
4260
4272
  if (!anchor) continue;
4261
4273
  const instanceCount = comp.instanceEntityIds.length;
4262
4274
  const geometrySignature = comp.meshKind === "model" ? `model:${comp.modelPath}:${instanceCount}` : `${comp.meshKind}:${JSON.stringify(comp.meshParameters)}:${instanceCount}`;
4275
+ if (comp.instancedMesh === null) {
4276
+ const tracked = this.trackedMeshes.get(entityId);
4277
+ if (tracked) {
4278
+ comp.instancedMesh = tracked;
4279
+ }
4280
+ }
4263
4281
  const pendingLoadSignature = this.loadingSignatures.get(entityId);
4264
- const needsRebuild = (comp.instancedMesh === null || this.geometrySignatures.get(entityId) !== geometrySignature) && pendingLoadSignature !== geometrySignature;
4282
+ const needsRebuild = (!this.trackedMeshes.has(entityId) || this.geometrySignatures.get(entityId) !== geometrySignature) && pendingLoadSignature !== geometrySignature;
4265
4283
  if (needsRebuild) {
4266
- if (comp.instancedMesh) {
4267
- anchor.remove(comp.instancedMesh);
4268
- if (comp.instancedMesh.isInstancedMesh) {
4269
- disposePrimitiveInstancedMesh(comp.instancedMesh);
4284
+ const trackedMesh = this.trackedMeshes.get(entityId);
4285
+ if (trackedMesh) {
4286
+ anchor.remove(trackedMesh);
4287
+ if (trackedMesh.isInstancedMesh) {
4288
+ disposePrimitiveInstancedMesh(trackedMesh);
4270
4289
  } else {
4271
- disposeModelGroup(comp.instancedMesh);
4290
+ disposeModelGroup(trackedMesh);
4272
4291
  }
4273
- comp.instancedMesh = null;
4292
+ this.trackedMeshes.delete(entityId);
4274
4293
  }
4294
+ comp.instancedMesh = null;
4275
4295
  if (pendingLoadSignature !== void 0 && pendingLoadSignature !== geometrySignature) {
4276
4296
  this.loadingSignatures.delete(entityId);
4277
4297
  this.modelMeshEntries.delete(entityId);
@@ -4357,6 +4377,7 @@ var _InstancedMeshSystem = class _InstancedMeshSystem {
4357
4377
  currentComp.instancedMesh = group;
4358
4378
  this.modelMeshEntries.set(targetEntityId, entries);
4359
4379
  this.geometrySignatures.set(targetEntityId, targetSignature);
4380
+ this.trackedMeshes.set(targetEntityId, group);
4360
4381
  this.loadingSignatures.delete(targetEntityId);
4361
4382
  }).catch(() => {
4362
4383
  this.loadingSignatures.delete(targetEntityId);
@@ -4383,6 +4404,7 @@ var _InstancedMeshSystem = class _InstancedMeshSystem {
4383
4404
  instancedMesh.instanceMatrix.needsUpdate = true;
4384
4405
  anchor.add(instancedMesh);
4385
4406
  comp.instancedMesh = instancedMesh;
4407
+ this.trackedMeshes.set(entityId, instancedMesh);
4386
4408
  this.geometrySignatures.set(entityId, geometrySignature);
4387
4409
  } else {
4388
4410
  if (comp.meshKind === "model") {