@needle-tools/engine 2.50.0-pre → 2.51.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 (92) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/dist/needle-engine.d.ts +18 -16
  3. package/dist/needle-engine.js +517 -3590
  4. package/dist/needle-engine.js.map +4 -4
  5. package/dist/needle-engine.min.js +22 -22
  6. package/dist/needle-engine.min.js.map +3 -3
  7. package/lib/engine/engine_addressables.d.ts +1 -1
  8. package/lib/engine/engine_create_objects.d.ts +1 -1
  9. package/lib/engine/engine_element.d.ts +5 -4
  10. package/lib/engine/engine_element.js.map +1 -1
  11. package/lib/engine/engine_element_overlay.d.ts +3 -2
  12. package/lib/engine/engine_element_overlay.js.map +1 -1
  13. package/lib/engine/engine_input.js +15 -9
  14. package/lib/engine/engine_input.js.map +1 -1
  15. package/lib/engine/engine_physics.d.ts +1 -1
  16. package/lib/engine/engine_physics.js +1 -1
  17. package/lib/engine/engine_physics.js.map +1 -1
  18. package/lib/engine/engine_scenetools.d.ts +1 -1
  19. package/lib/engine/engine_serialization_core.d.ts +1 -1
  20. package/lib/engine/engine_setup.d.ts +2 -1
  21. package/lib/engine/engine_setup.js +28 -5
  22. package/lib/engine/engine_setup.js.map +1 -1
  23. package/lib/engine/engine_three_utils.d.ts +1 -0
  24. package/lib/engine/engine_three_utils.js +6 -0
  25. package/lib/engine/engine_three_utils.js.map +1 -1
  26. package/lib/engine/engine_types.d.ts +10 -9
  27. package/lib/engine/engine_utils.d.ts +1 -1
  28. package/lib/engine/extensions/NEEDLE_components.js +15 -11
  29. package/lib/engine/extensions/NEEDLE_components.js.map +1 -1
  30. package/lib/engine/extensions/NEEDLE_lighting_settings.d.ts +1 -1
  31. package/lib/engine-components/Component.d.ts +2 -1
  32. package/lib/engine-components/DragControls.js +10 -4
  33. package/lib/engine-components/DragControls.js.map +1 -1
  34. package/lib/engine-components/Light.js +15 -18
  35. package/lib/engine-components/Light.js.map +1 -1
  36. package/lib/engine-components/OrbitControls.js +19 -14
  37. package/lib/engine-components/OrbitControls.js.map +1 -1
  38. package/lib/engine-components/RigidBody.js +13 -1
  39. package/lib/engine-components/RigidBody.js.map +1 -1
  40. package/lib/engine-components/ScreenCapture.js +2 -0
  41. package/lib/engine-components/ScreenCapture.js.map +1 -1
  42. package/lib/engine-components/VideoPlayer.js +2 -1
  43. package/lib/engine-components/VideoPlayer.js.map +1 -1
  44. package/lib/engine-components/WebARSessionRoot.d.ts +2 -2
  45. package/lib/engine-components/WebARSessionRoot.js.map +1 -1
  46. package/lib/engine-components/WebXR.d.ts +2 -1
  47. package/lib/engine-components/WebXR.js +5 -2
  48. package/lib/engine-components/WebXR.js.map +1 -1
  49. package/lib/engine-components/WebXRAvatar.d.ts +1 -1
  50. package/lib/engine-components/WebXRAvatar.js +6 -1
  51. package/lib/engine-components/WebXRAvatar.js.map +1 -1
  52. package/lib/engine-components/WebXRController.d.ts +2 -1
  53. package/lib/engine-components/WebXRController.js +3 -2
  54. package/lib/engine-components/WebXRController.js.map +1 -1
  55. package/lib/engine-components/WebXRSync.js +5 -0
  56. package/lib/engine-components/WebXRSync.js.map +1 -1
  57. package/lib/engine-components/XRFlag.js +6 -6
  58. package/lib/engine-components/XRFlag.js.map +1 -1
  59. package/lib/engine-components/js-extensions/Vector.js +2 -5
  60. package/lib/engine-components/js-extensions/Vector.js.map +1 -1
  61. package/lib/engine-components/timeline/PlayableDirector.d.ts +1 -1
  62. package/lib/engine-components/timeline/PlayableDirector.js +1 -5
  63. package/lib/engine-components/timeline/PlayableDirector.js.map +1 -1
  64. package/lib/engine-components/ui/EventSystem.d.ts +2 -1
  65. package/lib/engine-components/ui/EventSystem.js +9 -1
  66. package/lib/engine-components/ui/EventSystem.js.map +1 -1
  67. package/lib/engine-components/ui/Utils.d.ts +1 -1
  68. package/package.json +2 -4
  69. package/src/engine/engine_element.ts +5 -5
  70. package/src/engine/engine_element_overlay.ts +2 -2
  71. package/src/engine/engine_input.ts +12 -8
  72. package/src/engine/engine_physics.ts +1 -1
  73. package/src/engine/engine_setup.ts +25 -6
  74. package/src/engine/engine_three_utils.ts +7 -0
  75. package/src/engine/engine_types.ts +3 -3
  76. package/src/engine/extensions/NEEDLE_components.ts +13 -9
  77. package/src/engine-components/Component.ts +1 -1
  78. package/src/engine-components/DragControls.ts +8 -4
  79. package/src/engine-components/Light.ts +14 -14
  80. package/src/engine-components/OrbitControls.ts +19 -14
  81. package/src/engine-components/RigidBody.ts +13 -1
  82. package/src/engine-components/ScreenCapture.ts +1 -0
  83. package/src/engine-components/VideoPlayer.ts +2 -1
  84. package/src/engine-components/WebARSessionRoot.ts +1 -2
  85. package/src/engine-components/WebXR.ts +5 -3
  86. package/src/engine-components/WebXRAvatar.ts +6 -1
  87. package/src/engine-components/WebXRController.ts +4 -3
  88. package/src/engine-components/WebXRSync.ts +6 -1
  89. package/src/engine-components/XRFlag.ts +7 -6
  90. package/src/engine-components/js-extensions/Vector.ts +2 -5
  91. package/src/engine-components/timeline/PlayableDirector.ts +1 -4
  92. package/src/engine-components/ui/EventSystem.ts +12 -1
