@shopware-ag/dive 1.16.0 → 1.16.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.
Files changed (143) hide show
  1. package/README.md +271 -40
  2. package/build/dive.cjs +575 -159
  3. package/build/dive.cjs.map +1 -1
  4. package/build/dive.d.cts +83 -57
  5. package/build/dive.d.ts +83 -57
  6. package/build/dive.js +614 -164
  7. package/build/dive.js.map +1 -1
  8. package/package.json +72 -60
  9. package/src/__test__/DIVE.test.ts +35 -31
  10. package/src/animation/AnimationSystem.ts +4 -4
  11. package/src/animation/__test__/AnimationSystem.test.ts +3 -3
  12. package/src/axiscamera/AxisCamera.ts +31 -11
  13. package/src/axiscamera/__test__/AxisCamera.test.ts +18 -10
  14. package/src/camera/PerspectiveCamera.ts +28 -13
  15. package/src/camera/__test__/PerspectiveCamera.test.ts +2 -2
  16. package/src/com/Communication.ts +282 -100
  17. package/src/com/__test__/Communication.test.ts +207 -141
  18. package/src/com/actions/camera/computeencompassingview.ts +8 -7
  19. package/src/com/actions/camera/getcameratransform.ts +8 -7
  20. package/src/com/actions/camera/movecamera.ts +16 -13
  21. package/src/com/actions/camera/resetcamera.ts +4 -3
  22. package/src/com/actions/camera/setcameralayer.ts +4 -3
  23. package/src/com/actions/camera/setcameratransform.ts +8 -7
  24. package/src/com/actions/camera/zoomcamera.ts +4 -3
  25. package/src/com/actions/index.ts +54 -54
  26. package/src/com/actions/media/generatemedia.ts +17 -13
  27. package/src/com/actions/object/addobject.ts +5 -4
  28. package/src/com/actions/object/deleteobject.ts +5 -4
  29. package/src/com/actions/object/deselectobject.ts +5 -4
  30. package/src/com/actions/object/getallobjects.ts +5 -4
  31. package/src/com/actions/object/getobjects.ts +5 -4
  32. package/src/com/actions/object/model/dropit.ts +4 -3
  33. package/src/com/actions/object/model/modelloaded.ts +4 -3
  34. package/src/com/actions/object/model/placeonfloor.ts +4 -3
  35. package/src/com/actions/object/selectobject.ts +5 -4
  36. package/src/com/actions/object/setparent.ts +8 -7
  37. package/src/com/actions/object/updateobject.ts +5 -4
  38. package/src/com/actions/scene/exportscene.ts +5 -4
  39. package/src/com/actions/scene/getallscenedata.ts +24 -18
  40. package/src/com/actions/scene/setbackground.ts +4 -3
  41. package/src/com/actions/scene/updatescene.ts +10 -9
  42. package/src/com/actions/toolbox/select/setgizmomode.ts +4 -3
  43. package/src/com/actions/toolbox/transform/setgizmovisible.ts +4 -3
  44. package/src/com/actions/toolbox/usetool.ts +5 -4
  45. package/src/com/types/COMBaseEntity.ts +2 -2
  46. package/src/com/types/COMEntity.ts +6 -6
  47. package/src/com/types/COMEntityType.ts +1 -1
  48. package/src/com/types/COMGeometry.ts +2 -2
  49. package/src/com/types/COMGroup.ts +3 -3
  50. package/src/com/types/COMLight.ts +3 -3
  51. package/src/com/types/COMMaterial.ts +2 -2
  52. package/src/com/types/COMModel.ts +4 -4
  53. package/src/com/types/COMPov.ts +3 -3
  54. package/src/com/types/COMPrimitive.ts +5 -5
  55. package/src/com/types/index.ts +10 -10
  56. package/src/constant/AxisHelperColors.ts +1 -1
  57. package/src/constant/GridColors.ts +1 -1
  58. package/src/controls/OrbitControls.ts +62 -29
  59. package/src/controls/__test__/OrbitControls.test.ts +133 -39
  60. package/src/dive.ts +82 -36
  61. package/src/gizmo/Gizmo.ts +21 -13
  62. package/src/gizmo/handles/AxisHandle.ts +40 -17
  63. package/src/gizmo/handles/RadialHandle.ts +39 -15
  64. package/src/gizmo/handles/ScaleHandle.ts +62 -25
  65. package/src/gizmo/plane/GizmoPlane.ts +5 -6
  66. package/src/gizmo/rotate/RotateGizmo.ts +58 -16
  67. package/src/gizmo/scale/ScaleGizmo.ts +37 -15
  68. package/src/gizmo/translate/TranslateGizmo.ts +34 -14
  69. package/src/grid/Grid.ts +13 -5
  70. package/src/grid/__test__/Grid.test.ts +5 -3
  71. package/src/group/Group.ts +9 -7
  72. package/src/group/__test__/Group.test.ts +8 -6
  73. package/src/helper/applyMixins/__test__/applyMixins.test.ts +9 -6
  74. package/src/helper/applyMixins/applyMixins.ts +6 -3
  75. package/src/helper/findInterface/__test__/findInterface.test.ts +28 -18
  76. package/src/helper/findInterface/findInterface.ts +7 -4
  77. package/src/helper/findSceneRecursive/__test__/findSceneRecursive.test.ts +1 -1
  78. package/src/helper/findSceneRecursive/findSceneRecursive.ts +1 -1
  79. package/src/helper/getObjectDelta/__test__/getObjectDelta.test.ts +43 -7
  80. package/src/helper/getObjectDelta/getObjectDelta.ts +13 -9
  81. package/src/helper/isInterface/__test__/implementsInterface.test.ts +1 -1
  82. package/src/helper/isInterface/implementsInterface.ts +6 -3
  83. package/src/info/Info.ts +20 -16
  84. package/src/info/__test__/Info.test.ts +67 -36
  85. package/src/interface/Draggable.ts +2 -2
  86. package/src/interface/Hoverable.ts +2 -2
  87. package/src/interface/Movable.ts +1 -1
  88. package/src/interface/Rotatable.ts +1 -1
  89. package/src/interface/Scalable.ts +1 -1
  90. package/src/io/IO.ts +21 -43
  91. package/src/io/__test__/IO.test.ts +16 -62
  92. package/src/io/gltf/GLTFIO.ts +34 -31
  93. package/src/io/gltf/__test__/GLTFIO.test.ts +88 -78
  94. package/src/light/PointLight.ts +42 -9
  95. package/src/light/SceneLight.ts +5 -5
  96. package/src/light/__test__/AmbientLight.test.ts +5 -4
  97. package/src/light/__test__/PointLight.test.ts +14 -10
  98. package/src/light/__test__/SceneLight.test.ts +19 -13
  99. package/src/loadingmanager/LoadingManager.ts +11 -6
  100. package/src/loadingmanager/__test__/LoadingManager.test.ts +14 -9
  101. package/src/math/__test__/DIVEMath.test.ts +1 -1
  102. package/src/math/ceil/__test__/ceilExp.test.ts +1 -1
  103. package/src/math/ceil/ceilExp.ts +2 -2
  104. package/src/math/floor/__test__/floorExp.test.ts +1 -1
  105. package/src/math/floor/floorExp.ts +2 -2
  106. package/src/math/helper/__test__/shift.test.ts +1 -1
  107. package/src/math/helper/shift.ts +1 -1
  108. package/src/math/index.ts +7 -7
  109. package/src/math/round/__test__/roundExp.test.ts +1 -1
  110. package/src/math/round/roundExp.ts +6 -3
  111. package/src/math/signedAngleTo/__test__/signedAngleTo.test.ts +10 -4
  112. package/src/math/signedAngleTo/signedAngleTo.ts +11 -4
  113. package/src/math/toFixed/__test__/toFixedExp.test.ts +9 -9
  114. package/src/math/toFixed/toFixedExp.ts +6 -3
  115. package/src/math/truncate/__test__/truncateExp.test.ts +1 -1
  116. package/src/math/truncate/truncateExp.ts +6 -3
  117. package/src/mediacreator/MediaCreator.ts +20 -10
  118. package/src/mediacreator/__test__/MediaCreator.test.ts +27 -12
  119. package/src/model/Model.ts +35 -7
  120. package/src/model/__test__/Model.test.ts +71 -44
  121. package/src/node/Node.ts +34 -12
  122. package/src/node/__test__/Node.test.ts +17 -13
  123. package/src/primitive/Primitive.ts +78 -13
  124. package/src/primitive/__test__/Primitive.test.ts +49 -38
  125. package/src/primitive/floor/Floor.ts +14 -3
  126. package/src/primitive/floor/__test__/Floor.test.ts +10 -4
  127. package/src/renderer/Renderer.ts +46 -15
  128. package/src/renderer/__test__/Renderer.test.ts +74 -24
  129. package/src/scene/Scene.ts +9 -3
  130. package/src/scene/__test__/Scene.test.ts +2 -2
  131. package/src/scene/root/Root.ts +142 -75
  132. package/src/scene/root/__test__/Root.test.ts +439 -111
  133. package/src/toolbox/BaseTool.ts +69 -33
  134. package/src/toolbox/Toolbox.ts +37 -17
  135. package/src/toolbox/__test__/BaseTool.test.ts +324 -160
  136. package/src/toolbox/__test__/Toolbox.test.ts +31 -14
  137. package/src/toolbox/select/SelectTool.ts +24 -19
  138. package/src/toolbox/select/__test__/SelectTool.test.ts +95 -59
  139. package/src/toolbox/transform/TransformTool.ts +40 -17
  140. package/src/toolbox/transform/__test__/TransformTool.test.ts +22 -15
  141. package/src/types/SceneObjects.ts +8 -8
  142. package/src/types/SceneType.ts +3 -3
  143. package/src/types/index.ts +3 -6
