@woosh/meep-engine 2.101.0 → 2.103.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.
- package/build/meep.cjs +149 -127
- package/build/meep.min.js +1 -1
- package/build/meep.module.js +149 -127
- package/package.json +1 -1
- package/src/core/__module.d.ts +4 -0
- package/src/core/__module.js +4 -0
- package/src/core/geom/2d/circle/Circle.d.ts +0 -8
- package/src/core/geom/2d/circle/Circle.d.ts.map +1 -1
- package/src/core/geom/2d/circle/Circle.js +85 -85
- package/src/core/geom/3d/cone/computeConePlaneSide.js +1 -1
- package/src/core/geom/3d/mat4/{allocate_transform_m4.d.ts → allocate_m4.d.ts} +2 -2
- package/src/core/geom/3d/mat4/allocate_m4.d.ts.map +1 -0
- package/src/core/geom/3d/mat4/{allocate_transform_m4.js → allocate_m4.js} +1 -1
- package/src/core/geom/ConicRay.d.ts +3 -1
- package/src/core/geom/ConicRay.d.ts.map +1 -1
- package/src/core/geom/ConicRay.js +7 -5
- package/src/core/geom/Vector1.d.ts.map +1 -1
- package/src/core/geom/Vector1.js +3 -0
- package/src/core/geom/Vector2.d.ts.map +1 -1
- package/src/core/geom/Vector2.js +6 -3
- package/src/core/geom/Vector3.js +1 -1
- package/src/core/geom/Vector4.d.ts.map +1 -1
- package/src/core/geom/Vector4.js +13 -92
- package/src/core/geom/vec3/v3_angle_cos_between.spec.d.ts +2 -0
- package/src/core/geom/vec3/v3_angle_cos_between.spec.d.ts.map +1 -0
- package/src/core/geom/vec3/v3_angle_cos_between.spec.js +124 -0
- package/src/core/geom/vec3/v3_distance_above_plane.d.ts +13 -4
- package/src/core/geom/vec3/v3_distance_sqr.d.ts +12 -1
- package/src/core/geom/vec3/v3_length.d.ts +9 -1
- package/src/core/geom/vec4/v4_distance_sqr.d.ts +14 -0
- package/src/core/geom/vec4/v4_distance_sqr.d.ts.map +1 -0
- package/src/core/geom/vec4/v4_distance_sqr.js +20 -0
- package/src/core/geom/vec4/v4_dot.d.ts +14 -0
- package/src/core/geom/vec4/v4_dot.d.ts.map +1 -0
- package/src/core/geom/vec4/v4_dot.js +19 -0
- package/src/core/geom/vec4/v4_length_sqr.d.ts +10 -0
- package/src/core/geom/vec4/v4_length_sqr.d.ts.map +1 -0
- package/src/core/geom/vec4/v4_length_sqr.js +11 -0
- package/src/core/geom/vec4/v4_multiply_mat4.d.ts +8 -0
- package/src/core/geom/vec4/v4_multiply_mat4.d.ts.map +1 -0
- package/src/core/geom/vec4/v4_multiply_mat4.js +42 -0
- package/src/core/lang/reactive/compileReactiveExpression.d.ts.map +1 -1
- package/src/core/lang/reactive/compileReactiveExpression.js +1 -3
- package/src/core/lang/reactive/pegjs/ReactivePegCompiler.d.ts.map +1 -1
- package/src/core/lang/reactive/pegjs/ReactivePegCompiler.js +11 -5
- package/src/core/math/PI_RECIPROCAL.d.ts +6 -0
- package/src/core/math/PI_RECIPROCAL.d.ts.map +1 -0
- package/src/core/math/PI_RECIPROCAL.js +5 -0
- package/src/core/math/newton_solver_1d.d.ts +4 -3
- package/src/core/math/newton_solver_1d.d.ts.map +1 -1
- package/src/core/math/newton_solver_1d.js +4 -3
- package/src/core/math/physics/brdf/D_GGX.d.ts.map +1 -1
- package/src/core/math/physics/brdf/D_GGX.js +4 -1
- package/src/core/math/physics/brdf/brdf_burley.d.ts.map +1 -1
- package/src/core/math/physics/brdf/brdf_burley.js +5 -1
- package/src/core/math/physics/irradiance/interpolate_irradiance_smith.d.ts.map +1 -1
- package/src/core/math/physics/irradiance/interpolate_irradiance_smith.js +3 -3
- package/src/core/primitives/strings/insert_after.spec.d.ts +2 -0
- package/src/core/primitives/strings/insert_after.spec.d.ts.map +1 -0
- package/src/core/primitives/strings/insert_after.spec.js +16 -0
- package/src/core/primitives/strings/insert_before.spec.d.ts +2 -0
- package/src/core/primitives/strings/insert_before.spec.d.ts.map +1 -0
- package/src/core/primitives/strings/insert_before.spec.js +16 -0
- package/src/core/process/executor/ConcurrentExecutor.d.ts.map +1 -1
- package/src/core/process/executor/ConcurrentExecutor.js +10 -4
- package/src/core/time/current_time_in_seconds.d.ts.map +1 -1
- package/src/core/time/current_time_in_seconds.js +1 -1
- package/src/engine/animation/curve/compute_curve_aabb.d.ts.map +1 -1
- package/src/engine/animation/curve/compute_curve_aabb.js +19 -16
- package/src/engine/ecs/fow/FogOfWar.d.ts.map +1 -1
- package/src/engine/ecs/fow/FogOfWar.js +12 -12
- package/src/engine/ecs/fow/FogOfWar.spec.js +5 -6
- package/src/engine/ecs/transform/Transform.d.ts.map +1 -1
- package/src/engine/ecs/transform/Transform.js +2 -2
- package/src/engine/google/loadGTAG.d.ts +7 -0
- package/src/engine/google/loadGTAG.d.ts.map +1 -0
- package/src/engine/google/loadGTAG.js +32 -0
- package/src/engine/graphics/texture/sampler/distance/computeUnsignedDistanceField.d.ts.map +1 -1
- package/src/engine/graphics/texture/sampler/distance/computeUnsignedDistanceField.js +6 -1
- package/src/engine/graphics/texture/sampler/distance/computeUnsignedDistanceField_Chamfer.d.ts.map +1 -1
- package/src/engine/graphics/texture/sampler/distance/computeUnsignedDistanceField_Chamfer.js +17 -1
- package/src/engine/graphics/texture/virtual/tile/VirtualTextureTile.d.ts +4 -0
- package/src/engine/graphics/texture/virtual/tile/VirtualTextureTile.d.ts.map +1 -1
- package/src/engine/graphics/texture/virtual/tile/VirtualTextureTile.js +4 -0
- package/src/engine/graphics/trail/x/NOTES.md +3 -0
- package/src/engine/graphics/trail/x/RibbonMaterialX.d.ts +11 -2
- package/src/engine/graphics/trail/x/RibbonMaterialX.d.ts.map +1 -1
- package/src/engine/graphics/trail/x/RibbonMaterialX.js +28 -13
- package/src/engine/graphics/util/projectSphere.js +4 -4
- package/src/engine/metrics/GoogleAnalyticsMetrics.d.ts +2 -1
- package/src/engine/metrics/GoogleAnalyticsMetrics.d.ts.map +1 -1
- package/src/engine/metrics/GoogleAnalyticsMetrics.js +4 -39
- package/src/engine/notify/NotificationLog.d.ts +1 -2
- package/src/engine/notify/NotificationLog.d.ts.map +1 -1
- package/src/engine/notify/NotificationLog.js +33 -32
- package/src/core/geom/3d/mat4/allocate_transform_m4.d.ts.map +0 -1
- package/src/core/lang/reactive/nearley/Reactive.ne +0 -87
- package/src/engine/compression/CompressionService.d.ts +0 -19
- package/src/engine/compression/CompressionService.d.ts.map +0 -1
- package/src/engine/compression/CompressionService.js +0 -144
- package/src/engine/graphics/trail/CodeflowTrailMaterial.d.ts +0 -4
- package/src/engine/graphics/trail/CodeflowTrailMaterial.d.ts.map +0 -1
- package/src/engine/graphics/trail/CodeflowTrailMaterial.js +0 -134
- package/src/engine/graphics/trail/TemporalPath.d.ts +0 -39
- package/src/engine/graphics/trail/TemporalPath.d.ts.map +0 -1
- package/src/engine/graphics/trail/TemporalPath.js +0 -129
- package/src/engine/graphics/trail/TemporalPath.spec.d.ts +0 -2
- package/src/engine/graphics/trail/TemporalPath.spec.d.ts.map +0 -1
- package/src/engine/graphics/trail/TemporalPath.spec.js +0 -5
- package/src/engine/graphics/util/composeMatrix4RotationScale.d.ts +0 -9
- package/src/engine/graphics/util/composeMatrix4RotationScale.d.ts.map +0 -1
- package/src/engine/graphics/util/composeMatrix4RotationScale.js +0 -14
package/build/meep.cjs
CHANGED
|
@@ -806,7 +806,7 @@ const MATRIX_BYTE_SIZE = 4 * 16;
|
|
|
806
806
|
* custom Float32Array allocator, allocated memory in continuous chunks
|
|
807
807
|
* @returns {Float32Array}
|
|
808
808
|
*/
|
|
809
|
-
function
|
|
809
|
+
function allocate_m4() {
|
|
810
810
|
if (transform_bucket_cursor >= TRANSFORM_ALLOCATOR_BUCKET_CAPACITY) {
|
|
811
811
|
transform_bucket = new ArrayBuffer(TRANSFORM_ALLOCATOR_BUCKET_CAPACITY * MATRIX_BYTE_SIZE);
|
|
812
812
|
transform_bucket_cursor = 0;
|
|
@@ -2478,7 +2478,7 @@ let Vector3$1 = class Vector3 {
|
|
|
2478
2478
|
}
|
|
2479
2479
|
|
|
2480
2480
|
/**
|
|
2481
|
-
* @param {number} [squaredError
|
|
2481
|
+
* @param {number} [squaredError]
|
|
2482
2482
|
* @return {boolean}
|
|
2483
2483
|
*/
|
|
2484
2484
|
isNormalized(squaredError = 0.01) {
|
|
@@ -4705,7 +4705,7 @@ class Transform {
|
|
|
4705
4705
|
* @readonly
|
|
4706
4706
|
* @type {Float32Array}
|
|
4707
4707
|
*/
|
|
4708
|
-
matrix =
|
|
4708
|
+
matrix = allocate_m4();
|
|
4709
4709
|
|
|
4710
4710
|
/**
|
|
4711
4711
|
* Various bit flags, see {@link TransformFlags}
|
|
@@ -47474,10 +47474,8 @@ function v2_dot(x0, y0, x1, y1) {
|
|
|
47474
47474
|
class Vector2 {
|
|
47475
47475
|
/**
|
|
47476
47476
|
*
|
|
47477
|
-
* @param {number} [x=0
|
|
47477
|
+
* @param {number} [x=0]
|
|
47478
47478
|
* @param {number} [y=0]
|
|
47479
|
-
* @property {number} x
|
|
47480
|
-
* @property {number} y
|
|
47481
47479
|
* @constructor
|
|
47482
47480
|
*/
|
|
47483
47481
|
constructor(x = 0, y = 0) {
|
|
@@ -50398,6 +50396,7 @@ class Vector1 extends Number {
|
|
|
50398
50396
|
* @param {number} x
|
|
50399
50397
|
*/
|
|
50400
50398
|
setSilent(x) {
|
|
50399
|
+
|
|
50401
50400
|
this.x = x;
|
|
50402
50401
|
}
|
|
50403
50402
|
|
|
@@ -50637,93 +50636,6 @@ function computeHashIntegerArray(...value) {
|
|
|
50637
50636
|
*/
|
|
50638
50637
|
|
|
50639
50638
|
|
|
50640
|
-
/**
|
|
50641
|
-
*
|
|
50642
|
-
* @param {number[]} result
|
|
50643
|
-
* @param {number[]} input
|
|
50644
|
-
* @param {number[]} mat4
|
|
50645
|
-
*/
|
|
50646
|
-
function v4_applyMatrix4(result, input, mat4) {
|
|
50647
|
-
const a0 = mat4[0];
|
|
50648
|
-
const a1 = mat4[1];
|
|
50649
|
-
const a2 = mat4[2];
|
|
50650
|
-
const a3 = mat4[3];
|
|
50651
|
-
|
|
50652
|
-
const b0 = mat4[4];
|
|
50653
|
-
const b1 = mat4[5];
|
|
50654
|
-
const b2 = mat4[6];
|
|
50655
|
-
const b3 = mat4[7];
|
|
50656
|
-
|
|
50657
|
-
const c0 = mat4[8];
|
|
50658
|
-
const c1 = mat4[9];
|
|
50659
|
-
const c2 = mat4[10];
|
|
50660
|
-
const c3 = mat4[11];
|
|
50661
|
-
|
|
50662
|
-
const d0 = mat4[12];
|
|
50663
|
-
const d1 = mat4[13];
|
|
50664
|
-
const d2 = mat4[14];
|
|
50665
|
-
const d3 = mat4[15];
|
|
50666
|
-
|
|
50667
|
-
const _x = input[0];
|
|
50668
|
-
const _y = input[1];
|
|
50669
|
-
const _z = input[2];
|
|
50670
|
-
const _w = input[3];
|
|
50671
|
-
|
|
50672
|
-
const x = a0 * _x + b0 * _y + c0 * _z + d0 * _w;
|
|
50673
|
-
const y = a1 * _x + b1 * _y + c1 * _z + d1 * _w;
|
|
50674
|
-
const z = a2 * _x + b2 * _y + c2 * _z + d2 * _w;
|
|
50675
|
-
const w = a3 * _x + b3 * _y + c3 * _z + d3 * _w;
|
|
50676
|
-
|
|
50677
|
-
result[0] = x;
|
|
50678
|
-
result[1] = y;
|
|
50679
|
-
result[2] = z;
|
|
50680
|
-
result[3] = w;
|
|
50681
|
-
}
|
|
50682
|
-
|
|
50683
|
-
/**
|
|
50684
|
-
*
|
|
50685
|
-
* @param {number} x0
|
|
50686
|
-
* @param {number} y0
|
|
50687
|
-
* @param {number} z0
|
|
50688
|
-
* @param {number} w0
|
|
50689
|
-
* @param {number} x1
|
|
50690
|
-
* @param {number} y1
|
|
50691
|
-
* @param {number} z1
|
|
50692
|
-
* @param {number} w1
|
|
50693
|
-
* @returns {number}
|
|
50694
|
-
*/
|
|
50695
|
-
function v4_dot(x0, y0, z0, w0, x1, y1, z1, w1) {
|
|
50696
|
-
return (x0 * x1 + y0 * y1 + z0 * z1 + w0 * w1);
|
|
50697
|
-
}
|
|
50698
|
-
|
|
50699
|
-
/**
|
|
50700
|
-
*
|
|
50701
|
-
* @param {number} x
|
|
50702
|
-
* @param {number} y
|
|
50703
|
-
* @param {number} z
|
|
50704
|
-
* @param {number} w
|
|
50705
|
-
* @returns {number}
|
|
50706
|
-
*/
|
|
50707
|
-
function v4_length_sqr(x, y, z, w) {
|
|
50708
|
-
return x * x + y * y + z * z + w * w;
|
|
50709
|
-
}
|
|
50710
|
-
|
|
50711
|
-
/**
|
|
50712
|
-
*
|
|
50713
|
-
* @param {number} x0
|
|
50714
|
-
* @param {number} y0
|
|
50715
|
-
* @param {number} z0
|
|
50716
|
-
* @param {number} w0
|
|
50717
|
-
* @param {number} x1
|
|
50718
|
-
* @param {number} y1
|
|
50719
|
-
* @param {number} z1
|
|
50720
|
-
* @param {number} w1
|
|
50721
|
-
* @returns {number}
|
|
50722
|
-
*/
|
|
50723
|
-
function v4_distance_sqr(x0, y0, z0, w0, x1, y1, z1, w1) {
|
|
50724
|
-
return v4_length_sqr(x0 - x1, y0 - y1, z0 - z1, w0 - w1);
|
|
50725
|
-
}
|
|
50726
|
-
|
|
50727
50639
|
class Vector4 {
|
|
50728
50640
|
/**
|
|
50729
50641
|
*
|
|
@@ -50808,7 +50720,10 @@ class Vector4 {
|
|
|
50808
50720
|
this.w = w;
|
|
50809
50721
|
|
|
50810
50722
|
if (this.onChanged.hasHandlers()) {
|
|
50811
|
-
this.onChanged.
|
|
50723
|
+
this.onChanged.send8(
|
|
50724
|
+
x, y, z, w,
|
|
50725
|
+
_x, _y, _z, _w
|
|
50726
|
+
);
|
|
50812
50727
|
}
|
|
50813
50728
|
}
|
|
50814
50729
|
|
|
@@ -50892,7 +50807,12 @@ class Vector4 {
|
|
|
50892
50807
|
* @returns {Vector4}
|
|
50893
50808
|
*/
|
|
50894
50809
|
add3(v3) {
|
|
50895
|
-
return this.set(
|
|
50810
|
+
return this.set(
|
|
50811
|
+
this.x + v3.x,
|
|
50812
|
+
this.y + v3.y,
|
|
50813
|
+
this.z + v3.z,
|
|
50814
|
+
this.w
|
|
50815
|
+
);
|
|
50896
50816
|
}
|
|
50897
50817
|
|
|
50898
50818
|
/**
|
|
@@ -83485,7 +83405,7 @@ class ModuleRegistry {
|
|
|
83485
83405
|
* @param {TaskGroup|Task} t
|
|
83486
83406
|
* @returns {boolean}
|
|
83487
83407
|
*/
|
|
83488
|
-
function
|
|
83408
|
+
function isGroupTask(t) {
|
|
83489
83409
|
return t.children instanceof Array;
|
|
83490
83410
|
}
|
|
83491
83411
|
|
|
@@ -83493,7 +83413,12 @@ function isGroup(t) {
|
|
|
83493
83413
|
* @class
|
|
83494
83414
|
*/
|
|
83495
83415
|
class ConcurrentExecutor {
|
|
83416
|
+
/**
|
|
83417
|
+
* How many time-slice cycles have been executed this far. This is a monotonically increasing counter
|
|
83418
|
+
* @type {number}
|
|
83419
|
+
*/
|
|
83496
83420
|
#cycle_count = 0;
|
|
83421
|
+
|
|
83497
83422
|
/**
|
|
83498
83423
|
* Handle of the last scheduled `setTimeout`
|
|
83499
83424
|
* @type {number}
|
|
@@ -83605,7 +83530,7 @@ class ConcurrentExecutor {
|
|
|
83605
83530
|
const child = children[i];
|
|
83606
83531
|
child.on.completed.add(subTaskCompleted);
|
|
83607
83532
|
child.on.failed.add(subTaskFailed);
|
|
83608
|
-
if (
|
|
83533
|
+
if (isGroupTask(child)) {
|
|
83609
83534
|
this.runGroup(child);
|
|
83610
83535
|
} else {
|
|
83611
83536
|
this.run(child);
|
|
@@ -83628,7 +83553,7 @@ class ConcurrentExecutor {
|
|
|
83628
83553
|
for (let i = 0; i < n; i++) {
|
|
83629
83554
|
const child = children[i];
|
|
83630
83555
|
|
|
83631
|
-
if (
|
|
83556
|
+
if (isGroupTask(child)) {
|
|
83632
83557
|
this.removeGroup(child);
|
|
83633
83558
|
} else {
|
|
83634
83559
|
this.removeTask(child);
|
|
@@ -83725,7 +83650,7 @@ class ConcurrentExecutor {
|
|
|
83725
83650
|
}
|
|
83726
83651
|
|
|
83727
83652
|
/**
|
|
83728
|
-
* Go through unresolved queue and move tasks
|
|
83653
|
+
* Go through unresolved queue and move tasks whose dependencies have been completed to ready queue or fail them
|
|
83729
83654
|
*/
|
|
83730
83655
|
resolveTasks() {
|
|
83731
83656
|
const queueUnresolved = this.queueUnresolved;
|
|
@@ -83762,6 +83687,7 @@ class ConcurrentExecutor {
|
|
|
83762
83687
|
/**
|
|
83763
83688
|
*
|
|
83764
83689
|
* @param {Task} task
|
|
83690
|
+
* @returns {boolean}
|
|
83765
83691
|
*/
|
|
83766
83692
|
contains(task) {
|
|
83767
83693
|
if (this.queueUnresolved.indexOf(task) !== -1) {
|
|
@@ -96292,6 +96218,7 @@ const source = typeof performance === "undefined" ? Date : performance;
|
|
|
96292
96218
|
* @returns {number}
|
|
96293
96219
|
*/
|
|
96294
96220
|
function current_time_in_seconds() {
|
|
96221
|
+
// time source produces value in milliseconds, we need to scale to seconds
|
|
96295
96222
|
return source.now() * 1e-3;
|
|
96296
96223
|
}
|
|
96297
96224
|
|
|
@@ -102796,50 +102723,51 @@ Notification.prototype.isNotification = true;
|
|
|
102796
102723
|
*/
|
|
102797
102724
|
|
|
102798
102725
|
|
|
102799
|
-
|
|
102726
|
+
class NotificationLog {
|
|
102800
102727
|
/**
|
|
102801
102728
|
* @readonly
|
|
102802
102729
|
* @type {List<Notification>}
|
|
102803
102730
|
*/
|
|
102804
|
-
|
|
102731
|
+
elements = new List();
|
|
102805
102732
|
|
|
102806
102733
|
/**
|
|
102807
102734
|
* Once number of entries in the log reaches this amount, the earliest entries will be removed to make space for new ones
|
|
102808
102735
|
* @type {number}
|
|
102809
102736
|
*/
|
|
102810
|
-
|
|
102811
|
-
}
|
|
102737
|
+
maxLength = 1000;
|
|
102812
102738
|
|
|
102813
|
-
/**
|
|
102814
|
-
|
|
102815
|
-
|
|
102816
|
-
|
|
102817
|
-
|
|
102818
|
-
|
|
102819
|
-
|
|
102739
|
+
/**
|
|
102740
|
+
*
|
|
102741
|
+
* @param {{}} options See {@link Notification.constructor} for details
|
|
102742
|
+
* @returns {Notification}
|
|
102743
|
+
*/
|
|
102744
|
+
add(options) {
|
|
102745
|
+
const notification = new Notification(options);
|
|
102820
102746
|
|
|
102821
|
-
|
|
102747
|
+
this.addNotification(notification);
|
|
102822
102748
|
|
|
102823
|
-
|
|
102824
|
-
}
|
|
102749
|
+
return notification;
|
|
102750
|
+
}
|
|
102825
102751
|
|
|
102826
|
-
/**
|
|
102827
|
-
|
|
102828
|
-
|
|
102829
|
-
|
|
102830
|
-
|
|
102752
|
+
/**
|
|
102753
|
+
*
|
|
102754
|
+
* @param {Notification} notification
|
|
102755
|
+
*/
|
|
102756
|
+
addNotification(notification) {
|
|
102831
102757
|
|
|
102832
|
-
|
|
102833
|
-
|
|
102758
|
+
// Crop notification log to size
|
|
102759
|
+
const length = this.elements.length;
|
|
102834
102760
|
|
|
102835
|
-
|
|
102761
|
+
const target = this.maxLength - 1;
|
|
102836
102762
|
|
|
102837
|
-
|
|
102838
|
-
|
|
102839
|
-
|
|
102763
|
+
if (length > target) {
|
|
102764
|
+
// too many elements, drop some
|
|
102765
|
+
this.elements.crop(length - target, length);
|
|
102766
|
+
}
|
|
102840
102767
|
|
|
102841
|
-
|
|
102842
|
-
}
|
|
102768
|
+
this.elements.add(notification);
|
|
102769
|
+
}
|
|
102770
|
+
}
|
|
102843
102771
|
|
|
102844
102772
|
class LogDisplay {
|
|
102845
102773
|
/**
|
|
@@ -117807,6 +117735,100 @@ function v2_angle_between(x0, y0, x1, y1) {
|
|
|
117807
117735
|
return Math.acos(theta);
|
|
117808
117736
|
}
|
|
117809
117737
|
|
|
117738
|
+
/**
|
|
117739
|
+
*
|
|
117740
|
+
* @param {number[]} result
|
|
117741
|
+
* @param {number[]} input
|
|
117742
|
+
* @param {number[]} mat4
|
|
117743
|
+
*/
|
|
117744
|
+
function v4_multiply_mat4(result, input, mat4) {
|
|
117745
|
+
const a0 = mat4[0];
|
|
117746
|
+
const a1 = mat4[1];
|
|
117747
|
+
const a2 = mat4[2];
|
|
117748
|
+
const a3 = mat4[3];
|
|
117749
|
+
|
|
117750
|
+
const b0 = mat4[4];
|
|
117751
|
+
const b1 = mat4[5];
|
|
117752
|
+
const b2 = mat4[6];
|
|
117753
|
+
const b3 = mat4[7];
|
|
117754
|
+
|
|
117755
|
+
const c0 = mat4[8];
|
|
117756
|
+
const c1 = mat4[9];
|
|
117757
|
+
const c2 = mat4[10];
|
|
117758
|
+
const c3 = mat4[11];
|
|
117759
|
+
|
|
117760
|
+
const d0 = mat4[12];
|
|
117761
|
+
const d1 = mat4[13];
|
|
117762
|
+
const d2 = mat4[14];
|
|
117763
|
+
const d3 = mat4[15];
|
|
117764
|
+
|
|
117765
|
+
const _x = input[0];
|
|
117766
|
+
const _y = input[1];
|
|
117767
|
+
const _z = input[2];
|
|
117768
|
+
const _w = input[3];
|
|
117769
|
+
|
|
117770
|
+
const x = a0 * _x + b0 * _y + c0 * _z + d0 * _w;
|
|
117771
|
+
const y = a1 * _x + b1 * _y + c1 * _z + d1 * _w;
|
|
117772
|
+
const z = a2 * _x + b2 * _y + c2 * _z + d2 * _w;
|
|
117773
|
+
const w = a3 * _x + b3 * _y + c3 * _z + d3 * _w;
|
|
117774
|
+
|
|
117775
|
+
result[0] = x;
|
|
117776
|
+
result[1] = y;
|
|
117777
|
+
result[2] = z;
|
|
117778
|
+
result[3] = w;
|
|
117779
|
+
}
|
|
117780
|
+
|
|
117781
|
+
/**
|
|
117782
|
+
*
|
|
117783
|
+
* @param {number} x0
|
|
117784
|
+
* @param {number} y0
|
|
117785
|
+
* @param {number} z0
|
|
117786
|
+
* @param {number} w0
|
|
117787
|
+
* @param {number} x1
|
|
117788
|
+
* @param {number} y1
|
|
117789
|
+
* @param {number} z1
|
|
117790
|
+
* @param {number} w1
|
|
117791
|
+
* @returns {number}
|
|
117792
|
+
*/
|
|
117793
|
+
function v4_dot(
|
|
117794
|
+
x0, y0, z0, w0,
|
|
117795
|
+
x1, y1, z1, w1
|
|
117796
|
+
) {
|
|
117797
|
+
|
|
117798
|
+
return (x0 * x1 + y0 * y1 + z0 * z1 + w0 * w1);
|
|
117799
|
+
}
|
|
117800
|
+
|
|
117801
|
+
/**
|
|
117802
|
+
*
|
|
117803
|
+
* @param {number} x
|
|
117804
|
+
* @param {number} y
|
|
117805
|
+
* @param {number} z
|
|
117806
|
+
* @param {number} w
|
|
117807
|
+
* @returns {number}
|
|
117808
|
+
*/
|
|
117809
|
+
function v4_length_sqr(x, y, z, w) {
|
|
117810
|
+
return x * x + y * y + z * z + w * w;
|
|
117811
|
+
}
|
|
117812
|
+
|
|
117813
|
+
/**
|
|
117814
|
+
*
|
|
117815
|
+
* @param {number} x0
|
|
117816
|
+
* @param {number} y0
|
|
117817
|
+
* @param {number} z0
|
|
117818
|
+
* @param {number} w0
|
|
117819
|
+
* @param {number} x1
|
|
117820
|
+
* @param {number} y1
|
|
117821
|
+
* @param {number} z1
|
|
117822
|
+
* @param {number} w1
|
|
117823
|
+
* @returns {number}
|
|
117824
|
+
*/
|
|
117825
|
+
function v4_distance_sqr(
|
|
117826
|
+
x0, y0, z0, w0,
|
|
117827
|
+
x1, y1, z1, w1
|
|
117828
|
+
) {
|
|
117829
|
+
return v4_length_sqr(x0 - x1, y0 - y1, z0 - z1, w0 - w1);
|
|
117830
|
+
}
|
|
117831
|
+
|
|
117810
117832
|
exports.AmbientOcclusionPostProcessEffect = AmbientOcclusionPostProcessEffect;
|
|
117811
117833
|
exports.Behavior = Behavior;
|
|
117812
117834
|
exports.BehaviorStatus = BehaviorStatus;
|
|
@@ -117839,7 +117861,7 @@ exports.v2_distance = v2_distance;
|
|
|
117839
117861
|
exports.v2_dot = v2_dot;
|
|
117840
117862
|
exports.v2_length_sqr = v2_length_sqr;
|
|
117841
117863
|
exports.v2_magnitude = v2_magnitude;
|
|
117842
|
-
exports.v4_applyMatrix4 = v4_applyMatrix4;
|
|
117843
117864
|
exports.v4_distance_sqr = v4_distance_sqr;
|
|
117844
117865
|
exports.v4_dot = v4_dot;
|
|
117845
117866
|
exports.v4_length_sqr = v4_length_sqr;
|
|
117867
|
+
exports.v4_multiply_mat4 = v4_multiply_mat4;
|