@needle-tools/engine 3.7.7-beta → 3.9.0-alpha

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 (116) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/needle-engine.js +473 -87019
  3. package/dist/needle-engine.light.js +473 -84478
  4. package/dist/needle-engine.light.min.js +1 -5805
  5. package/dist/needle-engine.light.umd.cjs +1 -5805
  6. package/dist/needle-engine.min.js +1 -5818
  7. package/dist/needle-engine.umd.cjs +1 -5818
  8. package/lib/engine/codegen/register_types.js +2 -0
  9. package/lib/engine/codegen/register_types.js.map +1 -1
  10. package/lib/engine/debug/debug.d.ts +1 -1
  11. package/lib/engine/engine_context.d.ts +3 -1
  12. package/lib/engine/engine_context.js +18 -13
  13. package/lib/engine/engine_context.js.map +1 -1
  14. package/lib/engine/engine_element.js +15 -8
  15. package/lib/engine/engine_element.js.map +1 -1
  16. package/lib/engine/engine_element_overlay.d.ts +2 -1
  17. package/lib/engine/engine_element_overlay.js +38 -55
  18. package/lib/engine/engine_element_overlay.js.map +1 -1
  19. package/lib/engine/engine_lightdata.js +6 -7
  20. package/lib/engine/engine_lightdata.js.map +1 -1
  21. package/lib/engine/engine_networking_utils.d.ts +1 -1
  22. package/lib/engine/engine_networking_utils.js.map +1 -1
  23. package/lib/engine/engine_scenelighting.js +5 -5
  24. package/lib/engine/engine_scenelighting.js.map +1 -1
  25. package/lib/engine/extensions/NEEDLE_lightmaps.js +3 -3
  26. package/lib/engine/extensions/NEEDLE_lightmaps.js.map +1 -1
  27. package/lib/engine/extensions/NEEDLE_render_objects.js +1 -1
  28. package/lib/engine/extensions/NEEDLE_render_objects.js.map +1 -1
  29. package/lib/engine/extensions/NEEDLE_techniques_webgl.js +4 -1
  30. package/lib/engine/extensions/NEEDLE_techniques_webgl.js.map +1 -1
  31. package/lib/engine/extensions/extensions.d.ts +1 -1
  32. package/lib/engine/extensions/extensions.js +17 -3
  33. package/lib/engine/extensions/extensions.js.map +1 -1
  34. package/lib/engine-components/Camera.js +3 -3
  35. package/lib/engine-components/Camera.js.map +1 -1
  36. package/lib/engine-components/GroundProjection.js +1 -1
  37. package/lib/engine-components/GroundProjection.js.map +1 -1
  38. package/lib/engine-components/Light.js +58 -50
  39. package/lib/engine-components/Light.js.map +1 -1
  40. package/lib/engine-components/Networking.d.ts +1 -1
  41. package/lib/engine-components/OrbitControls.js +4 -3
  42. package/lib/engine-components/OrbitControls.js.map +1 -1
  43. package/lib/engine-components/ParticleSystem.d.ts +2 -1
  44. package/lib/engine-components/ParticleSystem.js +11 -1
  45. package/lib/engine-components/ParticleSystem.js.map +1 -1
  46. package/lib/engine-components/ReflectionProbe.js +3 -3
  47. package/lib/engine-components/ReflectionProbe.js.map +1 -1
  48. package/lib/engine-components/Renderer.d.ts +1 -1
  49. package/lib/engine-components/Renderer.js +16 -13
  50. package/lib/engine-components/Renderer.js.map +1 -1
  51. package/lib/engine-components/RendererLightmap.d.ts +5 -8
  52. package/lib/engine-components/RendererLightmap.js +50 -39
  53. package/lib/engine-components/RendererLightmap.js.map +1 -1
  54. package/lib/engine-components/codegen/components.d.ts +1 -0
  55. package/lib/engine-components/codegen/components.js +1 -0
  56. package/lib/engine-components/codegen/components.js.map +1 -1
  57. package/lib/engine-components/export/usdz/ThreeUSDZExporter.d.ts +1 -1
  58. package/lib/engine-components/export/usdz/ThreeUSDZExporter.js +34 -30
  59. package/lib/engine-components/export/usdz/ThreeUSDZExporter.js.map +1 -1
  60. package/lib/engine-components/export/usdz/USDZExporter.js +2 -0
  61. package/lib/engine-components/export/usdz/USDZExporter.js.map +1 -1
  62. package/lib/engine-components/export/usdz/extensions/USDZText.d.ts +2 -1
  63. package/lib/engine-components/export/usdz/extensions/USDZText.js +40 -3
  64. package/lib/engine-components/export/usdz/extensions/USDZText.js.map +1 -1
  65. package/lib/engine-components/export/usdz/extensions/USDZUI.d.ts +8 -0
  66. package/lib/engine-components/export/usdz/extensions/USDZUI.js +101 -0
  67. package/lib/engine-components/export/usdz/extensions/USDZUI.js.map +1 -0
  68. package/lib/engine-components/ui/BaseUIComponent.js +4 -0
  69. package/lib/engine-components/ui/BaseUIComponent.js.map +1 -1
  70. package/lib/engine-components/ui/Button.d.ts +1 -1
  71. package/lib/engine-components/ui/Button.js +4 -1
  72. package/lib/engine-components/ui/Button.js.map +1 -1
  73. package/lib/engine-components/ui/Canvas.js +9 -1
  74. package/lib/engine-components/ui/Canvas.js.map +1 -1
  75. package/lib/engine-components/ui/EventSystem.js +2 -0
  76. package/lib/engine-components/ui/EventSystem.js.map +1 -1
  77. package/lib/engine-components/ui/Graphic.js +3 -3
  78. package/lib/engine-components/ui/Graphic.js.map +1 -1
  79. package/lib/engine-components/webxr/WebARCameraBackground.d.ts +1 -1
  80. package/lib/engine-components/webxr/WebARCameraBackground.js +2 -2
  81. package/lib/engine-components/webxr/WebARCameraBackground.js.map +1 -1
  82. package/lib/engine-components/webxr/WebXR.js +7 -6
  83. package/lib/engine-components/webxr/WebXR.js.map +1 -1
  84. package/lib/engine-components/webxr/WebXRPlaneTracking.d.ts +1 -1
  85. package/package.json +5 -5
  86. package/src/engine/codegen/register_types.js +2 -0
  87. package/src/engine/engine_context.ts +21 -14
  88. package/src/engine/engine_element.ts +15 -8
  89. package/src/engine/engine_element_overlay.ts +41 -52
  90. package/src/engine/engine_lightdata.ts +6 -8
  91. package/src/engine/engine_networking_utils.ts +1 -1
  92. package/src/engine/engine_scenelighting.ts +5 -5
  93. package/src/engine/extensions/NEEDLE_lightmaps.ts +3 -3
  94. package/src/engine/extensions/NEEDLE_render_objects.ts +10 -8
  95. package/src/engine/extensions/NEEDLE_techniques_webgl.ts +5 -1
  96. package/src/engine/extensions/extensions.ts +19 -4
  97. package/src/engine-components/Camera.ts +3 -3
  98. package/src/engine-components/GroundProjection.ts +1 -1
  99. package/src/engine-components/Light.ts +62 -57
  100. package/src/engine-components/OrbitControls.ts +4 -3
  101. package/src/engine-components/ParticleSystem.ts +14 -0
  102. package/src/engine-components/ReflectionProbe.ts +3 -3
  103. package/src/engine-components/Renderer.ts +21 -17
  104. package/src/engine-components/RendererLightmap.ts +55 -49
  105. package/src/engine-components/codegen/components.ts +1 -0
  106. package/src/engine-components/export/usdz/ThreeUSDZExporter.ts +43 -37
  107. package/src/engine-components/export/usdz/USDZExporter.ts +2 -0
  108. package/src/engine-components/export/usdz/extensions/USDZText.ts +41 -1
  109. package/src/engine-components/export/usdz/extensions/USDZUI.ts +120 -0
  110. package/src/engine-components/ui/BaseUIComponent.ts +5 -0
  111. package/src/engine-components/ui/Button.ts +3 -1
  112. package/src/engine-components/ui/Canvas.ts +7 -1
  113. package/src/engine-components/ui/EventSystem.ts +3 -1
  114. package/src/engine-components/ui/Graphic.ts +3 -3
  115. package/src/engine-components/webxr/WebARCameraBackground.ts +3 -3
  116. package/src/engine-components/webxr/WebXR.ts +7 -7
