@needle-tools/engine 2.34.0-pre → 2.35.0-pre

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 (234) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/dist/needle-engine.d.ts +2960 -2794
  3. package/dist/needle-engine.js +456 -456
  4. package/dist/needle-engine.js.map +4 -4
  5. package/dist/needle-engine.min.js +67 -67
  6. package/dist/needle-engine.min.js.map +4 -4
  7. package/lib/engine/api.d.ts +3 -0
  8. package/lib/engine/api.js +4 -0
  9. package/lib/engine/api.js.map +1 -0
  10. package/lib/engine/engine.d.ts +4 -3
  11. package/lib/engine/engine_addressables.d.ts +5 -4
  12. package/lib/engine/engine_addressables.js +8 -7
  13. package/lib/engine/engine_addressables.js.map +1 -1
  14. package/lib/engine/engine_components.d.ts +16 -0
  15. package/lib/engine/engine_components.js +223 -0
  16. package/lib/engine/engine_components.js.map +1 -0
  17. package/lib/engine/engine_element.js +2 -2
  18. package/lib/engine/engine_element.js.map +1 -1
  19. package/lib/engine/engine_gameobject.d.ts +33 -0
  20. package/lib/engine/engine_gameobject.js +449 -0
  21. package/lib/engine/engine_gameobject.js.map +1 -0
  22. package/lib/engine/engine_gltf.d.ts +13 -2
  23. package/lib/engine/engine_gltf.js +7 -1
  24. package/lib/engine/engine_gltf.js.map +1 -1
  25. package/lib/engine/engine_gltf_builtin_components.d.ts +3 -3
  26. package/lib/engine/engine_gltf_builtin_components.js +2 -3
  27. package/lib/engine/engine_gltf_builtin_components.js.map +1 -1
  28. package/lib/engine/engine_lightdata.d.ts +1 -1
  29. package/lib/engine/engine_lightdata.js.map +1 -1
  30. package/lib/engine/engine_mainloop_utils.d.ts +2 -2
  31. package/lib/engine/engine_mainloop_utils.js +7 -6
  32. package/lib/engine/engine_mainloop_utils.js.map +1 -1
  33. package/lib/engine/engine_networking.d.ts +2 -11
  34. package/lib/engine/engine_networking.js +1 -7
  35. package/lib/engine/engine_networking.js.map +1 -1
  36. package/lib/engine/engine_networking_files.d.ts +1 -1
  37. package/lib/engine/engine_networking_files.js +8 -7
  38. package/lib/engine/engine_networking_files.js.map +1 -1
  39. package/lib/engine/engine_networking_files_default_components.d.ts +2 -2
  40. package/lib/engine/engine_networking_files_default_components.js +38 -43
  41. package/lib/engine/engine_networking_files_default_components.js.map +1 -1
  42. package/lib/engine/engine_networking_instantiate.d.ts +8 -6
  43. package/lib/engine/engine_networking_instantiate.js +12 -9
  44. package/lib/engine/engine_networking_instantiate.js.map +1 -1
  45. package/lib/engine/engine_networking_types.d.ts +14 -0
  46. package/lib/engine/engine_networking_types.js +8 -0
  47. package/lib/engine/engine_networking_types.js.map +1 -0
  48. package/lib/engine/engine_physics.d.ts +1 -25
  49. package/lib/engine/engine_physics.js +17 -61
  50. package/lib/engine/engine_physics.js.map +1 -1
  51. package/lib/engine/engine_rendererdata.d.ts +1 -1
  52. package/lib/engine/engine_rendererdata.js.map +1 -1
  53. package/lib/engine/engine_scenetools.d.ts +2 -2
  54. package/lib/engine/engine_scenetools.js +22 -5
  55. package/lib/engine/engine_scenetools.js.map +1 -1
  56. package/lib/engine/engine_serialization_builtin_serializer.d.ts +1 -1
  57. package/lib/engine/engine_serialization_core.d.ts +1 -1
  58. package/lib/engine/engine_serialization_decorator.d.ts +1 -1
  59. package/lib/engine/engine_setup.d.ts +14 -15
  60. package/lib/engine/engine_setup.js +34 -23
  61. package/lib/engine/engine_setup.js.map +1 -1
  62. package/lib/engine/engine_three_utils.js +0 -6
  63. package/lib/engine/engine_three_utils.js.map +1 -1
  64. package/lib/engine/engine_types.d.ts +103 -0
  65. package/lib/engine/engine_types.js +49 -0
  66. package/lib/engine/engine_types.js.map +1 -0
  67. package/lib/engine/engine_utils.d.ts +1 -1
  68. package/lib/engine/engine_utils.js.map +1 -1
  69. package/lib/engine/extensions/NEEDLE_components.js +2 -2
  70. package/lib/engine/extensions/NEEDLE_components.js.map +1 -1
  71. package/lib/engine/extensions/NEEDLE_deferred_texture.d.ts +1 -1
  72. package/lib/engine/extensions/NEEDLE_lighting_settings.d.ts +1 -1
  73. package/lib/engine/extensions/NEEDLE_lightmaps.d.ts +1 -1
  74. package/lib/engine/extensions/NEEDLE_render_objects.d.ts +2 -2
  75. package/lib/engine/extensions/NEEDLE_techniques_webgl.d.ts +1 -1
  76. package/lib/engine/extensions/NEEDLE_techniques_webgl.js +3 -2
  77. package/lib/engine/extensions/NEEDLE_techniques_webgl.js.map +1 -1
  78. package/lib/engine/extensions/extensions.d.ts +1 -1
  79. package/lib/engine-components/Animator.js.map +1 -1
  80. package/lib/engine-components/AvatarLoader.js +6 -5
  81. package/lib/engine-components/AvatarLoader.js.map +1 -1
  82. package/lib/engine-components/Camera.d.ts +2 -2
  83. package/lib/engine-components/Camera.js +6 -12
  84. package/lib/engine-components/Camera.js.map +1 -1
  85. package/lib/engine-components/CameraUtils.d.ts +3 -0
  86. package/lib/engine-components/CameraUtils.js +15 -0
  87. package/lib/engine-components/CameraUtils.js.map +1 -0
  88. package/lib/engine-components/Component.d.ts +16 -50
  89. package/lib/engine-components/Component.js +67 -466
  90. package/lib/engine-components/Component.js.map +1 -1
  91. package/lib/engine-components/Duplicatable.js +2 -1
  92. package/lib/engine-components/Duplicatable.js.map +1 -1
  93. package/lib/engine-components/LODGroup.js.map +1 -1
  94. package/lib/engine-components/Light.d.ts +2 -1
  95. package/lib/engine-components/Light.js +2 -2
  96. package/lib/engine-components/Light.js.map +1 -1
  97. package/lib/engine-components/NestedGltf.js +2 -1
  98. package/lib/engine-components/NestedGltf.js.map +1 -1
  99. package/lib/engine-components/OrbitControls.js +4 -2
  100. package/lib/engine-components/OrbitControls.js.map +1 -1
  101. package/lib/engine-components/Renderer.d.ts +3 -2
  102. package/lib/engine-components/Renderer.js +2 -0
  103. package/lib/engine-components/Renderer.js.map +1 -1
  104. package/lib/engine-components/{Rigidbody.d.ts → RigidBody.d.ts} +2 -1
  105. package/lib/engine-components/{Rigidbody.js → RigidBody.js} +1 -1
  106. package/lib/engine-components/{Rigidbody.js.map → RigidBody.js.map} +1 -1
  107. package/lib/engine-components/ScreenCapture.js.map +1 -1
  108. package/lib/engine-components/SpectatorCamera.js.map +1 -1
  109. package/lib/engine-components/SyncedCamera.js +2 -1
  110. package/lib/engine-components/SyncedCamera.js.map +1 -1
  111. package/lib/engine-components/SyncedTransform.js.map +1 -1
  112. package/lib/engine-components/TestRunner.js.map +1 -1
  113. package/lib/engine-components/Voip.js +2 -1
  114. package/lib/engine-components/Voip.js.map +1 -1
  115. package/lib/engine-components/WebXR.js.map +1 -1
  116. package/lib/engine-components/WebXRController.js +28 -8
  117. package/lib/engine-components/WebXRController.js.map +1 -1
  118. package/lib/engine-components/WebXRGrabRendering.d.ts +1 -1
  119. package/lib/engine-components/WebXRGrabRendering.js +1 -1
  120. package/lib/engine-components/WebXRGrabRendering.js.map +1 -1
  121. package/lib/engine-components/WebXRSync.js +1 -1
  122. package/lib/engine-components/WebXRSync.js.map +1 -1
  123. package/lib/engine-components/avatar/Avatar_Brain_LookAt.js.map +1 -1
  124. package/lib/engine-components/codegen/components.d.ts +1 -1
  125. package/lib/engine-components/codegen/components.js +1 -1
  126. package/lib/engine-components/codegen/components.js.map +1 -1
  127. package/lib/engine-components/js-extensions/ExtensionUtils.d.ts +4 -0
  128. package/lib/engine-components/js-extensions/ExtensionUtils.js +56 -0
  129. package/lib/engine-components/js-extensions/ExtensionUtils.js.map +1 -0
  130. package/lib/engine-components/js-extensions/Object3D.js +16 -41
  131. package/lib/engine-components/js-extensions/Object3D.js.map +1 -1
  132. package/lib/engine-components/js-extensions/Vector.d.ts +2 -0
  133. package/lib/engine-components/js-extensions/Vector.js +16 -0
  134. package/lib/engine-components/js-extensions/Vector.js.map +1 -0
  135. package/lib/engine-components/timeline/PlayableDirector.d.ts +2 -1
  136. package/lib/engine-components/timeline/PlayableDirector.js.map +1 -1
  137. package/lib/engine-components/ui/BaseUIComponent.d.ts +1 -0
  138. package/lib/engine-components/ui/BaseUIComponent.js +11 -5
  139. package/lib/engine-components/ui/BaseUIComponent.js.map +1 -1
  140. package/lib/engine-components/ui/Canvas.d.ts +3 -0
  141. package/lib/engine-components/ui/Canvas.js +12 -1
  142. package/lib/engine-components/ui/Canvas.js.map +1 -1
  143. package/lib/engine-components/ui/CanvasScaler.d.ts +0 -0
  144. package/lib/engine-components/ui/CanvasScaler.js +17 -0
  145. package/lib/engine-components/ui/CanvasScaler.js.map +1 -0
  146. package/lib/engine-components/ui/EventSystem.d.ts +1 -1
  147. package/lib/engine-components/ui/EventSystem.js +11 -31
  148. package/lib/engine-components/ui/EventSystem.js.map +1 -1
  149. package/lib/engine-components/ui/Graphic.js +2 -1
  150. package/lib/engine-components/ui/Graphic.js.map +1 -1
  151. package/lib/engine-components/ui/Keyboard.js +2 -1
  152. package/lib/engine-components/ui/Keyboard.js.map +1 -1
  153. package/lib/engine-components/ui/RaycastUtils.d.ts +11 -0
  154. package/lib/engine-components/ui/RaycastUtils.js +62 -0
  155. package/lib/engine-components/ui/RaycastUtils.js.map +1 -0
  156. package/lib/engine-components/ui/Raycaster.js.map +1 -1
  157. package/lib/engine-components/ui/Text.js +8 -3
  158. package/lib/engine-components/ui/Text.js.map +1 -1
  159. package/lib/engine-components/ui/Utils.js +3 -2
  160. package/lib/engine-components/ui/Utils.js.map +1 -1
  161. package/lib/needle-engine.d.ts +3 -1
  162. package/lib/needle-engine.js +4 -2
  163. package/lib/needle-engine.js.map +1 -1
  164. package/package.json +12 -1
  165. package/src/engine/api.ts +3 -0
  166. package/src/engine/codegen/register_types.js +2 -2
  167. package/src/engine/engine_addressables.ts +12 -10
  168. package/src/engine/{engine_components.js → engine_components.ts} +37 -47
  169. package/src/engine/engine_element.ts +2 -2
  170. package/src/engine/engine_gameobject.ts +506 -0
  171. package/src/engine/engine_gltf.ts +21 -2
  172. package/src/engine/engine_gltf_builtin_components.ts +8 -7
  173. package/src/engine/engine_lightdata.ts +1 -1
  174. package/src/engine/engine_mainloop_utils.ts +13 -11
  175. package/src/engine/engine_networking.ts +3 -14
  176. package/src/engine/engine_networking_files.ts +14 -11
  177. package/src/engine/engine_networking_files_default_components.ts +53 -52
  178. package/src/engine/engine_networking_instantiate.ts +24 -14
  179. package/src/engine/engine_networking_types.ts +19 -0
  180. package/src/engine/engine_physics.ts +20 -82
  181. package/src/engine/engine_rendererdata.ts +1 -1
  182. package/src/engine/engine_scenetools.ts +30 -6
  183. package/src/engine/engine_serialization_core.ts +1 -1
  184. package/src/engine/engine_serialization_decorator.ts +1 -1
  185. package/src/engine/engine_setup.ts +51 -37
  186. package/src/engine/engine_three_utils.ts +0 -8
  187. package/src/engine/engine_types.ts +180 -0
  188. package/src/engine/engine_utils.ts +1 -3
  189. package/src/engine/extensions/NEEDLE_components.ts +2 -2
  190. package/src/engine/extensions/NEEDLE_deferred_texture.ts +1 -1
  191. package/src/engine/extensions/NEEDLE_lighting_settings.ts +1 -1
  192. package/src/engine/extensions/NEEDLE_lightmaps.ts +1 -1
  193. package/src/engine/extensions/NEEDLE_render_objects.ts +4 -4
  194. package/src/engine/extensions/NEEDLE_techniques_webgl.ts +5 -4
  195. package/src/engine/extensions/extensions.ts +1 -1
  196. package/src/engine-components/Animator.ts +3 -3
  197. package/src/engine-components/AvatarLoader.ts +6 -5
  198. package/src/engine-components/Camera.ts +10 -13
  199. package/src/engine-components/CameraUtils.ts +15 -0
  200. package/src/engine-components/Component.ts +83 -536
  201. package/src/engine-components/Duplicatable.ts +4 -3
  202. package/src/engine-components/LODGroup.ts +1 -1
  203. package/src/engine-components/Light.ts +3 -2
  204. package/src/engine-components/NestedGltf.ts +2 -1
  205. package/src/engine-components/OrbitControls.ts +5 -5
  206. package/src/engine-components/Renderer.ts +5 -1
  207. package/src/engine-components/RigidBody.ts +2 -1
  208. package/src/engine-components/ScreenCapture.ts +1 -1
  209. package/src/engine-components/SpectatorCamera.ts +7 -5
  210. package/src/engine-components/SyncedCamera.ts +2 -1
  211. package/src/engine-components/SyncedTransform.ts +1 -1
  212. package/src/engine-components/TestRunner.ts +1 -2
  213. package/src/engine-components/Voip.ts +2 -1
  214. package/src/engine-components/WebXR.ts +2 -2
  215. package/src/engine-components/WebXRController.ts +30 -10
  216. package/src/engine-components/WebXRGrabRendering.ts +1 -1
  217. package/src/engine-components/WebXRSync.ts +1 -1
  218. package/src/engine-components/avatar/Avatar_Brain_LookAt.ts +2 -1
  219. package/src/engine-components/codegen/components.ts +1 -1
  220. package/src/engine-components/js-extensions/ExtensionUtils.ts +66 -0
  221. package/src/engine-components/js-extensions/Object3D.ts +22 -48
  222. package/src/engine-components/js-extensions/Vector.ts +17 -0
  223. package/src/engine-components/timeline/PlayableDirector.ts +2 -1
  224. package/src/engine-components/ui/BaseUIComponent.ts +17 -6
  225. package/src/engine-components/ui/Canvas.ts +14 -2
  226. package/src/engine-components/ui/CanvasScaler.ts +21 -0
  227. package/src/engine-components/ui/EventSystem.ts +11 -25
  228. package/src/engine-components/ui/Graphic.ts +2 -1
  229. package/src/engine-components/ui/Keyboard.ts +2 -1
  230. package/src/engine-components/ui/RaycastUtils.ts +64 -0
  231. package/src/engine-components/ui/Raycaster.ts +2 -0
  232. package/src/engine-components/ui/Text.ts +8 -4
  233. package/src/engine-components/ui/Utils.ts +3 -2
  234. package/src/needle-engine.ts +7 -2