@@ -1,9 +1,10 @@
1
- import { Vector3Like } from "three";
1
+ import { Vector3Like } from 'three';
2
2
 
3
3
  export default interface COMPUTE_ENCOMPASSING_VIEW {
4
- 'PAYLOAD': object,
5
- 'RETURN': {
6
- position: Vector3Like,
7
- target: Vector3Like
8
- },
9
- };
4
+ DESCRIPTION: 'Calculates the camera position and target to view the whole scene. (experimental)';
5
+ PAYLOAD: object;
6
+ RETURN: {
7
+ position: Vector3Like;
8
+ target: Vector3Like;
9
+ };
10
+ }
@@ -1,9 +1,10 @@
1
- import { Vector3Like } from "three";
1
+ import { Vector3Like } from 'three';
2
2
 
3
3
  export default interface GET_CAMERA_TRANSFORM {
4
- 'PAYLOAD': object,
5
- 'RETURN': {
6
- position: Vector3Like,
7
- target: Vector3Like
8
- },
9
- };
4
+ DESCRIPTION: 'Returns the current camera position and target.';
5
+ PAYLOAD: object;
6
+ RETURN: {
7
+ position: Vector3Like;
8
+ target: Vector3Like;
9
+ };
10
+ }
@@ -1,15 +1,18 @@
1
- import { Vector3Like } from "three";
1
+ import { Vector3Like } from 'three';
2
2
 
