@woosh/meep-engine 2.119.81 → 2.119.83
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.
- package/build/bundle-worker-image-decoder.js +1 -1
- package/package.json +1 -1
- package/src/core/binary/BinaryBuffer.d.ts +19 -0
- package/src/core/binary/BinaryBuffer.d.ts.map +1 -1
- package/src/core/binary/BinaryBuffer.js +31 -0
- package/src/core/binary/half_to_float_uint16.d.ts.map +1 -1
- package/src/core/binary/half_to_float_uint16.js +14 -5
- package/src/core/binary/uint8_to_float.d.ts.map +1 -1
- package/src/core/binary/uint8_to_float.js +1 -0
- package/src/core/collection/heap/Uint32Heap.d.ts +12 -2
- package/src/core/collection/heap/Uint32Heap.d.ts.map +1 -1
- package/src/core/collection/heap/Uint32Heap.js +11 -0
- package/src/core/color/Color.d.ts.map +1 -1
- package/src/core/color/Color.js +40 -44
- package/src/core/color/hsv/hsv2rgb.d.ts.map +1 -1
- package/src/core/color/hsv/hsv2rgb.js +2 -41
- package/src/core/color/hsv/hsv2rgb_float.d.ts +13 -0
- package/src/core/color/hsv/hsv2rgb_float.d.ts.map +1 -0
- package/src/core/color/hsv/hsv2rgb_float.js +56 -0
- package/src/core/events/signal/Signal.d.ts.map +1 -1
- package/src/core/events/signal/Signal.js +99 -105
- package/src/core/geom/3d/compose_matrix4_array.d.ts +17 -4
- package/src/core/geom/3d/compose_matrix4_array.d.ts.map +1 -1
- package/src/core/geom/3d/compose_matrix4_array.js +3 -3
- package/src/core/geom/Vector3.d.ts.map +1 -1
- package/src/core/geom/Vector3.js +17 -0
- package/src/engine/ecs/Entity.d.ts.map +1 -1
- package/src/engine/ecs/Entity.js +45 -15
- package/src/engine/ecs/EntityReference.d.ts +33 -0
- package/src/engine/ecs/EntityReference.d.ts.map +1 -1
- package/src/engine/ecs/EntityReference.js +59 -4
- package/src/engine/ecs/fow/FogOfWarRevealerSystem.d.ts +2 -2
- package/src/engine/ecs/fow/FogOfWarRevealerSystem.d.ts.map +1 -1
- package/src/engine/graphics/ecs/light/Light.d.ts.map +1 -1
- package/src/engine/graphics/ecs/light/Light.js +9 -4
- package/src/engine/graphics/ecs/path/PathDisplaySystem.d.ts.map +1 -1
- package/src/engine/sound/ecs/emitter/SoundTrack.d.ts.map +1 -1
- package/src/engine/sound/ecs/emitter/SoundTrack.js +8 -4
package/src/core/color/Color.js
CHANGED
|
@@ -2,12 +2,13 @@ import { assert } from "../assert.js";
|
|
|
2
2
|
import { float_to_uint8 } from "../binary/float_to_uint8.js";
|
|
3
3
|
import { uint8_to_float } from "../binary/uint8_to_float.js";
|
|
4
4
|
import Signal from "../events/signal/Signal.js";
|
|
5
|
-
import { clamp01 } from "../math/clamp01.js";
|
|
6
5
|
import { lerp } from "../math/lerp.js";
|
|
7
6
|
import { max2 } from "../math/max2.js";
|
|
8
7
|
import { min2 } from "../math/min2.js";
|
|
9
8
|
import { min3 } from "../math/min3.js";
|
|
10
9
|
import { rgb2hex } from "./hex/rgb2hex.js";
|
|
10
|
+
|
|
11
|
+
import { hsv2rgb_float } from "./hsv/hsv2rgb_float.js";
|
|
11
12
|
import { rgb2hsv } from "./hsv/rgb2hsv.js";
|
|
12
13
|
import { parse_color } from "./parse_color.js";
|
|
13
14
|
import { rgb2uint24 } from "./rgb2uint24.js";
|
|
@@ -131,6 +132,40 @@ export class Color {
|
|
|
131
132
|
this.a = v;
|
|
132
133
|
}
|
|
133
134
|
|
|
135
|
+
// XYZW accessors
|
|
136
|
+
|
|
137
|
+
/**
|
|
138
|
+
*
|
|
139
|
+
* @returns {number}
|
|
140
|
+
*/
|
|
141
|
+
get x() {
|
|
142
|
+
return this.r;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
/**
|
|
146
|
+
*
|
|
147
|
+
* @returns {number}
|
|
148
|
+
*/
|
|
149
|
+
get y() {
|
|
150
|
+
return this.g;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
/**
|
|
154
|
+
*
|
|
155
|
+
* @returns {number}
|
|
156
|
+
*/
|
|
157
|
+
get z() {
|
|
158
|
+
return this.b;
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
/**
|
|
162
|
+
*
|
|
163
|
+
* @returns {number}
|
|
164
|
+
*/
|
|
165
|
+
get w() {
|
|
166
|
+
return this.a;
|
|
167
|
+
}
|
|
168
|
+
|
|
134
169
|
/**
|
|
135
170
|
* Pretending to be an array
|
|
136
171
|
* @return {number}
|
|
@@ -152,9 +187,9 @@ export class Color {
|
|
|
152
187
|
|
|
153
188
|
/**
|
|
154
189
|
*
|
|
155
|
-
* @param {number} r
|
|
156
|
-
* @param {number} g
|
|
157
|
-
* @param {number} b
|
|
190
|
+
* @param {number} r in range of 0..255
|
|
191
|
+
* @param {number} g in range of 0..255
|
|
192
|
+
* @param {number} b in range of 0..255
|
|
158
193
|
*/
|
|
159
194
|
setRGBUint8(r, g, b) {
|
|
160
195
|
this.setRGB(
|
|
@@ -378,46 +413,7 @@ export class Color {
|
|
|
378
413
|
* @param {number} v 0..1
|
|
379
414
|
*/
|
|
380
415
|
setHSV(h, s, v) {
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
if (_h < 0) {
|
|
384
|
-
// move into positive range
|
|
385
|
-
_h = _h + Math.ceil(Math.abs(_h));
|
|
386
|
-
}
|
|
387
|
-
|
|
388
|
-
_h = _h % 1
|
|
389
|
-
|
|
390
|
-
const _s = clamp01(s);
|
|
391
|
-
const _v = clamp01(v);
|
|
392
|
-
|
|
393
|
-
let r, g, b;
|
|
394
|
-
|
|
395
|
-
const i = Math.floor(_h * 6);
|
|
396
|
-
const f = _h * 6 - i;
|
|
397
|
-
const p = _v * (1 - _s);
|
|
398
|
-
const q = _v * (1 - f * _s);
|
|
399
|
-
const t = _v * (1 - (1 - f) * _s);
|
|
400
|
-
|
|
401
|
-
switch (i % 6) {
|
|
402
|
-
case 0:
|
|
403
|
-
r = _v, g = t, b = p;
|
|
404
|
-
break;
|
|
405
|
-
case 1:
|
|
406
|
-
r = q, g = _v, b = p;
|
|
407
|
-
break;
|
|
408
|
-
case 2:
|
|
409
|
-
r = p, g = _v, b = t;
|
|
410
|
-
break;
|
|
411
|
-
case 3:
|
|
412
|
-
r = p, g = q, b = _v;
|
|
413
|
-
break;
|
|
414
|
-
case 4:
|
|
415
|
-
r = t, g = p, b = _v;
|
|
416
|
-
break;
|
|
417
|
-
case 5:
|
|
418
|
-
r = _v, g = p, b = q;
|
|
419
|
-
break;
|
|
420
|
-
}
|
|
416
|
+
const { r, g, b } = hsv2rgb_float(h, s, v);
|
|
421
417
|
|
|
422
418
|
this.setRGB(r, g, b);
|
|
423
419
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hsv2rgb.d.ts","sourceRoot":"","sources":["../../../../../src/core/color/hsv/hsv2rgb.js"],"names":[],"mappings":"AAGA;;;;;;GAMG;AACH,2BALW,MAAM,KACN,MAAM,KACN,MAAM;OACA,MAAM;OAAK,MAAM;OAAK,MAAM;
|
|
1
|
+
{"version":3,"file":"hsv2rgb.d.ts","sourceRoot":"","sources":["../../../../../src/core/color/hsv/hsv2rgb.js"],"names":[],"mappings":"AAGA;;;;;;GAMG;AACH,2BALW,MAAM,KACN,MAAM,KACN,MAAM;OACA,MAAM;OAAK,MAAM;OAAK,MAAM;EAW5C"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { float_to_uint8 } from "../../binary/float_to_uint8.js";
|
|
2
|
-
import {
|
|
2
|
+
import { hsv2rgb_float } from "./hsv2rgb_float.js";
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
*
|
|
@@ -10,47 +10,8 @@ import { clamp01 } from "../../math/clamp01.js";
|
|
|
10
10
|
*/
|
|
11
11
|
export function hsv2rgb(h, s, v) {
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
const {r,g,b} = hsv2rgb_float(h,s,v);
|
|
14
14
|
|
|
15
|
-
if (_h < 0) {
|
|
16
|
-
_h = _h + Math.ceil(Math.abs(_h));
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
_h = _h % 1;
|
|
20
|
-
|
|
21
|
-
const _s = clamp01(s);
|
|
22
|
-
const _v = clamp01(v);
|
|
23
|
-
|
|
24
|
-
let r, g, b, i, f, p, q, t;
|
|
25
|
-
|
|
26
|
-
i = Math.floor(_h * 6);
|
|
27
|
-
|
|
28
|
-
f = _h * 6 - i;
|
|
29
|
-
|
|
30
|
-
p = _v * (1 - _s);
|
|
31
|
-
q = _v * (1 - f * _s);
|
|
32
|
-
t = _v * (1 - (1 - f) * _s);
|
|
33
|
-
|
|
34
|
-
switch (i % 6) {
|
|
35
|
-
case 0:
|
|
36
|
-
r = _v, g = t, b = p;
|
|
37
|
-
break;
|
|
38
|
-
case 1:
|
|
39
|
-
r = q, g = _v, b = p;
|
|
40
|
-
break;
|
|
41
|
-
case 2:
|
|
42
|
-
r = p, g = _v, b = t;
|
|
43
|
-
break;
|
|
44
|
-
case 3:
|
|
45
|
-
r = p, g = q, b = _v;
|
|
46
|
-
break;
|
|
47
|
-
case 4:
|
|
48
|
-
r = t, g = p, b = _v;
|
|
49
|
-
break;
|
|
50
|
-
case 5:
|
|
51
|
-
r = _v, g = p, b = q;
|
|
52
|
-
break;
|
|
53
|
-
}
|
|
54
15
|
return {
|
|
55
16
|
r: float_to_uint8(r),
|
|
56
17
|
g: float_to_uint8(g),
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
*
|
|
3
|
+
* @param {number} h from 0 to 1
|
|
4
|
+
* @param {number} s from 0 to 1
|
|
5
|
+
* @param {number} v from 0 to 1
|
|
6
|
+
* @returns {{r: number, g: number, b: number}} output in range 0..1
|
|
7
|
+
*/
|
|
8
|
+
export function hsv2rgb_float(h: number, s: number, v: number): {
|
|
9
|
+
r: number;
|
|
10
|
+
g: number;
|
|
11
|
+
b: number;
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=hsv2rgb_float.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hsv2rgb_float.d.ts","sourceRoot":"","sources":["../../../../../src/core/color/hsv/hsv2rgb_float.js"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,iCALW,MAAM,KACN,MAAM,KACN,MAAM;OACA,MAAM;OAAK,MAAM;OAAK,MAAM;EAgD5C"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { clamp01 } from "../../math/clamp01.js";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
*
|
|
5
|
+
* @param {number} h from 0 to 1
|
|
6
|
+
* @param {number} s from 0 to 1
|
|
7
|
+
* @param {number} v from 0 to 1
|
|
8
|
+
* @returns {{r: number, g: number, b: number}} output in range 0..1
|
|
9
|
+
*/
|
|
10
|
+
export function hsv2rgb_float(h, s, v) {
|
|
11
|
+
let _h = h;
|
|
12
|
+
|
|
13
|
+
if (_h < 0) {
|
|
14
|
+
_h = _h + Math.ceil(Math.abs(_h));
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
_h = _h % 1;
|
|
18
|
+
|
|
19
|
+
const _s = clamp01(s);
|
|
20
|
+
const _v = clamp01(v);
|
|
21
|
+
|
|
22
|
+
let r, g, b, i, f, p, q, t;
|
|
23
|
+
|
|
24
|
+
i = Math.floor(_h * 6);
|
|
25
|
+
|
|
26
|
+
f = _h * 6 - i;
|
|
27
|
+
|
|
28
|
+
p = _v * (1 - _s);
|
|
29
|
+
q = _v * (1 - f * _s);
|
|
30
|
+
t = _v * (1 - (1 - f) * _s);
|
|
31
|
+
|
|
32
|
+
switch (i % 6) {
|
|
33
|
+
case 0:
|
|
34
|
+
r = _v, g = t, b = p;
|
|
35
|
+
break;
|
|
36
|
+
case 1:
|
|
37
|
+
r = q, g = _v, b = p;
|
|
38
|
+
break;
|
|
39
|
+
case 2:
|
|
40
|
+
r = p, g = _v, b = t;
|
|
41
|
+
break;
|
|
42
|
+
case 3:
|
|
43
|
+
r = p, g = q, b = _v;
|
|
44
|
+
break;
|
|
45
|
+
case 4:
|
|
46
|
+
r = t, g = p, b = _v;
|
|
47
|
+
break;
|
|
48
|
+
case 5:
|
|
49
|
+
r = _v, g = p, b = q;
|
|
50
|
+
break;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
return {
|
|
54
|
+
r, g, b
|
|
55
|
+
}
|
|
56
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Signal.d.ts","sourceRoot":"","sources":["../../../../../src/core/events/signal/Signal.js"],"names":[],"mappings":"AAMA;;;;;GAKG;AACH;IACI;;;;OAIG;IACH,iBAAqB;IAErB;;;;OAIG;IACH,cAAU;IAEV;;;OAGG;IACH,YAFU,MAAM,CAED;IAWf;;;OAGG;IACH,yBAEC;IAfD;;;OAGG;IACH,sBAEC;IAYD;;;;OAIG;IACH,cAHW,MAAM;;KAAY,GAChB,IAAI,CAIhB;IAED;;;;OAIG;IACH,gBAHW,MAAM;;KAAY,GAChB,IAAI,CAIhB;IAED;;;;OAIG;IACH,gBAHW,MAAM;;KAAY,SAClB,OAAO,QAQjB;IAED;;;;OAIG;IACH,cAHW,MAAM;;KAAY,GAChB,OAAO,CAInB;IAGD;;;;;OAKG;IACH,4CAFa,OAAO,CAcnB;IAED,aAEC;IAED,eAEC;IAED;;;OAGG;IACH,eAFa,OAAO,CAInB;IAED;;;;OAIG;IACH,yCAQC;IAED;;;;OAIG;IACH,sCAOC;IA8BD;;;;;OAKG;IACH,oCAFa,OAAO,CA2CnB;IAED;;;;;;OAMG;IACH,kBAEC;IAqDD;;;OAGG;IACH,+
|
|
1
|
+
{"version":3,"file":"Signal.d.ts","sourceRoot":"","sources":["../../../../../src/core/events/signal/Signal.js"],"names":[],"mappings":"AAMA;;;;;GAKG;AACH;IACI;;;;OAIG;IACH,iBAAqB;IAErB;;;;OAIG;IACH,cAAU;IAEV;;;OAGG;IACH,YAFU,MAAM,CAED;IAWf;;;OAGG;IACH,yBAEC;IAfD;;;OAGG;IACH,sBAEC;IAYD;;;;OAIG;IACH,cAHW,MAAM;;KAAY,GAChB,IAAI,CAIhB;IAED;;;;OAIG;IACH,gBAHW,MAAM;;KAAY,GAChB,IAAI,CAIhB;IAED;;;;OAIG;IACH,gBAHW,MAAM;;KAAY,SAClB,OAAO,QAQjB;IAED;;;;OAIG;IACH,cAHW,MAAM;;KAAY,GAChB,OAAO,CAInB;IAGD;;;;;OAKG;IACH,4CAFa,OAAO,CAcnB;IAED,aAEC;IAED,eAEC;IAED;;;OAGG;IACH,eAFa,OAAO,CAInB;IAED;;;;OAIG;IACH,yCAQC;IAED;;;;OAIG;IACH,sCAOC;IA8BD;;;;;OAKG;IACH,oCAFa,OAAO,CA2CnB;IAED;;;;;;OAMG;IACH,kBAEC;IAqDD;;;OAGG;IACH,+BA2CC;IAGD;;;OAGG;IACH,cA0CC;IAED;;;;OAIG;IACH,sBAyCC;IAED;;;;OAIG;IACH,4BAwCC;IAED;;;;;OAKG;IACH,oCAwCC;IAED;;;;;;OAMG;IACH,4CAwCC;IAED;;;;;;;;OAQG;IACH,4DAwCC;IAED;;;;;;;;;;OAUG;IACH,4EAwCC;IAED;;;;OAIG;IACH,aAHW,MAAM,GACJ,MAAM,CAalB;IAIL;;;OAGG;IACH,mBAFU,OAAO,CAEQ;;CAPxB"}
|
|
@@ -314,23 +314,24 @@ export class Signal {
|
|
|
314
314
|
|
|
315
315
|
do {
|
|
316
316
|
|
|
317
|
-
if (_h.generation >= this.generation) {
|
|
318
|
-
break;
|
|
319
|
-
}
|
|
320
|
-
|
|
321
317
|
const next = _h.next;
|
|
322
318
|
|
|
323
|
-
if
|
|
324
|
-
//handler
|
|
325
|
-
|
|
326
|
-
|
|
319
|
+
if(_h.generation < this.generation) {
|
|
320
|
+
// only process if handler was attached before this dispatch
|
|
321
|
+
|
|
322
|
+
if (_h.getFlag(SignalHandlerFlags.RemoveAfterExecution)) {
|
|
323
|
+
//handler should be cut
|
|
324
|
+
this.#remove_handler_internal(_h);
|
|
325
|
+
}
|
|
327
326
|
|
|
328
|
-
|
|
327
|
+
const _f = _h.handle;
|
|
328
|
+
|
|
329
|
+
try {
|
|
330
|
+
_f.apply(_h.context, args)
|
|
331
|
+
} catch (e) {
|
|
332
|
+
console.error("Failed to dispatch handler", _f, e);
|
|
333
|
+
}
|
|
329
334
|
|
|
330
|
-
try {
|
|
331
|
-
_f.apply(_h.context, args)
|
|
332
|
-
} catch (e) {
|
|
333
|
-
console.error("Failed to dispatch handler", _f, e);
|
|
334
335
|
}
|
|
335
336
|
|
|
336
337
|
_h = next;
|
|
@@ -363,23 +364,23 @@ export class Signal {
|
|
|
363
364
|
|
|
364
365
|
do {
|
|
365
366
|
|
|
366
|
-
if (_h.generation >= this.generation) {
|
|
367
|
-
break;
|
|
368
|
-
}
|
|
369
|
-
|
|
370
367
|
const next = _h.next;
|
|
371
368
|
|
|
372
|
-
if
|
|
373
|
-
//handler
|
|
374
|
-
|
|
375
|
-
|
|
369
|
+
if(_h.generation < this.generation) {
|
|
370
|
+
// only process if handler was attached before this dispatch
|
|
371
|
+
|
|
372
|
+
if (_h.getFlag(SignalHandlerFlags.RemoveAfterExecution)) {
|
|
373
|
+
//handler should be cut
|
|
374
|
+
this.#remove_handler_internal(_h);
|
|
375
|
+
}
|
|
376
376
|
|
|
377
|
-
|
|
377
|
+
const _f = _h.handle;
|
|
378
378
|
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
379
|
+
try {
|
|
380
|
+
_f.call(_h.context)
|
|
381
|
+
} catch (e) {
|
|
382
|
+
console.error("Failed to dispatch handler", _f, e);
|
|
383
|
+
}
|
|
383
384
|
}
|
|
384
385
|
|
|
385
386
|
_h = next;
|
|
@@ -412,23 +413,22 @@ export class Signal {
|
|
|
412
413
|
|
|
413
414
|
do {
|
|
414
415
|
|
|
415
|
-
if (_h.generation >= this.generation) {
|
|
416
|
-
break;
|
|
417
|
-
}
|
|
418
|
-
|
|
419
416
|
const next = _h.next;
|
|
420
417
|
|
|
421
|
-
if
|
|
422
|
-
//handler
|
|
423
|
-
|
|
424
|
-
|
|
418
|
+
if(_h.generation < this.generation) {
|
|
419
|
+
// only process if handler was attached before this dispatch
|
|
420
|
+
if (_h.getFlag(SignalHandlerFlags.RemoveAfterExecution)) {
|
|
421
|
+
//handler should be cut
|
|
422
|
+
this.#remove_handler_internal(_h);
|
|
423
|
+
}
|
|
425
424
|
|
|
426
|
-
|
|
425
|
+
const _f = _h.handle;
|
|
427
426
|
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
427
|
+
try {
|
|
428
|
+
_f.call(_h.context, arg)
|
|
429
|
+
} catch (e) {
|
|
430
|
+
console.error("Failed to dispatch handler", _f, e);
|
|
431
|
+
}
|
|
432
432
|
}
|
|
433
433
|
|
|
434
434
|
_h = next;
|
|
@@ -461,23 +461,22 @@ export class Signal {
|
|
|
461
461
|
|
|
462
462
|
do {
|
|
463
463
|
|
|
464
|
-
if (_h.generation >= this.generation) {
|
|
465
|
-
break;
|
|
466
|
-
}
|
|
467
|
-
|
|
468
464
|
const next = _h.next;
|
|
469
465
|
|
|
470
|
-
if
|
|
471
|
-
//handler
|
|
472
|
-
|
|
473
|
-
|
|
466
|
+
if(_h.generation < this.generation) {
|
|
467
|
+
// only process if handler was attached before this dispatch
|
|
468
|
+
if (_h.getFlag(SignalHandlerFlags.RemoveAfterExecution)) {
|
|
469
|
+
//handler should be cut
|
|
470
|
+
this.#remove_handler_internal(_h);
|
|
471
|
+
}
|
|
474
472
|
|
|
475
|
-
|
|
473
|
+
const _f = _h.handle;
|
|
476
474
|
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
475
|
+
try {
|
|
476
|
+
_f.call(_h.context, a, b)
|
|
477
|
+
} catch (e) {
|
|
478
|
+
console.error("Failed to dispatch handler", _f, e);
|
|
479
|
+
}
|
|
481
480
|
}
|
|
482
481
|
|
|
483
482
|
_h = next;
|
|
@@ -510,23 +509,22 @@ export class Signal {
|
|
|
510
509
|
|
|
511
510
|
do {
|
|
512
511
|
|
|
513
|
-
if (_h.generation >= this.generation) {
|
|
514
|
-
break;
|
|
515
|
-
}
|
|
516
|
-
|
|
517
512
|
const next = _h.next;
|
|
518
513
|
|
|
519
|
-
if
|
|
520
|
-
//handler
|
|
521
|
-
|
|
522
|
-
|
|
514
|
+
if(_h.generation < this.generation) {
|
|
515
|
+
// only process if handler was attached before this dispatch
|
|
516
|
+
if (_h.getFlag(SignalHandlerFlags.RemoveAfterExecution)) {
|
|
517
|
+
//handler should be cut
|
|
518
|
+
this.#remove_handler_internal(_h);
|
|
519
|
+
}
|
|
523
520
|
|
|
524
|
-
|
|
521
|
+
const _f = _h.handle;
|
|
525
522
|
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
523
|
+
try {
|
|
524
|
+
_f.call(_h.context, a, b, c)
|
|
525
|
+
} catch (e) {
|
|
526
|
+
console.error("Failed to dispatch handler", _f, e);
|
|
527
|
+
}
|
|
530
528
|
}
|
|
531
529
|
|
|
532
530
|
_h = next;
|
|
@@ -560,23 +558,22 @@ export class Signal {
|
|
|
560
558
|
|
|
561
559
|
do {
|
|
562
560
|
|
|
563
|
-
if (_h.generation >= this.generation) {
|
|
564
|
-
break;
|
|
565
|
-
}
|
|
566
|
-
|
|
567
561
|
const next = _h.next;
|
|
568
562
|
|
|
569
|
-
if
|
|
570
|
-
//handler
|
|
571
|
-
|
|
572
|
-
|
|
563
|
+
if(_h.generation < this.generation) {
|
|
564
|
+
// only process if handler was attached before this dispatch
|
|
565
|
+
if (_h.getFlag(SignalHandlerFlags.RemoveAfterExecution)) {
|
|
566
|
+
//handler should be cut
|
|
567
|
+
this.#remove_handler_internal(_h);
|
|
568
|
+
}
|
|
573
569
|
|
|
574
|
-
|
|
570
|
+
const _f = _h.handle;
|
|
575
571
|
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
572
|
+
try {
|
|
573
|
+
_f.call(_h.context, a, b, c, d)
|
|
574
|
+
} catch (e) {
|
|
575
|
+
console.error("Failed to dispatch handler", _f, e);
|
|
576
|
+
}
|
|
580
577
|
}
|
|
581
578
|
|
|
582
579
|
_h = next;
|
|
@@ -612,23 +609,22 @@ export class Signal {
|
|
|
612
609
|
|
|
613
610
|
do {
|
|
614
611
|
|
|
615
|
-
if (_h.generation >= this.generation) {
|
|
616
|
-
break;
|
|
617
|
-
}
|
|
618
|
-
|
|
619
612
|
const next = _h.next;
|
|
620
613
|
|
|
621
|
-
if
|
|
622
|
-
//handler
|
|
623
|
-
|
|
624
|
-
|
|
614
|
+
if(_h.generation < this.generation) {
|
|
615
|
+
// only process if handler was attached before this dispatch
|
|
616
|
+
if (_h.getFlag(SignalHandlerFlags.RemoveAfterExecution)) {
|
|
617
|
+
//handler should be cut
|
|
618
|
+
this.#remove_handler_internal(_h);
|
|
619
|
+
}
|
|
625
620
|
|
|
626
|
-
|
|
621
|
+
const _f = _h.handle;
|
|
627
622
|
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
623
|
+
try {
|
|
624
|
+
_f.call(_h.context, a, b, c, d, e, f)
|
|
625
|
+
} catch (e) {
|
|
626
|
+
console.error("Failed to dispatch handler", f, e);
|
|
627
|
+
}
|
|
632
628
|
}
|
|
633
629
|
|
|
634
630
|
_h = next;
|
|
@@ -666,24 +662,22 @@ export class Signal {
|
|
|
666
662
|
|
|
667
663
|
do {
|
|
668
664
|
|
|
669
|
-
if (_h.generation >= this.generation) {
|
|
670
|
-
break;
|
|
671
|
-
}
|
|
672
|
-
|
|
673
|
-
|
|
674
665
|
const next = _h.next;
|
|
675
666
|
|
|
676
|
-
if
|
|
677
|
-
//handler
|
|
678
|
-
|
|
679
|
-
|
|
667
|
+
if(_h.generation < this.generation) {
|
|
668
|
+
// only process if handler was attached before this dispatch
|
|
669
|
+
if (_h.getFlag(SignalHandlerFlags.RemoveAfterExecution)) {
|
|
670
|
+
//handler should be cut
|
|
671
|
+
this.#remove_handler_internal(_h);
|
|
672
|
+
}
|
|
680
673
|
|
|
681
|
-
|
|
674
|
+
const _f = _h.handle;
|
|
682
675
|
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
676
|
+
try {
|
|
677
|
+
_f.call(_h.context, a, b, c, d, e, f, g, h)
|
|
678
|
+
} catch (e) {
|
|
679
|
+
console.error("Failed to dispatch handler", f, e);
|
|
680
|
+
}
|
|
687
681
|
}
|
|
688
682
|
|
|
689
683
|
_h = next;
|
|
@@ -1,9 +1,22 @@
|
|
|
1
1
|
/**
|
|
2
2
|
*
|
|
3
3
|
* @param {number[]|Float32Array|mat4} result
|
|
4
|
-
* @param {
|
|
5
|
-
* @param {
|
|
6
|
-
* @param {
|
|
4
|
+
* @param { { x:number, y:number, z:number } } position
|
|
5
|
+
* @param { { x:number, y:number, z:number, w:number } } rotation
|
|
6
|
+
* @param { { x:number, y:number, z:number } } scale
|
|
7
7
|
*/
|
|
8
|
-
export function compose_matrix4_array(result: number[] | Float32Array | mat4, position:
|
|
8
|
+
export function compose_matrix4_array(result: number[] | Float32Array | mat4, position: {
|
|
9
|
+
x: number;
|
|
10
|
+
y: number;
|
|
11
|
+
z: number;
|
|
12
|
+
}, rotation: {
|
|
13
|
+
x: number;
|
|
14
|
+
y: number;
|
|
15
|
+
z: number;
|
|
16
|
+
w: number;
|
|
17
|
+
}, scale: {
|
|
18
|
+
x: number;
|
|
19
|
+
y: number;
|
|
20
|
+
z: number;
|
|
21
|
+
}): void;
|
|
9
22
|
//# sourceMappingURL=compose_matrix4_array.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compose_matrix4_array.d.ts","sourceRoot":"","sources":["../../../../../src/core/geom/3d/compose_matrix4_array.js"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,8CALW,MAAM,EAAE,GAAC,YAAY,OAAK,
|
|
1
|
+
{"version":3,"file":"compose_matrix4_array.d.ts","sourceRoot":"","sources":["../../../../../src/core/geom/3d/compose_matrix4_array.js"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,8CALW,MAAM,EAAE,GAAC,YAAY,OAAK;OACrB,MAAM;OAAI,MAAM;OAAI,MAAM;;OAC1B,MAAM;OAAI,MAAM;OAAI,MAAM;OAAI,MAAM;;OACpC,MAAM;OAAI,MAAM;OAAI,MAAM;SA+CzC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
*
|
|
3
3
|
* @param {number[]|Float32Array|mat4} result
|
|
4
|
-
* @param {
|
|
5
|
-
* @param {
|
|
6
|
-
* @param {
|
|
4
|
+
* @param { { x:number, y:number, z:number } } position
|
|
5
|
+
* @param { { x:number, y:number, z:number, w:number } } rotation
|
|
6
|
+
* @param { { x:number, y:number, z:number } } scale
|
|
7
7
|
*/
|
|
8
8
|
export function compose_matrix4_array(result, position, rotation, scale) {
|
|
9
9
|
const x = rotation.x;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Vector3.d.ts","sourceRoot":"","sources":["../../../../src/core/geom/Vector3.js"],"names":[],"mappings":";AAgBA;;;GAGG;AACH;
|
|
1
|
+
{"version":3,"file":"Vector3.d.ts","sourceRoot":"","sources":["../../../../src/core/geom/Vector3.js"],"names":[],"mappings":"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"}
|
package/src/core/geom/Vector3.js
CHANGED
|
@@ -27,15 +27,32 @@ class Vector3 {
|
|
|
27
27
|
* @constructor
|
|
28
28
|
*/
|
|
29
29
|
constructor(x = 0, y = 0, z = 0) {
|
|
30
|
+
assert.isNumber(x, 'x');
|
|
31
|
+
assert.notNaN(x, 'x');
|
|
32
|
+
|
|
33
|
+
assert.isNumber(y, 'x');
|
|
34
|
+
assert.notNaN(y, 'x');
|
|
35
|
+
|
|
36
|
+
assert.isNumber(z, 'x');
|
|
37
|
+
assert.notNaN(z, 'x');
|
|
38
|
+
|
|
30
39
|
/**
|
|
40
|
+
* NOTE: do not assign directly, please use {@link set} method instead
|
|
41
|
+
* @readonly
|
|
31
42
|
* @type {number}
|
|
32
43
|
*/
|
|
33
44
|
this.x = x;
|
|
45
|
+
|
|
34
46
|
/**
|
|
47
|
+
* NOTE: do not assign directly, please use {@link set} method instead
|
|
48
|
+
* @readonly
|
|
35
49
|
* @type {number}
|
|
36
50
|
*/
|
|
37
51
|
this.y = y;
|
|
52
|
+
|
|
38
53
|
/**
|
|
54
|
+
* NOTE: do not assign directly, please use {@link set} method instead
|
|
55
|
+
* @readonly
|
|
39
56
|
* @type {number}
|
|
40
57
|
*/
|
|
41
58
|
this.z = z;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Entity.d.ts","sourceRoot":"","sources":["../../../../src/engine/ecs/Entity.js"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"Entity.d.ts","sourceRoot":"","sources":["../../../../src/engine/ecs/Entity.js"],"names":[],"mappings":";AAgBA;;;GAGG;AACH;IAgaI;;;;;OAKG;IACH,+BAJW,MAAM,oCAEJ,MAAM,CAgBlB;IAlbD;;;OAGG;IACH,oBAFU,eAAe,CAES;IAWlC;;;OAGG;IACH,oBAEC;IAdD;;;OAGG;IACH,iBAEC;IAmBD;;;OAGG;IACH,4BAEC;IAfD;;;OAGG;IACH,yBAEC;IAWD;;;;OAIG;IACH,2BAAgB;IAQhB;;;OAGG;IACH,gCAAe;IAEf;;;OAGG;IACH,OAFU,WAAW,GAAC,MAAM,CAEN;IAEtB;;;OAGG;IACH,gBAAgB;IAEhB;;OAEG;IACH;;MAEE;IAUF;;;OAGG;IACH,eAFW,MAAM,GAAC,WAAW,QAI5B;IAED;;;;OAIG;IACH,cAHW,MAAM,GAAC,WAAW,GAChB,OAAO,CAMnB;IAED;;;OAGG;IACH,gBAFW,MAAM,GAAC,WAAW,QAI5B;IAED;;;OAGG;IACH,uBAEC;IAED;;OAEG;IACH,4BAQC;IAED;;;OAGG;IACH,oBAEC;IAED;;;;OAIG;IACH,8BAFa,MAAM,CAiBlB;IAED;;;;OAIG;IACH,+BAFa,OAAO,CAInB;IAED;;;;OAIG;IACH,0CAYC;IAED;;;;;OAKG;IACH,8CAQC;IAED;;;;OAIG;IACH,kCAFa,MAAE,IAAI,CA0BlB;IAED;;;;OAIG;IACH,qBAHW,MAAM,qBAShB;IAED;;;OAGG;IACH,wBAFW,MAAM,gBAiBhB;IAED;;;;;;OAMG;IACH,4BALW,MAAM,sCAGJ,MAAM,CAalB;IAED;;;;;;OAMG;IACH,+BALW,MAAM,sCAGJ,MAAM,CAyBlB;IAED;;;OAGG;IACH,WAFa,OAAO,CAwBnB;IAED;;;;OAIG;IACH,wCAHa,MAAM,CAyDlB;IAyBL;;;;OAIG;IACH,mBAFU,OAAO,CAEQ;;CAPxB;gCApc+B,sBAAsB;4BAF1B,kBAAkB;mBAF3B,oCAAoC"}
|