@needle-tools/engine 4.3.0-alpha → 4.3.0-alpha.1

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 +3 -0
  2. package/dist/needle-engine.bundle.js +1467 -222
  3. package/dist/needle-engine.bundle.light.js +1467 -222
  4. package/dist/needle-engine.bundle.light.min.js +32 -32
  5. package/dist/needle-engine.bundle.light.umd.cjs +3 -3
  6. package/dist/needle-engine.bundle.min.js +3 -3
  7. package/dist/needle-engine.bundle.umd.cjs +3 -3
  8. package/dist/needle-engine.light.d.ts +9 -9
  9. package/lib/engine/engine_types.d.ts +162 -17
  10. package/lib/engine-components/Animator.d.ts +129 -21
  11. package/lib/engine-components/Animator.js +115 -21
  12. package/lib/engine-components/Animator.js.map +1 -1
  13. package/lib/engine-components/AnimatorController.d.ts +161 -32
  14. package/lib/engine-components/AnimatorController.js +176 -29
  15. package/lib/engine-components/AnimatorController.js.map +1 -1
  16. package/lib/engine-components/AudioListener.d.ts +16 -5
  17. package/lib/engine-components/AudioListener.js +16 -5
  18. package/lib/engine-components/AudioListener.js.map +1 -1
  19. package/lib/engine-components/AudioSource.d.ts +120 -28
  20. package/lib/engine-components/AudioSource.js +120 -37
  21. package/lib/engine-components/AudioSource.js.map +1 -1
  22. package/lib/engine-components/AvatarLoader.d.ts +61 -0
  23. package/lib/engine-components/AvatarLoader.js +61 -1
  24. package/lib/engine-components/AvatarLoader.js.map +1 -1
  25. package/lib/engine-components/AxesHelper.d.ts +19 -1
  26. package/lib/engine-components/AxesHelper.js +19 -1
  27. package/lib/engine-components/AxesHelper.js.map +1 -1
  28. package/lib/engine-components/BoxHelperComponent.d.ts +26 -0
  29. package/lib/engine-components/BoxHelperComponent.js +26 -0
  30. package/lib/engine-components/BoxHelperComponent.js.map +1 -1
  31. package/lib/engine-components/Camera.d.ts +126 -37
  32. package/lib/engine-components/Camera.js +139 -37
  33. package/lib/engine-components/Camera.js.map +1 -1
  34. package/lib/engine-components/CameraUtils.js +20 -0
  35. package/lib/engine-components/CameraUtils.js.map +1 -1
  36. package/lib/engine-components/Collider.d.ts +95 -21
  37. package/lib/engine-components/Collider.js +100 -23
  38. package/lib/engine-components/Collider.js.map +1 -1
  39. package/lib/engine-components/Component.d.ts +554 -106
  40. package/lib/engine-components/Component.js +352 -81
  41. package/lib/engine-components/Component.js.map +1 -1
  42. package/lib/engine-components/DragControls.d.ts +95 -21
  43. package/lib/engine-components/DragControls.js +126 -32
  44. package/lib/engine-components/DragControls.js.map +1 -1
  45. package/lib/engine-components/DropListener.d.ts +99 -16
  46. package/lib/engine-components/DropListener.js +119 -14
  47. package/lib/engine-components/DropListener.js.map +1 -1
  48. package/lib/engine-components/Light.d.ts +102 -5
  49. package/lib/engine-components/Light.js +102 -44
  50. package/lib/engine-components/Light.js.map +1 -1
  51. package/lib/engine-components/NeedleMenu.d.ts +28 -11
  52. package/lib/engine-components/NeedleMenu.js +28 -11
  53. package/lib/engine-components/NeedleMenu.js.map +1 -1
  54. package/lib/engine-components/Networking.d.ts +37 -5
  55. package/lib/engine-components/Networking.js +37 -5
  56. package/lib/engine-components/Networking.js.map +1 -1
  57. package/lib/engine-components/SceneSwitcher.js +44 -0
  58. package/lib/engine-components/SceneSwitcher.js.map +1 -1
  59. package/lib/engine-components/SpatialTrigger.d.ts +66 -1
  60. package/lib/engine-components/SpatialTrigger.js +74 -2
  61. package/lib/engine-components/SpatialTrigger.js.map +1 -1
  62. package/lib/engine-components/SpectatorCamera.d.ts +66 -4
  63. package/lib/engine-components/SpectatorCamera.js +132 -6
  64. package/lib/engine-components/SpectatorCamera.js.map +1 -1
  65. package/lib/engine-components/SyncedTransform.d.ts +45 -6
  66. package/lib/engine-components/SyncedTransform.js +45 -6
  67. package/lib/engine-components/SyncedTransform.js.map +1 -1
  68. package/lib/engine-components/TransformGizmo.d.ts +49 -3
  69. package/lib/engine-components/TransformGizmo.js +49 -3
  70. package/lib/engine-components/TransformGizmo.js.map +1 -1
  71. package/lib/engine-components/webxr/WebXR.d.ts +131 -22
  72. package/lib/engine-components/webxr/WebXR.js +132 -23
  73. package/lib/engine-components/webxr/WebXR.js.map +1 -1
  74. package/lib/engine-components-experimental/networking/PlayerSync.d.ts +82 -9
  75. package/lib/engine-components-experimental/networking/PlayerSync.js +76 -11
  76. package/lib/engine-components-experimental/networking/PlayerSync.js.map +1 -1
  77. package/package.json +1 -1
  78. package/src/engine/engine_types.ts +179 -18
  79. package/src/engine-components/Animator.ts +142 -22
  80. package/src/engine-components/AnimatorController.ts +184 -34
  81. package/src/engine-components/AudioListener.ts +16 -5
  82. package/src/engine-components/AudioSource.ts +126 -37
  83. package/src/engine-components/AvatarLoader.ts +61 -2
  84. package/src/engine-components/AxesHelper.ts +21 -1
  85. package/src/engine-components/BoxHelperComponent.ts +26 -0
  86. package/src/engine-components/Camera.ts +147 -41
  87. package/src/engine-components/CameraUtils.ts +20 -0
  88. package/src/engine-components/Collider.ts +102 -27
  89. package/src/engine-components/Component.ts +605 -129
  90. package/src/engine-components/DragControls.ts +134 -38
  91. package/src/engine-components/DropListener.ts +143 -23
  92. package/src/engine-components/Light.ts +105 -44
  93. package/src/engine-components/NeedleMenu.ts +29 -11
  94. package/src/engine-components/Networking.ts +37 -6
  95. package/src/engine-components/SceneSwitcher.ts +48 -1
  96. package/src/engine-components/SpatialTrigger.ts +80 -3
  97. package/src/engine-components/SpectatorCamera.ts +136 -18
  98. package/src/engine-components/SyncedTransform.ts +50 -7
  99. package/src/engine-components/TransformGizmo.ts +49 -4
  100. package/src/engine-components/webxr/WebXR.ts +144 -27
  101. package/src/engine-components-experimental/networking/PlayerSync.ts +85 -13