3
3
  export default interface MOVE_CAMERA {
4
- 'PAYLOAD': {
5
- position: Vector3Like,
6
- target: Vector3Like,
7
- locked: boolean,
8
- duration: number,
9
- } | {
10
- id: string,
11
- locked: boolean,
12
- duration: number
13
- },
14
- 'RETURN': boolean,
15
- };
4
+ DESCRIPTION: 'Moves the camera to a new position and target.';
5
+ PAYLOAD:
6
+ | {
7
+ position: Vector3Like;
8
+ target: Vector3Like;
9
+ locked: boolean;
10
+ duration: number;
11
+ }
12
+ | {
13
+ id: string;
14
+ locked: boolean;
15
+ duration: number;
16
+ };
17
+ RETURN: boolean;
18
+ }
@@ -1,4 +1,5 @@
1
1
  export default interface RESET_CAMERA {
2
- 'PAYLOAD': { duration: number },
3
- 'RETURN': boolean,
4
- }
2
+ DESCRIPTION: 'Reset the camera to its initial position and rotation.';
3
+ PAYLOAD: { duration: number };
4
+ RETURN: boolean;
5
+ }
@@ -1,4 +1,5 @@
1
1
  export default interface SET_CAMERA_LAYER {
2
- 'PAYLOAD': { layer: 'LIVE' | 'EDITOR' },
3
- 'RETURN': boolean,
4
- };
2
+ DESCRIPTION: 'Sets the camera layer to a certain layer.';
3
+ PAYLOAD: { layer: 'LIVE' | 'EDITOR' };
4
+ RETURN: boolean;
5
+ }
@@ -1,9 +1,10 @@
1
- import { Vector3Like } from "three";
1
+ import { Vector3Like } from 'three';
2
2
 
