@woosh/meep-engine 2.126.0 → 2.126.2

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.126.0",
8
+ "version": "2.126.2",
9
9
  "main": "build/meep.module.js",
10
10
  "module": "build/meep.module.js",
11
11
  "exports": {
@@ -85,6 +85,9 @@ export class OffsetAllocator {
85
85
  * @param {Allocation} allocation
86
86
  */
87
87
  free(allocation: Allocation): void;
88
+ /**
89
+ * Drop all allocations, effectively deallocating everything and restoring allocator into initial state
90
+ */
88
91
  reset(): void;
89
92
  /**
90
93
  * Useful for debug and UI
@@ -1 +1 @@
1
- {"version":3,"file":"OffsetAllocator.d.ts","sourceRoot":"","sources":["../../../../../src/core/binary/allocator/OffsetAllocator.js"],"names":[],"mappings":"AAaA,iCAAkC,UAAU,CAAC;AAmF7C;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH;IAwDI;;;;OAIG;IACH,kBAHW,MAAM,cACN,MAAM,EAYhB;IAtED;;;;OAIG;IACH,MAFU,MAAM,CAEP;IAET;;;;OAIG;IACH,WAFU,MAAM,CAEF;IAEd;;;OAGG;IACH,aAFU,MAAM,CAEA;IAEhB;;;OAGG;IACH,aAFU,MAAM,CAEA;IAEhB;;;OAGG;IACH,UAFU,UAAU,CAEoB;IAExC;;;OAGG;IACH,YAFU,WAAW,CAEuB;IAE5C;;;OAGG;IACH,OAFU,aAAa,CAEmB;IAE1C;;OAEG;IACH,WAFU,WAAW,CAEX;IAEV;;;OAGG;IACH,YAFU,MAAM,CAED;IAmBf;;;;OAIG;IACH,eAHW,MAAM,GACJ,UAAU,CAkGtB;IAED;;;OAGG;IACH,iBAFW,UAAU,QAsFpB;IAqID,cA4BC;IAED;;;OAGG;IACH,iBAFY,aAAa,CA2BxB;;CACJ;8BA9jB6B,yCAAyC;AAgDvE;IAII;;;;;OAKG;IACH,oBAJW,MAAM,YACN,MAAM,GACL,UAAU,CASrB;IAhBD,eAA4B;IAC5B,iBAA8B;CAgBjC;AAoBD;IACI,uBAAkB;IAClB,0BAAqB;CACxB"}
1
+ {"version":3,"file":"OffsetAllocator.d.ts","sourceRoot":"","sources":["../../../../../src/core/binary/allocator/OffsetAllocator.js"],"names":[],"mappings":"AAaA,iCAAkC,UAAU,CAAC;AAmF7C;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH;IAwDI;;;;OAIG;IACH,kBAHW,MAAM,cACN,MAAM,EAYhB;IAtED;;;;OAIG;IACH,MAFU,MAAM,CAEP;IAET;;;;OAIG;IACH,WAFU,MAAM,CAEF;IAEd;;;OAGG;IACH,aAFU,MAAM,CAEA;IAEhB;;;OAGG;IACH,aAFU,MAAM,CAEA;IAEhB;;;OAGG;IACH,UAFU,UAAU,CAEoB;IAExC;;;OAGG;IACH,YAFU,WAAW,CAEuB;IAE5C;;;OAGG;IACH,OAFU,aAAa,CAEmB;IAE1C;;OAEG;IACH,WAFU,WAAW,CAEX;IAEV;;;OAGG;IACH,YAFU,MAAM,CAED;IAmBf;;;;OAIG;IACH,eAHW,MAAM,GACJ,UAAU,CAkGtB;IAED;;;OAGG;IACH,iBAFW,UAAU,QAsFpB;IAqID;;OAEG;IACH,cA4BC;IAED;;;OAGG;IACH,iBAFY,aAAa,CA2BxB;;CACJ;8BAjkB6B,yCAAyC;AAgDvE;IAII;;;;;OAKG;IACH,oBAJW,MAAM,YACN,MAAM,GACL,UAAU,CASrB;IAhBD,eAA4B;IAC5B,iBAA8B;CAgBjC;AAoBD;IACI,uBAAkB;IAClB,0BAAqB;CACxB"}
@@ -513,6 +513,9 @@ export class OffsetAllocator {
513
513
  }
514
514
  }
515
515
 
516
+ /**
517
+ * Drop all allocations, effectively deallocating everything and restoring allocator into initial state
518
+ */
516
519
  reset() {
517
520
  this.freeStorage = 0;
518
521
  this.usedBinsTop = 0;
@@ -1 +1 @@
1
- {"version":3,"file":"compute_triangle_area_3d.d.ts","sourceRoot":"","sources":["../../../../../../src/core/geom/3d/triangle/compute_triangle_area_3d.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,6CAXW,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,GACJ,MAAM,CAyBlB"}
1
+ {"version":3,"file":"compute_triangle_area_3d.d.ts","sourceRoot":"","sources":["../../../../../../src/core/geom/3d/triangle/compute_triangle_area_3d.js"],"names":[],"mappings":"AAEA;;;;;;;;;;;;GAYG;AACH,6CAXW,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,GACJ,MAAM,CAoClB"}
@@ -1,3 +1,5 @@
1
+ import { assert } from "../../../assert.js";
2
+
1
3
  /**
2
4
  * Based on: https://gamedev.stackexchange.com/questions/165643/how-to-calculate-the-surface-area-of-a-mesh
3
5
  * @param {number} x0
@@ -16,6 +18,17 @@ export function compute_triangle_area_3d(
16
18
  x1, y1, z1,
17
19
  x2, y2, z2
18
20
  ) {
21
+ assert.isNumber(x0,'x0');
22
+ assert.isNumber(y0, 'y0');
23
+ assert.isNumber(z0, 'z0');
24
+
25
+ assert.isNumber(x1, 'x1');
26
+ assert.isNumber(y1, 'y1');
27
+ assert.isNumber(z1, 'z1');
28
+
29
+ assert.isNumber(x2, 'x2');
30
+ assert.isNumber(y2, 'y2');
31
+ assert.isNumber(z2, 'z2');
19
32
 
20
33
  const ax = x1 - x0;
21
34
  const ay = y1 - y0;
@@ -5,6 +5,7 @@ import {Transform} from "../transform/Transform";
5
5
  export class EntityNode {
6
6
  constructor(entity?: Entity)
7
7
 
8
+ readonly root: EntityNode
8
9
  readonly parent: EntityNode | null
9
10
  readonly entity: Entity
10
11
 
@@ -1 +1 @@
1
- {"version":3,"file":"EntityNode.d.ts","sourceRoot":"","sources":["../../../../../src/engine/ecs/parent/EntityNode.js"],"names":[],"mappings":"AAYA;;GAEG;AACH;IAiJI;;;;OAIG;IACH,qCAHW,GAAC,GACA,UAAU,CAYrB;IA/HD;;;OAGG;IACH,qBAFW,MAAM,EAWhB;IA7CD;;;;OAIG;IACH,iBAAgB;IAEhB;;;;OAIG;IACH,mBAAgB;IAEhB;;;;OAIG;IACH,oBAA8B;IAE9B;;;MAGE;IAEF;;;OAGG;IACH,OAFU,MAAM,CAEM;IAQlB;;;;OAIG;IACH,iBAAsB;IAI1B;;;;OAIG;IACH,cAHW,MAAM,GAAC,eAAe,GACpB,IAAI,CAIhB;IAED;;;;OAIG;IACH,gBAHW,MAAM,GAAC,eAAe,GACpB,IAAI,CAIhB;IAED;;;;OAIG;IACH,gBAHW,MAAM,GAAC,eAAe,SACtB,OAAO,QAQjB;IAED;;;;OAIG;IACH,cAHW,MAAM,GAAC,eAAe,GACpB,OAAO,CAInB;IAED;;;;OAIG;IACH,iCAFW,GAAC,QAaX;IAED;;;;OAIG;IACH,yCAFW,GAAC,QAIX;IAED;;;OAGG;IACH,gBAFY,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAItC;IAED;;;OAGG;IACH,8BAgBC;IAmBD;;;;OAIG;IACH,8BAaC;IAED;;OAEG;IACH,iBAFa,SAAS,CAIrB;IAUD;;;OAGG;IACH,iBAFW,UAAU,GAAC,IAAI,EA2CzB;IArDD;;;OAGG;IACH,cAFY,UAAU,GAAC,IAAI,CAI1B;IAiDD;;;OAGG;IACH,cAFY,MAAM,CAIjB;IAED;;;;OAIG;IACH,eAHW,UAAU,GACR,OAAO,CAuBnB;IAED;;;;OAIG;IACH,kBAHW,UAAU,GACR,OAAO,CAenB;IAED,uBAEC;IAED,wBAWC;IAED,wBAOC;IAED;;;OAGG;IACH,WAFW,sBAAsB,QAsDhC;IAGD,gBA4BC;IAGL;;;OAGG;IACH,uBAFU,OAAO,CAEgB;CANhC;mBA1akB,uCAAuC;gCAI1B,sBAAsB;0BAD5B,2BAA2B;mBAFlC,cAAc"}
1
+ {"version":3,"file":"EntityNode.d.ts","sourceRoot":"","sources":["../../../../../src/engine/ecs/parent/EntityNode.js"],"names":[],"mappings":"AAYA;;GAEG;AACH;IAiJI;;;;OAIG;IACH,qCAHW,GAAC,GACA,UAAU,CAYrB;IA/HD;;;OAGG;IACH,qBAFW,MAAM,EAWhB;IA7CD;;;;OAIG;IACH,iBAAgB;IAEhB;;;;OAIG;IACH,mBAAgB;IAEhB;;;;OAIG;IACH,oBAA8B;IAE9B;;;MAGE;IAEF;;;OAGG;IACH,OAFU,MAAM,CAEM;IAQlB;;;;OAIG;IACH,iBAAsB;IAI1B;;;;OAIG;IACH,cAHW,MAAM,GAAC,eAAe,GACpB,IAAI,CAIhB;IAED;;;;OAIG;IACH,gBAHW,MAAM,GAAC,eAAe,GACpB,IAAI,CAIhB;IAED;;;;OAIG;IACH,gBAHW,MAAM,GAAC,eAAe,SACtB,OAAO,QAQjB;IAED;;;;OAIG;IACH,cAHW,MAAM,GAAC,eAAe,GACpB,OAAO,CAInB;IAED;;;;OAIG;IACH,iCAFW,GAAC,QAaX;IAED;;;;OAIG;IACH,yCAFW,GAAC,QAIX;IAED;;;OAGG;IACH,gBAFY,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAItC;IAED;;;OAGG;IACH,8BAgBC;IAmBD;;;;OAIG;IACH,8BAaC;IAED;;OAEG;IACH,iBAFa,SAAS,CAIrB;IAED;;;OAGG;IACH,YAFY,UAAU,CAQrB;IAUD;;;OAGG;IACH,iBAFW,UAAU,GAAC,IAAI,EA2CzB;IArDD;;;OAGG;IACH,cAFY,UAAU,GAAC,IAAI,CAI1B;IAiDD;;;OAGG;IACH,cAFY,MAAM,CAIjB;IAED;;;;OAIG;IACH,eAHW,UAAU,GACR,OAAO,CAuBnB;IAED;;;;OAIG;IACH,kBAHW,UAAU,GACR,OAAO,CAenB;IAED,uBAEC;IAED,wBAWC;IAED,wBAOC;IAED;;;OAGG;IACH,WAFW,sBAAsB,QAsDhC;IAGD,gBA4BC;IAGL;;;OAGG;IACH,uBAFU,OAAO,CAEgB;CANhC;mBAtbkB,uCAAuC;gCAI1B,sBAAsB;0BAD5B,2BAA2B;mBAFlC,cAAc"}
@@ -202,6 +202,18 @@ export class EntityNode {
202
202
  return this.__transform;
203
203
  }
204
204
 
205
+ /**
206
+ * Root of the hierarchy, will be `this` if node is already a root
207
+ * @return {EntityNode}
208
+ */
209
+ get root(){
210
+ let node = this;
211
+ while(node.__parent !== null){
212
+ node = node.__parent;
213
+ }
214
+ return node;
215
+ }
216
+
205
217
  /**
206
218
  *
207
219
  * @return {EntityNode|null}