package/CHANGELOG.md CHANGED
@@ -4,6 +4,23 @@ All notable changes to this package will be documented in this file.
4
4
  The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
5
5
  and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
6
6
 
7
+ ## [2.51.0-pre] - 2022-11-30
8
+ - Change: remove nebula, dat.gui and symlink package dependencies
9
+ - Change: Light does not change renderer shadowtype anymore
10
+ - Change: update threejs to 146
11
+ - Change: update threejs types
12
+ - Change: Screencapture should not start on click when not connected to networked room
13
+ - Change: WebXR returns ar supported when using Mozilla WebXR
14
+ - Fix DragControls drag interaction not disabling OrbitControls at right time
15
+ - Fix physics collider position in certain cases
16
+ - Fix Rigidbody not syncing physics position when parent transform changes
17
+ - Fix Timeline awake / active and enable
18
+ - Fix: OrbitControls calulcating target position with middle mouse click in worldspace instead of localspace causing wrong movement when parent is transformed
19
+ - Fix: Raycast in Mozilla WebXR / using window sizes instead of dom element sizes
20
+ - Fix input with scrolled window
21
+ - Fix: destroy local avatar on end of webxr session (https://github.com/needle-tools/needle-engine-support/issues/117)
22
+ - Fix: WebXRAvatar setting correct XRFlags
23
+
7
24
  ## [2.50.0-pre] - 2022-11-28
8
25
  - Add warning to Light when soft shadows change renderer shadow type
9
26
  - Add: RemoteSkybox can now load jpg and png textures as skybox
@@ -1,3 +1,4 @@
1
+ /// <reference types="webxr" />
1
2
  declare module "engine/engine_math" {
2
3
  class MathHelper {
3
4
  random(): number;
@@ -56,6 +57,7 @@ declare module "engine/engine_physics.types" {
56
57
  declare module "engine/engine_three_utils" {
57
58
  import * as THREE from "three";
58
59
  import { Vector3, Texture, ShaderMaterial } from "three";
60
+ export function slerp(vec: Vector3, end: Vector3, t: number): THREE.Vector3;
59
61
  export function lookAtInverse(obj: THREE.Object3D, target: Vector3): void;
60
62
  export function getWorldPosition(obj: THREE.Object3D, vec?: THREE.Vector3 | null, updateParents?: boolean): THREE.Vector3;
61
63
  export function setWorldPosition(obj: THREE.Object3D, val: THREE.Vector3): void;
@@ -108,8 +110,8 @@ declare module "engine/engine_types" {
108
110
  }
109
111
  export interface INeedleEngineComponent extends HTMLElement {
110
112
  getAROverlayContainer(): HTMLElement;
111
- onEnterAR(session: THREE.XRSession, overlayContainer: HTMLElement): any;
112
- onExitAR(session: THREE.XRSession): any;
113
+ onEnterAR(session: XRSession, overlayContainer: HTMLElement): any;
114
+ onExitAR(session: XRSession): any;
113
115
  }
114
116
  export interface IGameObject extends Object3D {
115
117
  guid: string | undefined;
@@ -158,7 +160,7 @@ declare module "engine/engine_types" {
158
160
  earlyUpdate?(): void;
159
161
  update?(): void;
160
162
  lateUpdate?(): void;
161
- onBeforeRender?(frame: THREE.XRFrame | null): void;
163
+ onBeforeRender?(frame: XRFrame | null): void;
162
164
  onAfterRender?(): void;
163
165
  onCollisionEnter?(col: Collision): any;
164
166
  onCollisionExit?(col: Collision): any;
@@ -1381,7 +1383,7 @@ declare module "engine-components/Component" {
1381
1383
  earlyUpdate?(): void;
1382
1384
  update?(): void;
1383
1385
  lateUpdate?(): void;
1384
- onBeforeRender?(frame: THREE.XRFrame | null): void;
1386
+ onBeforeRender?(frame: XRFrame | null): void;
1385
1387
  onAfterRender?(): void;
1386
1388
  onCollisionEnter?(col: Collision): any;
1387
1389
  onCollisionExit?(col: Collision): any;
@@ -1847,7 +1849,7 @@ declare module "engine/engine_setup" {
1847
1849
  xrSessionMode: XRSessionMode | undefined;
1848
1850
  get isInVR(): boolean;
1849
1851
  get isInAR(): boolean;
1850
- get xrSession(): THREE.XRSession | null;
1852
+ get xrSession(): XRSession | null;
1851
1853
  get arOverlayElement(): HTMLElement;
1852
1854
  /** Current event of the update cycle */
1853
1855
  get currentFrameEvent(): FrameEvent;
@@ -1940,12 +1942,12 @@ declare module "engine/engine_element_overlay" {
1940
1942
  constructor();
1941
1943
  private arContainer;
1942
1944
  closeARCallback: any;
1943
- currentSession: THREE.XRSession | null;
1945
+ currentSession: XRSession | null;
1944
1946
  registeredCloseEventElements: Element[];
1945
1947
  private _createdAROnlyElements;
1946
1948
  private _reparentedObjects;
1947
1949
  requestEndAR(): void;
1948
- onBegin(context: Context, overlayContainer: HTMLElement, session: THREE.XRSession): void;
1950
+ onBegin(context: Context, overlayContainer: HTMLElement, session: XRSession): void;
1949
1951
  onEnd(_context: Context): void;
1950
1952
  findOrCreateARContainer(element: HTMLElement): HTMLElement;
1951
1953
  private onRequestedEndAR;
@@ -2553,10 +2555,10 @@ declare module "engine/engine_element" {
2553
2555
  private registerEventFromAttribute;
2554
2556
  getAROverlayContainer(): HTMLElement;
2555
2557
  getVROverlayContainer(): HTMLElement | null;
2556
- onEnterAR(session: THREE.XRSession, overlayContainer: HTMLElement): void;
2557
- onExitAR(session: THREE.XRSession): void;
2558
- onEnterVR(session: THREE.XRSession): void;
2559
- onExitVR(session: THREE.XRSession): void;
2558
+ onEnterAR(session: XRSession, overlayContainer: HTMLElement): void;
2559
+ onExitAR(session: XRSession): void;
2560
+ onEnterVR(session: XRSession): void;
2561
+ onExitVR(session: XRSession): void;
2560
2562
  private onElementsChanged;
2561
2563
  private onSetupAR;
2562
2564
  private onSetupVR;
@@ -3057,8 +3059,7 @@ declare module "engine-components/Voip" {
3057
3059
  }
3058
3060
  declare module "engine-components/WebARSessionRoot" {
3059
3061
  import { Behaviour } from "engine-components/Component";
3060
- import { XRSession } from 'three';
3061
- import { Matrix4, Object3D, XRPose } from "three";
3062
+ import { Matrix4, Object3D } from "three";
3062
3063
  import { WebAR } from "engine-components/WebXR";
3063
3064
  export class WebARSessionRoot extends Behaviour {
3064
3065
  webAR: WebAR | null;
@@ -3412,9 +3413,10 @@ declare module "engine-components/ui/EventSystem" {
3412
3413
  import { Context } from "engine/engine_setup";
3413
3414
  import { Raycaster } from "engine-components/ui/Raycaster";
3414
3415
  export class EventSystem extends Behaviour {
3416
+ private static _eventSystemMap;
3415
3417
  static didSearchEventSystem: boolean;
3416
3418
  static createIfNoneExists(context: Context): void;
3417
- static systems: EventSystem[];
3419
+ static get systems(): EventSystem[];
3418
3420
  static ensureUpdateMeshUI(instance: any, context: Context): void;
3419
3421
  static markUIDirty(_context: Context): void;
3420
3422
  static get instance(): EventSystem | null;
@@ -3648,7 +3650,7 @@ declare module "engine-components/ui/RaycastUtils" {
3648
3650
  }
3649
3651
  }
3650
3652
  declare module "engine-components/WebXRController" {
3651
- import { Group, Intersection, Mesh, Object3D, Quaternion, Ray, Vector3, XRInputSource, XRSession } from "three";
3653
+ import { Group, Intersection, Mesh, Object3D, Quaternion, Ray, Vector3 } from "three";
3652
3654
  import { OculusHandPointerModel } from 'three/examples/jsm/webxr/OculusHandPointerModel.js';
3653
3655
  import { XRControllerModel, XRControllerModelFactory } from 'three/examples/jsm/webxr/XRControllerModelFactory.js';
3654
3656
  import { Behaviour, GameObject } from "engine-components/Component";
@@ -3803,7 +3805,7 @@ declare module "engine-components/WebXRRig" {
3803
3805
  }
3804
3806
  }
3805
3807
  declare module "engine-components/WebXR" {
3806
- import { Object3D, Quaternion, XRFrame, XRSession, XRViewerPose } from 'three';
3808
+ import { Object3D, Quaternion } from 'three';
3807
3809
  import { AssetReference } from "engine/engine_addressables";
3808
3810
  import { Behaviour } from "engine-components/Component";
3809
3811
  import { WebXRController } from "engine-components/WebXRController";