3
3
  export default interface SET_CAMERA_TRANSFORM {
4
- 'PAYLOAD': {
5
- position: Vector3Like,
6
- target: Vector3Like,
7
- },
8
- 'RETURN': boolean,
9
- };
4
+ DESCRIPTION: 'Sets the camera position and target.';
5
+ PAYLOAD: {
6
+ position: Vector3Like;
7
+ target: Vector3Like;
8
+ };
9
+ RETURN: boolean;
10
+ }
@@ -1,4 +1,5 @@
1
1
  export default interface ZOOM_CAMERA {
2
- 'PAYLOAD': { direction: 'IN' | 'OUT', by: number },
3
- 'RETURN': boolean,
4
- };
2
+ DESCRIPTION: 'Zooms the camera in or out by a certain amount.';
3
+ PAYLOAD: { direction: 'IN' | 'OUT'; by: number };
4
+ RETURN: boolean;
5
+ }
@@ -1,55 +1,55 @@
1
- import SET_BACKGROUND from "./scene/setbackground.ts";
2
- import RESET_CAMERA from "./camera/resetcamera.ts";
3
- import SET_CAMERA_LAYER from "./camera/setcameralayer.ts";
4
- import ZOOM_CAMERA from "./camera/zoomcamera.ts";
5
- import SET_GIZMO_MODE from "./toolbox/select/setgizmomode.ts";
6
- import SET_CAMERA_TRANSFORM from "./camera/setcameratransform.ts";
7
- import MOVE_CAMERA from "./camera/movecamera.ts";
8
- import PLACE_ON_FLOOR from "./object/model/placeonfloor.ts";
9
- import GET_ALL_OBJECTS from "./object/getallobjects.ts";
10
- import GET_OBJECTS from "./object/getobjects.ts";
11
- import ADD_OBJECT from "./object/addobject.ts";
12
- import DELETE_OBJECT from "./object/deleteobject.ts";
13
- import UPDATE_OBJECT from "./object/updateobject.ts";
14
- import MODEL_LOADED from "./object/model/modelloaded.ts";
15
- import UPDATE_SCENE from "./scene/updatescene.ts";
16
- import GENERATE_MEDIA from "./media/generatemedia.ts";
17
- import GET_ALL_SCENE_DATA from "./scene/getallscenedata.ts";
18
- import SELECT_OBJECT from "./object/selectobject.ts";
19
- import DESELECT_OBJECT from "./object/deselectobject.ts";
20
- import GET_CAMERA_TRANSFORM from "./camera/getcameratransform.ts";
21
- import DROP_IT from "./object/model/dropit.ts";
22
- import SET_GIZMO_VISIBILITY from "./toolbox/transform/setgizmovisible.js";
23
- import COMPUTE_ENCOMPASSING_VIEW from "./camera/computeencompassingview.ts";
24
- import USE_TOOL from "./toolbox/usetool.ts";
25
- import SET_PARENT from "./object/setparent.ts";
26
- import EXPORT_SCENE from "./scene/exportscene.ts";
1
+ import SET_BACKGROUND from './scene/setbackground.ts';
2
+ import RESET_CAMERA from './camera/resetcamera.ts';
3
+ import SET_CAMERA_LAYER from './camera/setcameralayer.ts';
4
+ import ZOOM_CAMERA from './camera/zoomcamera.ts';
5
+ import SET_GIZMO_MODE from './toolbox/select/setgizmomode.ts';
6
+ import SET_CAMERA_TRANSFORM from './camera/setcameratransform.ts';
7
+ import MOVE_CAMERA from './camera/movecamera.ts';
8
+ import PLACE_ON_FLOOR from './object/model/placeonfloor.ts';
9
+ import GET_ALL_OBJECTS from './object/getallobjects.ts';
10
+ import GET_OBJECTS from './object/getobjects.ts';
11
+ import ADD_OBJECT from './object/addobject.ts';
12
+ import DELETE_OBJECT from './object/deleteobject.ts';
13
+ import UPDATE_OBJECT from './object/updateobject.ts';
14
+ import MODEL_LOADED from './object/model/modelloaded.ts';
15
+ import UPDATE_SCENE from './scene/updatescene.ts';
16
+ import GENERATE_MEDIA from './media/generatemedia.ts';
17
+ import GET_ALL_SCENE_DATA from './scene/getallscenedata.ts';
18
+ import SELECT_OBJECT from './object/selectobject.ts';
19
+ import DESELECT_OBJECT from './object/deselectobject.ts';
20
+ import GET_CAMERA_TRANSFORM from './camera/getcameratransform.ts';
21
+ import DROP_IT from './object/model/dropit.ts';
22
+ import SET_GIZMO_VISIBILITY from './toolbox/transform/setgizmovisible.js';
23
+ import COMPUTE_ENCOMPASSING_VIEW from './camera/computeencompassingview.ts';
24
+ import USE_TOOL from './toolbox/usetool.ts';
25
+ import SET_PARENT from './object/setparent.ts';
26
+ import EXPORT_SCENE from './scene/exportscene.ts';
27
27
 
