@caspertech/node-metaverse 0.7.55 → 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.
@@ -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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"}
@@ -14,7 +14,7 @@ export declare class Utils {
14
14
  static HOLLOW_QUANTA: number;
15
15
  static StringToBuffer(str: string): Buffer;
16
16
  static SHA1String(str: string): string;
17
- static MD5String(str: string): string;
17
+ static MD5String(input: Buffer | string): string;
18
18
  static BufferToStringSimple(buf: Buffer): string;
19
19
  static Clamp(value: number, min: number, max: number): number;
20
20
  static fillArray<T>(value: T, count: number): T[];
@@ -26,7 +26,8 @@ export declare class Utils {
26
26
  static RegionCoordinatesToHandle(regionX: number, regionY: number): GlobalPosition;
27
27
  static FloatToByte(val: number, lower: number, upper: number): number;
28
28
  static ByteToFloat(byte: number, lower: number, upper: number): number;
29
- static UInt16ToFloat(val: number, lower: number, upper: number): number;
29
+ static UInt16ToFloat(val: number, lower: number, upper: number, correctError?: boolean): number;
30
+ static FloatToUInt16(val: number, lower: number, upper: number): number;
30
31
  static Base64EncodeString(str: string): string;
31
32
  static Base64DecodeString(str: string): string;
32
33
  static HexToLong(hex: string): Long;
@@ -16,8 +16,10 @@ class Utils {
16
16
  static SHA1String(str) {
17
17
  return crypto.createHash('sha1').update(str).digest('hex');
18
18
  }
19
- static MD5String(str) {
20
- return crypto.createHash('md5').update(str).digest('hex');
19
+ static MD5String(input) {
20
+ const hash = crypto.createHash('md5');
21
+ hash.update(input);
22
+ return hash.digest('hex');
21
23
  }
22
24
  static BufferToStringSimple(buf) {
23
25
  if (buf.length === 0) {
@@ -117,18 +119,27 @@ class Utils {
117
119
  }
118
120
  return fval;
119
121
  }
120
- static UInt16ToFloat(val, lower, upper) {
122
+ static UInt16ToFloat(val, lower, upper, correctError = true) {
121
123
  const ONE_OVER_U16_MAX = 1.0 / 65535;
122
124
  let fval = val * ONE_OVER_U16_MAX;
123
125
  const delta = upper - lower;
124
126
  fval *= delta;
125
127
  fval += lower;
126
- const maxError = delta * ONE_OVER_U16_MAX;
127
- if (Math.abs(fval) < maxError) {
128
- fval = 0.0;
128
+ if (correctError) {
129
+ const maxError = delta * ONE_OVER_U16_MAX;
130
+ if (Math.abs(fval) < maxError) {
131
+ fval = 0.0;
132
+ }
129
133
  }
130
134
  return fval;
131
135
  }
136
+ static FloatToUInt16(val, lower, upper) {
137
+ const U16_MAX = 65535;
138
+ const delta = upper - lower;
139
+ let normalized = (val - lower) / delta;
140
+ normalized = Math.max(0, Math.min(1, normalized));
141
+ return Math.round(normalized * U16_MAX);
142
+ }
132
143
  static Base64EncodeString(str) {
133
144
  const buff = Buffer.from(str, 'utf8');
134
145
  return buff.toString('base64');
@@ -1 +1 @@
1
- {"version":3,"file":"Utils.js","sourceRoot":"","sources":["../../../lib/classes/Utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Utils.js","sourceRoot":"","sources":["../../../lib/classes/Utils.ts"],"names":[],"mappings":"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"}
@@ -1,28 +1,50 @@
1
1
  import { UUID } from '../UUID';
2
+ import { Buffer } from 'buffer';
2
3
  import type { LLSubMesh } from './interfaces/LLSubMesh';
3
- import { Vector3 } from '../Vector3';
4
- import { Vector2 } from '../Vector2';
5
- import type { LLSkin } from './interfaces/LLSkin';
6
4
  import type { LLPhysicsConvex } from './interfaces/LLPhysicsConvex';
5
+ import type { LLSkin } from './interfaces/LLSkin';
7
6
  export declare class LLMesh {
8
- version: number;
7
+ version?: number;
9
8
  lodLevels: Record<string, LLSubMesh[]>;
10
- physicsConvex: LLPhysicsConvex;
9
+ physicsConvex?: LLPhysicsConvex;
10
+ physicsHavok?: {
11
+ weldingData: Buffer;
12
+ hullMassProps: {
13
+ CoM: number[];
14
+ inertia: number[];
15
+ mass: number;
16
+ volume: number;
17
+ };
18
+ meshDecompMassProps: {
19
+ CoM: number[];
20
+ inertia: number[];
21
+ mass: number;
22
+ volume: number;
23
+ };
24
+ };
11
25
  skin?: LLSkin;
12
- creatorID: UUID;
13
- date: Date;
26
+ creatorID?: UUID;
27
+ date?: Date;
28
+ costData?: {
29
+ hull: number;
30
+ hull_discounted_vertices: number;
31
+ mesh: number[];
32
+ mesh_triangles: number;
33
+ };
14
34
  static from(buf: Buffer): Promise<LLMesh>;
15
- static parseSkin(mesh: any): LLSkin;
16
- static fixReal(arr: number[]): number[];
17
- static parsePhysicsConvex(mesh: any): LLPhysicsConvex;
18
- static parseLODLevel(mesh: any): LLSubMesh[];
19
- static decodeByteDomain3(posArray: number[], minDomain: Vector3, maxDomain: Vector3): Vector3[];
20
- static decodeByteDomain2(posArray: number[], minDomain: Vector2, maxDomain: Vector2): Vector2[];
21
- static normalizeDomain(value: number, min: number, max: number): number;
22
35
  toAsset(): Promise<Buffer>;
36
+ private static parseSkin;
37
+ private static fixReal;
38
+ private static fixRealLLSD;
39
+ private static parsePhysicsConvex;
40
+ private static parseLODLevel;
41
+ private static decodeByteDomain3;
42
+ private static decodeByteDomain2;
43
+ private static toLLSDReal;
23
44
  private encodeSubMesh;
24
45
  private expandFromDomain;
25
46
  private encodeLODLevel;
47
+ private encodePhysicsHavok;
26
48
  private encodePhysicsConvex;
27
49
  private encodeSkin;
28
50
  }