@woosh/meep-engine 2.131.39 → 2.131.41

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": "Pure JavaScript game engine. Fully featured and production ready.",
6
6
  "type": "module",
7
7
  "author": "Alexander Goldring",
8
- "version": "2.131.39",
8
+ "version": "2.131.41",
9
9
  "main": "build/meep.module.js",
10
10
  "module": "build/meep.module.js",
11
11
  "exports": {
@@ -1 +1 @@
1
- {"version":3,"file":"rgb_to_rgbe9995.d.ts","sourceRoot":"","sources":["../../../../src/core/color/rgb_to_rgbe9995.js"],"names":[],"mappings":"AAGA;;;;;;;GAOG;AACH,mCALW,MAAM,KACN,MAAM,KACN,MAAM,GACJ,MAAM,CAyClB"}
1
+ {"version":3,"file":"rgb_to_rgbe9995.d.ts","sourceRoot":"","sources":["../../../../src/core/color/rgb_to_rgbe9995.js"],"names":[],"mappings":"AAGA;;;;;;;GAOG;AACH,mCALW,MAAM,KACN,MAAM,KACN,MAAM,GACJ,MAAM,CAiDlB"}
@@ -26,9 +26,14 @@ export function rgb_to_rgbe9995(r, g, b) {
26
26
 
27
27
  const cMax = max3(cRed, cGreen, cBlue);
28
28
 
29
+ if(cMax === 0){
30
+ // perfect black
31
+ return 0;
32
+ }
33
+
29
34
  // expp = MAX(-B - 1, log2(maxc)) + 1 + B
30
35
 
31
- const expp = Math.max(-B - 1.0, Math.floor(Math.log(cMax) / Math.LN2)) + 1.0 + B;
36
+ const expp = Math.max(-B - 1.0, Math.floor(Math.log2(cMax))) + 1.0 + B;
32
37
 
33
38
  const sMax = Math.floor((cMax / Math.pow(2.0, expp - B - N)) + 0.5);
34
39
 
@@ -38,14 +43,17 @@ export function rgb_to_rgbe9995(r, g, b) {
38
43
  exps = expp;
39
44
  }
40
45
 
41
- const sRed = Math.floor((cRed / Math.pow(2.0, exps - B - N)) + 0.5) >>> 0;
42
- const sGreen = Math.floor((cGreen / Math.pow(2.0, exps - B - N)) + 0.5) >>> 0;
43
- const sBlue = Math.floor((cBlue / Math.pow(2.0, exps - B - N)) + 0.5) >>> 0;
46
+ const denominator = Math.pow(2.0, exps - B - N);
44
47
 
45
- return (sRed & 0x1FF)
48
+ const sRed = Math.floor((cRed / denominator) + 0.5) >>> 0;
49
+ const sGreen = Math.floor((cGreen / denominator) + 0.5) >>> 0;
50
+ const sBlue = Math.floor((cBlue / denominator) + 0.5) >>> 0;
51
+
52
+ const result = (sRed & 0x1FF)
46
53
  | ((sGreen & 0x1FF) << 9)
47
54
  | ((sBlue & 0x1FF) << 18)
48
- | ((exps & 0x1F) << 27)
49
- ;
55
+ | ((exps & 0x1F) << 27);
56
+
57
+ return result >>> 0; // force Uint32
50
58
 
51
59
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Ray3.d.ts","sourceRoot":"","sources":["../../../../../../src/core/geom/3d/ray/Ray3.js"],"names":[],"mappings":"AAUA;;;GAGG;AACH;IAkOI;;;;;;;;;;OAUG;IACH,sBATW,MAAM,YACN,MAAM,YACN,MAAM,eACN,MAAM,eACN,MAAM,eACN,MAAM,UACN,MAAM,GACL,IAAI,CAqBf;IA/PD,cAKC;IAMD,mBAEC;IAND,gBAEC;IAGG,OAAW;IAOf;;;OAGG;IACH,yCAEC;IAVD,sCAEC;IAUD,uBAEC;IAED,uBAEC;IAED,uBAEC;IAGD;;;;;OAKG;IACH,aAJW,MAAM,KACN,MAAM,KACN,MAAM,QAUhB;IAHG,UAAW;IACX,UAAW;IACX,UAAW;IAQf;;;OAGG;IACH,4CAEC;IAVD,yCAEC;IAWD,0BAEC;IAED,0BAEC;IAED,0BAEC;IAED;;;;;OAKG;IACH,gBAJW,MAAM,KACN,MAAM,KACN,MAAM,QAUhB;IAHG,UAAW;IACX,UAAW;IACX,UAAW;IAGf,2BAEC;IAED;;;;;;;OAOG;IACH,gCANW,MAAM,KACN,MAAM,KACN,MAAM,aACN,MAAM,EAAE,GAAC,YAAY,OAAK,sBAC1B,MAAM,EAAE,GAAC,YAAY,OAAK,QA6BpC;IAED;;;OAGG;IACH,uBAFW,MAAM,QAMhB;IAED;;;OAGG;IACH,iBAFW,MAAM,EAAE,UAAM,YAAY,QAepC;IAED;;;OAGG;IACH,SAFa,IAAI,CAQhB;IAED;;;OAGG;IACH,YAFW,IAAI,QAId;IAED,eAEC;IAED;;;;OAIG;IACH,cAHW,IAAI,GACF,OAAO,CAInB;IAED;;;;;;;;;OASG;IACH,yBALW,MAAM,KACN,MAAM,KACN,MAAM,GACJ,MAAM,CAclB;IAmCL;;;;OAIG;IACH,iBAFU,OAAO,CAEI;CAPpB"}
1
+ {"version":3,"file":"Ray3.d.ts","sourceRoot":"","sources":["../../../../../../src/core/geom/3d/ray/Ray3.js"],"names":[],"mappings":"AAUA;;;GAGG;AACH;IAsOI;;;;;;;;;;OAUG;IACH,sBATW,MAAM,YACN,MAAM,YACN,MAAM,eACN,MAAM,eACN,MAAM,eACN,MAAM,UACN,MAAM,GACL,IAAI,CAqBf;IAnQD,cAKC;IAMD,mBAEC;IAND,gBAEC;IAGG,OAAW;IAOf;;;OAGG;IACH,yCAEC;IAVD,sCAEC;IAUD,uBAEC;IAED,uBAEC;IAED,uBAEC;IAGD;;;;;OAKG;IACH,aAJW,MAAM,KACN,MAAM,KACN,MAAM,QAUhB;IAHG,UAAW;IACX,UAAW;IACX,UAAW;IAQf;;;OAGG;IACH,4CAEC;IAVD,yCAEC;IAWD,0BAEC;IAED,0BAEC;IAED,0BAEC;IAED;;;;;OAKG;IACH,gBAJW,MAAM,KACN,MAAM,KACN,MAAM,QAUhB;IAHG,UAAW;IACX,UAAW;IACX,UAAW;IAGf,2BAEC;IAED;;;;;;;OAOG;IACH,gCANW,MAAM,KACN,MAAM,KACN,MAAM,aACN,MAAM,EAAE,GAAC,YAAY,OAAK,sBAC1B,MAAM,EAAE,GAAC,YAAY,OAAK,QA6BpC;IAED;;;OAGG;IACH,uBAFW,MAAM,QAMhB;IAED;;;OAGG;IACH,iBAFW,MAAM,EAAE,UAAM,YAAY,QAmBpC;IAED;;;OAGG;IACH,SAFa,IAAI,CAQhB;IAED;;;OAGG;IACH,YAFW,IAAI,QAId;IAED,eAEC;IAED;;;;OAIG;IACH,cAHW,IAAI,GACF,OAAO,CAInB;IAED;;;;;;;;;OASG;IACH,yBALW,MAAM,KACN,MAAM,KACN,MAAM,GACJ,MAAM,CAclB;IAmCL;;;;OAIG;IACH,iBAFU,OAAO,CAEI;CAPpB"}
@@ -168,13 +168,17 @@ export class Ray3 extends Float32Array {
168
168
  */
169
169
  applyMatrix4(m4) {
170
170
 
171
- if (this[6] !== Infinity) {
171
+ const t_max = this[6];
172
+
173
+ if (t_max !== Infinity && t_max !== 0) {
174
+ // transform while scaling t-max
172
175
 
173
176
  ray3_interval_array_apply_matrix4(this, 0, this, 0, m4);
174
177
 
175
178
  } else {
176
179
 
177
- // special case
180
+ // special case - t_max is untouched
181
+
178
182
  v3_matrix4_multiply(this, 0, this, 0, m4);
179
183
  v3_array_matrix4_rotate(this, 3, this, 3, m4);
180
184