@needle-tools/engine 3.22.0 → 3.22.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.
@@ -838,7 +838,7 @@ export class Context {
838
838
  internalOnBeforeRender(timestamp, frame) {
839
839
  this._xrFrame = frame;
840
840
  this._currentFrameEvent = FrameEvent.Undefined;
841
- if (this.isInXR === false && this.targetFrameRate !== undefined) {
841
+ if (this.isManagedExternally === false && this.isInXR === false && this.targetFrameRate !== undefined) {
842
842
  if (this._lastTimestamp === 0)
843
843
  this._lastTimestamp = timestamp;
844
844
  this._accumulatedTime += (timestamp - this._lastTimestamp) / 1000;
@@ -1 +1 @@
1
- {"version":3,"file":"engine_context.js","sourceRoot":"","sources":["../../src/engine/engine_context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine_context.js","sourceRoot":"","sources":["../../src/engine/engine_context.ts"],"names":[],"mappings":"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"}
@@ -44,7 +44,6 @@ async function checkLicense() {
44
44
  const licenseUrl = "https://engine.needle.tools/licensing/check?location=" + encodeURIComponent(window.location.href) + "&version=" + VERSION + "&generator=" + encodeURIComponent(GENERATOR);
45
45
  const res = await fetch(licenseUrl, {
46
46
  method: "GET",
47
- mode: "no-cors",
48
47
  }).catch();
49
48
  if (res?.status === 200) {
50
49
  applicationIsForbidden = false;
@@ -218,12 +217,13 @@ async function logNonCommercialUse(_logo) {
218
217
  margin-top: .3em;
219
218
  margin-bottom: .5em;
220
219
  padding: .2em;
221
- padding-left: 37px;
220
+ padding-left: 25px;
222
221
  border-radius: .5em;
223
- border: 2px solid rgba(160,160,160,.5);
222
+ border: 2px solid rgba(160,160,160,.3);
224
223
  `;
225
224
  // url must contain https for firefox to make it clickable
226
- const licenseText = "Needle Engine — No license active, commercial use is not allowed. Visit https://needle.tools/pricing for more information and licensing options.";
225
+ const version = VERSION;
226
+ const licenseText = `Needle Engine — No license active, commercial use is not allowed. Visit https://needle.tools/pricing for more information and licensing options! v${version}`;
227
227
  console.log("%c " + licenseText, style);
228
228
  }
229
229
  function createLicenseElement() {
@@ -1 +1 @@
1
- {"version":3,"file":"engine_license.js","sourceRoot":"","sources":["../../src/engine/engine_license.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine_license.js","sourceRoot":"","sources":["../../src/engine/engine_license.ts"],"names":[],"mappings":"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"}
@@ -10,18 +10,30 @@ export interface INetworkingWebsocketUrlProvider {
10
10
  export declare interface IConnectionData {
11
11
  id: string;
12
12
  }
13
+ /** Events regarding the websocket connection (e.g. when the connection opens) */
13
14
  export declare enum ConnectionEvents {
14
15
  ConnectionInfo = "connection-start-info"
15
16
  }
17
+ /** Use to listen to room networking events like joining a networked room
18
+ * For example: `this.context.connection.beginListen(RoomEvents.JoinedRoom, () => { })`
19
+ * @link https://engine.needle.tools/docs/networking.html#manual-networking
20
+ * */
16
21
  export declare enum RoomEvents {
22
+ /** Internal: sent to the server when attempting to join a room */
17
23
  Join = "join-room",
24
+ /** Internal: sent to the server when attempting to leave a room */
18
25
  Leave = "leave-room",
26
+ /** Incoming: When the local user has joined a room */
19
27
  JoinedRoom = "joined-room",
28
+ /** Incoming: When the local user has left a room */
20
29
  LeftRoom = "left-room",
30
+ /** Incoming: When a other user has joined the room */
21
31
  UserJoinedRoom = "user-joined-room",
32
+ /** Incoming: When a other user has left the room */
22
33
  UserLeftRoom = "user-left-room",
23
34
  RoomStateSent = "room-state-sent"
24
35
  }
36
+ /** Received when listening to `RoomEvents.JoinedRoom` event */
25
37
  export declare class JoinedRoomResponse {
26
38
  room: string;
27
39
  viewId: string;
@@ -34,6 +46,8 @@ export declare class LeftRoomResponse {
34
46
  export declare class UserJoinedOrLeftRoomModel {
35
47
  userId: string;
36
48
  }
49
+ /** The Needle Engine networking server supports the concept of ownership that can be requested. The `OwnershipEvent` enum contains possible outgoing (Request) and incoming (Response) events for communicating ownership.
50
+ * We recommend using the `OwnershipModel` class instead of dealing with those events directly tho. */
37
51
  export declare enum OwnershipEvent {
38
52
  RequestHasOwner = "request-has-owner",
39
53
  ResponseHasOwner = "response-has-owner",
@@ -47,6 +61,7 @@ export declare enum OwnershipEvent {
47
61
  LostOwnershipBroadcast = "lost-ownership-broadcast"
48
62
  }
49
63
  declare type WebsocketSendType = IModel | object | boolean | null | string | number;
64
+ /** Class for abstracting the concept of ownership regarding a networked object or component. A component that is owned by another user can not be modified through networking (the server will reject changes) */
50
65
  export declare class OwnershipModel {
51
66
  guid: string;
52
67
  private connection;
@@ -74,6 +89,7 @@ export declare class OwnershipModel {
74
89
  export declare type BinaryCallback = {
75
90
  (data: any | flatbuffers.ByteBuffer): void;
76
91
  };
92
+ /** Main class to communicate with the networking backend */
77
93
  export declare class NetworkConnection implements INetworkConnection {
78
94
  private context;
79
95
  private _peer;
@@ -81,36 +97,58 @@ export declare class NetworkConnection implements INetworkConnection {
81
97
  /** Experimental: networking via peerjs */
82
98
  get peer(): PeerNetworking;
83
99
  tryGetState(guid: string): IModel | null;
100
+ /** The connection id of the local user - it is given by the networking backend and can not be changed */
84
101
  get connectionId(): string | null;
85
102
  get isDebugEnabled(): boolean;
103
+ /** True when connected to the networking backend */
86
104
  get isConnected(): boolean;
105
+ /** The name of the room the user is currently connected to */
87
106
  get currentRoomName(): string | null;
107
+ /** True when connected to a room via a regular url, otherwise (when using a view only url) false indicating that the user should not be able to modify the scene */
88
108
  get allowEditing(): boolean;
89
109
  get currentRoomViewId(): string | null;
110
+ /** True if connected to a networked room. Use the joinRoom function or a `SyncedRoom` component */
90
111
  get isInRoom(): boolean;
112
+ /** Latency to currently connected backend server */
91
113
  get currentLatency(): number;
114
+ /** A ping is sent to the server at a regular interval while the browser tab is active. This method can be used to send additional ping messages when needed so that the user doesn't get disconnected from the networking backend */
92
115
  sendPing(): void;
116
+ /** Returns true if a user with the given connectionId is in the room */
93
117
  userIsInRoom(id: string): boolean;
94
118
  private _usersInRoomCopy;
119
+ /** Returns a list of all user ids in the current room */
95
120
  usersInRoom(target?: string[] | null): string[];
121
+ /** Joins a networked room. If you don't want to manage a connection yourself you can use a `SyncedRoom` component as well */
96
122
  joinRoom(room: string, viewOnly?: boolean): boolean;
123
+ /** Use to leave a room that you are currently connected to (use `leaveRoom()` to disconnect from the currently active room but you can also specify a room name) */
97
124
  leaveRoom(room?: string | null): boolean;
125
+ /** Send a message to the networking backend - it will broadcasted to all connected users in the same room by default */
98
126
  send<T extends WebsocketSendType>(key: string | OwnershipEvent, data?: T | null, queue?: SendQueue): void;
127
+ /** Use to delete state for a given guid on the server */
99
128
  sendDeleteRemoteState(guid: string): void;
129
+ /** Use to delete all state in the currently connected room on the server */
100
130
  sendDeleteRemoteStateAll(): void;
131
+ /** Send a binary message to the server (broadcasted to all connected users) */
101
132
  sendBinary(bin: Uint8Array): void;
102
133
  private _defaultMessagesBuffer;
103
134
  private _defaultMessagesBufferArray;
104
135
  sendBufferedMessagesNow(): void;
136
+ /** Use to start listening to networking events */
105
137
  beginListen(key: string | OwnershipEvent, callback: Function): Function;
106
138
  /**@deprecated please use stopListen instead (2.65.2-pre) */
107
139
  stopListening(key: string | OwnershipEvent, callback: Function | null): void;
140
+ /** Use to stop listening to networking events */
108
141
  stopListen(key: string | OwnershipEvent, callback: Function | null): void;
142
+ /** Use to start listening to networking binary events */
109
143
  beginListenBinary(identifier: string, callback: BinaryCallback): BinaryCallback;
144
+ /** Use to stop listening to networking binary events */
110
145
  stopListenBinary(identifier: string, callback: any): void;
111
146
  private netWebSocketUrlProvider?;
147
+ /** Use to override the networking server backend url. This is what the `Networking` component uses to modify the backend url */
112
148
  registerProvider(prov: INetworkingWebsocketUrlProvider): void;
149
+ /** Used to connect to the networking server */
113
150
  connect(): Promise<boolean>;
151
+ /** Used to disconnect from the networking server */
114
152
  disconnect(): void;
115
153
  private _listeners;
116
154
  private _listenersBinary;
@@ -8,20 +8,32 @@ import { SendQueue } from './engine_networking_types.js';
8
8
  import { isHostedOnGlitch } from './engine_networking_utils.js';
9
9
  export const debugNet = utils.getParam("debugnet") ? true : false;
10
10
  export const debugOwner = debugNet || utils.getParam("debugowner") ? true : false;
11
+ /** Events regarding the websocket connection (e.g. when the connection opens) */
11
12
  export var ConnectionEvents;
12
13
  (function (ConnectionEvents) {
13
14
  ConnectionEvents["ConnectionInfo"] = "connection-start-info";
14
15
  })(ConnectionEvents || (ConnectionEvents = {}));
16
+ /** Use to listen to room networking events like joining a networked room
17
+ * For example: `this.context.connection.beginListen(RoomEvents.JoinedRoom, () => { })`
18
+ * @link https://engine.needle.tools/docs/networking.html#manual-networking
19
+ * */
15
20
  export var RoomEvents;
16
21
  (function (RoomEvents) {
22
+ /** Internal: sent to the server when attempting to join a room */
17
23
  RoomEvents["Join"] = "join-room";
24
+ /** Internal: sent to the server when attempting to leave a room */
18
25
  RoomEvents["Leave"] = "leave-room";
26
+ /** Incoming: When the local user has joined a room */
19
27
  RoomEvents["JoinedRoom"] = "joined-room";
28
+ /** Incoming: When the local user has left a room */
20
29
  RoomEvents["LeftRoom"] = "left-room";
30
+ /** Incoming: When a other user has joined the room */
21
31
  RoomEvents["UserJoinedRoom"] = "user-joined-room";
32
+ /** Incoming: When a other user has left the room */
22
33
  RoomEvents["UserLeftRoom"] = "user-left-room";
23
34
  RoomEvents["RoomStateSent"] = "room-state-sent";
24
35
  })(RoomEvents || (RoomEvents = {}));
36
+ /** Received when listening to `RoomEvents.JoinedRoom` event */
25
37
  export class JoinedRoomResponse {
26
38
  room; // room name
27
39
  viewId;
@@ -34,6 +46,8 @@ export class LeftRoomResponse {
34
46
  export class UserJoinedOrLeftRoomModel {
35
47
  userId;
36
48
  }
49
+ /** The Needle Engine networking server supports the concept of ownership that can be requested. The `OwnershipEvent` enum contains possible outgoing (Request) and incoming (Response) events for communicating ownership.
50
+ * We recommend using the `OwnershipModel` class instead of dealing with those events directly tho. */
37
51
  export var OwnershipEvent;
38
52
  (function (OwnershipEvent) {
39
53
  OwnershipEvent["RequestHasOwner"] = "request-has-owner";
@@ -47,6 +61,7 @@ export var OwnershipEvent;
47
61
  OwnershipEvent["GainedOwnershipBroadcast"] = "gained-ownership-broadcast";
48
62
  OwnershipEvent["LostOwnershipBroadcast"] = "lost-ownership-broadcast";
49
63
  })(OwnershipEvent || (OwnershipEvent = {}));
64
+ /** Class for abstracting the concept of ownership regarding a networked object or component. A component that is owned by another user can not be modified through networking (the server will reject changes) */
50
65
  export class OwnershipModel {
51
66
  guid;
52
67
  connection;
@@ -171,6 +186,7 @@ export class OwnershipModel {
171
186
  }
172
187
  }
173
188
  }
189
+ /** Main class to communicate with the networking backend */
174
190
  export class NetworkConnection {
175
191
  context;
176
192
  _peer = null;
@@ -189,32 +205,41 @@ export class NetworkConnection {
189
205
  return null;
190
206
  return this._state[guid];
191
207
  }
208
+ /** The connection id of the local user - it is given by the networking backend and can not be changed */
192
209
  get connectionId() {
193
210
  return this._connectionId;
194
211
  }
195
212
  get isDebugEnabled() {
196
213
  return debugNet;
197
214
  }
215
+ /** True when connected to the networking backend */
198
216
  get isConnected() {
199
217
  return this.connected;
200
218
  }
219
+ /** The name of the room the user is currently connected to */
201
220
  get currentRoomName() { return this._currentRoomName; }
221
+ /** True when connected to a room via a regular url, otherwise (when using a view only url) false indicating that the user should not be able to modify the scene */
202
222
  get allowEditing() { return this._currentRoomAllowEditing; }
203
223
  // use this to join a room in view mode (see SyncedRoom)
204
224
  get currentRoomViewId() { return this._currentRoomViewId; }
225
+ /** True if connected to a networked room. Use the joinRoom function or a `SyncedRoom` component */
205
226
  get isInRoom() {
206
227
  return this._isInRoom;
207
228
  }
229
+ /** Latency to currently connected backend server */
208
230
  get currentLatency() {
209
231
  return this._currentDelay;
210
232
  }
233
+ /** A ping is sent to the server at a regular interval while the browser tab is active. This method can be used to send additional ping messages when needed so that the user doesn't get disconnected from the networking backend */
211
234
  sendPing() {
212
235
  this.send("ping", { time: this.context.time.time });
213
236
  }
237
+ /** Returns true if a user with the given connectionId is in the room */
214
238
  userIsInRoom(id) {
215
239
  return this._currentInRoom.indexOf(id) !== -1;
216
240
  }
217
241
  _usersInRoomCopy = [];
242
+ /** Returns a list of all user ids in the current room */
218
243
  usersInRoom(target = null) {
219
244
  if (!target)
220
245
  target = this._usersInRoomCopy;
@@ -223,6 +248,7 @@ export class NetworkConnection {
223
248
  target.push(user);
224
249
  return target;
225
250
  }
251
+ /** Joins a networked room. If you don't want to manage a connection yourself you can use a `SyncedRoom` component as well */
226
252
  joinRoom(room, viewOnly = false) {
227
253
  if (!room) {
228
254
  console.error("Missing room name, can not join: \"" + room + "\"");
@@ -239,6 +265,7 @@ export class NetworkConnection {
239
265
  this.send(RoomEvents.Join, { room: room, viewOnly: viewOnly }, SendQueue.OnConnection);
240
266
  return true;
241
267
  }
268
+ /** Use to leave a room that you are currently connected to (use `leaveRoom()` to disconnect from the currently active room but you can also specify a room name) */
242
269
  leaveRoom(room = null) {
243
270
  if (!room)
244
271
  room = this.currentRoomName;
@@ -249,6 +276,7 @@ export class NetworkConnection {
249
276
  this.send(RoomEvents.Leave, { room: room });
250
277
  return true;
251
278
  }
279
+ /** Send a message to the networking backend - it will broadcasted to all connected users in the same room by default */
252
280
  send(key, data = null, queue = SendQueue.Queued) {
253
281
  //@ts-ignore
254
282
  if (data === null)
@@ -265,14 +293,17 @@ export class NetworkConnection {
265
293
  // this.sendGeckosIo(key, data);
266
294
  return this.sendWithWebsocket(key, data, queue);
267
295
  }
296
+ /** Use to delete state for a given guid on the server */
268
297
  sendDeleteRemoteState(guid) {
269
298
  this.send("delete-state", { guid: guid, dontSave: true });
270
299
  delete this._state[guid];
271
300
  }
301
+ /** Use to delete all state in the currently connected room on the server */
272
302
  sendDeleteRemoteStateAll() {
273
303
  this.send("delete-all-state");
274
304
  this._state = {};
275
305
  }
306
+ /** Send a binary message to the server (broadcasted to all connected users) */
276
307
  sendBinary(bin) {
277
308
  if (debugNet)
278
309
  console.log("<< bin", bin.length);
@@ -303,6 +334,7 @@ export class NetworkConnection {
303
334
  const message = JSON.stringify(this._defaultMessagesBufferArray);
304
335
  this._ws?.send(message);
305
336
  }
337
+ /** Use to start listening to networking events */
306
338
  beginListen(key, callback) {
307
339
  if (!this._listeners[key])
308
340
  this._listeners[key] = [];
@@ -311,6 +343,7 @@ export class NetworkConnection {
311
343
  }
312
344
  /**@deprecated please use stopListen instead (2.65.2-pre) */
313
345
  stopListening(key, callback) { return this.stopListen(key, callback); }
346
+ /** Use to stop listening to networking events */
314
347
  stopListen(key, callback) {
315
348
  if (!callback)
316
349
  return;
@@ -321,12 +354,14 @@ export class NetworkConnection {
321
354
  this._listeners[key].splice(index, 1);
322
355
  }
323
356
  }
357
+ /** Use to start listening to networking binary events */
324
358
  beginListenBinary(identifier, callback) {
325
359
  if (!this._listenersBinary[identifier])
326
360
  this._listenersBinary[identifier] = [];
327
361
  this._listenersBinary[identifier].push(callback);
328
362
  return callback;
329
363
  }
364
+ /** Use to stop listening to networking binary events */
330
365
  stopListenBinary(identifier, callback) {
331
366
  if (!this._listenersBinary[identifier])
332
367
  return;
@@ -336,9 +371,11 @@ export class NetworkConnection {
336
371
  }
337
372
  }
338
373
  netWebSocketUrlProvider;
374
+ /** Use to override the networking server backend url. This is what the `Networking` component uses to modify the backend url */
339
375
  registerProvider(prov) {
340
376
  this.netWebSocketUrlProvider = prov;
341
377
  }
378
+ /** Used to connect to the networking server */
342
379
  async connect() {
343
380
  if (this.connected)
344
381
  return Promise.resolve(true);
@@ -354,6 +391,7 @@ export class NetworkConnection {
354
391
  return this.connectWebsocket();
355
392
  }
356
393
  ;
394
+ /** Used to disconnect from the networking server */
357
395
  disconnect() {
358
396
  this._ws?.close();
359
397
  this._ws = undefined;