@caspertech/node-metaverse 0.7.54 → 0.8.0

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 (48) hide show
  1. package/dist/lib/classes/InventoryFolder.js +3 -1
  2. package/dist/lib/classes/InventoryFolder.js.map +1 -1
  3. package/dist/lib/classes/LLAnimation.d.ts +32 -0
  4. package/dist/lib/classes/LLAnimation.js +90 -0
  5. package/dist/lib/classes/LLAnimation.js.map +1 -0
  6. package/dist/lib/classes/LLAnimationJoint.d.ts +13 -0
  7. package/dist/lib/classes/LLAnimationJoint.js +56 -0
  8. package/dist/lib/classes/LLAnimationJoint.js.map +1 -0
  9. package/dist/lib/classes/LLAnimationJointKeyFrame.d.ts +5 -0
  10. package/dist/lib/classes/LLAnimationJointKeyFrame.js +7 -0
  11. package/dist/lib/classes/LLAnimationJointKeyFrame.js.map +1 -0
  12. package/dist/lib/classes/LLWearable.js +0 -1
  13. package/dist/lib/classes/LLWearable.js.map +1 -1
  14. package/dist/lib/classes/Matrix3.d.ts +28 -0
  15. package/dist/lib/classes/Matrix3.js +348 -0
  16. package/dist/lib/classes/Matrix3.js.map +1 -0
  17. package/dist/lib/classes/Matrix4.d.ts +34 -0
  18. package/dist/lib/classes/Matrix4.js +396 -0
  19. package/dist/lib/classes/Matrix4.js.map +1 -0
  20. package/dist/lib/classes/ObjectResolver.js +12 -0
  21. package/dist/lib/classes/ObjectResolver.js.map +1 -1
  22. package/dist/lib/classes/ObjectStoreLite.d.ts +2 -1
  23. package/dist/lib/classes/ObjectStoreLite.js +30 -25
  24. package/dist/lib/classes/ObjectStoreLite.js.map +1 -1
  25. package/dist/lib/classes/TextureEntry.d.ts +1 -0
  26. package/dist/lib/classes/TextureEntry.js +7 -0
  27. package/dist/lib/classes/TextureEntry.js.map +1 -1
  28. package/dist/lib/classes/Utils.d.ts +3 -2
  29. package/dist/lib/classes/Utils.js +17 -6
  30. package/dist/lib/classes/Utils.js.map +1 -1
  31. package/dist/lib/classes/commands/RegionCommands.d.ts +2 -0
  32. package/dist/lib/classes/commands/RegionCommands.js +1 -1
  33. package/dist/lib/classes/commands/RegionCommands.js.map +1 -1
  34. package/dist/lib/classes/interfaces/IObjectStore.d.ts +2 -1
  35. package/dist/lib/classes/llsd/LLSD.js +9 -2
  36. package/dist/lib/classes/llsd/LLSD.js.map +1 -1
  37. package/dist/lib/classes/public/Avatar.d.ts +1 -0
  38. package/dist/lib/classes/public/Avatar.js +3 -0
  39. package/dist/lib/classes/public/Avatar.js.map +1 -1
  40. package/dist/lib/classes/public/GameObject.d.ts +5 -0
  41. package/dist/lib/classes/public/GameObject.js +30 -2
  42. package/dist/lib/classes/public/GameObject.js.map +1 -1
  43. package/dist/lib/classes/public/LLMesh.d.ts +36 -14
  44. package/dist/lib/classes/public/LLMesh.js +468 -204
  45. package/dist/lib/classes/public/LLMesh.js.map +1 -1
  46. package/dist/lib/classes/public/interfaces/LLSkin.d.ts +5 -5
  47. package/dist/lib/classes/public/interfaces/LLSubMesh.d.ts +2 -2
  48. package/package.json +1 -1
