@woosh/meep-engine 2.119.47 → 2.119.49

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/package.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "description": "Fully featured ECS game engine written in JavaScript",
6
6
  "type": "module",
7
7
  "author": "Alexander Goldring",
8
- "version": "2.119.47",
8
+ "version": "2.119.49",
9
9
  "main": "build/meep.module.js",
10
10
  "module": "build/meep.module.js",
11
11
  "exports": {
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Convert cartesian coordinates to spherical
3
+ * @param {number[]} out
4
+ * @param {number} out_offset
5
+ * @param {number} x
6
+ * @param {number} y
7
+ * @param {number} z
8
+ */
9
+ export function spherical_from_cartesian(out: number[], out_offset: number, x: number, y: number, z: number): void;
10
+ //# sourceMappingURL=spherical_from_cartesian.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spherical_from_cartesian.d.ts","sourceRoot":"","sources":["../../../../../../src/core/geom/3d/sphere/spherical_from_cartesian.js"],"names":[],"mappings":"AAGA;;;;;;;GAOG;AACH,8CANW,MAAM,EAAE,cACR,MAAM,KACN,MAAM,KACN,MAAM,KACN,MAAM,QAmBhB"}
@@ -0,0 +1,29 @@
1
+ import { clamp } from "../../../math/clamp.js";
2
+ import { v3_length } from "../../vec3/v3_length.js";
3
+
4
+ /**
5
+ * Convert cartesian coordinates to spherical
6
+ * @param {number[]} out
7
+ * @param {number} out_offset
8
+ * @param {number} x
9
+ * @param {number} y
10
+ * @param {number} z
11
+ */
12
+ export function spherical_from_cartesian(out, out_offset, x, y, z) {
13
+
14
+ const radius = v3_length(x, y, z);
15
+
16
+ let theta = 0;
17
+ let phi = 0;
18
+
19
+ if (radius !== 0) {
20
+
21
+ theta = Math.atan2(x, z);
22
+ phi = Math.acos(clamp(y / radius, -1, 1));
23
+
24
+ }
25
+
26
+ out[out_offset + 0] = phi;
27
+ out[out_offset + 1] = theta;
28
+ out[out_offset + 2] = radius;
29
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"Vector3.d.ts","sourceRoot":"","sources":["../../../../src/core/geom/Vector3.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Vector3.d.ts","sourceRoot":"","sources":["../../../../src/core/geom/Vector3.js"],"names":[],"mappings":"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"}
@@ -12,6 +12,7 @@ import { v3_length_sqr } from "./vec3/v3_length_sqr.js";
12
12
  import { v3_lerp } from "./vec3/v3_lerp.js";
13
13
  import { v3_slerp } from "./vec3/v3_slerp.js";
14
14
 
15
+
15
16
  /**
16
17
  * @author Alex Goldring
17
18
  * @copyright Alex Goldring 2015-2024
@@ -63,7 +64,7 @@ class Vector3 {
63
64
  * @param {number[]|Float32Array} array
64
65
  * @param {number} offset
65
66
  */
66
- writeToArray(array=[], offset = 0) {
67
+ writeToArray(array = [], offset = 0) {
67
68
  array[offset] = this.x;
68
69
  array[offset + 1] = this.y;
69
70
  array[offset + 2] = this.z;
@@ -1 +1 @@
1
- {"version":3,"file":"makeOrbitalCameraController.d.ts","sourceRoot":"","sources":["../../../../../src/engine/graphics/camera/makeOrbitalCameraController.js"],"names":[],"mappings":"AAOA;;;;;;;GAOG;AACH,8FANW,MAAM,GAIL,MAAM,CA8FjB;mBA1GkB,qBAAqB"}
1
+ {"version":3,"file":"makeOrbitalCameraController.d.ts","sourceRoot":"","sources":["../../../../../src/engine/graphics/camera/makeOrbitalCameraController.js"],"names":[],"mappings":"AAOA;;;;;;;GAOG;AACH,8FANW,MAAM,GAIL,MAAM,CAgGjB;mBA5GkB,qBAAqB"}
@@ -39,7 +39,9 @@ export function makeOrbitalCameraController({
39
39
 
40
40
  const cameraController = getCameraController();
41
41
 
42
- rotate_from_view(delta.x * sensitivity, delta.y * sensitivity, cameraController, cameraController);
42
+ const scale = sensitivity * 2 * Math.PI / dom_element.clientHeight;
43
+
44
+ rotate_from_view(delta.x * scale, delta.y * scale, cameraController, cameraController);
43
45
  }
44
46
 
45
47
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"TopDownCameraController.d.ts","sourceRoot":"","sources":["../../../../../../../src/engine/graphics/ecs/camera/topdown/TopDownCameraController.js"],"names":[],"mappings":"AAcA;;;;;;GAMG;AACH,iDALW,MAAM,kBACN,MAAM,SACN,uBAAuB,UACvB,uBAAuB,QAejC;;AAiED;IAmJI,iDAMC;IAxJD,0BAeC;IAdG,gBAA2B;IAE3B,cAAc;IACd,YAAY;IACZ,aAAa;IAEb,iBAAiB;IACjB,oBAAoB;IACpB,oBAAsB;IAQ1B;;;;;OAKG;IACH,yBAJW,OAAO,UACP,OAAO,OACP,OAAO,QAsBjB;IAED;;;;OAIG;IACH,cAHW,uBAAuB,GACrB,OAAO,CAWnB;IAED;;;OAGG;IACH,YAFW,uBAAuB,QAYjC;IAED;;;OAGG;IACH,SAFa,uBAAuB,CAQnC;IAED;;;;;OAKG;IACH,QAJW,uBAAuB,KACvB,uBAAuB,KACvB,MAAM,QAahB;IAED;;;;;;;;MAYC;IAED;;;;;;;;aAsBC;CASJ;;;;;;oBAzPmB,qCAAqC;AAuEzD;;;;;;;;;GASG;AACH,gEANW,OAAO,kBACP,MAAM,OACN,MAAM,UACN,OAAO,eACP,OAAO,QAajB"}
1
+ {"version":3,"file":"TopDownCameraController.d.ts","sourceRoot":"","sources":["../../../../../../../src/engine/graphics/ecs/camera/topdown/TopDownCameraController.js"],"names":[],"mappings":"AAgBA;;;;;;GAMG;AACH,iDALW,MAAM,kBACN,MAAM,SACN,uBAAuB,UACvB,uBAAuB,QAiBjC;;AAiED;IAmJI,iDAMC;IAxJD,0BAeC;IAdG,gBAA2B;IAE3B,cAAc;IACd,YAAY;IACZ,aAAa;IAEb,iBAAiB;IACjB,oBAAoB;IACpB,oBAAsB;IAQ1B;;;;;OAKG;IACH,yBAJW,OAAO,UACP,OAAO,OACP,OAAO,QAsBjB;IAED;;;;OAIG;IACH,cAHW,uBAAuB,GACrB,OAAO,CAWnB;IAED;;;OAGG;IACH,YAFW,uBAAuB,QAYjC;IAED;;;OAGG;IACH,SAFa,uBAAuB,CAQnC;IAED;;;;;OAKG;IACH,QAJW,uBAAuB,KACvB,uBAAuB,KACvB,MAAM,QAahB;IAED;;;;;;;;MAYC;IAED;;;;;;;;aAsBC;CASJ;;;;;;oBA5PmB,qCAAqC;AA0EzD;;;;;;;;;GASG;AACH,gEANW,OAAO,kBACP,MAAM,OACN,MAAM,UACN,OAAO,eACP,OAAO,QAajB"}
@@ -2,9 +2,11 @@ import { Matrix4 } from "three";
2
2
  import { assert } from "../../../../../core/assert.js";
3
3
  import { eulerAnglesFromMatrix } from "../../../../../core/geom/3d/eulerAnglesFromMatrix.js";
4
4
  import { normalize_angle_rad } from "../../../../../core/geom/normalize_angle_rad.js";
5
+ import Quaternion from "../../../../../core/geom/Quaternion.js";
5
6
  import Vector3 from '../../../../../core/geom/Vector3.js';
6
7
  import { lerp } from "../../../../../core/math/lerp.js";
7
8
  import { max2 } from "../../../../../core/math/max2.js";
9
+ import { sign_not_zero } from "../../../../../core/math/sign_not_zero.js";
8
10
 
9
11
  const m4 = new Matrix4();
10
12
  const angles = [];
@@ -25,10 +27,12 @@ export function rotate_from_view(displacement_x, displacement_y, input, output)
25
27
  const i_yaw = normalize_angle_rad(input.yaw);
26
28
  const i_roll = normalize_angle_rad(input.roll);
27
29
 
28
- const d_roll = (i_roll >= (Math.PI / 2 - 0.0001) || i_roll <= -(Math.PI / 2 - 0.0001)) ? -1 : 1;
30
+ const quaternion = Quaternion.fromEulerAngles(i_pitch, i_yaw, i_roll);
31
+ const forward = Vector3.up.clone();
32
+ forward.applyQuaternion(quaternion);
29
33
 
30
34
  // flip rotation axis when pitch is over 90deg in either direction, that is UP vector is pointing down
31
- const d_yaw = d_roll * ((i_pitch > Math.PI || i_pitch < 0) ? -1 : 1) * displacement_x;
35
+ const d_yaw = sign_not_zero(forward.y) * displacement_x;
32
36
 
33
37
  output.yaw = i_yaw + d_yaw;
34
38
  output.pitch = i_pitch - displacement_y;
@@ -1 +1 @@
1
- {"version":3,"file":"PathTracerProbeRenderer.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/graphics/sh3/lpv/PathTracerProbeRenderer.js"],"names":[],"mappings":"AAuBA;IACI,mBAA0B;IAC1B,yBAAqB;IACrB,qBAAmB;IAEnB,qBAAyB;IAEzB,uBAA6B;IAE7B;;;;;;;;OAQG;IACH,kCAPW,MAAM,aACN,MAAM,YACN,MAAM,EAAE,mBACR,MAAM,UACN,MAAM,EAAE,iBACR,MAAM,QAchB;IAED,iFAuCC;IAKD,mBACC;IAED,4BAKC;CACJ;8BA9F6B,oBAAoB;2BAHvB,8BAA8B;gCADzB,mCAAmC"}
1
+ {"version":3,"file":"PathTracerProbeRenderer.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/graphics/sh3/lpv/PathTracerProbeRenderer.js"],"names":[],"mappings":"AAuBA;IACI,mBAA0B;IAC1B,yBAAqB;IACrB,qBAAoB;IAEpB,qBAAyB;IAEzB,uBAA6B;IAE7B;;;;;;;;OAQG;IACH,kCAPW,MAAM,aACN,MAAM,YACN,MAAM,EAAE,mBACR,MAAM,UACN,MAAM,EAAE,iBACR,MAAM,QAchB;IAED,iFAuCC;IAKD,mBACC;IAED,4BAKC;CACJ;8BA9F6B,oBAAoB;2BAHvB,8BAA8B;gCADzB,mCAAmC"}
@@ -24,7 +24,7 @@ const sampled_irradiance = new Float32Array(3);
24
24
  export class PathTracerProbeRenderer extends ProbeRenderer {
25
25
  tracer = new PathTracer();
26
26
  max_bounce_count = 5;
27
- sample_count = 256;
27
+ sample_count = 4096;
28
28
  // sample_count = 40960;
29
29
  random = seededRandom(0);
30
30