@relu-interactives/spatial-ecs 0.2.7 → 0.2.8
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-CIiWteft.d.cts → System-AV2_87Zr.d.cts} +1 -1
- package/dist/{System-CIiWteft.d.ts → System-AV2_87Zr.d.ts} +1 -1
- package/dist/{Video-Dj4KBqQ1.d.cts → Video-Bn93p6XV.d.cts} +27 -5
- package/dist/{Video-B-qMljTn.d.ts → Video-D6mObK_5.d.ts} +27 -5
- package/dist/{chunk-R5D5PWXV.js → chunk-AZR6SLQN.js} +16 -4
- package/dist/chunk-AZR6SLQN.js.map +1 -0
- package/dist/{chunk-EIC5B3A7.js → chunk-LE6ARNYQ.js} +84 -13
- package/dist/chunk-LE6ARNYQ.js.map +1 -0
- package/dist/{chunk-FDWNCXU3.js → chunk-ODCWJHPS.js} +3 -3
- package/dist/{chunk-FDWNCXU3.js.map → chunk-ODCWJHPS.js.map} +1 -1
- package/dist/{chunk-G2DUXNTQ.js → chunk-PHIEXEKJ.js} +10 -3
- package/dist/chunk-PHIEXEKJ.js.map +1 -0
- package/dist/{chunk-2F6T3BVO.js → chunk-TVBWYIGY.js} +42 -28
- package/dist/chunk-TVBWYIGY.js.map +1 -0
- package/dist/components/index.cjs +13 -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/factories/index.cjs +92 -9
- package/dist/factories/index.cjs.map +1 -1
- package/dist/factories/index.d.cts +7 -4
- package/dist/factories/index.d.ts +7 -4
- package/dist/factories/index.js +3 -3
- package/dist/{index-Cf-PaKyN.d.ts → index-B4-ABchF.d.cts} +4 -3
- package/dist/{index-B12sx9yF.d.cts → index-BO49V8aS.d.ts} +4 -3
- package/dist/index.cjs +182 -39
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +6 -6
- package/dist/index.d.ts +6 -6
- package/dist/index.js +52 -14
- package/dist/index.js.map +1 -1
- package/dist/systems/index.cjs +39 -30
- package/dist/systems/index.cjs.map +1 -1
- package/dist/systems/index.d.cts +2 -2
- package/dist/systems/index.d.ts +2 -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 +8 -1
- 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-2F6T3BVO.js.map +0 -1
- package/dist/chunk-EIC5B3A7.js.map +0 -1
- package/dist/chunk-G2DUXNTQ.js.map +0 -1
- package/dist/chunk-R5D5PWXV.js.map +0 -1
package/dist/index.d.cts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
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-
|
|
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-
|
|
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';
|
|
3
3
|
import * as THREE from 'three';
|
|
4
|
-
import {
|
|
5
|
-
export {
|
|
6
|
-
export { i as CoreComponents } from './index-
|
|
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';
|
|
7
7
|
export { AnimationSystem, AudioSystem, CameraSyncSystem, EnvironmentSyncSystem, InstancedMeshSystem, LightSyncSystem, MaterialSyncSystem, MeshGeometrySystem, ObjectVisibilitySystem, PhysicsSyncSystem, PostprocessingSyncSystem, ScriptBehaviourSystem, SelectionContext, VideoSystem } from './systems/index.cjs';
|
|
8
|
-
export { createAnimationComponent, createAudioComponent, createCameraComponent, createEntityTypeComponent, createEnvironmentComponent, createImageComponent, createImageTargetAnchorComponent, createImageTargetComponent, createInstancedMeshComponent, createLightComponent, createMaterialComponent, createMeshComponent, createMeshGeometryComponent, createModelComponent, createNameComponent, createObject3DRefComponent, createParentIdComponent, createPhysicsComponent, createPostprocessingComponent, createScriptComponent, createSelectableComponent, createSelectionTransformStateComponent, createSpriteComponent, createTransformComponent, createVideoComponent, registerDefaultComponentFactories, registerDefaultFactories } from './factories/index.cjs';
|
|
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';
|
|
10
10
|
|
|
11
11
|
interface CustomEcsSystem extends EcsSystem {
|
package/dist/index.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
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-
|
|
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-
|
|
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';
|
|
3
3
|
import * as THREE from 'three';
|
|
4
|
-
import {
|
|
5
|
-
export {
|
|
6
|
-
export { i as CoreComponents } from './index-
|
|
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';
|
|
7
7
|
export { AnimationSystem, AudioSystem, CameraSyncSystem, EnvironmentSyncSystem, InstancedMeshSystem, LightSyncSystem, MaterialSyncSystem, MeshGeometrySystem, ObjectVisibilitySystem, PhysicsSyncSystem, PostprocessingSyncSystem, ScriptBehaviourSystem, SelectionContext, VideoSystem } from './systems/index.js';
|
|
8
|
-
export { createAnimationComponent, createAudioComponent, createCameraComponent, createEntityTypeComponent, createEnvironmentComponent, createImageComponent, createImageTargetAnchorComponent, createImageTargetComponent, createInstancedMeshComponent, createLightComponent, createMaterialComponent, createMeshComponent, createMeshGeometryComponent, createModelComponent, createNameComponent, createObject3DRefComponent, createParentIdComponent, createPhysicsComponent, createPostprocessingComponent, createScriptComponent, createSelectableComponent, createSelectionTransformStateComponent, createSpriteComponent, createTransformComponent, createVideoComponent, registerDefaultComponentFactories, registerDefaultFactories } from './factories/index.js';
|
|
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';
|
|
10
10
|
|
|
11
11
|
interface CustomEcsSystem extends EcsSystem {
|
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-
|
|
2
|
-
export { AnimationSystem, AudioSystem, Behaviour, CameraSyncSystem, EnvironmentSyncSystem, InputSystem, InstancedMeshSystem, KeyboardKeys, LightSyncSystem, MaterialSyncSystem, MeshGeometrySystem, ObjectVisibilitySystem, PhysicsSyncSystem, PostprocessingSyncSystem, RenderSystem, ScriptBehaviourSystem, TransformSyncSystem, VideoSystem } from './chunk-
|
|
3
|
-
import { registerDefaultFactories } from './chunk-
|
|
4
|
-
export { createAnimationComponent, createAudioComponent, createCameraComponent, createEntityTypeComponent, createEnvironmentComponent, createImageComponent, createImageTargetAnchorComponent, createImageTargetComponent, createInstancedMeshComponent, createLightComponent, createMaterialComponent, createMeshComponent, createMeshGeometryComponent, createModelComponent, createNameComponent, createObject3DRefComponent, createParentIdComponent, createPhysicsComponent, createPostprocessingComponent, createScriptComponent, createSelectableComponent, createSelectionTransformStateComponent, createSpriteComponent, createTransformComponent, createVideoComponent, registerDefaultComponentFactories, registerDefaultFactories } from './chunk-
|
|
5
|
-
import { ObjectManagementSystem, applyTransform } from './chunk-
|
|
6
|
-
export { ObjectManagementSystem } from './chunk-
|
|
7
|
-
import { SelectionTransformState, Object3DRef, Name, EntityType, ScriptComponent, AnimationComponent, TransformComponent, ModelComponent, ImageComponent, SpriteComponent, VideoComponent, AudioComponent, CameraComponent, Environment, Postprocessing, ImageTarget, LightComponent, MaterialComponent, MeshGeometryComponent, Selectable, PhysicsComponent
|
|
8
|
-
export { AnimationStateMachine, AnimationStateManager, components_exports as CoreComponents } from './chunk-
|
|
1
|
+
import { MeshGeometrySystem, InstancedMeshSystem, EnvironmentSyncSystem, PostprocessingSyncSystem, LightSyncSystem, MaterialSyncSystem, PhysicsSyncSystem, AnimationSystem, AudioSystem, VideoSystem, CameraSyncSystem, TransformSyncSystem, ObjectVisibilitySystem, RenderSystem } from './chunk-TVBWYIGY.js';
|
|
2
|
+
export { AnimationSystem, AudioSystem, Behaviour, CameraSyncSystem, EnvironmentSyncSystem, InputSystem, InstancedMeshSystem, KeyboardKeys, LightSyncSystem, MaterialSyncSystem, MeshGeometrySystem, ObjectVisibilitySystem, PhysicsSyncSystem, PostprocessingSyncSystem, RenderSystem, ScriptBehaviourSystem, TransformSyncSystem, VideoSystem } from './chunk-TVBWYIGY.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';
|
|
9
9
|
import './chunk-QHILSPT4.js';
|
|
10
|
-
import { normalizeDebugValue, DEBUG_CHANGE_IGNORED_SYSTEMS, cloneHistoryValue } from './chunk-
|
|
10
|
+
import { normalizeDebugValue, DEBUG_CHANGE_IGNORED_SYSTEMS, cloneHistoryValue } from './chunk-PHIEXEKJ.js';
|
|
11
11
|
import { __name } from './chunk-OY7ZODZP.js';
|
|
12
12
|
export { Component } from './chunk-OY7ZODZP.js';
|
|
13
13
|
import * as THREE from 'three';
|
|
@@ -930,7 +930,8 @@ function buildComponentValueMaps(snapshot) {
|
|
|
930
930
|
animationValues: readByComponent(snapshot.components, "AnimationComponent"),
|
|
931
931
|
imageTargetAnchorValues: readByComponent(snapshot.components, "ImageTargetAnchor"),
|
|
932
932
|
scriptValues: readByComponent(snapshot.components, "ScriptComponent"),
|
|
933
|
-
instancedMeshValues: readByComponent(snapshot.components, "InstancedMeshComponent")
|
|
933
|
+
instancedMeshValues: readByComponent(snapshot.components, "InstancedMeshComponent"),
|
|
934
|
+
instanceSlotValues: readByComponent(snapshot.components, "InstanceSlotComponent")
|
|
934
935
|
};
|
|
935
936
|
}
|
|
936
937
|
__name(buildComponentValueMaps, "buildComponentValueMaps");
|
|
@@ -1044,6 +1045,20 @@ function restorePostCreateComponents(world, objectManagementSystem, targetEntity
|
|
|
1044
1045
|
new ScriptComponent(entries)
|
|
1045
1046
|
);
|
|
1046
1047
|
}
|
|
1048
|
+
{
|
|
1049
|
+
const imComponent = world.getComponent(targetEntityId, InstancedMeshComponent);
|
|
1050
|
+
if (imComponent && imComponent.instanceEntityIds.length > 0) {
|
|
1051
|
+
imComponent.instanceEntityIds = imComponent.instanceEntityIds.map(
|
|
1052
|
+
(oldId) => idMap.get(oldId) ?? oldId
|
|
1053
|
+
);
|
|
1054
|
+
}
|
|
1055
|
+
}
|
|
1056
|
+
{
|
|
1057
|
+
const slotComponent = world.getComponent(targetEntityId, InstanceSlotComponent);
|
|
1058
|
+
if (slotComponent && slotComponent.groupEntityId !== -1) {
|
|
1059
|
+
slotComponent.groupEntityId = idMap.get(slotComponent.groupEntityId) ?? slotComponent.groupEntityId;
|
|
1060
|
+
}
|
|
1061
|
+
}
|
|
1047
1062
|
}
|
|
1048
1063
|
__name(restorePostCreateComponents, "restorePostCreateComponents");
|
|
1049
1064
|
|
|
@@ -1547,12 +1562,21 @@ function restoreComponentState(world, objectManagementSystem, targetEntityId, so
|
|
|
1547
1562
|
if (typeof sourceInstancedMesh.receiveShadow === "boolean") {
|
|
1548
1563
|
imComponent.receiveShadow = sourceInstancedMesh.receiveShadow;
|
|
1549
1564
|
}
|
|
1550
|
-
if (Array.isArray(sourceInstancedMesh.
|
|
1551
|
-
imComponent.
|
|
1565
|
+
if (Array.isArray(sourceInstancedMesh.instanceEntityIds)) {
|
|
1566
|
+
imComponent.instanceEntityIds = sourceInstancedMesh.instanceEntityIds;
|
|
1552
1567
|
}
|
|
1553
1568
|
imComponent.instancedMesh = null;
|
|
1554
1569
|
}
|
|
1555
1570
|
}
|
|
1571
|
+
const sourceInstanceSlot = asRecord(values.instanceSlotValues.get(sourceEntityId));
|
|
1572
|
+
if (sourceInstanceSlot) {
|
|
1573
|
+
const slotComponent = world.getComponent(targetEntityId, InstanceSlotComponent);
|
|
1574
|
+
if (slotComponent) {
|
|
1575
|
+
if (typeof sourceInstanceSlot.slotIndex === "number") {
|
|
1576
|
+
slotComponent.slotIndex = sourceInstanceSlot.slotIndex;
|
|
1577
|
+
}
|
|
1578
|
+
}
|
|
1579
|
+
}
|
|
1556
1580
|
}
|
|
1557
1581
|
__name(restoreComponentState, "restoreComponentState");
|
|
1558
1582
|
|
|
@@ -1576,7 +1600,8 @@ var HYDRATABLE_ENTITY_KINDS = /* @__PURE__ */ new Set([
|
|
|
1576
1600
|
"pointLight",
|
|
1577
1601
|
"spotLight",
|
|
1578
1602
|
"areaLight",
|
|
1579
|
-
"instancedMesh"
|
|
1603
|
+
"instancedMesh",
|
|
1604
|
+
"instanceSlot"
|
|
1580
1605
|
]);
|
|
1581
1606
|
|
|
1582
1607
|
// core/hydration/hydrateWorld.ts
|
|
@@ -1658,10 +1683,23 @@ function buildEntityCreationPayload(sourceEntityId, kind, componentValues) {
|
|
|
1658
1683
|
if (im) {
|
|
1659
1684
|
payload.options = {
|
|
1660
1685
|
meshKind: typeof im.meshKind === "string" ? im.meshKind : "cube",
|
|
1686
|
+
modelPath: typeof im.modelPath === "string" ? im.modelPath : void 0,
|
|
1661
1687
|
meshParameters: asRecord(im.meshParameters) ?? void 0,
|
|
1662
1688
|
castShadow: typeof im.castShadow === "boolean" ? im.castShadow : false,
|
|
1663
1689
|
receiveShadow: typeof im.receiveShadow === "boolean" ? im.receiveShadow : false,
|
|
1664
|
-
|
|
1690
|
+
// New format: signal the factory to skip child entity creation.
|
|
1691
|
+
// Old format (instances[]): pass through for migration — factory will
|
|
1692
|
+
// create slot entities from the legacy InstanceTransform array.
|
|
1693
|
+
...Array.isArray(im.instanceEntityIds) ? { instanceEntityIds: im.instanceEntityIds } : Array.isArray(im.instances) ? { instances: im.instances } : {}
|
|
1694
|
+
};
|
|
1695
|
+
}
|
|
1696
|
+
}
|
|
1697
|
+
if (kind === "instanceSlot") {
|
|
1698
|
+
const slot = asRecord(componentValues.instanceSlotValues.get(sourceEntityId));
|
|
1699
|
+
if (slot) {
|
|
1700
|
+
payload.options = {
|
|
1701
|
+
groupEntityId: typeof slot.groupEntityId === "number" ? slot.groupEntityId : -1,
|
|
1702
|
+
slotIndex: typeof slot.slotIndex === "number" ? slot.slotIndex : 0
|
|
1665
1703
|
};
|
|
1666
1704
|
}
|
|
1667
1705
|
}
|