@needle-tools/engine 2.29.0-pre → 2.31.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 (101) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/dist/needle-engine.d.ts +847 -757
  3. package/dist/needle-engine.js +347 -343
  4. package/dist/needle-engine.js.map +4 -4
  5. package/dist/needle-engine.min.js +16 -12
  6. package/dist/needle-engine.min.js.map +4 -4
  7. package/lib/engine/engine.d.ts +1 -0
  8. package/lib/engine/engine_physics.d.ts +19 -8
  9. package/lib/engine/engine_physics.js +57 -48
  10. package/lib/engine/engine_physics.js.map +1 -1
  11. package/lib/engine/engine_serialization.d.ts +1 -0
  12. package/lib/engine/engine_serialization.js +1 -0
  13. package/lib/engine/engine_serialization.js.map +1 -1
  14. package/lib/engine/engine_setup.d.ts +5 -0
  15. package/lib/engine/engine_setup.js +6 -0
  16. package/lib/engine/engine_setup.js.map +1 -1
  17. package/lib/engine/engine_utils.d.ts +1 -1
  18. package/lib/engine/engine_utils.js +25 -8
  19. package/lib/engine/engine_utils.js.map +1 -1
  20. package/lib/engine/extensions/NEEDLE_deferred_texture.d.ts +1 -1
  21. package/lib/engine/extensions/NEEDLE_deferred_texture.js +26 -14
  22. package/lib/engine/extensions/NEEDLE_deferred_texture.js.map +1 -1
  23. package/lib/engine/extensions/extension_utils.js +24 -13
  24. package/lib/engine/extensions/extension_utils.js.map +1 -1
  25. package/lib/engine/extensions/extensions.js +3 -1
  26. package/lib/engine/extensions/extensions.js.map +1 -1
  27. package/lib/engine-components/Camera.js +7 -1
  28. package/lib/engine-components/Camera.js.map +1 -1
  29. package/lib/engine-components/Component.d.ts +10 -0
  30. package/lib/engine-components/Component.js +53 -0
  31. package/lib/engine-components/Component.js.map +1 -1
  32. package/lib/engine-components/OrbitControls.js +2 -1
  33. package/lib/engine-components/OrbitControls.js.map +1 -1
  34. package/lib/engine-components/Renderer.d.ts +1 -0
  35. package/lib/engine-components/Renderer.js +10 -3
  36. package/lib/engine-components/Renderer.js.map +1 -1
  37. package/lib/engine-components/Rigidbody.d.ts +1 -1
  38. package/lib/engine-components/Rigidbody.js +3 -3
  39. package/lib/engine-components/Rigidbody.js.map +1 -1
  40. package/lib/engine-components/ScreenCapture.d.ts +35 -5
  41. package/lib/engine-components/ScreenCapture.js +542 -25
  42. package/lib/engine-components/ScreenCapture.js.map +1 -1
  43. package/lib/engine-components/SpectatorCamera.js +29 -5
  44. package/lib/engine-components/SpectatorCamera.js.map +1 -1
  45. package/lib/engine-components/SyncedRoom.js +2 -0
  46. package/lib/engine-components/SyncedRoom.js.map +1 -1
  47. package/lib/engine-components/VideoPlayer.d.ts +14 -1
  48. package/lib/engine-components/VideoPlayer.js +86 -16
  49. package/lib/engine-components/VideoPlayer.js.map +1 -1
  50. package/lib/engine-components/Volume.d.ts +4 -0
  51. package/lib/engine-components/Volume.js +44 -3
  52. package/lib/engine-components/Volume.js.map +1 -1
  53. package/lib/engine-components/WebARSessionRoot.d.ts +9 -2
  54. package/lib/engine-components/WebARSessionRoot.js +69 -24
  55. package/lib/engine-components/WebARSessionRoot.js.map +1 -1
  56. package/lib/engine-components/WebXR.d.ts +6 -3
  57. package/lib/engine-components/WebXR.js +42 -7
  58. package/lib/engine-components/WebXR.js.map +1 -1
  59. package/lib/engine-components/WebXRAvatar.js +4 -0
  60. package/lib/engine-components/WebXRAvatar.js.map +1 -1
  61. package/lib/engine-components/WebXRController.js +13 -7
  62. package/lib/engine-components/WebXRController.js.map +1 -1
  63. package/lib/engine-components/ui/CanvasGroup.d.ts +1 -0
  64. package/lib/engine-components/ui/CanvasGroup.js +1 -0
  65. package/lib/engine-components/ui/CanvasGroup.js.map +1 -1
  66. package/lib/engine-components/ui/EventSystem.js +13 -4
  67. package/lib/engine-components/ui/EventSystem.js.map +1 -1
  68. package/lib/engine-components/ui/Graphic.d.ts +1 -0
  69. package/lib/engine-components/ui/Graphic.js +2 -0
  70. package/lib/engine-components/ui/Graphic.js.map +1 -1
  71. package/lib/engine-components/ui/Interfaces.d.ts +2 -0
  72. package/lib/needle-engine.d.ts +1 -0
  73. package/lib/needle-engine.js +1 -0
  74. package/lib/needle-engine.js.map +1 -1
  75. package/package.json +2 -2
  76. package/src/engine/engine_physics.ts +74 -57
  77. package/src/engine/engine_serialization.ts +3 -1
  78. package/src/engine/engine_setup.ts +6 -0
  79. package/src/engine/engine_utils.ts +34 -8
  80. package/src/engine/extensions/NEEDLE_deferred_texture.ts +25 -19
  81. package/src/engine/extensions/extension_utils.ts +24 -12
  82. package/src/engine/extensions/extensions.ts +3 -2
  83. package/src/engine-components/Camera.ts +9 -2
  84. package/src/engine-components/Component.ts +58 -0
  85. package/src/engine-components/OrbitControls.ts +2 -1
  86. package/src/engine-components/Renderer.ts +11 -3
  87. package/src/engine-components/RigidBody.ts +2 -2
  88. package/src/engine-components/ScreenCapture.ts +610 -28
  89. package/src/engine-components/SpectatorCamera.ts +28 -5
  90. package/src/engine-components/SyncedRoom.ts +1 -0
  91. package/src/engine-components/VideoPlayer.ts +123 -23
  92. package/src/engine-components/Volume.ts +47 -4
  93. package/src/engine-components/WebARSessionRoot.ts +78 -28
  94. package/src/engine-components/WebXR.ts +50 -15
  95. package/src/engine-components/WebXRAvatar.ts +5 -0
  96. package/src/engine-components/WebXRController.ts +20 -14
  97. package/src/engine-components/ui/CanvasGroup.ts +2 -0
  98. package/src/engine-components/ui/EventSystem.ts +21 -15
  99. package/src/engine-components/ui/Graphic.ts +3 -0
  100. package/src/engine-components/ui/Interfaces.ts +2 -0
  101. package/src/needle-engine.ts +1 -0
