@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
package/README.md CHANGED
@@ -1,3 +1,11 @@
1
+ <!--
2
+
3
+
4
+ This file is automatically generated
5
+ You can find the template in ci/readme/template/TEMPLATE_README.md
6
+
7
+
8
+ -->
1
9
 
2
10
  <p align="center">
3
11
  <img alt="DIVE logo" src="./assets/svg/dive.svg" style="width: 100%; height: auto; max-height: 500px;">
@@ -16,24 +24,37 @@
16
24
  </p>
17
25
 
18
26
  # About
19
- DIVE is a spatial framework made by and optimized for Shopware. It can be used directly integrated in a Shopware frontend such as Storefront or in any other frontend you want to use it in, it is not tied to Shopware.
20
27
 
21
- DIVE supplies your frontend application with all needed tooling to set up a basic 3D application with event-based controls called "Actions". For further information, see [Getting started](#getting-started).
28
+ DIVE is a spatial framework made by and optimized for Shopware. It can be used
29
+ directly integrated in a Shopware frontend such as Storefront or in any other
30
+ frontend you want to use it in, it is not tied to Shopware.
31
+
32
+ DIVE supplies your frontend application with all needed tooling to set up a
33
+ basic 3D application with event-based controls called "Actions". For further
34
+ information, see [Getting started](#getting-started).
22
35
 
23
36
  # Installation
24
37
 
25
38
  #### npm:
39
+
26
40
  ```
27
41
  npm install @shopware-ag/dive
28
42
  ```
29
43
 
30
44
  #### yarn:
45
+
31
46
  ```
32
47
  yarn add @shopware-ag/dive
33
48
  ```
34
49
 
50
+ # Formatter
51
+
52
+ DIVE uses Prettier as a preconfigured formatter.
53
+
35
54
  #### Setup in Shopware
55
+
36
56
  Don't forget to include DIVE in your webpack.config.js:
57
+
37
58
  ```js
38
59
  const path = require('path');
39
60
 
@@ -75,7 +96,11 @@ module.exports = () => {
75
96
  ```
76
97
 
77
98
  # Quick View
78
- QuickView is used to quickly display your assets with as few lines of code as possible. Simply call the static ``QuickView()`` method (with your data-uri as a parameter) to create an instance of DIVE with your asset to use in further code.
99
+
100
+ QuickView is used to quickly display your assets with as few lines of code as
101
+ possible. Simply call the static `QuickView()` method (with your data-uri as a
102
+ parameter) to create an instance of DIVE with your asset to use in further code.
103
+
79
104
  ```ts
80
105
  import { DIVE } from '@shopware-ag/dive';
81
106
 
@@ -83,23 +108,27 @@ const dive = DIVE.QuickView('your/asset/uri.glb'); // <-- call QuickView()
83
108
 
84
109
  const myCanvasWrapper = document.createElement('div');
85
110
  myCanvasWrapper.appendChild(dive.Canvas);
86
-
87
111
  ```
88
112
 
89
113
  # Getting started
114
+
90
115
  Import:
116
+
91
117
  ```ts
92
118
  import { DIVE } from '@shopware-ag/dive'; // <-- import DIVE
93
119
  ```
94
120
 
95
121
  Instantiate:
122
+
96
123
  ```ts
97
124
  import { DIVE } from '@shopware-ag/dive';
98
125
 
99
126
  const dive = new DIVE(); // <-- instantiate DIVE
100
127
  ```
101
128
 
102
- DIVE supplies your application with a HTMLCanvasElement that it uses as a render target. After instantiating, you can use the supplied canvas within you frontend code to attach it to your DOM.
129
+ DIVE supplies your application with a HTMLCanvasElement that it uses as a render
130
+ target. After instantiating, you can use the supplied canvas within you frontend
131
+ code to attach it to your DOM.
103
132
 
104
133
  ```ts
105
134
  const dive = new DIVE();
@@ -108,7 +137,9 @@ const myCanvasWrapper = document.createElement('div'); // <-- create wrapper ele
108
137
  myCanvasWrapper.appendChild(dive.Canvas); // <-- reference DIVE canvas
109
138
  ```
110
139
 
111
- To interact with your newly created DIVE instance you have to perform actions via DIVECommunication. For further information, see [Actions](#actions).
140
+ To interact with your newly created DIVE instance you have to perform actions
141
+ via DIVECommunication. For further information, see [Actions](#actions).
142
+
112
143
  ```ts
113
144
  const dive = new DIVE();
114
145
 
@@ -117,16 +148,21 @@ myCanvasWrapper.appendChild(dive.Canvas);
117
148
 
118
149
  const com = dive.Communication; // <-- reference DIVECommunication
119
150
 
120
- com.PerformAction('SET_CAMERA_TRANSFORM', { // <-- perform action on DIVECommunication
151
+ com.PerformAction('SET_CAMERA_TRANSFORM', {
152
+ // <-- perform action on DIVECommunication
121
153
  position: { x: 0, y: 2, z: 2 },
122
154
  target: { x: 0, y: 0.5, z: 0 },
123
155
  });
124
156
  ```
125
157
 
126
158
  # Actions
127
- Actions symbolize the communication between frontend and 3D space. All actions can be performed anywhere, no matter if you are in frontend or 3D.
128
159
 
129
- In addition to the impact that specific actions have, every action can be subscribed to.
160
+ Actions symbolize the communication between frontend and 3D space. All actions
161
+ can be performed anywhere, no matter if you are in frontend or 3D.
162
+
163
+ In addition to the impact that specific actions have, every action can be
164
+ subscribed to.
165
+
130
166
  ```ts
131
167
  const myCanvasWrapper = document.createElement('div');
132
168
  const dive = new DIVE();
@@ -135,7 +171,8 @@ myCanvasWrapper.appendChild(dive.Canvas);
135
171
 
136
172
  const com = dive.Communication;
137
173
 
138
- com.Subscribe('SET_CAMERA_TRANSFORM', () => { // <-- add subscription
174
+ com.Subscribe('SET_CAMERA_TRANSFORM', () => {
175
+ // <-- add subscription
139
176
  // do something
140
177
  });
141
178
 
@@ -145,7 +182,9 @@ com.PerformAction('SET_CAMERA_TRANSFORM', {
145
182
  });
146
183
  ```
147
184
 
148
- Subscribing to an action returns a `unsubscribe()`-callback that should be executed when not needed anymore.
185
+ Subscribing to an action returns a `unsubscribe()`-callback that should be
186
+ executed when not needed anymore.
187
+
149
188
  ```ts
150
189
  const myCanvasWrapper = document.createElement('div');
151
190
  const dive = new DIVE();
@@ -154,7 +193,8 @@ myCanvasWrapper.appendChild(dive.Canvas);
154
193
 
155
194
  const com = dive.Communication;
156
195
 
157
- const unsubscribe = com.Subscribe('SET_CAMERA_TRANSFORM', () => { // <-- save unsubscribe callback
196
+ const unsubscribe = com.Subscribe('SET_CAMERA_TRANSFORM', () => {
197
+ // <-- save unsubscribe callback
158
198
  // do something
159
199
  });
160
200
 
@@ -167,31 +207,222 @@ unsubscribe(); // <-- execute unsubscribe callback when done
167
207
  ```
168
208
 
169
209
  # Actions (List)
170
- In the following you find a list of all available actions to perform on DIVECommunication class via [`com.PerformAction()`](https://github.com/shopware/dive/blob/2e193c58843939ce07a1d35bfbd5b3c9d26eeeca/src/com/Communication.ts#L85).
171
-
172
- | Action | Description
173
- |:--------------------------------------------------------------------------------------| :---
174
- | [GET_ALL_SCENE_DATA](./src/com/actions/scene/getallscenedata.ts) | Return all scene data that is currently set
175
- | [GET_ALL_OBJECTS](./src/com/actions/object/getallobjects.ts) | Return a map of all objects
176
- | [GET_OBJECTS](./src/com/actions/object/getobjects.ts) | Return an array of all objects with given ids
177
- | [ADD_OBJECT](./src/com/actions/object/addobject.ts) | Add an object to the scene
178
- | [UPDATE_OBJECT](./src/com/actions/object/updateobject.ts) | Update an existing object
179
- | [DELETE_OBJECT](./src/com/actions/object/deleteobject.ts) | Delete an existing object
180
- | [SELECT_OBJECT](./src/com/actions/object/selectobject.ts) | Select an existing object in the scene
181
- | [DESELECT_OBJECT](./src/com/actions/object/deselectobject.ts) | Deselect an existing object in the scene
182
- | [SET_BACKGROUND](./src/com/actions/scene/setbackground.ts) | Set a background color
183
- | [DROP_IT](./src/com/actions/object/model/dropit.ts) | Places the model onto the next underlying object's bounding box
184
- | [PLACE_ON_FLOOR](./src/com/actions/object/model/placeonfloor.ts) | Places the model onto the floor (zero plane)
185
- | [SET_CAMERA_TRANSFORM](./src/com/actions/camera/setcameratransform.ts) | Set camera transformation (w/o animation, used to initially set up camera)
186
- | [GET_CAMERA_TRANSFORM](./src/com/actions/camera/getcameratransform.ts) | Return currenty camera transformation
187
- | [MOVE_CAMERA](./src/com/actions/camera/movecamera.ts) | Move camera to a specific position or the position of a previously defined POV (with an animation)
188
- | [RESET_CAMERA](./src/com/actions/camera/resetcamera.ts) | Reset camera to original position after MOVE_CAMERA was performed
189
- | [COMPUTE_ENCOMPASSING_VIEW](./src/com/actions/camera/computeencompassingview.ts), | Calculates the camera position and target to view the whole scene
190
- | [SET_CAMERA_LAYER](./src/com/actions/camera/setcameralayer.ts) | Set camera layer to switch between live view and editor view
191
- | [ZOOM_CAMERA](./src/com/actions/camera/zoomcamera.ts) | Zoom in or out
192
- | [SET_GIZMO_MODE](./src/com/actions/toolbox/select/setgizmomode.ts) | Set gizmo mode
193
- | [SET_GIZMO_VISIBILITY](./src/com/actions/toolbox/select/setgizmovisibility.ts) | Set gizmo visibility
194
- | [USE_TOOL](./src/com/actions/toolbox/usetool.ts) | Use a specific tool
195
- | [MODEL_LOADED](./src/com/actions/object/model/modelloaded.ts) | Is performed when a model file is completely loaded
196
- | [UPDATE_SCENE](./src/com/actions/scene/updatescene.ts) | Update scene data
197
- | [GENERATE_MEDIA](./src/com/actions/media/generatemedia.ts) | Generate a screenshot with the specified parameters
210
+
211
+ In the following you find a list of all available actions to perform on
212
+ DIVECommunication class via
213
+ [`com.PerformAction()`](https://github.com/shopware/dive/blob/2e193c58843939ce07a1d35bfbd5b3c9d26eeeca/src/com/Communication.ts#L85).
214
+
215
+ <table>
216
+ <tr>
217
+ <th>Actions</th>
218
+ <th>Description</th>
219
+ </tr>
220
+ <tr>
221
+ <td>
222
+ <a href=".undefined"> ADD_OBJECT </a>
223
+ </td>
224
+ <td>
225
+ Adds an object to the scene.
226
+ </td>
227
+ </tr>
228
+ <tr>
229
+ <td>
230
+ <a href=".undefined"> COMPUTE_ENCOMPASSING_VIEW </a>
231
+ </td>
232
+ <td>
233
+ Calculates the camera position and target to view the whole scene. (experimental)
234
+ </td>
235
+ </tr>
236
+ <tr>
237
+ <td>
238
+ <a href=".undefined"> DELETE_OBJECT </a>
239
+ </td>
240
+ <td>
241
+ Deletes an object from the scene.
242
+ </td>
243
+ </tr>
244
+ <tr>
245
+ <td>
246
+ <a href=".undefined"> DESELECT_OBJECT </a>
247
+ </td>
248
+ <td>
249
+ Deselects an existing object.
250
+ </td>
251
+ </tr>
252
+ <tr>
253
+ <td>
254
+ <a href=".undefined"> DROP_IT </a>
255
+ </td>
256
+ <td>
257
+ Places an object on top of an underlying object or the floor.
258
+ </td>
259
+ </tr>
260
+ <tr>
261
+ <td>
262
+ <a href=".undefined"> EXPORT_SCENE </a>
263
+ </td>
264
+ <td>
265
+ Exports the current scene to a blob and returns the URL.
266
+ </td>
267
+ </tr>
268
+ <tr>
269
+ <td>
270
+ <a href=".undefined"> GENERATE_MEDIA </a>
271
+ </td>
272
+ <td>
273
+ Generates a screenshot, stores it in a Blob and writes the URL into the payload.
274
+ </td>
275
+ </tr>
276
+ <tr>
277
+ <td>
278
+ <a href=".undefined"> GET_ALL_OBJECTS </a>
279
+ </td>
280
+ <td>
281
+ Retrieves all objects in the scene.
282
+ </td>
283
+ </tr>
284
+ <tr>
285
+ <td>
286
+ <a href=".undefined"> GET_ALL_SCENE_DATA </a>
287
+ </td>
288
+ <td>
289
+ Retrieves all current scene data.
290
+ </td>
291
+ </tr>
292
+ <tr>
293
+ <td>
294
+ <a href=".undefined"> GET_CAMERA_TRANSFORM </a>
295
+ </td>
296
+ <td>
297
+ Returns the current camera position and target.
298
+ </td>
299
+ </tr>
300
+ <tr>
301
+ <td>
302
+ <a href=".undefined"> GET_OBJECTS </a>
303
+ </td>
304
+ <td>
305
+ Returns a list of objects of given IDs.
306
+ </td>
307
+ </tr>
308
+ <tr>
309
+ <td>
310
+ <a href=".undefined"> MODEL_LOADED </a>
311
+ </td>
312
+ <td>
313
+ Is triggered when a model is loaded.
314
+ </td>
315
+ </tr>
316
+ <tr>
317
+ <td>
318
+ <a href=".undefined"> MOVE_CAMERA </a>
319
+ </td>
320
+ <td>
321
+ Moves the camera to a new position and target.
322
+ </td>
323
+ </tr>
324
+ <tr>
325
+ <td>
326
+ <a href=".undefined"> PLACE_ON_FLOOR </a>
327
+ </td>
328
+ <td>
329
+ Places an object on the floor.
330
+ </td>
331
+ </tr>
332
+ <tr>
333
+ <td>
334
+ <a href=".undefined"> RESET_CAMERA </a>
335
+ </td>
336
+ <td>
337
+ Reset the camera to its initial position and rotation.
338
+ </td>
339
+ </tr>
340
+ <tr>
341
+ <td>
342
+ <a href=".undefined"> SELECT_OBJECT </a>
343
+ </td>
344
+ <td>
345
+ Selects an existing object.
346
+ </td>
347
+ </tr>
348
+ <tr>
349
+ <td>
350
+ <a href=".undefined"> SET_BACKGROUND </a>
351
+ </td>
352
+ <td>
353
+ Set the background color of the scene.
354
+ </td>
355
+ </tr>
356
+ <tr>
357
+ <td>
358
+ <a href=".undefined"> SET_CAMERA_LAYER </a>
359
+ </td>
360
+ <td>
361
+ Sets the camera layer to a certain layer.
362
+ </td>
363
+ </tr>
364
+ <tr>
365
+ <td>
366
+ <a href=".undefined"> SET_CAMERA_TRANSFORM </a>
367
+ </td>
368
+ <td>
369
+ Sets the camera position and target.
370
+ </td>
371
+ </tr>
372
+ <tr>
373
+ <td>
374
+ <a href=".undefined"> SET_GIZMO_MODE </a>
375
+ </td>
376
+ <td>
377
+ Sets the gizmo's mode.
378
+ </td>
379
+ </tr>
380
+ <tr>
381
+ <td>
382
+ <a href=".undefined"> SET_GIZMO_VISIBILITY </a>
383
+ </td>
384
+ <td>
385
+ Sets the gizmo's visibility.
386
+ </td>
387
+ </tr>
388
+ <tr>
389
+ <td>
390
+ <a href=".undefined"> SET_PARENT </a>
391
+ </td>
392
+ <td>
393
+ Attach an object to another object.
394
+ </td>
395
+ </tr>
396
+ <tr>
397
+ <td>
398
+ <a href=".undefined"> UPDATE_OBJECT </a>
399
+ </td>
400
+ <td>
401
+ Updates an existing object.
402
+ </td>
403
+ </tr>
404
+ <tr>
405
+ <td>
406
+ <a href=".undefined"> UPDATE_SCENE </a>
407
+ </td>
408
+ <td>
409
+ Updates global scene data.
410
+ </td>
411
+ </tr>
412
+ <tr>
413
+ <td>
414
+ <a href=".undefined"> USE_TOOL </a>
415
+ </td>
416
+ <td>
417
+ Activates a specific tool from the toolbox.
418
+ </td>
419
+ </tr>
420
+ <tr>
421
+ <td>
422
+ <a href=".undefined"> ZOOM_CAMERA </a>
423
+ </td>
424
+ <td>
425
+ Zooms the camera in or out by a certain amount.
426
+ </td>
427
+ </tr>
428
+ </table>