@@ -3,7 +3,6 @@ import { serializable } from "../../engine/engine_serialization_decorator";
3
3
  import { RGBAColor } from "../js-extensions/RGBAColor"
4
4
  import { WebXR } from "./WebXR";
5
5
  import {
6
- Camera as ThreeCamera,
7
6
  Scene,
8
7
  Texture,
9
8
  Mesh, MeshBasicMaterial,
@@ -11,7 +10,8 @@ import {
11
10
  PlaneGeometry,
12
11
  ShaderLib,
13
12
  ShaderMaterial,
14
- DoubleSide
13
+ DoubleSide,
14
+ PerspectiveCamera
15
15
  } from "three";
16
16
 
17
17
  export class WebARCameraBackground extends Behaviour {
@@ -53,7 +53,7 @@ export class WebARCameraBackground extends Behaviour {
53
53
  const geometry = new PlaneGeometry();
54
54
  const scene = new Scene();
55
55
  scene.add(new Mesh(geometry, material));
56
- const camera = new ThreeCamera();
56
+ const camera = new PerspectiveCamera();
57
57
 
58
58
  return function forceTextureInitialization(renderer, texture) {
59
59
  material.map = texture;
@@ -1,4 +1,4 @@
1
- import { ArrayCamera, Color, Euler, EventDispatcher, Group, Matrix4, Mesh, MeshBasicMaterial, Object3D, Quaternion, RingGeometry, Texture, Vector3 } from 'three';
1
+ import { ArrayCamera, Color, Euler, EventDispatcher, Group, Matrix4, Mesh, MeshBasicMaterial, Object3D, Quaternion, RingGeometry, Texture, Vector3, WebXRArrayCamera } from 'three';
2
2
  import { ARButton } from '../../include/three/ARButton.js';
3
3
  import { VRButton } from '../../include/three/VRButton.js';
4
4
 
@@ -370,7 +370,7 @@ export class WebXR extends Behaviour {
370
370
  if (xrRig) {
371
371
  // make it match unity forward
372
372
  this.rig = xrRig.gameObject;
373
- // this.rig.rotateY(Math.PI);
373
+ this.rig.rotateY(Math.PI);
374
374
  // this.rig.position.copy(existing.worldPosition);
375
375
  // this.rig.quaternion.premultiply(existing.worldQuaternion);
376
376
  }
@@ -393,7 +393,7 @@ export class WebXR extends Behaviour {
393
393
  private _originalXRRigRotation: Quaternion = new Quaternion();
394
394
 
395
395
  private onEnterXR(session: XRSession, frame: XRFrame) {
396
- console.log("[XR] session begin", session);
396
+ console.log("[XR] session begin", session, frame);
397
397
  WebXR._isInXr = true;
398
398
 
399
399
  this.ensureRig();
@@ -414,16 +414,16 @@ export class WebXR extends Behaviour {
414
414
  // we set layers to sync raycasting and have a similar behaviour to unity
415
415
  const xr = this.context.renderer.xr;
416
416
  if (this.context.mainCamera) {
417
- //@ts-ignore
418
- const cam = xr.getCamera(this.context.mainCamera) as ArrayCamera;
417
+ const cam = xr.getCamera() as WebXRArrayCamera;
418
+ if(debugWebXR) console.log("WebXRCamera", cam);
419
419
  const cull = this.context.mainCameraComponent?.cullingMask;
420
- if(cull !== undefined){
420
+ if(cam && cull !== undefined){
421
421
  for (const c of cam.cameras) {
422
422
  c.layers.mask = cull;
423
423
  }
424
424
  cam.layers.mask = cull;
425
425
  }
426
- else {
426
+ else if (cam) {
427
427
  for (const c of cam.cameras) {
428
428
  c.layers.enableAll();
429
429
  }