@@ -6,6 +6,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
6
6
  };
7
7
  import { Graphic } from './Graphic';
8
8
  import * as ThreeMeshUI from 'three-mesh-ui';
9
+ import { $shadowDomOwner } from "./BaseUIComponent";
9
10
  import { Color } from 'three';
10
11
  import { FrameEvent } from '../../engine/engine_setup';
11
12
  import { updateRenderSettings } from './Utils';
@@ -146,11 +147,15 @@ export class Text extends Graphic {
146
147
  _textMeshUi = null;
147
148
  _textContainer = null;
148
149
  getTextOpts() {
150
+ let fontSize = this.fontSize;
151
+ // if (this.canvas) {
152
+ // fontSize /= this.canvas?.scaleFactor;
153
+ // }
149
154
  const textOpts = {
150
155
  content: this.text,
151
156
  fontColor: this.color,
152
157
  fontOpacity: this.color.alpha,
153
- fontSize: this.fontSize,
158
+ fontSize: fontSize,
154
159
  fontKerning: "normal",
155
160
  };
156
161
  this.font = this.font?.toLocaleLowerCase();
@@ -253,8 +258,8 @@ export class Text extends Graphic {
253
258
  ensureShadowComponentOwner() {
254
259
  if (this.shadowComponent) {
255
260
  this.shadowComponent.traverse(c => {
256
- if (c["shadowComponentOwner"] === undefined)
257
- c["shadowComponentOwner"] = this;
261
+ if (c[$shadowDomOwner] === undefined)
262
+ c[$shadowDomOwner] = this;
258
263
  });
259
264
  }
260
265
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Text.js","sourceRoot":"","sources":["../../../../engine-components/ui/Text.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Text.js","sourceRoot":"","sources":["../../../../engine-components/ui/Text.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { FrontSide, DoubleSide } from "three";
2
2
  import { FrameEvent } from "../../engine/engine_setup";
3
+ import { $shadowDomOwner } from "./BaseUIComponent";
3
4
  // export function makeNonRaycastable(obj: THREE.Object3D | null | undefined, recursive: boolean = false) {
4
5
  // if (!obj) return;
5
6
  // obj.layers.mask = 2;
@@ -10,12 +11,12 @@ import { FrameEvent } from "../../engine/engine_setup";
10
11
  // }
11
12
  // }
12
13
  export function isUIObject(obj) {
13
- return obj["isUI"] === true || typeof obj["shadowComponentOwner"] === "object";
14
+ return obj["isUI"] === true || typeof obj[$shadowDomOwner] === "object";
14
15
  }
15
16
  export function updateRenderSettings(shadowComponent, settings) {
16
17
  if (!shadowComponent)
17
18
  return;
18
- // const owner = shadowComponent["shadowComponentOwner"];
19
+ // const owner = shadowComponent[$shadowDomOwner];
19
20
  // if (!owner)
20
21
  // console.log(shadowComponent)
21
22
  const mat = shadowComponent["material"];
@@ -1 +1 @@
1
- {"version":3,"file":"Utils.js","sourceRoot":"","sources":["../../../../engine-components/ui/Utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Utils.js","sourceRoot":"","sources":["../../../../engine-components/ui/Utils.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,9 @@
1
1
  import "./engine/engine_element";
2
2
  import "./engine/engine_setup";
3
+ import "./engine/codegen/register_types";
3
4
  export { GameObject, Behaviour } from "./engine-components/Component";
4
5
  export { serializeable } from "./engine/engine_serialization_decorator";
5
- export { Collision } from "./engine/engine_physics";
6
+ export { Collision } from "./engine/engine_types";
7
+ export * from "./engine/api";
6
8
  export * from "./engine-components/codegen/components";
7
9
  export * from "./engine-components/js-extensions/Object3D";
@@ -1,11 +1,12 @@
1
1
  import "./engine/engine_element";
2
2
  import "./engine/engine_setup";
3
- import * as Components from "./engine-components/codegen/components";
3
+ import "./engine/codegen/register_types";
4
4
  // import "./engine/engine_mainloop";
5
5
  // import "./engine-components/DomOverlay";
6
6
  export { GameObject, Behaviour } from "./engine-components/Component";
7
7
  export { serializeable } from "./engine/engine_serialization_decorator";
8
- export { Collision } from "./engine/engine_physics";
8
+ export { Collision } from "./engine/engine_types";
9
+ export * from "./engine/api";
9
10
  export * from "./engine-components/codegen/components";
10
11
  export * from "./engine-components/js-extensions/Object3D";
11
12
  // make accessible for external javascript
@@ -19,6 +20,7 @@ function registerGlobal(obj) {
19
20
  }
20
21
  import * as Component from "./engine-components/Component";
21
22
  registerGlobal(Component);
23
+ import * as Components from "./engine-components/codegen/components";
22
24
  registerGlobal(Components);
23
25
  import { GameObject } from "./engine-components/Component";
24
26
  for (const method of Object.getOwnPropertyNames(GameObject)) {
@@ -1 +1 @@
1
- {"version":3,"file":"needle-engine.js","sourceRoot":"","sources":["../../needle-engine.ts"],"names":[],"mappings":"AAAA,OAAO,yBAAyB,CAAC;AACjC,OAAO,uBAAuB,CAAC;AAC/B,OAAO,KAAK,UAAU,MAAM,wCAAwC,CAAC;AACrE,qCAAqC;AACrC,2CAA2C;AAE3C,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,cAAc,wCAAwC,CAAC;AAGvD,cAAc,4CAA4C,CAAC;AAE3D,0CAA0C;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,MAAM,MAAM,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;AACpC,UAAU,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC;AAC9B,SAAS,cAAc,CAAC,GAAW;IAC/B,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE;QACnB,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;KAC1B;AACL,CAAC;AACD,OAAO,KAAK,SAAS,MAAM,+BAA+B,CAAC;AAC3D,cAAc,CAAC,SAAS,CAAC,CAAC;AAC1B,cAAc,CAAC,UAAU,CAAC,CAAC;AAE3B,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,mBAAmB,CAAC,UAAU,CAAC,EAAE;IACzD,QAAQ,MAAM,EAAE;QACZ,KAAK,WAAW,CAAC;QACjB,KAAK,aAAa,CAAC;QACnB,KAAK,QAAQ,CAAC;QACd,KAAK,MAAM;YACP,SAAS;QACb;YACI,MAAM,CAAC,MAAM,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;YACpC,MAAM;KACb;CACJ;AAED,wBAAwB;AACxB,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,IAAG,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;IACrB,UAAU,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC;CAC/B;;IACI,OAAO,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC"}
1
+ {"version":3,"file":"needle-engine.js","sourceRoot":"","sources":["../../needle-engine.ts"],"names":[],"mappings":"AAAA,OAAO,yBAAyB,CAAC;AACjC,OAAO,uBAAuB,CAAC;AAC/B,OAAO,iCAAiC,CAAC;AACzC,qCAAqC;AACrC,2CAA2C;AAG3C,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,cAAc,cAAc,CAAC;AAC7B,cAAc,wCAAwC,CAAC;AAGvD,cAAc,4CAA4C,CAAC;AAG3D,0CAA0C;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,MAAM,MAAM,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;AACpC,UAAU,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC;AAC9B,SAAS,cAAc,CAAC,GAAW;IAC/B,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE;QACnB,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;KAC1B;AACL,CAAC;AACD,OAAO,KAAK,SAAS,MAAM,+BAA+B,CAAC;AAC3D,cAAc,CAAC,SAAS,CAAC,CAAC;AAE1B,OAAO,KAAK,UAAU,MAAM,wCAAwC,CAAC;AACrE,cAAc,CAAC,UAAU,CAAC,CAAC;AAE3B,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,mBAAmB,CAAC,UAAU,CAAC,EAAE;IACzD,QAAQ,MAAM,EAAE;QACZ,KAAK,WAAW,CAAC;QACjB,KAAK,aAAa,CAAC;QACnB,KAAK,QAAQ,CAAC;QACd,KAAK,MAAM;YACP,SAAS;QACb;YACI,MAAM,CAAC,MAAM,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;YACpC,MAAM;KACb;CACJ;AAED,wBAAwB;AACxB,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,IAAG,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;IACrB,UAAU,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC;CAC/B;;IACI,OAAO,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@needle-tools/engine",
3
- "version": "2.34.0-pre",
3
+ "version": "2.35.0-pre",
4
4
  "description": "Needle Engine is a web-based runtime for 3D apps. It runs on your machine for development, and can be deployed anywhere. It is flexible, extensible, and collaboration and XR come naturally.",
5
5
  "main": "dist/needle-engine.js",
6
6
  "module": "lib/needle-engine.js",
@@ -54,6 +54,17 @@
54
54
  "uuid": "^9.0.0",
55
55
  "websocket-ts": "^1.1.1"
56
56
  },
57
+ "watch": {
58
+ "test:circular-imports": {
59
+ "patterns": [
60
+ "engine/*",
61
+ "engine-components/*",
62
+ "engine-experimental/**/*"
63
+ ],
64
+ "extensions": "ts",
65
+ "quiet": false
66
+ }
67
+ },
57
68
  "publishConfig": {
58
69
  "access": "public",
59
70
  "registry": "https://registry.npmjs.org"
@@ -0,0 +1,3 @@
1
+ export { InstancingUtil } from "./engine_instancing";
2
+ export * from "./engine_gameobject";
3
+ export * from "./engine_components"
@@ -17,7 +17,6 @@ import { Camera } from "../../engine-components/Camera.ts";
17
17
  import { Collider } from "../../engine-components/Collider.ts";
18
18
  import { SphereCollider } from "../../engine-components/Collider.ts";
19
19
  import { BoxCollider } from "../../engine-components/Collider.ts";
20
- import { InstantiateOptions } from "../../engine-components/Component.ts";
21
20
  import { DeleteBox } from "../../engine-components/DeleteBox.ts";
22
21
  import { Deletable } from "../../engine-components/DeleteBox.ts";
23
22
  import { DeviceFlag } from "../../engine-components/DeviceFlag.ts";
@@ -134,6 +133,7 @@ import { PointerEventData } from "../../engine-components/ui/PointerEvents.ts";
134
133
  import { Raycaster } from "../../engine-components/ui/Raycaster.ts";
135
134
  import { ObjectRaycaster } from "../../engine-components/ui/Raycaster.ts";
136
135
  import { GraphicRaycaster } from "../../engine-components/ui/Raycaster.ts";
136
+ import { UIRaycastUtils } from "../../engine-components/ui/RaycastUtils.ts";
137
137
  import { Size } from "../../engine-components/ui/RectTransform.ts";
138
138
  import { Rect } from "../../engine-components/ui/RectTransform.ts";
139
139
  import { RectTransform } from "../../engine-components/ui/RectTransform.ts";
@@ -163,7 +163,6 @@ TypeStore.add("Camera", Camera);
163
163
  TypeStore.add("Collider", Collider);
164
164
  TypeStore.add("SphereCollider", SphereCollider);
165
165
  TypeStore.add("BoxCollider", BoxCollider);
166
- TypeStore.add("InstantiateOptions", InstantiateOptions);
167
166
  TypeStore.add("DeleteBox", DeleteBox);
168
167
  TypeStore.add("Deletable", Deletable);
169
168
  TypeStore.add("DeviceFlag", DeviceFlag);
@@ -280,6 +279,7 @@ TypeStore.add("PointerEventData", PointerEventData);
280
279
  TypeStore.add("Raycaster", Raycaster);
281
280
  TypeStore.add("ObjectRaycaster", ObjectRaycaster);
282
281
  TypeStore.add("GraphicRaycaster", GraphicRaycaster);
282
+ TypeStore.add("UIRaycastUtils", UIRaycastUtils);
283
283
  TypeStore.add("Size", Size);
284
284
  TypeStore.add("Rect", Rect);
285
285
  TypeStore.add("RectTransform", RectTransform);
@@ -1,13 +1,15 @@
1
1
  import { getParam, getPath } from "../engine/engine_utils";
2
- import { GameObject, InstantiateOptions } from "../engine-components/Component";
3
- import { loadSync, parseSync } from "./engine_scenetools";
2
+ // import { loadSync, parseSync } from "./engine_scenetools";
4
3
  import { SerializationContext, TypeSerializer } from "./engine_serialization_core";
5
4
  import { Context } from "./engine_setup";
6
- import { Group, LogLuvEncoding, Object3D, Scene } from "three";
5
+ import { Group, Object3D, Scene } from "three";
7
6
  import { processNewScripts } from "./engine_mainloop_utils";
8
7
  import { InstantiateEvent, registerPrefabProvider, syncInstantiate } from "./engine_networking_instantiate";
9
8
  import { download } from "./engine_web_api";
10
- import { SourceIdentifier } from "./engine_gltf";
9
+ import { getLoader } from "./engine_gltf";
10
+ import { SourceIdentifier } from "./engine_types";
11
+ import { destroy, instantiate, InstantiateOptions } from "./engine_gameobject";
12
+ import { IGameObject } from "./engine_types";
11
13
 
12
14
  const debug = getParam("debugaddressables");
13
15
 
@@ -86,7 +88,7 @@ export class AssetReference {
86
88
  registerPrefabProvider(this._uri, this.onResolvePrefab.bind(this));
87
89
  }
88
90
 
89
- private async onResolvePrefab(uri: string): Promise<GameObject | null> {
91
+ private async onResolvePrefab(uri: string): Promise<IGameObject | null> {
90
92
  if (uri === this.uri) {
91
93
  if (this.mustLoad) await this.loadAssetAsync();
92
94
  if (this.asset) {
@@ -107,8 +109,8 @@ export class AssetReference {
107
109
  if (debug) console.log("Unload", this.asset);
108
110
  // TODO: we need a way to remove objects from the context (including components) without actually "destroying" them
109
111
  if (this.asset.scene)
110
- GameObject.destroy(this.asset.scene);
111
- else GameObject.destroy(this.asset);
112
+ destroy(this.asset.scene);
113
+ else destroy(this.asset);
112
114
  }
113
115
  this.asset = null;
114
116
  }
@@ -141,12 +143,12 @@ export class AssetReference {
141
143
  // we should "address" (LUL) this
142
144
  // console.log("START LOADING");
143
145
  if (this._rawBinary) {
144
- this._loading = parseSync(context, this._rawBinary, this.uri, null);
146
+ this._loading = getLoader().parseSync(context, this._rawBinary, this.uri, null);
145
147
  this.raiseProgressEvent(new ProgressEvent("progress", { loaded: this._rawBinary.byteLength, total: this._rawBinary.byteLength }));
146
148
  }
147
149
  else {
148
150
  if (debug) console.log("Load async", this.uri);
149
- this._loading = loadSync(context, this.uri, null, true, prog => {
151
+ this._loading = getLoader().loadSync(context, this.uri, null, true, prog => {
150
152
  this.raiseProgressEvent(prog);
151
153
  });
152
154
  }
@@ -229,7 +231,7 @@ export class AssetReference {
229
231
  }
230
232
  }
231
233
  else {
232
- const instance = GameObject.instantiate(this.asset, options);
234
+ const instance = instantiate(this.asset, options);
233
235
  if (instance) {
234
236
  return instance;
235
237
  }
@@ -1,55 +1,59 @@
1
- import { activeInHierarchyFieldName } from './engine_constants';
2
- import { removeScriptFromContext } from './engine_mainloop_utils';
3
- import { Context } from './engine_setup';
4
- import * as main from "../engine/engine_mainloop_utils";
5
- import { getParam } from './engine_utils';
1
+ import { Object3D } from "three";
2
+ import { Constructor, ConstructorConcrete, IComponent as Component, IComponent, IGameObject } from "./engine_types";
3
+ import { Context, registerComponent } from "./engine_setup";
4
+ import { getParam } from "./engine_utils";
5
+ import { removeScriptFromContext, updateActiveInHierarchyWithoutEventCall } from "./engine_mainloop_utils";
6
+ import { activeInHierarchyFieldName } from "./engine_constants";
6
7
 
7
8
  const debug = getParam("debuggetcomponent");
8
9
 
10
+
9
11
  function tryGetObject(obj) {
10
- if(obj === null || obj === undefined) return obj;
11
- if(obj.isObject3D) return obj;
12
+ if (obj === null || obj === undefined) return obj;
13
+ if (obj.isObject3D) return obj;
12
14
  // handle threejs intersection object
13
15
  if (obj.object && obj.object.isObject3D) return obj.object;
14
16
  return obj;
15
17
  }
16
18
 
17
- export function registerComponent(script, context) {
18
- if (!script) return;
19
- const new_scripts = context?.new_scripts ?? Context.Current.new_scripts;
20
- if (!new_scripts.includes(script)) {
21
- new_scripts.push(script);
22
- }
23
- }
24
19
 
25
- export const removeComponent = function (go, componentInstance) {
20
+ export function removeComponent(go: Object3D, componentInstance: IComponent) {
26
21
  if (!go) return;
27
22
  if (!go.userData.components) return;
28
23
  const index = go.userData.components.indexOf(componentInstance);
29
24
  if (index < 0) return;
25
+ //@ts-ignore
30
26
  componentInstance.gameObject = null;
31
27
  go.userData.components.splice(index, 1);
32
28
  }
33
29
 
34
- const addNewComponentInstance = function (componentInstance, obj, callAwake = true) {
30
+ export function getOrAddComponent<T extends IComponent>(go: Object3D, typeName: ConstructorConcrete<T>): T {
31
+ const comp = getComponent(typeName, go);
32
+ if (comp) return comp;
33
+ const newInstance = new typeName();
34
+ return addNewComponentInstance(go, newInstance) as unknown as T;
35
+ }
36
+
37
+ export function addNewComponentInstance<T extends IComponent>(obj: Object3D, componentInstance: T, callAwake = true): IComponent {
35
38
  if (!obj.userData) obj.userData = {};
36
39
  if (!obj.userData.components) obj.userData.components = [];
37
40
  obj.userData.components.push(componentInstance);
38
- componentInstance.gameObject = obj;
41
+ componentInstance.gameObject = obj as IGameObject;
39
42
  // componentInstance.transform = obj;
40
43
  registerComponent(componentInstance);
41
44
  try {
42
45
  if (componentInstance.__internalAwake && callAwake) {
43
- main.updateActiveInHierarchyWithoutEventCall(obj);
46
+ updateActiveInHierarchyWithoutEventCall(obj);
44
47
  componentInstance.__internalAwake();
45
48
  }
46
49
  }
47
50
  catch (err) {
48
51
  console.error(err);
49
52
  }
53
+ return componentInstance;
50
54
  }
51
55
 
52
- const moveComponentInstance = function (componentInstance, obj) {
56
+ export function moveComponentInstance(componentInstance: IComponent, obj: Object3D) {
53
57
  if (componentInstance.gameObject === obj) return;
54
58
  // TODO: update raycast array
55
59
  if (componentInstance.gameObject && componentInstance.gameObject.userData.components) {
@@ -59,12 +63,12 @@ const moveComponentInstance = function (componentInstance, obj) {
59
63
  if (!obj.userData.components) obj.userData.components = [];
60
64
  else if (obj.userData.components.includes(componentInstance)) return;
61
65
  obj.userData.components.push(componentInstance);
62
- componentInstance.gameObject = obj;
66
+ componentInstance.gameObject = obj as IGameObject;
63
67
  // componentInstance.transform = obj;
64
68
  }
65
69
 
66
70
 
67
- const destroyComponentInstance = function (componentInstance) {
71
+ export function destroyComponentInstance(componentInstance: IComponent) {
68
72
  // console.log("destroy", componentInstance, componentInstance.onDestroy);
69
73
  // TODO: update raycast array
70
74
  if (componentInstance.gameObject && componentInstance.gameObject.userData.components) {
@@ -75,12 +79,13 @@ const destroyComponentInstance = function (componentInstance) {
75
79
  if (componentInstance.__internalDisable) componentInstance.__internalDisable();
76
80
  if (componentInstance.onDestroy) componentInstance.onDestroy();
77
81
  removeScriptFromContext(componentInstance, componentInstance.context ?? Context.Current);
78
- componentInstance.__destroyed = true;
82
+ componentInstance.__internalDestroy();
83
+ //@ts-ignore
79
84
  componentInstance.gameObject = null;
80
85
  // console.log("destroyed", index, componentInstance);
81
86
  }
82
87
 
83
- const onGetComponent = function (componentType, obj, arr) {
88
+ export function onGetComponent<T>(componentType: Constructor<T>, obj: Object3D, arr?: IComponent[]) {
84
89
  if (!(obj?.userData?.components)) return null;
85
90
  if (debug)
86
91
  console.log("FIND", componentType);
@@ -111,16 +116,16 @@ const onGetComponent = function (componentType, obj, arr) {
111
116
  return arr;
112
117
  }
113
118
 
114
- const getComponent = function (componentType, obj) {
115
- return onGetComponent(componentType, obj, null);
119
+ export function getComponent<T>(componentType: Constructor<T>, obj) {
120
+ return onGetComponent(componentType, obj);
116
121
  }
117
122
 
118
- const getComponents = function (componentType, obj, arr) {
123
+ export function getComponents(componentType, obj, arr) {
119
124
  if (!arr) arr = [];
120
125
  return onGetComponent(componentType, obj, arr);
121
126
  }
122
127
 
123
- const getComponentInChildren = function (componentType, obj, includeInactive) {
128
+ export function getComponentInChildren(componentType, obj, includeInactive?: boolean) {
124
129
  const res = getComponent(componentType, obj);
125
130
  if (includeInactive === false && res.enabled === false) return null;
126
131
  if (res) return res;
@@ -131,7 +136,7 @@ const getComponentInChildren = function (componentType, obj, includeInactive) {
131
136
  return null;
132
137
  }
133
138
 
134
- const getComponentsInChildren = function (componentType, obj, arr) {
139
+ export function getComponentsInChildren<T extends IComponent>(componentType : Constructor<T>, obj : Object3D, arr?: T[]) {
135
140
  if (!arr) arr = [];
136
141
  getComponents(componentType, obj, arr);
137
142
  for (let i = 0; i < obj?.children?.length; i++) {
@@ -140,7 +145,7 @@ const getComponentsInChildren = function (componentType, obj, arr) {
140
145
  return arr;
141
146
  }
142
147
 
143
- const getComponentInParent = function (componentType, obj) {
148
+ export function getComponentInParent(componentType, obj) {
144
149
  if (!obj) return null;
145
150
  if (Array.isArray(obj)) {
146
151
  for (let i = 0; i < obj.length; i++) {
@@ -156,14 +161,14 @@ const getComponentInParent = function (componentType, obj) {
156
161
  return getComponentInParent(componentType, obj.parent);
157
162
  }
158
163
 
159
- const getComponentsInParent = function (componentType, obj, arr) {
164
+ export function getComponentsInParent(componentType, obj, arr) {
160
165
  if (!arr) arr = [];
161
166
  if (!obj) return arr;
162
167
  getComponents(componentType, obj, arr);
163
168
  return getComponentsInParent(componentType, obj.parent, arr);
164
169
  }
165
170
 
166
- const findObjectOfType = function (type, contextOrScene, includeInactive) {
171
+ export function findObjectOfType(type, contextOrScene, includeInactive) {
167
172
  if (!type) return null;
168
173
  if (!contextOrScene) {
169
174
  contextOrScene = Context.Current;
@@ -183,7 +188,7 @@ const findObjectOfType = function (type, contextOrScene, includeInactive) {
183
188
  return null;
184
189
  }
185
190
 
186
- const findObjectsOfType = function (type, array, contextOrScene) {
191
+ export function findObjectsOfType(type, array, contextOrScene) {
187
192
  if (!type) return array;
188
193
  if (!contextOrScene) {
189
194
  contextOrScene = Context.Current;
@@ -200,19 +205,4 @@ const findObjectsOfType = function (type, array, contextOrScene) {
200
205
  getComponentsInChildren(type, child, array);
201
206
  }
202
207
  return array;
203
- }
204
-
205
-
206
- export {
207
- addNewComponentInstance,
208
- moveComponentInstance,
209
- destroyComponentInstance,
210
- getComponent,
211
- getComponents,
212
- getComponentInChildren,
213
- getComponentsInChildren,
214
- getComponentInParent,
215
- getComponentsInParent,
216
- findObjectOfType,
217
- findObjectsOfType,
218
208
  }
@@ -1,11 +1,11 @@
1
1
  import { Context, build_scene_functions, LoadingOptions, LoadingProgressArgs } from "./engine_setup";
2
2
  import { AROverlayHandler, arContainerClassName } from "./engine_element_overlay";
3
3
  import { GameObject } from "../engine-components/Component";
4
- import { loadSync } from "./engine_scenetools";
5
4
  import { processNewScripts } from "./engine_mainloop_utils";
6
5
  import { calculateProgress01, EngineLoadingView, ILoadingViewHandler } from "./engine_element_loading";
7
6
  import { delay, getParam } from "./engine_utils";
8
7
  import { setDracoDecoderPath, setDracoDecoderType, setKtx2TranscoderPath } from "./engine_loaders";
8
+ import { getLoader } from "../engine/engine_gltf";
9
9
 
10
10
  const debug = getParam("debugwebcomponent");
11
11
 
@@ -42,7 +42,7 @@ class EngineElementSourceFileWatcher {
42
42
 
43
43
  this.previousSource = newSource;
44
44
  Context.Current = this.context;
45
- const res = await loadSync(this.context, newSource, this.getHashFromString(newSource));
45
+ const res = await getLoader().loadSync(this.context, newSource, this.getHashFromString(newSource), false);
46
46
  if (!isStartup)
47
47
  processNewScripts(this.context);
48
48
  const obj = res?.scene;