28
- export type Actions = {
29
- GET_ALL_SCENE_DATA: GET_ALL_SCENE_DATA,
30
- GET_ALL_OBJECTS: GET_ALL_OBJECTS,
31
- GET_OBJECTS: GET_OBJECTS,
32
- ADD_OBJECT: ADD_OBJECT,
33
- UPDATE_OBJECT: UPDATE_OBJECT,
34
- DELETE_OBJECT: DELETE_OBJECT,
35
- SELECT_OBJECT: SELECT_OBJECT,
36
- DESELECT_OBJECT: DESELECT_OBJECT,
37
- SET_BACKGROUND: SET_BACKGROUND,
38
- DROP_IT: DROP_IT,
39
- PLACE_ON_FLOOR: PLACE_ON_FLOOR,
40
- SET_CAMERA_TRANSFORM: SET_CAMERA_TRANSFORM,
41
- GET_CAMERA_TRANSFORM: GET_CAMERA_TRANSFORM,
42
- MOVE_CAMERA: MOVE_CAMERA,
43
- RESET_CAMERA: RESET_CAMERA,
44
- COMPUTE_ENCOMPASSING_VIEW: COMPUTE_ENCOMPASSING_VIEW,
45
- SET_CAMERA_LAYER: SET_CAMERA_LAYER,
46
- ZOOM_CAMERA: ZOOM_CAMERA,
47
- SET_GIZMO_MODE: SET_GIZMO_MODE,
48
- SET_GIZMO_VISIBILITY: SET_GIZMO_VISIBILITY,
49
- USE_TOOL: USE_TOOL,
50
- MODEL_LOADED: MODEL_LOADED,
51
- UPDATE_SCENE: UPDATE_SCENE,
52
- GENERATE_MEDIA: GENERATE_MEDIA,
53
- SET_PARENT: SET_PARENT,
54
- EXPORT_SCENE: EXPORT_SCENE,
55
- };
28
+ export interface Actions {
29
+ GET_ALL_SCENE_DATA: GET_ALL_SCENE_DATA;
30
+ GET_ALL_OBJECTS: GET_ALL_OBJECTS;
31
+ GET_OBJECTS: GET_OBJECTS;
32
+ ADD_OBJECT: ADD_OBJECT;
33
+ UPDATE_OBJECT: UPDATE_OBJECT;
34
+ DELETE_OBJECT: DELETE_OBJECT;
35
+ SELECT_OBJECT: SELECT_OBJECT;
36
+ DESELECT_OBJECT: DESELECT_OBJECT;
37
+ SET_BACKGROUND: SET_BACKGROUND;
38
+ DROP_IT: DROP_IT;
39
+ PLACE_ON_FLOOR: PLACE_ON_FLOOR;
40
+ SET_CAMERA_TRANSFORM: SET_CAMERA_TRANSFORM;
41
+ GET_CAMERA_TRANSFORM: GET_CAMERA_TRANSFORM;
42
+ MOVE_CAMERA: MOVE_CAMERA;
43
+ RESET_CAMERA: RESET_CAMERA;
44
+ COMPUTE_ENCOMPASSING_VIEW: COMPUTE_ENCOMPASSING_VIEW;
45
+ SET_CAMERA_LAYER: SET_CAMERA_LAYER;
46
+ ZOOM_CAMERA: ZOOM_CAMERA;
47
+ SET_GIZMO_MODE: SET_GIZMO_MODE;
48
+ SET_GIZMO_VISIBILITY: SET_GIZMO_VISIBILITY;
49
+ USE_TOOL: USE_TOOL;
50
+ MODEL_LOADED: MODEL_LOADED;
51
+ UPDATE_SCENE: UPDATE_SCENE;
52
+ GENERATE_MEDIA: GENERATE_MEDIA;
53
+ SET_PARENT: SET_PARENT;
54
+ EXPORT_SCENE: EXPORT_SCENE;
55
+ }
@@ -1,15 +1,19 @@
1
- import { Vector3Like } from "three";
1
+ import { Vector3Like } from 'three';
2
2
 
3
3
  export default interface GENERATE_MEDIA {
4
- 'PAYLOAD': ({
5
- position: Vector3Like,
6
- target: Vector3Like,
7
- } | {
8
- id: string,
9
- }) & {
10
- width: number, // image width in pixels
11
- height: number, // image height in pixels
12
- dataUri: string
13
- },
14
- 'RETURN': boolean,
15
- }
4
+ DESCRIPTION: 'Generates a screenshot, stores it in a Blob and writes the URL into the payload.';
5
+ PAYLOAD: (
6
+ | {
7
+ position: Vector3Like;
8
+ target: Vector3Like;
9
+ }
10
+ | {
11
+ id: string;
12
+ }
13
+ ) & {
14
+ width: number; // image width in pixels
15
+ height: number; // image height in pixels
16
+ dataUri: string;
17
+ };
18
+ RETURN: boolean;
19
+ }
@@ -1,6 +1,7 @@
1
- import { COMEntity } from "../../types";
1
+ import { COMEntity } from '../../types';
2
2
 