@@ -0,0 +1,396 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Matrix4 = void 0;
4
+ const Vector4_1 = require("./Vector4");
5
+ const EPSILON = 1e-6;
6
+ const Vector3_1 = require("./Vector3");
7
+ const Matrix3_1 = require("./Matrix3");
8
+ class Matrix4 {
9
+ constructor(values = null) {
10
+ this.values = new Float32Array(16);
11
+ if (values) {
12
+ this.init(values);
13
+ }
14
+ else {
15
+ this.setIdentity();
16
+ }
17
+ }
18
+ static frustum(left, right, bottom, top, near, far) {
19
+ const rl = right - left;
20
+ const tb = top - bottom;
21
+ const fn = far - near;
22
+ return new Matrix4([
23
+ (near * 2) / rl, 0, 0, 0,
24
+ 0, (near * 2) / tb, 0, 0,
25
+ (right + left) / rl, (top + bottom) / tb, -(far + near) / fn, -1,
26
+ 0, 0, -(far * near * 2) / fn, 0
27
+ ]);
28
+ }
29
+ static perspective(fov, aspect, near, far) {
30
+ const top = near * Math.tan((fov * Math.PI) / 360.0);
31
+ const right = top * aspect;
32
+ return Matrix4.frustum(-right, right, -top, top, near, far);
33
+ }
34
+ static orthographic(left, right, bottom, top, near, far) {
35
+ const rl = right - left;
36
+ const tb = top - bottom;
37
+ const fn = far - near;
38
+ return new Matrix4([
39
+ 2 / rl, 0, 0, 0,
40
+ 0, 2 / tb, 0, 0,
41
+ 0, 0, -2 / fn, 0,
42
+ -(left + right) / rl, -(top + bottom) / tb, -(far + near) / fn, 1
43
+ ]);
44
+ }
45
+ static lookAt(position, target, up = Vector3_1.Vector3.up) {
46
+ if (position.equals(target)) {
47
+ return this.identity.copy();
48
+ }
49
+ const z = position.difference(target).normalize();
50
+ const x = up.cross(z).normalize();
51
+ const y = z.cross(x).normalize();
52
+ return new Matrix4([
53
+ x.x, y.x, z.x, 0,
54
+ x.y, y.y, z.y, 0,
55
+ x.z, y.z, z.z, 0,
56
+ -x.dot(position), -y.dot(position), -z.dot(position), 1
57
+ ]);
58
+ }
59
+ static product(m1, m2, result = null) {
60
+ const a = m1.values;
61
+ const b = m2.values;
62
+ const productValues = [
63
+ b[0] * a[0] + b[1] * a[4] + b[2] * a[8] + b[3] * a[12],
64
+ b[0] * a[1] + b[1] * a[5] + b[2] * a[9] + b[3] * a[13],
65
+ b[0] * a[2] + b[1] * a[6] + b[2] * a[10] + b[3] * a[14],
66
+ b[0] * a[3] + b[1] * a[7] + b[2] * a[11] + b[3] * a[15],
67
+ b[4] * a[0] + b[5] * a[4] + b[6] * a[8] + b[7] * a[12],
68
+ b[4] * a[1] + b[5] * a[5] + b[6] * a[9] + b[7] * a[13],
69
+ b[4] * a[2] + b[5] * a[6] + b[6] * a[10] + b[7] * a[14],
70
+ b[4] * a[3] + b[5] * a[7] + b[6] * a[11] + b[7] * a[15],
71
+ b[8] * a[0] + b[9] * a[4] + b[10] * a[8] + b[11] * a[12],
72
+ b[8] * a[1] + b[9] * a[5] + b[10] * a[9] + b[11] * a[13],
73
+ b[8] * a[2] + b[9] * a[6] + b[10] * a[10] + b[11] * a[14],
74
+ b[8] * a[3] + b[9] * a[7] + b[10] * a[11] + b[11] * a[15],
75
+ b[12] * a[0] + b[13] * a[4] + b[14] * a[8] + b[15] * a[12],
76
+ b[12] * a[1] + b[13] * a[5] + b[14] * a[9] + b[15] * a[13],
77
+ b[12] * a[2] + b[13] * a[6] + b[14] * a[10] + b[15] * a[14],
78
+ b[12] * a[3] + b[13] * a[7] + b[14] * a[11] + b[15] * a[15],
79
+ ];
80
+ if (result) {
81
+ result.init(productValues);
82
+ return result;
83
+ }
84
+ else {
85
+ return new Matrix4(productValues);
86
+ }
87
+ }
88
+ at(index) {
89
+ return this.values[index];
90
+ }
91
+ init(values) {
92
+ if (values.length !== 16) {
93
+ throw new Error('Initialization array must have exactly 16 elements.');
94
+ }
95
+ for (const val of values) {
96
+ if (typeof val !== 'number') {
97
+ throw new Error('Array contains non-numbers');
98
+ }
99
+ }
100
+ let i = 0;
101
+ for (const value of values) {
102
+ this.values[i++] = Number(value);
103
+ }
104
+ return this;
105
+ }
106
+ reset() {
107
+ for (let i = 0; i < this.values.length; i++) {
108
+ this.values[i] = 0;
109
+ }
110
+ }
111
+ copy(dest = null) {
112
+ const destination = dest ?? new Matrix4();
113
+ for (let i = 0; i < this.values.length; i++) {
114
+ destination.values[i] = this.values[i];
115
+ }
116
+ return destination;
117
+ }
118
+ all() {
119
+ const data = [];
120
+ for (const value of this.values) {
121
+ data.push(value);
122
+ }
123
+ return data;
124
+ }
125
+ row(index) {
126
+ if (index < 0 || index > 3) {
127
+ throw new RangeError('Row index must be between 0 and 3.');
128
+ }
129
+ return [
130
+ this.values[index * 4],
131
+ this.values[index * 4 + 1],
132
+ this.values[index * 4 + 2],
133
+ this.values[index * 4 + 3]
134
+ ];
135
+ }
136
+ col(index) {
137
+ if (index < 0 || index > 3) {
138
+ throw new RangeError('Column index must be between 0 and 3.');
139
+ }
140
+ return [
141
+ this.values[index],
142
+ this.values[index + 4],
143
+ this.values[index + 8],
144
+ this.values[index + 12]
145
+ ];
146
+ }
147
+ equals(matrix, threshold = EPSILON) {
148
+ for (let i = 0; i < this.values.length; i++) {
149
+ if (Math.abs(this.values[i] - matrix.at(i)) > threshold) {
150
+ return false;
151
+ }
152
+ }
153
+ return true;
154
+ }
155
+ determinant() {
156
+ const m = this.values;
157
+ const det00 = m[0] * m[5] - m[1] * m[4];
158
+ const det01 = m[0] * m[6] - m[2] * m[4];
159
+ const det02 = m[0] * m[7] - m[3] * m[4];
160
+ const det03 = m[1] * m[6] - m[2] * m[5];
161
+ const det04 = m[1] * m[7] - m[3] * m[5];
162
+ const det05 = m[2] * m[7] - m[3] * m[6];
163
+ const det06 = m[4] * m[9] - m[5] * m[8];
164
+ const det07 = m[4] * m[10] - m[6] * m[8];
165
+ const det08 = m[4] * m[11] - m[7] * m[8];
166
+ const det09 = m[5] * m[10] - m[6] * m[9];
167
+ const det10 = m[5] * m[11] - m[7] * m[9];
168
+ const det11 = m[6] * m[11] - m[7] * m[10];
169
+ return (det00 * det11
170
+ - det01 * det10
171
+ + det02 * det09
172
+ + det03 * det08
173
+ - det04 * det07
174
+ + det05 * det06);
175
+ }
176
+ setIdentity() {
177
+ this.reset();
178
+ this.values[0] = 1;
179
+ this.values[5] = 1;
180
+ this.values[10] = 1;
181
+ this.values[15] = 1;
182
+ return this;
183
+ }
184
+ transpose() {
185
+ const m = this.values;
186
+ const transposed = new Float32Array(16);
187
+ for (let row = 0; row < 4; row++) {
188
+ for (let col = 0; col < 4; col++) {
189
+ transposed[col * 4 + row] = m[row * 4 + col];
190
+ }
191
+ }
192
+ return new Matrix4(Array.from(transposed));
193
+ }
194
+ inverse() {
195
+ const m = this.values;
196
+ const inv = new Array(16);
197
+ inv[0] = m[5] * m[10] * m[15] -
198
+ m[5] * m[11] * m[14] -
199
+ m[9] * m[6] * m[15] +
200
+ m[9] * m[7] * m[14] +
201
+ m[13] * m[6] * m[11] -
202
+ m[13] * m[7] * m[10];
203
+ inv[4] = -m[4] * m[10] * m[15] +
204
+ m[4] * m[11] * m[14] +
205
+ m[8] * m[6] * m[15] -
206
+ m[8] * m[7] * m[14] -
207
+ m[12] * m[6] * m[11] +
208
+ m[12] * m[7] * m[10];
209
+ inv[8] = m[4] * m[9] * m[15] -
210
+ m[4] * m[11] * m[13] -
211
+ m[8] * m[5] * m[15] +
212
+ m[8] * m[7] * m[13] +
213
+ m[12] * m[5] * m[11] -
214
+ m[12] * m[7] * m[9];
215
+ inv[12] = -m[4] * m[9] * m[14] +
216
+ m[4] * m[10] * m[13] +
217
+ m[8] * m[5] * m[14] -
218
+ m[8] * m[6] * m[13] -
219
+ m[12] * m[5] * m[10] +
220
+ m[12] * m[6] * m[9];
221
+ inv[1] = -m[1] * m[10] * m[15] +
222
+ m[1] * m[11] * m[14] +
223
+ m[9] * m[2] * m[15] -
224
+ m[9] * m[3] * m[14] -
225
+ m[13] * m[2] * m[11] +
226
+ m[13] * m[3] * m[10];
227
+ inv[5] = m[0] * m[10] * m[15] -
228
+ m[0] * m[11] * m[14] -
229
+ m[8] * m[2] * m[15] +
230
+ m[8] * m[3] * m[14] +
231
+ m[12] * m[2] * m[11] -
232
+ m[12] * m[3] * m[10];
233
+ inv[9] = -m[0] * m[9] * m[15] +
234
+ m[0] * m[11] * m[13] +
235
+ m[8] * m[1] * m[15] -
236
+ m[8] * m[3] * m[13] -
237
+ m[12] * m[1] * m[11] +
238
+ m[12] * m[3] * m[9];
239
+ inv[13] = m[0] * m[9] * m[14] -
240
+ m[0] * m[10] * m[13] -
241
+ m[8] * m[1] * m[14] +
242
+ m[8] * m[2] * m[13] +
243
+ m[12] * m[1] * m[10] -
244
+ m[12] * m[2] * m[9];
245
+ inv[2] = m[1] * m[6] * m[15] -
246
+ m[1] * m[7] * m[14] -
247
+ m[5] * m[2] * m[15] +
248
+ m[5] * m[3] * m[14] +
249
+ m[13] * m[2] * m[7] -
250
+ m[13] * m[3] * m[6];
251
+ inv[6] = -m[0] * m[6] * m[15] +
252
+ m[0] * m[7] * m[14] +
253
+ m[4] * m[2] * m[15] -
254
+ m[4] * m[3] * m[14] -
255
+ m[12] * m[2] * m[7] +
256
+ m[12] * m[3] * m[6];
257
+ inv[10] = m[0] * m[5] * m[15] -
258
+ m[0] * m[7] * m[13] -
259
+ m[4] * m[1] * m[15] +
260
+ m[4] * m[3] * m[13] +
261
+ m[12] * m[1] * m[7] -
262
+ m[12] * m[3] * m[5];
263
+ inv[14] = -m[0] * m[5] * m[14] +
264
+ m[0] * m[6] * m[13] +
265
+ m[4] * m[1] * m[14] -
266
+ m[4] * m[2] * m[13] -
267
+ m[12] * m[1] * m[6] +
268
+ m[12] * m[2] * m[5];
269
+ inv[3] = -m[1] * m[6] * m[11] +
270
+ m[1] * m[7] * m[10] +
271
+ m[5] * m[2] * m[11] -
272
+ m[5] * m[3] * m[10] -
273
+ m[9] * m[2] * m[7] +
274
+ m[9] * m[3] * m[6];
275
+ inv[7] = m[0] * m[6] * m[11] -
276
+ m[0] * m[7] * m[10] -
277
+ m[4] * m[2] * m[11] +
278
+ m[4] * m[3] * m[10] +
279
+ m[8] * m[2] * m[7] -
280
+ m[8] * m[3] * m[6];
281
+ inv[11] = -m[0] * m[5] * m[11] +
282
+ m[0] * m[7] * m[9] +
283
+ m[4] * m[1] * m[11] -
284
+ m[4] * m[3] * m[9] -
285
+ m[8] * m[1] * m[7] +
286
+ m[8] * m[3] * m[5];
287
+ inv[15] = m[0] * m[5] * m[10] -
288
+ m[0] * m[6] * m[9] -
289
+ m[4] * m[1] * m[10] +
290
+ m[4] * m[2] * m[9] +
291
+ m[8] * m[1] * m[6] -
292
+ m[8] * m[2] * m[5];
293
+ const det = m[0] * inv[0] + m[1] * inv[4] + m[2] * inv[8] + m[3] * inv[12];
294
+ if (Math.abs(det) < EPSILON) {
295
+ return null;
296
+ }
297
+ const inverseDet = 1.0 / det;
298
+ for (let i = 0; i < 16; i++) {
299
+ inv[i] *= inverseDet;
300
+ }
301
+ return new Matrix4(inv);
302
+ }
303
+ multiply(matrix) {
304
+ return Matrix4.product(this, matrix);
305
+ }
306
+ multiplyVector3(vector) {
307
+ const x = vector.x;
308
+ const y = vector.y;
309
+ const z = vector.z;
310
+ const m = this.values;
311
+ return new Vector3_1.Vector3([
312
+ m[0] * x + m[4] * y + m[8] * z + m[12],
313
+ m[1] * x + m[5] * y + m[9] * z + m[13],
314
+ m[2] * x + m[6] * y + m[10] * z + m[14]
315
+ ]);
316
+ }
317
+ multiplyVector4(vector) {
318
+ const m = this.values;
319
+ const x = vector.x;
320
+ const y = vector.y;
321
+ const z = vector.z;
322
+ const w = vector.w;
323
+ return new Vector4_1.Vector4([
324
+ m[0] * x + m[4] * y + m[8] * z + m[12] * w,
325
+ m[1] * x + m[5] * y + m[9] * z + m[13] * w,
326
+ m[2] * x + m[6] * y + m[10] * z + m[14] * w,
327
+ m[3] * x + m[7] * y + m[11] * z + m[15] * w
328
+ ]);
329
+ }
330
+ toMatrix3() {
331
+ return new Matrix3_1.Matrix3([
332
+ this.values[0],
333
+ this.values[1],
334
+ this.values[2],
335
+ this.values[4],
336
+ this.values[5],
337
+ this.values[6],
338
+ this.values[8],
339
+ this.values[9],
340
+ this.values[10]
341
+ ]);
342
+ }
343
+ toInverseMatrix3() {
344
+ const matrix3 = this.toMatrix3();
345
+ return matrix3.inverse();
346
+ }
347
+ translate(vector) {
348
+ const translation = new Matrix4([
349
+ 1, 0, 0, 0,
350
+ 0, 1, 0, 0,
351
+ 0, 0, 1, 0,
352
+ vector.x, vector.y, vector.z, 1
353
+ ]);
354
+ return Matrix4.product(this, translation);
355
+ }
356
+ scale(vector) {
357
+ const scaling = new Matrix4([
358
+ vector.x, 0, 0, 0,
359
+ 0, vector.y, 0, 0,
360
+ 0, 0, vector.z, 0,
361
+ 0, 0, 0, 1
362
+ ]);
363
+ return Matrix4.product(this, scaling);
364
+ }
365
+ rotate(angle, axis) {
366
+ const x = axis.x;
367
+ const y = axis.y;
368
+ const z = axis.z;
369
+ const length = Math.sqrt(x * x + y * y + z * z);
370
+ if (length === 0) {
371
+ return null;
372
+ }
373
+ if (length !== 1) {
374
+ const invLength = 1 / length;
375
+ this.rotate(angle, new Vector3_1.Vector3([x * invLength, y * invLength, z * invLength]));
376
+ return this;
377
+ }
378
+ const s = Math.sin(angle);
379
+ const c = Math.cos(angle);
380
+ const t = 1 - c;
381
+ const m = [
382
+ x * x * t + c, y * x * t + z * s, z * x * t - y * s, 0,
383
+ x * y * t - z * s, y * y * t + c, z * y * t + x * s, 0,
384
+ x * z * t + y * s, y * z * t - x * s, z * z * t + c, 0,
385
+ 0, 0, 0, 1
386
+ ];
387
+ const rotationMatrix = new Matrix4(m);
388
+ return Matrix4.product(this, rotationMatrix);
389
+ }
390
+ toArray() {
391
+ return Array.from(this.values);
392
+ }
393
+ }
394
+ exports.Matrix4 = Matrix4;
395
+ Matrix4.identity = new Matrix4().setIdentity();
396
+ //# sourceMappingURL=Matrix4.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Matrix4.js","sourceRoot":"","sources":["../../../lib/classes/Matrix4.ts"],"names":[],"mappings":"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AC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACtD,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACtD,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACvD,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YAEvD,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACxD,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACxD,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,C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C;QACtB,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACxC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACxC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACxC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACxC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACxC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACxC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACxC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACzC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACzC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAA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,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACnB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACnB,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACpB,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAExB,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YAC1B,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACpB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACnB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACnB,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACpB,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAExB,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YAC1B,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACpB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACnB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACnB,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACpB,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;QAEzB,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACzB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACpB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACnB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACnB,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACpB,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;QAEzB,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACzB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACpB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACnB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACnB,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACpB,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAExB,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACzB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACpB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACnB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACnB,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACpB,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAExB,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACxB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACnB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACnB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACnB,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACnB,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAExB,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACzB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACnB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACnB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACnB,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACnB,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAExB,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACzB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACnB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACnB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACnB,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACnB,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAExB,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YAC1B,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACnB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACnB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACnB,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACnB,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAExB,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACzB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACnB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACnB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACnB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAEvB,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACxB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACnB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACnB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACnB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAEvB,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YAC1B,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACnB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,C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"}
@@ -24,6 +24,18 @@ class ObjectResolver {
24
24
  continue;
25
25
  }