@@ -800,20 +800,38 @@ function sceneUriToName(uri) {
800
800
  return value;
801
801
  return uri;
802
802
  }
803
+ /**
804
+ * PreLoadScheduler is responsible for managing preloading of scenes.
805
+ * It handles scheduling and limiting concurrent downloads of scenes based on specified parameters.
806
+ */
803
807
  class PreLoadScheduler {
808
+ /** Maximum number of scenes to preload ahead of the current scene */
804
809
  maxLoadAhead;
810
+ /** Maximum number of scenes to preload behind the current scene */
805
811
  maxLoadBehind;
812
+ /** Maximum number of scenes that can be preloaded concurrently */
806
813
  maxConcurrent;
807
814
  _isRunning = false;
808
815
  _switcher;
809
816
  _loadTasks = [];
810
817
  _maxConcurrentLoads = 1;
818
+ /**
819
+ * Creates a new PreLoadScheduler instance
820
+ * @param rooms The SceneSwitcher that this scheduler belongs to
821
+ * @param ahead Number of scenes to preload ahead of current scene
822
+ * @param behind Number of scenes to preload behind current scene
823
+ * @param maxConcurrent Maximum number of concurrent preloads allowed
824
+ */
811
825
  constructor(rooms, ahead = 1, behind = 1, maxConcurrent = 2) {
812
826
  this._switcher = rooms;
813
827
  this.maxLoadAhead = ahead;
814
828
  this.maxLoadBehind = behind;
815
829
  this.maxConcurrent = maxConcurrent;
816
830
  }
831
+ /**
832
+ * Starts the preloading process after a specified delay
833
+ * @param delay Time in milliseconds to wait before starting preload
834
+ */
817
835
  begin(delay) {
818
836
  if (this._isRunning)
819
837
  return;
@@ -865,12 +883,23 @@ class PreLoadScheduler {
865
883
  }
866
884
  }, 200);