3
3
  export default interface ADD_OBJECT {
4
- 'PAYLOAD': COMEntity,
5
- 'RETURN': boolean,
6
- };
4
+ DESCRIPTION: 'Adds an object to the scene.';
5
+ PAYLOAD: COMEntity;
6
+ RETURN: boolean;
7
+ }
@@ -1,6 +1,7 @@
1
- import { COMEntity } from "../../types";
1
+ import { COMEntity } from '../../types';
2
2
 
3
3
  export default interface DELETE_OBJECT {
4
- 'PAYLOAD': Partial<COMEntity> & { id: string },
5
- 'RETURN': boolean,
6
- }
4
+ DESCRIPTION: 'Deletes an object from the scene.';
5
+ PAYLOAD: Partial<COMEntity> & { id: string };
6
+ RETURN: boolean;
7
+ }
@@ -1,6 +1,7 @@
1
- import { COMEntity } from "../../types";
1
+ import { COMEntity } from '../../types';
2
2
 
3
3
  export default interface DESELECT_OBJECT {
4
- 'PAYLOAD': Partial<COMEntity> & { id: string },
5
- 'RETURN': boolean,
6
- };
4
+ DESCRIPTION: 'Deselects an existing object.';
5
+ PAYLOAD: Partial<COMEntity> & { id: string };
6
+ RETURN: boolean;
7
+ }
@@ -1,6 +1,7 @@
1
- import { COMEntity } from "../../types";
1
+ import { COMEntity } from '../../types';
2
2
 
3
3
  export default interface GET_ALL_OBJECTS {
4
- 'PAYLOAD': Map<string, COMEntity>,
5
- 'RETURN': Map<string, COMEntity>,
6
- };
4
+ readonly DESCRIPTION: 'Retrieves all objects in the scene.';
5
+ PAYLOAD: Map<string, COMEntity>;
6
+ RETURN: Map<string, COMEntity>;
7
+ }
@@ -1,6 +1,7 @@
1
- import { COMEntity } from "../../types";
1
+ import { COMEntity } from '../../types';
2
2
 
3
3
  export default interface GET_OBJECTS {
4
- 'PAYLOAD': { ids: string[] },
5
- 'RETURN': COMEntity[],
6
- };
4
+ DESCRIPTION: 'Returns a list of objects of given IDs.';
5
+ PAYLOAD: { ids: string[] };
6
+ RETURN: COMEntity[];
7
+ }
@@ -1,4 +1,5 @@
1
1
  export default interface DROP_IT {
2
- 'PAYLOAD': { id: string },
3
- 'RETURN': boolean,
4
- };
2
+ DESCRIPTION: 'Places an object on top of an underlying object or the floor.';
3
+ PAYLOAD: { id: string };
4
+ RETURN: boolean;
5
+ }
@@ -1,4 +1,5 @@
1
1
  export default interface MODEL_LOADED {
2
- 'PAYLOAD': { id: string },
3
- 'RETURN': boolean,
4
- };
2
+ DESCRIPTION: 'Is triggered when a model is loaded.';
3
+ PAYLOAD: { id: string };
4
+ RETURN: boolean;
5
+ }
@@ -1,4 +1,5 @@
1
1
  export default interface PLACE_ON_FLOOR {
2
- 'PAYLOAD': { id: string },
3
- 'RETURN': boolean,
4
- };
2
+ DESCRIPTION: 'Places an object on the floor.';
3
+ PAYLOAD: { id: string };
4
+ RETURN: boolean;
5
+ }
@@ -1,6 +1,7 @@
1
- import { COMEntity } from "../../types";
1
+ import { COMEntity } from '../../types';
2
2
 
3
3
  export default interface SELECT_OBJECT {
4
- 'PAYLOAD': Partial<COMEntity> & { id: string },
5
- 'RETURN': boolean,
6
- };
4
+ DESCRIPTION: 'Selects an existing object.';
5
+ PAYLOAD: Partial<COMEntity> & { id: string };
6
+ RETURN: boolean;
7
+ }
@@ -1,9 +1,10 @@
1
- import { type COMEntity } from "../../types";
1
+ import { type COMEntity } from '../../types';
2
2
 