@@ -22,6 +22,7 @@ declare const engine: {
22
22
  LoadingOptions: typeof engine_setup.LoadingOptions;
23
23
  ContextArgs: typeof engine_setup.ContextArgs;
24
24
  FrameEvent: typeof engine_setup.FrameEvent;
25
+ XRSessionMode: typeof engine_setup.XRSessionMode;
25
26
  Context: typeof engine_setup.Context;
26
27
  };
27
28
  export { engine as engine };
@@ -3,9 +3,8 @@ import * as THREE from 'three';
3
3
  import { Context } from './engine_setup';
4
4
  import { Rigidbody } from '../engine-components/Rigidbody';
5
5
  import { GameObject } from '../engine-components/Component';
6
- export interface ICollisionEventReceiver {
7
- onCollision(data: CollisionData): any;
8
- }
6
+ import { Object3D, Vector3 } from 'three';
7
+ import { Collider } from '../engine-components/Collider';
9
8
  export declare class BodyOptions {
10
9
  mass: number;
11
10
  kinematic: boolean;
@@ -14,13 +13,12 @@ export declare class BodyOptions {
14
13
  angularDrag: number;
15
14
  sleepThreshold: number;
16
15
  }
17
- export declare class CollisionData {
18
- obj: THREE.Object3D | null;
16
+ declare type CannonCollision = {
17
+ body: CANNON.Body;
19
18
  contact: CANNON.ContactEquation;
20
- target: THREE.Object3D | null;
19
+ target: CANNON.Body;
21
20
  type: string;
22
- constructor(contact: CANNON.ContactEquation, type: string);
23
- }
21
+ };
24
22
  export declare class RaycastOptions {
25
23
  ray: THREE.Ray | undefined;
26
24
  cam: THREE.Camera | undefined | null;
@@ -85,5 +83,18 @@ export declare class Physics {
85
83
  private internalCreateBody;
86
84
  private registerCollisionEvents;
87
85
  private unregisterCollisionEvents;
86
+ private onBeginContact;
88
87
  private raiseCollisionEvents;
88
+ private onEndContact;
89
+ }
90
+ export declare class Collision {
91
+ private readonly collision;
92
+ readonly me: Object3D;
93
+ private _normal?;
94
+ get normal(): Vector3;
95
+ private _collider?;
96
+ get collider(): Collider;
97
+ get gameObject(): Object3D;
98
+ constructor(obj: Object3D, collision: CannonCollision);
89
99
  }
100
+ export {};
@@ -4,6 +4,9 @@ import cannonDebugger from 'cannon-es-debugger';
4
4
  import * as utils from "./engine_utils";
5
5
  import * as threeutils from "./engine_three_utils";
6
6
  import { InstancingUtil } from '../engine-components/Renderer';
7
+ import { GameObject } from '../engine-components/Component';
8
+ import { Vector3 } from 'three';
9
+ import { Collider } from '../engine-components/Collider';
7
10
  const debugPhysics = utils.getParam("debugphysics");
8
11
  const debugCollisions = utils.getParam("debugcollisions");
9
12
  export class BodyOptions {
@@ -14,6 +17,7 @@ export class BodyOptions {
14
17
  angularDrag = 0.05;
15
18
  sleepThreshold = .01;
16
19
  }
20
+ const bodyObjectKey = Symbol("object");
17
21
  // TODO: refactor to return some kind of handle for adding/removing
18
22
  class PhysicsObject {
19
23
  obj;
@@ -27,30 +31,8 @@ class PhysicsObject {
27
31
  this.obj = obj;
28
32
  this.parent = obj.parent;
29
33
  this.body = body;
30
- }
31
- }
32
- export class CollisionData {
33
- obj;
34
- contact;
35
- target;
36
- type;
37
- constructor(contact, type) {
38
- this.contact = contact;
39
- this.type = type;
40
- this.obj = null;
41
- this.target = null;
42
- }
43
- }
44
- class CannonCollision {
45
- body;
46
- contact;
47
- target;
48
- type;
49
- constructor(body, contact, target, type) {
50
- this.body = body;
51
- this.contact = contact;
52
- this.target = target;
53
- this.type = type;
34
+ if (this.body)
35
+ this.body[bodyObjectKey] = obj;
54
36
  }
55
37
  }
56
38
  export class RaycastOptions {
@@ -241,6 +223,8 @@ export class Physics {
241
223
  };
242
224
  cannonDebugger(context.scene, this.world.bodies, opts);
243
225
  }
226
+ this.world.addEventListener("beginContact", this.onBeginContact.bind(this));
227
+ this.world.addEventListener("endContact", this.onEndContact.bind(this));
244
228
  }
245
229
  addPreStepListener(listener) {
246
230
  this.world.addEventListener("preStep", listener);
@@ -529,36 +513,61 @@ export class Physics {
529
513
  return;
530
514
  obj.body.removeEventListener("collide", obj.collisonCallback);
531
515
  }
516
+ onBeginContact(_) {
517
+ // this is called after the object collide event so we dont really need it
518
+ // console.log("START", args);
519
+ }
532
520
  raiseCollisionEvents(obj, event) {
533
- const resolved = new CollisionData(event.contact, event.type);
534
- let addedData = 0;
535
- const objs = this.objects;
536
- function requestData() {
537
- if (addedData > 0)
538
- return;
539
- for (let i = 0; i < objs.length; i++) {
540
- if (addedData == 2)
541
- return;
542
- const entry = objs[i];
543
- if (entry.body == event.body) {
544
- resolved.obj = entry.obj;
545
- ++addedData;
546
- }
547
- else if (entry.body == event.target) {
548
- resolved.target = entry.obj;
549
- ++addedData;
550
- }
551
- }
552
- }
521
+ const collision = new Collision(obj, event);
553
522
  if (debugCollisions)
554
523
  console.log("collision between", event.contact.bi, event.contact.bj, obj, event);
555
524
  for (let i = 0; i < obj.userData?.components?.length; i++) {
556
525
  const component = obj.userData.components[i];
557
- if (component.onCollision) {
558
- requestData();
559
- component.onCollision(resolved);
560
- }
526
+ component.__internalHandleCollision(collision);
527
+ }
528
+ }
529
+ onEndContact(args) {
530
+ // console.log("END", args.bodyA, args.bodyB);
531
+ const obj1 = args.bodyA[bodyObjectKey];
532
+ const obj2 = args.bodyB[bodyObjectKey];
533
+ for (let i = 0; i < obj2.userData?.components?.length; i++) {
534
+ const component = obj2.userData.components[i];
535
+ component.sendExitCollisionEvent(obj1);
536
+ }
537
+ }
538
+ }
539
+ export class Collision {
540
+ collision;
541
+ me;
542
+ _normal;
543
+ get normal() {
544
+ if (!this._normal) {
545
+ this._normal = new Vector3(this.collision.contact.ni.x, this.collision.contact.ni.y, this.collision.contact.ni.z);
561
546
  }
547
+ return this._normal;
548
+ }
549
+ _collider;
550
+ get collider() {
551
+ if (this._collider === undefined) {
552
+ this._collider = GameObject.getComponent(this.gameObject, Collider);
553
+ }
554
+ return this._collider;
555
+ }
556
+ get gameObject() {
557
+ return this.collision.body[bodyObjectKey];
558
+ }
559
+ // private _point?: Vector3;
560
+ // get point(): Vector3 {
561
+ // if (!this._point) {
562
+ // const c = this.collision.contact;
563
+ // const point = c.bi.position.clone().vadd(c.ri);
564
+ // this._point = new Vector3(point.x, point.y, point.z);
565
+ // }
566
+ // return this._point;
567
+ // }
568
+ constructor(obj, collision) {
569
+ this.me = obj;
570
+ this.collision = collision;
562
571
  }
563
572
  }
564
573
  //# sourceMappingURL=engine_physics.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"engine_physics.js","sourceRoot":"","sources":["../../../engine/engine_physics.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine_physics.js","sourceRoot":"","sources":["../../../engine/engine_physics.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
1
  import { serializeObject, deserializeObject } from "./engine_serialization_core";
2
2
  import * as builtin from "./engine_serialization_builtin_serializer";
3
3
  export { serializeObject, deserializeObject, builtin };
4
+ export { serializeable } from "./engine_serialization_decorator";
@@ -2,4 +2,5 @@ import { serializeObject, deserializeObject } from "./engine_serialization_core"
2
2
  import * as builtin from "./engine_serialization_builtin_serializer";
3
3
  // export builtin so it will be called and registered
4
4
  export { serializeObject, deserializeObject, builtin };
5
+ export { serializeable } from "./engine_serialization_decorator";
5
6
  //# sourceMappingURL=engine_serialization.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"engine_serialization.js","sourceRoot":"","sources":["../../../engine/engine_serialization.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AACjF,OAAO,KAAK,OAAO,MAAM,2CAA2C,CAAC;AACrE,qDAAqD;AACrD,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,OAAO,EAAE,CAAC"}
1
+ {"version":3,"file":"engine_serialization.js","sourceRoot":"","sources":["../../../engine/engine_serialization.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AACjF,OAAO,KAAK,OAAO,MAAM,2CAA2C,CAAC;AACrE,qDAAqD;AACrD,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,OAAO,EAAE,CAAC;AAEvD,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAA"}
@@ -45,6 +45,10 @@ export declare enum FrameEvent {
45
45
  OnAfterRender = 4,
46
46
  PhysicsStep = 10
47
47
  }
48
+ export declare enum XRSessionMode {
49
+ ImmersiveVR = "immersive-vr",
50
+ ImmersiveAR = "immersive-ar"
51
+ }
48
52
  export declare type OnBeforeRenderCallback = (renderer: THREE.WebGLRenderer, scene: THREE.Scene, camera: THREE.Camera, geometry: THREE.BufferGeometry, material: THREE.Material, group: THREE.Group) => void;
49
53
  export declare class Context {
50
54
  private static _current;
@@ -63,6 +67,7 @@ export declare class Context {
63
67
  get domX(): number;
64
68
  get domY(): number;
65
69
  get isInXR(): boolean;
70
+ xrSessionMode: XRSessionMode | undefined;
66
71
  get xrSession(): THREE.XRSession | null;
67
72
  get arOverlayElement(): HTMLElement;
68
73
  scene: THREE.Scene;
@@ -43,6 +43,11 @@ export var FrameEvent;
43
43
  FrameEvent[FrameEvent["OnAfterRender"] = 4] = "OnAfterRender";
44
44
  FrameEvent[FrameEvent["PhysicsStep"] = 10] = "PhysicsStep";
45
45
  })(FrameEvent || (FrameEvent = {}));
46
+ export var XRSessionMode;
47
+ (function (XRSessionMode) {
48
+ XRSessionMode["ImmersiveVR"] = "immersive-vr";
49
+ XRSessionMode["ImmersiveAR"] = "immersive-ar";
50
+ })(XRSessionMode || (XRSessionMode = {}));
46
51
  export class Context {
47
52
  static _current;
48
53
  static get Current() {
@@ -75,6 +80,7 @@ export class Context {
75
80
  get domX() { return this.domElement.offsetLeft; }
76
81
  get domY() { return this.domElement.offsetTop; }
77
82
  get isInXR() { return this.renderer.xr?.isPresenting || false; }
83
+ xrSessionMode = undefined;
78
84
  get xrSession() { return this.renderer.xr?.getSession(); }
79
85
  get arOverlayElement() {
80
86
  const el = this.domElement;
@@ -1 +1 @@
1
- {"version":3,"file":"engine_setup.js","sourceRoot":"","sources":["../../../engine/engine_setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine_setup.js","sourceRoot":"","sources":["../../../engine/engine_setup.ts"],"names":[],"mappings":"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"}
@@ -17,7 +17,7 @@ export declare function tryFindObject(globalObjectIdentifier: string, obj: any,
17
17
  declare type deepClonePredicate = (owner: any, propertyName: string, current: any) => boolean;
18
18
  export declare function deepClone(obj: any, predicate?: deepClonePredicate): any;
19
19
  export declare function delay(milliseconds: number): Promise<void>;
20
- export declare function getPath(glbLocation: SourceIdentifier | undefined, path: string): string;
20
+ export declare function getPath(source: SourceIdentifier | undefined, uri: string): string;
21
21
  export declare type WriteCallback = (data: any) => void;
22
22
  export declare class Watch {
23
23
  subscribeWrite(callback: WriteCallback): void;
@@ -157,16 +157,33 @@ export function delay(milliseconds) {
157
157
  // if a timeline is exported via menu item the audio clip path is relative to the glb (same folder)
158
158
  // we need to detect that here and build the new audio source path relative to the new glb location
159
159
  // the same is/might be true for any file that is/will be exported via menu item
160
- export function getPath(glbLocation, path) {
161
- if (path && glbLocation && !path.includes("/")) {
162
- // get directory of glb and prepend it to the audio file path
163
- const pathIndex = glbLocation.lastIndexOf("/");
164
- if (pathIndex >= 0) {
165
- const newPath = glbLocation.substring(0, pathIndex + 1) + path;
166
- return newPath;
160
+ const debugGetPath = getParam("debugsourcepath");
161
+ export function getPath(source, uri) {
162
+ if (source === undefined) {
163
+ if (debugGetPath)
164
+ console.warn("getPath: source is undefined, returning uri", uri);
165
+ return uri;
166
+ }
167
+ if (uri.startsWith("http")) {
168
+ if (debugGetPath)
169
+ console.warn("getPath: uri is absolute, returning uri", uri);
170
+ return uri;
171
+ }
172
+ const pathIndex = source.lastIndexOf("/");
173
+ if (pathIndex >= 0) {
174
+ let newUri = source.substring(0, pathIndex + 1);
175
+ const uriDirectoryIndex = uri.lastIndexOf("/");
176
+ if (uriDirectoryIndex >= 0) {
177
+ newUri += uri.substring(uriDirectoryIndex + 1);
178
+ }
179
+ else {
180
+ newUri += uri;
167
181
  }
182
+ if (debugGetPath)
183
+ console.log("getPath:", source, " - changed uri from\n", uri, "\n→ ", newUri);
184
+ return newUri;
168
185
  }
169
- return path;
186
+ return uri;
170
187
  }
171
188
  // TODO: make it possible to add multiple watches to the same object property
172
189
  export class Watch {
@@ -1 +1 @@
1
- {"version":3,"file":"engine_utils.js","sourceRoot":"","sources":["../../../engine/engine_utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine_utils.js","sourceRoot":"","sources":["../../../engine/engine_utils.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ import { SourceIdentifier } from "../engine_gltf";
4
4
  import { Context } from "../engine_setup";
5
5
  export declare const EXTENSION_NAME = "NEEDLE_deferred_texture";
6
6
  export declare class NEEDLE_deferred_texture implements GLTFLoaderPlugin {
7
- static assignTextureLOD(context: Context, material: Material, level?: number): void;
7
+ static assignTextureLOD(context: Context, source: SourceIdentifier | undefined, material: Material, level?: number): void;
8
8
  get name(): string;
9
9
  private parser;
10
10
  private sourceId;