867
885
  }
886
+ /**
887
+ * Stops the preloading process
888
+ */
868
889
  stop() {
869
890
  this._isRunning = false;
870
891
  }
892
+ /**
893
+ * Checks if a new scene can be loaded based on current load limits
894
+ * @returns True if a new scene can be loaded, false otherwise
895
+ */
871
896
  canLoadNewScene() {
872
897
  return this._loadTasks.length < this._maxConcurrentLoads;
873
898
  }
899
+ /**
900
+ * Checks if all scenes in the SceneSwitcher have been loaded
901
+ * @returns True if all scenes are loaded, false otherwise
902
+ */
874
903
  allLoaded() {
875
904
  if (this._switcher.scenes) {
876
905
  for (const scene of this._switcher.scenes) {
@@ -881,10 +910,22 @@ class PreLoadScheduler {
881
910
  return true;
882
911
  }
883
912
  }
913
+ /**
914
+ * Represents a single preloading task for a scene
915
+ */
884
916
  class LoadTask {
917
+ /** The index of the scene in the scenes array */
885
918
  index;
919
+ /** The AssetReference to be loaded */
886
920
  asset;
921
+ /** The collection of active load tasks this task belongs to */
887
922
  tasks;
923
+ /**
924
+ * Creates a new LoadTask and begins loading immediately
925
+ * @param index The index of the scene in the scenes array
926
+ * @param asset The AssetReference to preload
927
+ * @param tasks The collection of active load tasks
928
+ */
888
929
  constructor(index, asset, tasks) {
889
930
  this.index = index;
890
931
  this.asset = asset;
@@ -892,6 +933,9 @@ class LoadTask {
892
933
  tasks.push(this);
893
934
  this.awaitLoading();
894
935
  }
936
+ /**
937
+ * Asynchronously loads the asset and removes this task from the active tasks list when complete
938
+ */
895
939
  async awaitLoading() {
896
940
  if (this.asset && !this.asset.isLoaded()) {
897
941
  if (debug)
@@ -1 +1 @@
1
- {"version":3,"file":"SceneSwitcher.js","sourceRoot":"","sources":["../../src/engine-components/SceneSwitcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SceneSwitcher.js","sourceRoot":"","sources":["../../src/engine-components/SceneSwitcher.ts"],"names":[],"mappings":"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"}
@@ -2,36 +2,101 @@ import { Object3D } from "three";
2
2
  import { Behaviour } from "./Component.js";
3
3
  import { EventList } from "./EventList.js";
4
4
  /**
5
+ * Component that receives and responds to spatial events, like entering or exiting a trigger zone.
6
+ * Used in conjunction with {@link SpatialTrigger} to create interactive spatial events.
5
7
  * @category Interactivity
6
8
  * @group Components
7
9
  */
8
10
  export declare class SpatialTriggerReceiver extends Behaviour {
11
+ /**
12
+ * Bitmask determining which triggers this receiver responds to
13
+ * Only triggers with matching masks will interact with this receiver
14
+ */
9
15
  triggerMask: number;
16
+ /** Event invoked when this object enters a trigger zone */
10
17
  onEnter?: EventList<any>;
18
+ /** Event invoked continuously while this object is inside a trigger zone */
11
19
  onStay?: EventList<any>;
20
+ /** Event invoked when this object exits a trigger zone */
12
21
  onExit?: EventList<any>;
22
+ /**
23
+ * Initializes the receiver and logs debug info if enabled
24
+ * @internal
25
+ */
13
26
  start(): void;
27
+ /**
28
+ * Checks for intersections with spatial triggers and fires appropriate events
29
+ * Handles enter, stay, and exit events for all relevant triggers
30
+ * @internal
31
+ */
14
32
  update(): void;
33
+ /** Array of triggers currently intersecting with this receiver */
15
34
  readonly currentIntersected: SpatialTrigger[];
35
+ /** Array of triggers that intersected with this receiver in the previous frame */
16
36
  readonly lastIntersected: SpatialTrigger[];
37
+ /**
38
+ * Handles trigger enter events.
39
+ * @param trigger The spatial trigger that was entered
40
+ */
17
41
  onEnterTrigger(trigger: SpatialTrigger): void;
42
+ /**
43
+ * Handles trigger exit events.
44
+ * @param trigger The spatial trigger that was exited
45
+ */
18
46
  onExitTrigger(trigger: SpatialTrigger): void;
47
+ /**
48
+ * Handles trigger stay events.
49
+ * @param trigger The spatial trigger that the receiver is staying in
50
+ */
19
51
  onStayTrigger(trigger: SpatialTrigger): void;
20
52
  }
21
53
  /**
22
- * A trigger that can be used to detect if an object is inside a box.
54
+ * A spatial trigger component that detects objects within a box-shaped area.
55
+ * Used to trigger events when objects enter, stay in, or exit the defined area
23
56
  * @category Interactivity
24
57
  * @group Components
25
58
  */
26
59
  export declare class SpatialTrigger extends Behaviour {
60
+ /** Global registry of all active spatial triggers in the scene */
27
61
  static triggers: SpatialTrigger[];
62
+ /**
63
+ * Bitmask determining which receivers this trigger affects.
64
+ * Only receivers with matching masks will be triggered.
65
+ */
28
66
  triggerMask?: number;
67
+ /** Box helper component used to visualize and calculate the trigger area */
29
68
  private boxHelper?;
69
+ /**
70
+ * Initializes the trigger and logs debug info if enabled
71
+ */
30
72
  start(): void;
73
+ /**
74
+ * Registers this trigger in the global registry and sets up debug visualization if enabled
75
+ */
31
76
  onEnable(): void;
77
+ /**
78
+ * Removes this trigger from the global registry when disabled
79
+ */
32
80
  onDisable(): void;
81
+ /**
82
+ * Tests if an object is inside this trigger's box
83
+ * @param obj The object to test against this trigger
84
+ * @returns True if the object is inside the trigger box
85
+ */
33
86
  test(obj: Object3D): boolean;
87
+ /**
88
+ * Raises the onEnter event on any SpatialTriggerReceiver components attached to this trigger's GameObject
89
+ * @param rec The receiver that entered this trigger
90
+ */
34
91
  raiseOnEnterEvent(rec: SpatialTriggerReceiver): void;
92
+ /**
93
+ * Raises the onStay event on any SpatialTriggerReceiver components attached to this trigger's GameObject
94
+ * @param rec The receiver that is staying in this trigger
95
+ */
35
96
  raiseOnStayEvent(rec: SpatialTriggerReceiver): void;
97
+ /**
98
+ * Raises the onExit event on any SpatialTriggerReceiver components attached to this trigger's GameObject
99
+ * @param rec The receiver that exited this trigger
100
+ */
36
101
  raiseOnExitEvent(rec: SpatialTriggerReceiver): void;
37
102
  }
@@ -11,27 +11,51 @@ import { BoxHelperComponent } from "./BoxHelperComponent.js";
11
11
  import { Behaviour, GameObject } from "./Component.js";
12
12
  import { EventList } from "./EventList.js";
13
13
  const debug = getParam("debugspatialtrigger");
14
+ /** Layer instances used for mask comparison */
14
15
  const layer1 = new Layers();
15
16
  const layer2 = new Layers();
17
+ /**
18
+ * Tests if two layer masks intersect
19
+ * @param mask1 First layer mask
20
+ * @param mask2 Second layer mask
21
+ * @returns True if the layers intersect
22
+ */
16
23
  function testMask(mask1, mask2) {
17
24
  layer1.mask = mask1;
18
25
  layer2.mask = mask2;
19
26
  return layer1.test(layer2);
20
27
  }
21
28
  /**
29
+ * Component that receives and responds to spatial events, like entering or exiting a trigger zone.
30
+ * Used in conjunction with {@link SpatialTrigger} to create interactive spatial events.
22
31
  * @category Interactivity
23
32
  * @group Components
24
33
  */
25
34
  export class SpatialTriggerReceiver extends Behaviour {
26
- // currently Layers in unity but maybe this should be a string or plane number? Or should it be a bitmask to allow receivers use multiple triggers?
35
+ /**
36
+ * Bitmask determining which triggers this receiver responds to
37
+ * Only triggers with matching masks will interact with this receiver
38
+ */
27
39
  triggerMask = 0;
40
+ /** Event invoked when this object enters a trigger zone */
28
41
  onEnter;
42
+ /** Event invoked continuously while this object is inside a trigger zone */
29
43
  onStay;
44
+ /** Event invoked when this object exits a trigger zone */
30
45
  onExit;
46
+ /**
47
+ * Initializes the receiver and logs debug info if enabled
48
+ * @internal
49
+ */
31
50
  start() {
32
51
  if (debug)
33
52
  console.log(this.name, this.triggerMask, this);
34
53
  }
54
+ /**
55
+ * Checks for intersections with spatial triggers and fires appropriate events
56
+ * Handles enter, stay, and exit events for all relevant triggers
57
+ * @internal
58
+ */
35
59
  update() {
36
60
  this.currentIntersected.length = 0;
37
61
  for (const trigger of SpatialTrigger.triggers) {
@@ -56,20 +80,34 @@ export class SpatialTriggerReceiver extends Behaviour {
56
80
  this.lastIntersected.length = 0;
57
81
  this.lastIntersected.push(...this.currentIntersected);
58
82
  }
83
+ /** Array of triggers currently intersecting with this receiver */
59
84
  currentIntersected = [];
85
+ /** Array of triggers that intersected with this receiver in the previous frame */
60
86
  lastIntersected = [];
87
+ /**
88
+ * Handles trigger enter events.
89
+ * @param trigger The spatial trigger that was entered
90
+ */
61
91
  onEnterTrigger(trigger) {
62
92
  if (debug)
63
93
  console.log("ENTER TRIGGER", this.name, trigger.name, this, trigger);
64
94
  trigger.raiseOnEnterEvent(this);
65
95
  this.onEnter?.invoke();
66
96
  }
97
+ /**
98
+ * Handles trigger exit events.
99
+ * @param trigger The spatial trigger that was exited
100
+ */
67
101
  onExitTrigger(trigger) {
68
102
  if (debug)
69
103
  console.log("EXIT TRIGGER", this.name, trigger.name);
70
104
  trigger.raiseOnExitEvent(this);
71
105
  this.onExit?.invoke();
72
106
  }
107
+ /**
108
+ * Handles trigger stay events.
109
+ * @param trigger The spatial trigger that the receiver is staying in
110
+ */
73
111
  onStayTrigger(trigger) {
74
112
  trigger.raiseOnStayEvent(this);
75
113
  this.onStay?.invoke();
@@ -88,18 +126,32 @@ __decorate([
88
126
  serializable(EventList)
89
127
  ], SpatialTriggerReceiver.prototype, "onExit", void 0);
90
128
  /**
91
- * A trigger that can be used to detect if an object is inside a box.
129
+ * A spatial trigger component that detects objects within a box-shaped area.
130
+ * Used to trigger events when objects enter, stay in, or exit the defined area
92
131
  * @category Interactivity
93
132
  * @group Components
94
133
  */
95
134
  export class SpatialTrigger extends Behaviour {
135
+ /** Global registry of all active spatial triggers in the scene */
96
136
  static triggers = [];
137
+ /**
138
+ * Bitmask determining which receivers this trigger affects.
139
+ * Only receivers with matching masks will be triggered.
140
+ */
141
+ // currently Layers in unity but maybe this should be a string or plane number? Or should it be a bitmask to allow receivers use multiple triggers?
97
142
  triggerMask;
143
+ /** Box helper component used to visualize and calculate the trigger area */
98
144
  boxHelper;
145
+ /**
146
+ * Initializes the trigger and logs debug info if enabled
147
+ */
99
148
  start() {
100
149
  if (debug)
101
150
  console.log(this.name, this.triggerMask, this);
102
151
  }
152
+ /**
153
+ * Registers this trigger in the global registry and sets up debug visualization if enabled
154
+ */
103
155
  onEnable() {
104
156
  SpatialTrigger.triggers.push(this);
105
157
  if (!this.boxHelper) {
@@ -107,15 +159,27 @@ export class SpatialTrigger extends Behaviour {
107
159
  this.boxHelper?.showHelper(null, debug);
108
160
  }
109
161
  }
162
+ /**
163
+ * Removes this trigger from the global registry when disabled
164
+ */
110
165
  onDisable() {
111
166
  SpatialTrigger.triggers.splice(SpatialTrigger.triggers.indexOf(this), 1);
112
167
  }
168
+ /**
169
+ * Tests if an object is inside this trigger's box
170
+ * @param obj The object to test against this trigger
171
+ * @returns True if the object is inside the trigger box
172
+ */
113
173
  test(obj) {
114
174
  if (!this.boxHelper)
115
175
  return false;
116
176
  return this.boxHelper.isInBox(obj) ?? false;
117
177
  }
118
178
  // private args: SpatialTriggerEventArgs = new SpatialTriggerEventArgs();
179
+ /**
180
+ * Raises the onEnter event on any SpatialTriggerReceiver components attached to this trigger's GameObject
181
+ * @param rec The receiver that entered this trigger
182
+ */
119
183
  raiseOnEnterEvent(rec) {
120
184
  // this.args.trigger = this;
121
185
  // this.args.source = rec;
@@ -127,6 +191,10 @@ export class SpatialTrigger extends Behaviour {
127
191
  }
128
192
  }, false);
129
193
  }
194
+ /**
195
+ * Raises the onStay event on any SpatialTriggerReceiver components attached to this trigger's GameObject
196
+ * @param rec The receiver that is staying in this trigger
197
+ */
130
198
  raiseOnStayEvent(rec) {
131
199
  // this.args.trigger = this;
132
200
  // this.args.source = rec;
@@ -138,6 +206,10 @@ export class SpatialTrigger extends Behaviour {
138
206
  }
139
207
  }, false);
140
208
  }
209
+ /**
210
+ * Raises the onExit event on any SpatialTriggerReceiver components attached to this trigger's GameObject
211
+ * @param rec The receiver that exited this trigger
212
+ */
141
213
  raiseOnExitEvent(rec) {
142
214
  GameObject.foreachComponent(this.gameObject, c => {
143
215
  if (c === rec)
@@ -1 +1 @@
1
- {"version":3,"file":"SpatialTrigger.js","sourceRoot":"","sources":["../../src/engine-components/SpatialTrigger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SpatialTrigger.js","sourceRoot":"","sources":["../../src/engine-components/SpatialTrigger.ts"],"names":[],"mappings":"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"}
@@ -1,33 +1,67 @@
1
1
  import { PlayerView } from "../engine/engine_playerview.js";
2
2
  import { Camera } from "./Camera.js";
3
3
  import { Behaviour } from "./Component.js";
4
+ /**
5
+ * Defines the viewing perspective in spectator mode
6
+ */
4
7
  export declare enum SpectatorMode {
8
+ /** View from the perspective of the followed player */
5
9
  FirstPerson = 0,
10
+ /** Freely view from a third-person perspective */
6
11
  ThirdPerson = 1
7
12
  }
8
13
  /**
14
+ * Provides functionality to follow and spectate other users in a networked environment.
15
+ * Handles camera switching, following behavior, and network synchronization for spectator mode.
16
+ *
17
+ * Debug mode can be enabled with the URL parameter `?debugspectator`, which provides additional console output.
18
+ *
9
19
  * @category Networking
10
20
  * @group Components
11
21
  */
12
22
  export declare class SpectatorCamera extends Behaviour {
23
+ /** Reference to the Camera component on this GameObject */
13
24
  cam: Camera | null;
14
- /** when enabled pressing F will send a request to all connected users to follow me, ESC to stop */
25
+ /**
26
+ * When enabled, pressing F will send a request to all connected users to follow the local player.
27
+ * Pressing ESC will stop spectating.
28
+ */
15
29
  useKeys: boolean;
16
30
  private _mode;
31
+ /** Gets the current spectator perspective mode */
17
32
  get mode(): SpectatorMode;
33
+ /** Sets the current spectator perspective mode */
18
34
  set mode(val: SpectatorMode);
19
- /** if this user is currently spectating someone else */
35
+ /** Returns whether this user is currently spectating another user */
20
36
  get isSpectating(): boolean;
37
+ /**
38
+ * Checks if this instance is spectating the user with the given ID
39
+ * @param userId The user ID to check
40
+ * @returns True if spectating the specified user, false otherwise
41
+ */
21
42
  isSpectatingUser(userId: string): boolean;
43
+ /**
44
+ * Checks if the user with the specified ID is following this user
45
+ * @param userId The user ID to check
46
+ * @returns True if the specified user is following this user, false otherwise
47
+ */
22
48
  isFollowedBy(userId: string): boolean;
23
- /** list of other users that are following me */
49
+ /** List of user IDs that are currently following the user */
24
50
  get followers(): string[];
51
+ /** Stops the current spectating session */
25
52
  stopSpectating(): void;
53
+ /** Gets the local player's connection ID */
26
54
  private get localId();
27
- /** player view to follow */
55
+ /**
56
+ * Sets the player view to follow
57
+ * @param target The PlayerView to follow, or undefined to stop spectating
58
+ */
28
59
  set target(target: PlayerView | undefined);
60
+ /** Gets the currently followed player view */
29
61
  get target(): PlayerView | undefined;
62
+ /** Sends a network request for all users to follow this player */
30
63
  requestAllFollowMe(): void;
64
+ /** Determines if the camera is spectating the local player */
31
65
  private get isSpectatingSelf();
32
66
  private orbit;
33
67
  private _handler?;
@@ -38,12 +72,40 @@ export declare class SpectatorCamera extends Behaviour {
38
72
  private _networking;
39
73
  awake(): void;
40
74
  onDestroy(): void;
75
+ /**
76
+ * Checks if the current platform supports spectator mode
77
+ * @returns True if the platform is supported, false otherwise
78
+ */
41
79
  private isSupportedPlatform;
80
+ /**
81
+ * Called before entering WebXR mode
82
+ * @param _evt The WebXR event
83
+ */
42
84
  onBeforeXR(_evt: any): void;
85
+ /**
86
+ * Called when entering WebXR mode
87
+ * @param _evt The WebXR event
88
+ */
43
89
  onEnterXR(_evt: any): void;
90
+ /**
91
+ * Called when exiting WebXR mode
92
+ * @param _evt The WebXR event
93
+ */
44
94
  onLeaveXR(_evt: any): void;
95
+ /**
96
+ * Sets the target to follow the local player
97
+ */
45
98
  private followSelf;
99
+ /**
100
+ * Called after the main rendering pass to render the spectator view
101
+ */
46
102
  onAfterRender(): void;
103
+ /**
104
+ * Updates avatar visibility flags for rendering in spectator mode
105
+ */
47
106
  private setAvatarFlagsBeforeRender;
107
+ /**
108
+ * Restores avatar visibility flags after spectator rendering
109
+ */
48
110
  private resetAvatarFlags;
49
111
  }