3
3
  export default interface SET_PARENT {
4
- 'PAYLOAD': {
5
- object: Partial<COMEntity> & { id: string },
6
- parent: Partial<COMEntity> & { id: string } | null,
7
- },
8
- 'RETURN': boolean,
9
- };
4
+ DESCRIPTION: 'Attach an object to another object.';
5
+ PAYLOAD: {
6
+ object: Partial<COMEntity> & { id: string };
7
+ parent: (Partial<COMEntity> & { id: string }) | null;
8
+ };
9
+ RETURN: boolean;
10
+ }
@@ -1,6 +1,7 @@
1
- import { COMEntity } from "../../types";
1
+ import { COMEntity } from '../../types';
2
2
 
3
3
  export default interface UPDATE_OBJECT {
4
- 'PAYLOAD': Partial<COMEntity> & { id: string },
5
- 'RETURN': boolean,
6
- };
4
+ DESCRIPTION: 'Updates an existing object.';
5
+ PAYLOAD: Partial<COMEntity> & { id: string };
6
+ RETURN: boolean;
7
+ }
@@ -1,6 +1,7 @@
1
- import { type DIVESceneFileType } from "../../../types";
1
+ import { type DIVESceneFileType } from '../../../types';
2
2
 
3
3
  export default interface EXPORT_SCENE {
4
- 'PAYLOAD': { type: keyof DIVESceneFileType },
5
- 'RETURN': Promise<string | null>,
6
- };
4
+ DESCRIPTION: 'Exports the current scene to a blob and returns the URL.';
5
+ PAYLOAD: { type: keyof DIVESceneFileType };
6
+ RETURN: Promise<string | null>;
7
+ }
@@ -1,24 +1,30 @@
1
- import { Vector3Like } from "three";
2
- import { type COMLight, type COMModel, type COMPov, type COMPrimitive } from "../../types";
1
+ import { Vector3Like } from 'three';
2
+ import {
3
+ type COMLight,
4
+ type COMModel,
5
+ type COMPov,
6
+ type COMPrimitive,
7
+ } from '../../types';
3
8
 
4
9
  type SceneData = {
5
- name: string,
6
- mediaItem: null,
7
- backgroundColor: string,
8
- floorEnabled: boolean,
9
- floorColor: string,
10
+ name: string;
11
+ mediaItem: null;
12
+ backgroundColor: string;
13
+ floorEnabled: boolean;
14
+ floorColor: string;
10
15
  userCamera: {
11
- position: Vector3Like,
12
- target: Vector3Like,
13
- },
14
- spotmarks: object[],
15
- lights: COMLight[],
16
- objects: COMModel[],
17
- cameras: COMPov[],
18
- primitives: COMPrimitive[],
16
+ position: Vector3Like;
17
+ target: Vector3Like;
18
+ };
19
+ spotmarks: object[];
20
+ lights: COMLight[];
21
+ objects: COMModel[];
22
+ cameras: COMPov[];
23
+ primitives: COMPrimitive[];
19
24
  };
20
25
 
21
26
  export default interface GET_ALL_SCENE_DATA {
22
- 'PAYLOAD': object,
23
- 'RETURN': SceneData,
24
- };
27
+ DESCRIPTION: 'Retrieves all current scene data.';
28
+ PAYLOAD: object;
29
+ RETURN: SceneData;
30
+ }
@@ -1,4 +1,5 @@
1
1
  export default interface SET_BACKGROUND {
2
- 'PAYLOAD': { color: string | number },
3
- 'RETURN': boolean,
4
- };
2
+ DESCRIPTION: 'Set the background color of the scene.';
3
+ PAYLOAD: { color: string | number };
4
+ RETURN: boolean;
5
+ }
@@ -1,10 +1,11 @@
1
1
  export default interface UPDATE_SCENE {
2
- 'PAYLOAD': {
3
- name?: string,
4
- backgroundColor?: string | number,
5
- gridEnabled?: boolean,
6
- floorEnabled?: boolean,
7
- floorColor?: string | number
8
- },
9
- 'RETURN': boolean,
10
- };
2
+ DESCRIPTION: 'Updates global scene data.';
3
+ PAYLOAD: {
4
+ name?: string;
5
+ backgroundColor?: string | number;
6
+ gridEnabled?: boolean;
7
+ floorEnabled?: boolean;
8
+ floorColor?: string | number;
9
+ };
10
+ RETURN: boolean;
11
+ }
@@ -1,4 +1,5 @@
1
1
  export default interface SET_GIZMO_MODE {
2
- 'PAYLOAD': { mode: 'translate' | 'rotate' | 'scale' },
3
- 'RETURN': boolean,
4
- };
2
+ DESCRIPTION: "Sets the gizmo's mode.";
3
+ PAYLOAD: { mode: 'translate' | 'rotate' | 'scale' };
4
+ RETURN: boolean;
5
+ }
@@ -1,4 +1,5 @@
1
1
  export default interface SET_GIZMO_VISIBILITY {
2
- 'PAYLOAD': boolean,
3
- 'RETURN': boolean,
4
- }
2
+ DESCRIPTION: "Sets the gizmo's visibility.";
3
+ PAYLOAD: boolean;
4
+ RETURN: boolean;
5
+ }
@@ -1,6 +1,7 @@
1
- import { type ToolType } from "../../../toolbox/Toolbox";
1
+ import { type ToolType } from '../../../toolbox/Toolbox';
2
2
 