26
26
  this.region.objects.populateChildren(obj);
27
+ let fullyResolved = obj.resolvedAt !== undefined;
28
+ if (fullyResolved && obj.children) {
29
+ for (const o of obj.children) {
30
+ if (o.resolvedAt === undefined) {
31
+ fullyResolved = false;
32
+ break;
33
+ }
34
+ }
35
+ }
36
+ if (fullyResolved && !options.forceReResolve) {
37
+ continue;
38
+ }
27
39
  this.scanObject(obj, objs);
28
40
  }
29
41
  if (objs.size === 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"ObjectResolver.js","sourceRoot":"","sources":["../../../lib/classes/ObjectResolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ObjectResolver.js","sourceRoot":"","sources":["../../../lib/classes/ObjectResolver.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,7 @@ import type { RBush3D } from 'rbush-3d/dist';
14
14
  import { BotOptionFlags } from '../enums/BotOptionFlags';
15
15
  import { LLGLTFMaterialOverride } from './LLGLTFMaterialOverride';
16
16
  import type * as Long from 'long';
17
+ import type { GetObjectsOptions } from './commands/RegionCommands';
17
18
  export declare class ObjectStoreLite implements IObjectStore {
18
19
  rtree?: RBush3D;
19
20
  protected circuit?: Circuit;
@@ -69,7 +70,7 @@ export declare class ObjectStoreLite implements IObjectStore {
69
70
  parseNameValues(str: string): Map<string, NameValue>;
70
71
  shutdown(): void;
71
72
  populateChildren(obj: GameObject, _resolve?: boolean): void;
72
- getAllObjects(): GameObject[];
73
+ getAllObjects(options: GetObjectsOptions): GameObject[];
73
74
  getNumberOfObjects(): number;
74
75
  getObjectsInArea(minX: number, maxX: number, minY: number, maxY: number, minZ: number, maxZ: number): GameObject[];
75
76
  getObjectByUUID(fullID: UUID | string): GameObject;
@@ -53,6 +53,7 @@ class ObjectStoreLite {
53
53
  Message_1.Message.ObjectUpdate,
54
54
  Message_1.Message.ObjectUpdateCached,
55
55
  Message_1.Message.ObjectUpdateCompressed,
56
+ Message_1.Message.MultipleObjectUpdate,
56
57
  Message_1.Message.ImprovedTerseObjectUpdate,
57
58
  Message_1.Message.ObjectProperties,
58
59
  Message_1.Message.KillObject,
@@ -329,9 +330,6 @@ class ObjectStoreLite {
329
330
  result.push(obj);
330
331
  }
331
332
  }
332
- result.sort((a, b) => {
333
- return a.ID - b.ID;
334
- });
335
333
  return result;
336
334
  }
337
335
  parseNameValues(str) {
@@ -389,36 +387,43 @@ class ObjectStoreLite {
389
387
  obj.childrenPopulated = true;
390
388
  }
391
389
  }
392
- getAllObjects() {
390
+ getAllObjects(options) {
393
391
  const results = [];
394
392
  const found = {};
395
393
  for (const localID of this.objects.keys()) {
396
394
  const go = this.objects.get(localID);
397
- if (go && go.PCode !== PCode_1.PCode.Avatar && (go.IsAttachment === undefined || !go.IsAttachment)) {
398
- try {
399
- const parent = this.findParent(go);
400
- if (parent.ParentID === 0) {
401
- const uuid = parent.FullID.toString();
402
- if (found[uuid] === undefined) {
403
- found[uuid] = parent;
404
- results.push(parent);
405
- }
395
+ if (!go) {
396
+ continue;
397
+ }
398
+ if (!options.includeAvatars && go.PCode === PCode_1.PCode.Avatar) {
399
+ continue;
400
+ }
401
+ if (!options.includeAttachments && go.IsAttachment) {
402
+ continue;
403
+ }
404
+ try {
405
+ const parent = this.findParent(go);
406
+ if (parent.ParentID === 0) {
407
+ const uuid = parent.FullID.toString();
408
+ if (found[uuid] === undefined) {
409
+ found[uuid] = parent;
410
+ results.push(parent);
406
411
  }
407
- if (go.ParentID) {
408
- let objects = this.objectsByParent.get(go.ParentID);
409
- if (!objects?.includes(localID)) {
410
- if (objects === undefined) {
411
- objects = [];
412
- }
413
- objects.push(localID);
414
- this.objectsByParent.set(go.ParentID, objects);
412
+ }
413
+ if (go.ParentID) {
414
+ let objects = this.objectsByParent.get(go.ParentID);
415
+ if (!objects?.includes(localID)) {
416
+ if (objects === undefined) {
417
+ objects = [];
415
418
  }
419
+ objects.push(localID);
420
+ this.objectsByParent.set(go.ParentID, objects);
416
421
  }
417
422
  }
418
- catch (error) {
419
- console.log('Failed to find parent for ' + go.FullID.toString());
420
- console.error(error);
421
- }
423
+ }
424
+ catch (error) {
425
+ console.log('Failed to find parent for ' + go.FullID.toString());
426
+ console.error(error);
422
427
  }
423
428
  }
424
429
  for (const obj of results) {