3
3
  export default interface USE_TOOL {
4
- 'PAYLOAD': { tool: ToolType },
5
- 'RETURN': boolean,
6
- }
4
+ DESCRIPTION: 'Activates a specific tool from the toolbox.';
5
+ PAYLOAD: { tool: ToolType };
6
+ RETURN: boolean;
7
+ }
@@ -1,4 +1,4 @@
1
- import { COMEntityType } from "./COMEntityType";
1
+ import { COMEntityType } from './COMEntityType';
2
2
 
3
3
  export type COMBaseEntity = {
4
4
  id: string;
@@ -6,4 +6,4 @@ export type COMBaseEntity = {
6
6
  entityType: COMEntityType;
7
7
  visible: boolean;
8
8
  parentId?: string | null;
9
- }
9
+ };
@@ -1,7 +1,7 @@
1
- import { type COMPov } from "./COMPov";
2
- import { type COMLight } from "./COMLight";
3
- import { type COMModel } from "./COMModel";
4
- import { type COMPrimitive } from "./COMPrimitive";
5
- import { type COMGroup } from "./COMGroup";
1
+ import { type COMPov } from './COMPov';
2
+ import { type COMLight } from './COMLight';
3
+ import { type COMModel } from './COMModel';
4
+ import { type COMPrimitive } from './COMPrimitive';
5
+ import { type COMGroup } from './COMGroup';
6
6
 
7
- export type COMEntity = COMPov | COMLight | COMModel | COMPrimitive | COMGroup;
7
+ export type COMEntity = COMPov | COMLight | COMModel | COMPrimitive | COMGroup;
@@ -1 +1 @@
1
- export type COMEntityType = 'pov' | 'light' | 'model' | 'primitive' | 'group';
1
+ export type COMEntityType = 'pov' | 'light' | 'model' | 'primitive' | 'group';
@@ -1,6 +1,6 @@
1
1
  export type COMGeometry = {
2
- name: string
2
+ name: string;
3
3
  width: number;
4
4
  height: number;
5
5
  depth: number;
6
- }
6
+ };
@@ -1,9 +1,9 @@
1
- import { type Vector3Like } from "three";
2
- import { type COMBaseEntity } from "./COMBaseEntity";
1
+ import { type Vector3Like } from 'three';
2
+ import { type COMBaseEntity } from './COMBaseEntity';
3
3
 
4
4
  export type COMGroup = COMBaseEntity & {
5
5
  position: Vector3Like;
6
6
  rotation: Vector3Like;
7
7
  scale: Vector3Like;
8
8
  bbVisible?: boolean;
9
- }
9
+ };
@@ -1,5 +1,5 @@
1
- import { type Vector3Like } from "three";
2
- import { type COMBaseEntity } from "./COMBaseEntity";
1
+ import { type Vector3Like } from 'three';
2
+ import { type COMBaseEntity } from './COMBaseEntity';
3
3
 
4
4
  export type COMLight = COMBaseEntity & {
5
5
  type: 'ambient' | 'point' | 'scene';
@@ -7,4 +7,4 @@ export type COMLight = COMBaseEntity & {
7
7
  color: string | number;
8
8
  enabled: boolean;
9
9
  position?: Vector3Like;
10
- };
10
+ };
@@ -1,4 +1,4 @@
1
- import { type Texture } from "three";
1
+ import { type Texture } from 'three';
2
2
 
3
3
  export type COMMaterial = {
4
4
  vertexColors: boolean;
@@ -9,4 +9,4 @@ export type COMMaterial = {
9
9
  roughnessMap: Texture | null;
10
10
  metalness: number;
11
11
  metalnessMap: Texture | null;
12
- }
12
+ };