@woosh/meep-engine 2.119.12 → 2.119.15

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.
Files changed (80) hide show
  1. package/README.md +9 -0
  2. package/build/bundle-worker-terrain.js +1 -1
  3. package/package.json +1 -1
  4. package/src/core/collection/array/typed/array_buffer_hash.d.ts +9 -0
  5. package/src/core/collection/array/typed/array_buffer_hash.d.ts.map +1 -0
  6. package/src/core/collection/array/typed/array_buffer_hash.js +39 -0
  7. package/src/core/collection/array/typed/uint16_array_hash.d.ts +9 -0
  8. package/src/core/collection/array/typed/uint16_array_hash.d.ts.map +1 -0
  9. package/src/core/collection/array/typed/uint16_array_hash.js +29 -0
  10. package/src/core/collection/array/typed/uint32_array_hash.d.ts +9 -0
  11. package/src/core/collection/array/typed/uint32_array_hash.d.ts.map +1 -0
  12. package/src/core/collection/array/typed/uint32_array_hash.js +20 -0
  13. package/src/core/collection/array/typed/uint8_array_hash.d.ts +9 -0
  14. package/src/core/collection/array/typed/uint8_array_hash.d.ts.map +1 -0
  15. package/src/core/collection/array/typed/uint8_array_hash.js +36 -0
  16. package/src/core/geom/3d/sphere/sphere_project.d.ts +10 -0
  17. package/src/core/geom/3d/sphere/sphere_project.d.ts.map +1 -0
  18. package/src/core/geom/3d/sphere/sphere_project.js +39 -0
  19. package/src/core/geom/3d/sphere/sphere_projected_sphere_radius_sqr.d.ts +9 -0
  20. package/src/core/geom/3d/sphere/sphere_projected_sphere_radius_sqr.d.ts.map +1 -0
  21. package/src/core/geom/3d/sphere/sphere_projected_sphere_radius_sqr.js +45 -0
  22. package/src/core/geom/Quaternion.d.ts.map +1 -1
  23. package/src/core/geom/Quaternion.js +8 -17
  24. package/src/core/graph/layout/box/position_box_next_to_box.d.ts.map +1 -1
  25. package/src/core/graph/layout/box/position_box_next_to_box.js +0 -23
  26. package/src/core/parser/simple/readArrayLiteral.d.ts +9 -0
  27. package/src/core/parser/simple/readArrayLiteral.d.ts.map +1 -0
  28. package/src/core/parser/simple/readArrayLiteral.js +73 -0
  29. package/src/core/parser/simple/readLiteralToken.d.ts.map +1 -1
  30. package/src/core/parser/simple/readLiteralToken.js +1 -53
  31. package/src/core/parser/simple/skipWhitespace.d.ts +2 -2
  32. package/src/core/parser/simple/skipWhitespace.d.ts.map +1 -1
  33. package/src/core/parser/simple/skipWhitespace.js +4 -4
  34. package/src/engine/ecs/components/Tag.d.ts.map +1 -1
  35. package/src/engine/ecs/components/Tag.js +0 -1
  36. package/src/engine/ecs/dynamic_actions/rules/DynamicRuleDescriptionTable.d.ts.map +1 -1
  37. package/src/engine/ecs/dynamic_actions/rules/DynamicRuleDescriptionTable.js +14 -19
  38. package/src/engine/ecs/systems/AnimationSystem.d.ts.map +1 -1
  39. package/src/engine/ecs/systems/AnimationSystem.js +2 -2
  40. package/src/engine/graphics/ecs/animation/animator/AnimationGraphSystem.d.ts.map +1 -1
  41. package/src/engine/graphics/ecs/animation/animator/AnimationGraphSystem.js +2 -2
  42. package/src/engine/graphics/sh3/lpv/LightProbeVolume.d.ts +0 -8
  43. package/src/engine/graphics/sh3/lpv/LightProbeVolume.d.ts.map +1 -1
  44. package/src/engine/graphics/sh3/lpv/LightProbeVolume.js +0 -32
  45. package/src/engine/graphics/sh3/lpv/util/lpv_visualise_probes.d.ts +10 -0
  46. package/src/engine/graphics/sh3/lpv/util/lpv_visualise_probes.d.ts.map +1 -0
  47. package/src/engine/graphics/sh3/lpv/util/lpv_visualise_probes.js +33 -0
  48. package/src/engine/graphics/sh3/prototypeSH3Probe.js +3 -2
  49. package/src/engine/graphics/texture/atlas/AtlasPatch.d.ts.map +1 -1
  50. package/src/engine/graphics/texture/atlas/AtlasPatch.js +62 -63
  51. package/src/engine/graphics/texture/sampler/Sampler2D.d.ts.map +1 -1
  52. package/src/engine/graphics/texture/sampler/Sampler2D.js +9 -25
  53. package/src/engine/graphics/texture/virtual/NOTES.md +11 -2
  54. package/src/engine/graphics/texture/virtual/VirtualTextureMaterial.d.ts +1 -1
  55. package/src/engine/graphics/texture/virtual/VirtualTextureMaterial.d.ts.map +1 -1
  56. package/src/engine/graphics/texture/virtual/VirtualTextureMaterial.js +1 -12
  57. package/src/engine/graphics/texture/virtual/VirtualTexturePage.d.ts.map +1 -1
  58. package/src/engine/graphics/texture/virtual/VirtualTexturePage.js +0 -10
  59. package/src/engine/graphics/texture/virtual/VirtualTextureSystem.d.ts.map +1 -1
  60. package/src/engine/graphics/texture/virtual/VirtualTextureSystem.js +0 -2
  61. package/src/engine/graphics/trail/x/RibbonXMaterialSpec.d.ts.map +1 -1
  62. package/src/engine/graphics/trail/x/RibbonXMaterialSpec.js +6 -7
  63. package/src/engine/save/GameStateLoader.d.ts.map +1 -1
  64. package/src/engine/save/GameStateLoader.js +6 -9
  65. package/src/engine/save/StorageBackedList.d.ts.map +1 -1
  66. package/src/engine/save/StorageBackedList.js +16 -19
  67. package/src/generation/grid/generation/GridTaskApplyActionToCells.d.ts.map +1 -1
  68. package/src/generation/grid/generation/GridTaskApplyActionToCells.js +12 -16
  69. package/src/generation/grid/generation/GridTaskExecuteRuleTimes.d.ts.map +1 -1
  70. package/src/generation/grid/generation/GridTaskExecuteRuleTimes.js +6 -6
  71. package/src/generation/grid/generation/GridTaskSequence.d.ts.map +1 -1
  72. package/src/generation/grid/generation/GridTaskSequence.js +5 -5
  73. package/src/generation/grid/generation/discrete/GridTaskActionRuleSet.d.ts +2 -6
  74. package/src/generation/grid/generation/discrete/GridTaskActionRuleSet.d.ts.map +1 -1
  75. package/src/generation/grid/generation/discrete/GridTaskActionRuleSet.js +1 -1
  76. package/src/generation/grid/generation/road/RoadConnection.d.ts.map +1 -1
  77. package/src/generation/grid/generation/road/RoadConnection.js +17 -15
  78. package/src/engine/graphics/util/projectSphere.d.ts +0 -24
  79. package/src/engine/graphics/util/projectSphere.d.ts.map +0 -1
  80. package/src/engine/graphics/util/projectSphere.js +0 -103
@@ -0,0 +1,73 @@
1
+ import DataType from "./DataType.js";
2
+ import ParserError from "./ParserError.js";
3
+ import { readLiteralToken } from "./readLiteralToken.js";
4
+ import { skipWhitespace } from "./skipWhitespace.js";
5
+ import Token from "./Token.js";
6
+
7
+ const CHAR_ARRAY_TERMINATOR = ']';
8
+
9
+ /**
10
+ *
11
+ * @param {string} text
12
+ * @param {number} cursor
13
+ * @param {number} limit
14
+ * @return {Token}
15
+ */
16
+ export function readArrayLiteral(text, cursor, limit) {
17
+ let i = cursor;
18
+
19
+ const firstChar = text.charAt(i);
20
+
21
+ if (firstChar !== '[') {
22
+ throw new ParserError(cursor, `expected array start: '[', got '${firstChar}' instead`, text);
23
+ }
24
+
25
+ i = skipWhitespace(text, i + 1, limit);
26
+
27
+ const values = [];
28
+
29
+ // check for empty array
30
+ const char = text.charAt(i);
31
+
32
+ if (char === CHAR_ARRAY_TERMINATOR) {
33
+
34
+ // empty array
35
+ i++;
36
+
37
+ } else {
38
+
39
+ while (i < limit) {
40
+
41
+ i = skipWhitespace(text, i, limit);
42
+
43
+ const token = readLiteralToken(text, i, limit);
44
+
45
+ i = token.end;
46
+
47
+ values.push(token);
48
+
49
+ //try to find separator
50
+ i = skipWhitespace(text, i, limit);
51
+
52
+ if (i < limit) {
53
+ const char = text.charAt(i);
54
+ if (char === ',') {
55
+ //separator
56
+ i++;
57
+ } else if (char === CHAR_ARRAY_TERMINATOR) {
58
+ //end of sequence
59
+ i++;
60
+ break;
61
+ } else {
62
+ //unexpected input
63
+ throw new ParserError(i, `Unexpected input '${char}', expected either separator ',' or end of sequence '${CHAR_ARRAY_TERMINATOR}'`, text);
64
+ }
65
+ } else {
66
+ throw new ParserError(i, `Unterminated array literal`, text);
67
+ }
68
+ }
69
+
70
+ }
71
+
72
+ return new Token(values, cursor, i, 'array', DataType.Array);
73
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"readLiteralToken.d.ts","sourceRoot":"","sources":["../../../../../src/core/parser/simple/readLiteralToken.js"],"names":[],"mappings":"AA2DA;;;;;;GAMG;AACH,uCALW,MAAM,UACN,MAAM,UACN,MAAM,SAmChB"}
1
+ {"version":3,"file":"readLiteralToken.d.ts","sourceRoot":"","sources":["../../../../../src/core/parser/simple/readLiteralToken.js"],"names":[],"mappings":"AAOA;;;;;;GAMG;AACH,uCALW,MAAM,UACN,MAAM,UACN,MAAM,SAmChB"}
@@ -1,61 +1,9 @@
1
1
  import { assert } from "../../assert.js";
2
- import DataType from "./DataType.js";
3
2
  import ParserError from "./ParserError.js";
3
+ import { readArrayLiteral } from "./readArrayLiteral.js";
4
4
  import { readBooleanToken } from "./readBooleanToken.js";
5
5
  import { readNumberToken } from "./readNumberToken.js";
6
6
  import { readStringToken } from "./readStringToken.js";
7
- import { skipWhitespace } from "./skipWhitespace.js";
8
- import Token from "./Token.js";
9
-
10
- /**
11
- *
12
- * @param {string} text
13
- * @param {number} cursor
14
- * @param {number} length
15
- * @return {Token}
16
- */
17
- function readArrayLiteral(text, cursor, length) {
18
- let i = cursor;
19
-
20
- const firstChar = text.charAt(i);
21
- if (firstChar !== '[') {
22
- throw new ParserError(cursor, `expected array start: '[', got '${firstChar}' instead`, text);
23
- }
24
-
25
- i++;
26
-
27
- const values = [];
28
- while (i < length) {
29
- i = skipWhitespace(text, i, length);
30
-
31
- const token = readLiteralToken(text, i, length);
32
-
33
- i = token.end;
34
-
35
- values.push(token);
36
-
37
- //try find separator
38
- i = skipWhitespace(text, i, length);
39
- if (i < length) {
40
- const char = text.charAt(i);
41
- if (char === ',') {
42
- //separator
43
- i++;
44
- } else if (char === ']') {
45
- //end of sequence
46
- i++;
47
- break;
48
- } else {
49
- //unexpected input
50
- throw new ParserError(i, `Unexpected input '${char}', expected either separator ',' or end of sequence ']'`, text);
51
- }
52
- } else {
53
- throw new ParserError(i, `Unterminated array literal`, text);
54
- }
55
- }
56
-
57
- return new Token(values, cursor, i, 'array', DataType.Array);
58
- }
59
7
 
60
8
  /**
61
9
  *
@@ -2,8 +2,8 @@
2
2
  *
3
3
  * @param {string} text
4
4
  * @param {number} cursor
5
- * @param {number} length
5
+ * @param {number} limit
6
6
  * @returns {number}
7
7
  */
8
- export function skipWhitespace(text: string, cursor: number, length: number): number;
8
+ export function skipWhitespace(text: string, cursor: number, limit: number): number;
9
9
  //# sourceMappingURL=skipWhitespace.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"skipWhitespace.d.ts","sourceRoot":"","sources":["../../../../../src/core/parser/simple/skipWhitespace.js"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,qCALW,MAAM,UACN,MAAM,UACN,MAAM,GACJ,MAAM,CAqBlB"}
1
+ {"version":3,"file":"skipWhitespace.d.ts","sourceRoot":"","sources":["../../../../../src/core/parser/simple/skipWhitespace.js"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,qCALW,MAAM,UACN,MAAM,SACN,MAAM,GACJ,MAAM,CAqBlB"}
@@ -4,18 +4,18 @@ import { assert } from "../../assert.js";
4
4
  *
5
5
  * @param {string} text
6
6
  * @param {number} cursor
7
- * @param {number} length
7
+ * @param {number} limit
8
8
  * @returns {number}
9
9
  */
10
- export function skipWhitespace(text, cursor, length) {
10
+ export function skipWhitespace(text, cursor, limit) {
11
11
  assert.isString(text, 'text');
12
12
  assert.isNonNegativeInteger(cursor, 'cursor');
13
- assert.isNonNegativeInteger(length, 'length');
13
+ assert.isNonNegativeInteger(limit, 'limit');
14
14
 
15
15
  let i = cursor;
16
16
  let char;
17
17
 
18
- while (i < length) {
18
+ while (i < limit) {
19
19
  char = text.charAt(i);
20
20
 
21
21
  if (char === ' ' || char === '\n' || char === '\t') {
@@ -1 +1 @@
1
- {"version":3,"file":"Tag.d.ts","sourceRoot":"","sources":["../../../../../src/engine/ecs/components/Tag.js"],"names":[],"mappings":"AAIA;;GAEG;AACH;IAqNI;;;;;OAKG;IACH,kBAJW,MAAM,EAAE,gCAEN,MAAM,EAAE,CAsBpB;IAED;;;;OAIG;IACH,oBAHW,MAAM,GACJ,GAAG,CAQf;IAGD;;;;OAIG;IACH,4BAFa,GAAG,CAQf;IAzQD;;;OAGG;IACH,eAAY;IAEZ;;;OAGG;IACH,oBAEC;IAED;;;;OAIG;IACH,OAHW,MAAM,UAOhB;IAED,cAEC;IAED;;;;;OAKG;IACH,8BAFa,OAAO,CAYnB;IAED;;;OAGG;IACH,eAFW,MAAM,EAAE,QASlB;IAED;;;OAGG;IACH,mBAEC;IAED;;;;OAIG;IACH,yBAFa,OAAO,CAMnB;IAED;;;OAGG;IACH,oBAFW,MAAM,EAAE,WA4BlB;IAED;;;;OAIG;IACH,sBAHW,QAAQ,GACN,OAAO,CAsBnB;IAED;;;OAGG;IACH,aAFa,MAAM,EAAE,CAIpB;IAED;;;;OAIG;IACH,yBAHoB,MAAM,+BAKzB;IAED;;;OAGG;IACH,QAFY,MAAM,CAmBjB;IAED;;;;OAIG;IACH,cAHW,GAAG,GACF,OAAO,CAIlB;IAED,mBAEC;IAED;;;OAGG;IACH,eAFW,MAAM,EAAE,GAAC,MAAM,QAiBzB;CAwDJ;;kBAIS,MAAM"}
1
+ {"version":3,"file":"Tag.d.ts","sourceRoot":"","sources":["../../../../../src/engine/ecs/components/Tag.js"],"names":[],"mappings":"AAIA;;GAEG;AACH;IAoNI;;;;;OAKG;IACH,kBAJW,MAAM,EAAE,gCAEN,MAAM,EAAE,CAsBpB;IAED;;;;OAIG;IACH,oBAHW,MAAM,GACJ,GAAG,CAQf;IAGD;;;;OAIG;IACH,4BAFa,GAAG,CAQf;IAxQD;;;OAGG;IACH,eAAY;IAEZ;;;OAGG;IACH,oBAEC;IAED;;;;OAIG;IACH,OAHW,MAAM,UAOhB;IAED,cAEC;IAED;;;;OAIG;IACH,oBAFa,OAAO,CAYnB;IAED;;;OAGG;IACH,eAFW,MAAM,EAAE,QASlB;IAED;;;OAGG;IACH,mBAEC;IAED;;;;OAIG;IACH,yBAFa,OAAO,CAMnB;IAED;;;OAGG;IACH,oBAFW,MAAM,EAAE,WA4BlB;IAED;;;;OAIG;IACH,sBAHW,QAAQ,GACN,OAAO,CAsBnB;IAED;;;OAGG;IACH,aAFa,MAAM,EAAE,CAIpB;IAED;;;;OAIG;IACH,yBAHoB,MAAM,+BAKzB;IAED;;;OAGG;IACH,QAFY,MAAM,CAmBjB;IAED;;;;OAIG;IACH,cAHW,GAAG,GACF,OAAO,CAIlB;IAED,mBAEC;IAED;;;OAGG;IACH,eAFW,MAAM,EAAE,GAAC,MAAM,QAiBzB;CAwDJ;;kBAIS,MAAM"}
@@ -37,7 +37,6 @@ export class Tag {
37
37
 
38
38
  /**
39
39
  * Once the tag is added to the dataset it should be considered immutable, hence why this method is protected
40
- * @protected
41
40
  * @param {String} value
42
41
  * @returns {boolean}
43
42
  */
@@ -1 +1 @@
1
- {"version":3,"file":"DynamicRuleDescriptionTable.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/ecs/dynamic_actions/rules/DynamicRuleDescriptionTable.js"],"names":[],"mappings":"AAMA;IAEI,cAiBC;IAbG;;;;OAIG;IACH,yCAA0C;IAE1C;;;;OAIG;IACH,iCAA6C;IAGjD;;;;OAIG;IACH,oDAFY,sBAAsB,EAAE,GAAC,SAAS,CAI7C;IAED;;;OAGG;IACH,kBAFY,uBAAuB,CAclC;IAED,mBA8BC;IAED;;;;OAIG;IACH,yBAFa,sBAAsB,GAAC,SAAS,CAmC5C;IAED;;;;OAIG;IACH,qBAFa,sBAAsB,EAAE,CAgCpC;IAED,2DAIC;IAED,yCAMC;CAEJ;yCAjLwC,yDAAyD;uCAC3D,6BAA6B;wCAC5B,uEAAuE"}
1
+ {"version":3,"file":"DynamicRuleDescriptionTable.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/ecs/dynamic_actions/rules/DynamicRuleDescriptionTable.js"],"names":[],"mappings":"AAMA;;IAEI;;;;OAIG;IACH,yCAAsC;IAEtC;;;;OAIG;IACH,iCAAyC;IAEzC;;;;OAIG;IACH,oDAFY,sBAAsB,EAAE,GAAC,SAAS,CAI7C;IAED;;;OAGG;IACH,kBAFY,uBAAuB,CAclC;IAED,mBA8BC;IAED;;;;OAIG;IACH,yBAFa,sBAAsB,GAAC,SAAS,CAmC5C;IAED;;;;OAIG;IACH,qBAFa,sBAAsB,EAAE,CAgCpC;IAED,2DAIC;IAED,yCAMC;CAEJ;yCA1KwC,yDAAyD;uCAC3D,6BAA6B;wCAF5B,uEAAuE"}
@@ -1,29 +1,24 @@
1
+ import { HashMap } from "../../../../core/collection/map/HashMap.js";
2
+ import { MultiPredicateEvaluator } from "../../../../core/model/reactive/evaluation/MultiPredicateEvaluator.js";
1
3
  import { StaticKnowledgeDataTable } from "../../../knowledge/database/StaticKnowledgeDataTable.js";
2
4
  import { DynamicRuleDescription } from "./DynamicRuleDescription.js";
3
- import { MultiPredicateEvaluator } from "../../../../core/model/reactive/evaluation/MultiPredicateEvaluator.js";
4
- import { HashMap } from "../../../../core/collection/map/HashMap.js";
5
5
 
6
6
 
7
7
  export class DynamicRuleDescriptionTable extends StaticKnowledgeDataTable {
8
8
 
9
- constructor() {
10
- super();
11
-
12
-
13
- /**
14
- * Used to speed up finding most complex matching predicate
15
- * @type {DynamicRuleDescription[]}
16
- * @private
17
- */
18
- this.__sorted_by_predicate_complexity = [];
9
+ /**
10
+ * Used to speed up finding most complex matching predicate
11
+ * @type {DynamicRuleDescription[]}
12
+ * @private
13
+ */
14
+ __sorted_by_predicate_complexity = [];
19
15
 
20
- /**
21
- *
22
- * @type {HashMap<ReactiveExpression, DynamicRuleDescription[]>}
23
- * @private
24
- */
25
- this.__predicate_rule_mapping = new HashMap();
26
- }
16
+ /**
17
+ *
18
+ * @type {HashMap<ReactiveExpression, DynamicRuleDescription[]>}
19
+ * @private
20
+ */
21
+ __predicate_rule_mapping = new HashMap();
27
22
 
28
23
  /**
29
24
  *
@@ -1 +1 @@
1
- {"version":3,"file":"AnimationSystem.d.ts","sourceRoot":"","sources":["../../../../../src/engine/ecs/systems/AnimationSystem.js"],"names":[],"mappings":"AAwJA;;;;GAIG;AACH,wCAHW,mBAAmB,aACnB,MAAM,QAehB;;sDArKM,OAAO;AA4Kd;IACI;;;;OAIG;IACH,mCAMC;IAHG,iDAAqC;IAErC,sBAAgC;IAGpC;;;;;OAKG;IACH,gBAJW,SAAS,gCAkBnB;IAED;;;;;OAKG;IACH,kBAJW,SAAS,gCAanB;CAsJJ;uBAtWsB,cAAc;iBARpB,iCAAiC;0BAKxB,2BAA2B"}
1
+ {"version":3,"file":"AnimationSystem.d.ts","sourceRoot":"","sources":["../../../../../src/engine/ecs/systems/AnimationSystem.js"],"names":[],"mappings":"AAwJA;;;;GAIG;AACH,wCAHW,mBAAmB,aACnB,MAAM,QAehB;;sDArKM,OAAO;AA4Kd;IACI;;;;OAIG;IACH,mCAMC;IAHG,iDAAqC;IAErC,sBAAgC;IAGpC;;;;;OAKG;IACH,gBAJW,SAAS,gCAkBnB;IAED;;;;;OAKG;IACH,kBAJW,SAAS,gCAanB;CAsJJ;uBAtWsB,cAAc;iBAPpB,iCAAiC;0BAIxB,2BAA2B"}
@@ -5,6 +5,7 @@ import {
5
5
  Matrix4 as ThreeMatrix4
6
6
  } from 'three';
7
7
  import { assert } from "../../../core/assert.js";
8
+ import { sphere_project } from "../../../core/geom/3d/sphere/sphere_project.js";
8
9
  import Vector4 from "../../../core/geom/Vector4.js";
9
10
  import { max3 } from "../../../core/math/max3.js";
10
11
  import Future, { FutureStates } from '../../../core/process/Future.js';
@@ -13,7 +14,6 @@ import { CameraSystem } from '../../graphics/ecs/camera/CameraSystem.js';
13
14
  import Mesh from '../../graphics/ecs/mesh/Mesh.js';
14
15
  import { MeshEvents } from "../../graphics/ecs/mesh/MeshEvents.js";
15
16
  import { MeshSystem } from "../../graphics/ecs/mesh/MeshSystem.js";
16
- import { projectSphere } from "../../graphics/util/projectSphere.js";
17
17
  import { threeUpdateTransform } from "../../graphics/util/threeUpdateTransform.js";
18
18
  import { Animation } from '../animation/Animation.js';
19
19
  import { AnimationClipFlag } from "../animation/AnimationClipFlag.js";
@@ -286,7 +286,7 @@ class AnimationSystem extends System {
286
286
  v4boundingSphere.multiplyScalar(scaleMax);
287
287
  v4boundingSphere.add3(position);
288
288
 
289
- const area = projectSphere(v4boundingSphere, cameraMatrix, focalLength);
289
+ const area = sphere_project(v4boundingSphere, cameraMatrix, focalLength);
290
290
  const inPixels = area * viewportSize.x * viewportSize.y;
291
291
  return inPixels;
292
292
  }
@@ -1 +1 @@
1
- {"version":3,"file":"AnimationGraphSystem.d.ts","sourceRoot":"","sources":["../../../../../../../src/engine/graphics/ecs/animation/animator/AnimationGraphSystem.js"],"names":[],"mappings":"AAoBA;IACI;;;OAGG;IACH,mCA2CC;IAxCG,sDAA0C;IAE1C,4DAEC;IAED;;;;OAIG;IACH,oBAAoB;IAEpB;;;;OAIG;IACH,uCAAuC;IAEvC;;;;OAIG;IACH,sBAAsB;IAEtB;;;;OAIG;IACH,uBAAkC;IAElC;;;;OAIG;IACH,2BAAuC;IAG3C;;;;OAIG;IACH,2BAmBC;IAED;;;;;OAKG;IACH,YAJW,cAAc,QACd,IAAI,UACJ,MAAM,QAahB;IAED;;;;;OAKG;IACH,cAJW,cAAc,QACd,IAAI,UACJ,MAAM,QAQhB;IAED;;;;OAIG;IACH,wBAHW,cAAc,UACd,MAAM,QAIhB;IAED;;;;OAIG;IACH,uBAHW,IAAI,UACJ,MAAM,WA+BhB;IAED;;;;;OAKG;IACH,+BAJW,MAAM,SACN,cAAc,iBACd,IAAI,WAkCd;IAGD;;;;OAIG;IACH,sBAHW,IAAI,gBACJ,OAAO,UAsCjB;IAGD,6BAqDC;CACJ;uBAnTsB,2BAA2B;iBAGlB,oBAAoB;+BAGrB,2BAA2B;4CAPd,0DAA0D;wBAL9E,OAAO"}
1
+ {"version":3,"file":"AnimationGraphSystem.d.ts","sourceRoot":"","sources":["../../../../../../../src/engine/graphics/ecs/animation/animator/AnimationGraphSystem.js"],"names":[],"mappings":"AAoBA;IACI;;;OAGG;IACH,mCA2CC;IAxCG,sDAA0C;IAE1C,4DAEC;IAED;;;;OAIG;IACH,oBAAoB;IAEpB;;;;OAIG;IACH,uCAAuC;IAEvC;;;;OAIG;IACH,sBAAsB;IAEtB;;;;OAIG;IACH,uBAAkC;IAElC;;;;OAIG;IACH,2BAAuC;IAG3C;;;;OAIG;IACH,2BAmBC;IAED;;;;;OAKG;IACH,YAJW,cAAc,QACd,IAAI,UACJ,MAAM,QAahB;IAED;;;;;OAKG;IACH,cAJW,cAAc,QACd,IAAI,UACJ,MAAM,QAQhB;IAED;;;;OAIG;IACH,wBAHW,cAAc,UACd,MAAM,QAIhB;IAED;;;;OAIG;IACH,uBAHW,IAAI,UACJ,MAAM,WA+BhB;IAED;;;;;OAKG;IACH,+BAJW,MAAM,SACN,cAAc,iBACd,IAAI,WAkCd;IAGD;;;;OAIG;IACH,sBAHW,IAAI,gBACJ,OAAO,UAsCjB;IAGD,6BAqDC;CACJ;uBAlTsB,2BAA2B;iBAElB,oBAAoB;+BAGrB,2BAA2B;4CANd,0DAA0D;wBAN9E,OAAO"}
@@ -1,11 +1,11 @@
1
1
  import { Matrix4 } from "three";
2
2
  import { assert } from "../../../../../core/assert.js";
3
+ import { sphere_project } from "../../../../../core/geom/3d/sphere/sphere_project.js";
3
4
  import Vector4 from "../../../../../core/geom/Vector4.js";
4
5
  import { max3 } from "../../../../../core/math/max3.js";
5
6
  import { ResourceAccessKind } from "../../../../../core/model/ResourceAccessKind.js";
6
7
  import { ResourceAccessSpecification } from "../../../../../core/model/ResourceAccessSpecification.js";
7
8
  import { System } from "../../../../ecs/System.js";
8
- import { projectSphere } from "../../../util/projectSphere.js";
9
9
  import { CameraSystem } from "../../camera/CameraSystem.js";
10
10
  import Mesh, { MeshFlags } from "../../mesh/Mesh.js";
11
11
  import { MeshEvents } from "../../mesh/MeshEvents.js";
@@ -240,7 +240,7 @@ export class AnimationGraphSystem extends System {
240
240
  v4boundingSphere.multiplyScalar(scaleMax);
241
241
  v4boundingSphere.add3(position);
242
242
 
243
- const area = projectSphere(v4boundingSphere, cameraMatrix, this.__focalLength);
243
+ const area = sphere_project(v4boundingSphere, cameraMatrix, this.__focalLength);
244
244
 
245
245
  /**
246
246
  *
@@ -42,16 +42,8 @@ export class LightProbeVolume {
42
42
  * Build tetrahedral mesh
43
43
  */
44
44
  build_mesh(): void;
45
- /**
46
- *
47
- * @param {number} size
48
- * @param {boolean} shadow
49
- * @returns {EntityNode}
50
- */
51
- visualize_probes({ size, shadow }: number): EntityNode;
52
45
  incrementVersion(): void;
53
46
  #private;
54
47
  }
55
48
  import { TetrahedralMesh } from "../../../../core/geom/3d/tetrahedra/TetrahedralMesh.js";
56
- import { EntityNode } from "../../../ecs/parent/EntityNode.js";
57
49
  //# sourceMappingURL=LightProbeVolume.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"LightProbeVolume.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/graphics/sh3/lpv/LightProbeVolume.js"],"names":[],"mappings":"AAaA;;;GAGG;AACH;IAiCI,sBAEC;IAED,cAkBC;IAED;;;OAGG;IACH,4BAEC;IAED,uBAEC;IAED,0BAEC;IAMD;;;OAGG;IACH,sCAIC;IAZD,mCAEC;IAYD,sBAEC;IAMD,uBAEC;IAND,oBAEC;IAMD;;;;;OAKG;IACH,aAJW,MAAM,KACN,MAAM,KACN,MAAM,QAgBhB;IAED;;;;OAIG;IACH,sCAFW,UAAQ;QAAC,CAAC,EAAC,MAAM,CAAC;QAAC,CAAC,EAAC,MAAM,CAAC;QAAC,CAAC,EAAC,MAAM,CAAA;KAAC,QAOhD;IAED;;OAEG;IACH,mBAaC;IAGD;;;;;OAKG;IACH,mCAJW,MAAM,GAEJ,UAAU,CAsBtB;IAGD,yBAEC;;CAEJ;gCAnM+B,wDAAwD;2BAC7D,mCAAmC"}
1
+ {"version":3,"file":"LightProbeVolume.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/graphics/sh3/lpv/LightProbeVolume.js"],"names":[],"mappings":"AAUA;;;GAGG;AACH;IAiCI,sBAEC;IAED,cAkBC;IAED;;;OAGG;IACH,4BAEC;IAED,uBAEC;IAED,0BAEC;IAMD;;;OAGG;IACH,sCAIC;IAZD,mCAEC;IAYD,sBAEC;IAMD,uBAEC;IAND,oBAEC;IAMD;;;;;OAKG;IACH,aAJW,MAAM,KACN,MAAM,KACN,MAAM,QAgBhB;IAED;;;;OAIG;IACH,sCAFW,UAAQ;QAAC,CAAC,EAAC,MAAM,CAAC;QAAC,CAAC,EAAC,MAAM,CAAC;QAAC,CAAC,EAAC,MAAM,CAAA;KAAC,QAOhD;IAED;;OAEG;IACH,mBAaC;IAGD,yBAEC;;CAEJ;gCAnK+B,wDAAwD"}
@@ -6,9 +6,6 @@ import {
6
6
  tetrahedral_mesh_build_from_grid
7
7
  } from "../../../../core/geom/3d/tetrahedra/delaunay/grid/tetrahedral_mesh_build_from_grid.js";
8
8
  import { TetrahedralMesh } from "../../../../core/geom/3d/tetrahedra/TetrahedralMesh.js";
9
- import { EntityNode } from "../../../ecs/parent/EntityNode.js";
10
- import { Transform } from "../../../ecs/transform/Transform.js";
11
- import { sh3_make_shaded_geometry } from "../visualise_spherical_harmonic_sphere.js";
12
9
 
13
10
 
14
11
  /**
@@ -167,35 +164,6 @@ export class LightProbeVolume {
167
164
  }
168
165
 
169
166
 
170
- /**
171
- *
172
- * @param {number} size
173
- * @param {boolean} shadow
174
- * @returns {EntityNode}
175
- */
176
- visualize_probes({ size = 0.2, shadow = false }) {
177
- const parent = new EntityNode();
178
- parent.entity.add(new Transform());
179
-
180
- for (let i = 0; i < this.#probe_count; i++) {
181
- const probe_node = new EntityNode();
182
-
183
-
184
- probe_node.entity.add(new Transform());
185
- probe_node.entity.add(
186
- sh3_make_shaded_geometry(this.#sh3_rgb, i * 3 * 9, shadow)
187
- );
188
-
189
- probe_node.transform.position.fromArray(this.#probe_positions, i * 3);
190
- probe_node.transform.scale.setScalar(size);
191
-
192
- parent.addChild(probe_node);
193
- }
194
-
195
- return parent;
196
- }
197
-
198
-
199
167
  incrementVersion() {
200
168
  this.#version++;
201
169
  }
@@ -0,0 +1,10 @@
1
+ /**
2
+ *
3
+ * @param {LightProbeVolume} volume
4
+ * @param {number} size
5
+ * @param {boolean} shadow
6
+ * @returns {EntityNode}
7
+ */
8
+ export function lpv_visualize_probes({ volume, size, shadow }: LightProbeVolume): EntityNode;
9
+ import { EntityNode } from "../../../../ecs/parent/EntityNode.js";
10
+ //# sourceMappingURL=lpv_visualise_probes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lpv_visualise_probes.d.ts","sourceRoot":"","sources":["../../../../../../../src/engine/graphics/sh3/lpv/util/lpv_visualise_probes.js"],"names":[],"mappings":"AAIA;;;;;;GAMG;AACH,kFAFa,UAAU,CAuBtB;2BAhC0B,sCAAsC"}
@@ -0,0 +1,33 @@
1
+ import { EntityNode } from "../../../../ecs/parent/EntityNode.js";
2
+ import { Transform } from "../../../../ecs/transform/Transform.js";
3
+ import { sh3_make_shaded_geometry } from "../../visualise_spherical_harmonic_sphere.js";
4
+
5
+ /**
6
+ *
7
+ * @param {LightProbeVolume} volume
8
+ * @param {number} size
9
+ * @param {boolean} shadow
10
+ * @returns {EntityNode}
11
+ */
12
+ export function lpv_visualize_probes({ volume, size = 0.2, shadow = false }) {
13
+ const parent = new EntityNode();
14
+ parent.entity.add(new Transform());
15
+
16
+ const count = volume.count;
17
+ for (let i = 0; i < count; i++) {
18
+ const probe_node = new EntityNode();
19
+
20
+
21
+ probe_node.entity.add(new Transform());
22
+ probe_node.entity.add(
23
+ sh3_make_shaded_geometry(volume.harmonics, i * 3 * 9, shadow)
24
+ );
25
+
26
+ probe_node.transform.position.fromArray(volume.points, i * 3);
27
+ probe_node.transform.scale.setScalar(size);
28
+
29
+ parent.addChild(probe_node);
30
+ }
31
+
32
+ return parent;
33
+ }
@@ -58,6 +58,7 @@ import { OctahedralDepthDebuggerWidget } from "./lpv/depth/octahedral/Octahedral
58
58
  import { VLPDepthMapVisualisation } from "./lpv/depth/octahedral/v2/VLPDepthMapVisualisation.js";
59
59
  import { LightProbeVolume } from "./lpv/LightProbeVolume.js";
60
60
  import { LightProbeVolumeSerializationAdapter } from "./lpv/serialization/LightProbeVolumeSerializationAdapter.js";
61
+ import { lpv_visualize_probes } from "./lpv/util/lpv_visualise_probes.js";
61
62
 
62
63
  /**
63
64
  *
@@ -420,7 +421,7 @@ async function main(engine) {
420
421
  sg.writeFlag(ShadedGeometryFlags.CastShadow | ShadedGeometryFlags.ReceiveShadow, true);
421
422
 
422
423
  const material = sg.material;
423
- if(material !== null){
424
+ if (material !== null) {
424
425
  material.depthTest = true;
425
426
  material.depthWrite = true;
426
427
  }
@@ -503,7 +504,7 @@ async function main(engine) {
503
504
  transformer.update();
504
505
 
505
506
 
506
- const probe_viz = volume.visualize_probes({ size: model_footprint * 0.002 });
507
+ const probe_viz = lpv_visualize_probes({ volume, size: model_footprint * 0.002 });
507
508
  // probe_viz.build(ecd);
508
509
 
509
510
  const mesh_viz = visualize_tetrahedral_mesh({
@@ -1 +1 @@
1
- {"version":3,"file":"AtlasPatch.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/graphics/texture/atlas/AtlasPatch.js"],"names":[],"mappings":"AAIA;IAEQ;;;;OAIG;IACH,mBAFU,OAAO,CAEgB;IAEjC;;;;OAIG;IACH,eAFU,OAAO,CAEY;IAE7B;;;OAGG;IACH,SAFU,MAAM,CAEA;IAEhB;;;OAGG;IACH,IAFU,MAAM,CAEJ;IAEZ;;;OAGG;IACH,SAFU,YAAU,IAAI,CAEL;IAEnB;;;OAGG;IACH,aAFU,SAAS,CAEgB;IAEnC;;;;;;OAMG;IACH,kBAFU,KAAK,CAEW;IAE1B;;;OAGG;IACH,OAFU,MAAM,iBAAe,CAEjB;IAEd;;;;OAIG;IACH,sBAFU,MAAM,CAEc;IAGlC;;;;OAIG;IACH,sBAHW,MAAM,gBACN,MAAM,QAqBhB;IAED;;;;OAIG;IACH,uCAHW,MAAM,gBACN,MAAM,QAYhB;IAED;;;;OAIG;IACH,cAHW,MAAM,iBAAe,GACnB,IAAI,CAIhB;IAED;;;;OAIG;IACH,gBAHW,MAAM,iBAAe,GACnB,IAAI,CAIhB;IAED;;;;OAIG;IACH,gBAHW,MAAM,iBAAe,SACrB,OAAO,QAQjB;IAED;;;;OAIG;IACH,cAHW,MAAM,iBAAe,GACnB,OAAO,CAInB;IAGL;;;OAGG;IACH,uBAFU,OAAO,CAEgB;CANhC;oBArJmB,kCAAkC;sBAChC,uCAAuC;kBAC3C,wCAAwC"}
1
+ {"version":3,"file":"AtlasPatch.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/graphics/texture/atlas/AtlasPatch.js"],"names":[],"mappings":"AAIA;IAEI;;;;OAIG;IACH,mBAFU,OAAO,CAEY;IAE7B;;;;OAIG;IACH,eAFU,OAAO,CAEQ;IAEzB;;;OAGG;IACH,SAFU,MAAM,CAEJ;IAEZ;;;OAGG;IACH,IAFU,MAAM,CAER;IAER;;;OAGG;IACH,SAFU,YAAU,IAAI,CAET;IAEf;;;OAGG;IACH,aAFU,SAAS,CAEY;IAE/B;;;;;;OAMG;IACH,kBAFU,KAAK,CAEO;IAEtB;;;OAGG;IACH,OAFU,MAAM,iBAAe,CAErB;IAEV;;;;OAIG;IACH,sBAFU,MAAM,CAEU;IAE1B;;;;OAIG;IACH,sBAHW,MAAM,gBACN,MAAM,QAqBhB;IAED;;;;OAIG;IACH,uCAHW,MAAM,gBACN,MAAM,QAYhB;IAED;;;;OAIG;IACH,cAHW,MAAM,iBAAe,GACnB,IAAI,CAIhB;IAED;;;;OAIG;IACH,gBAHW,MAAM,iBAAe,GACnB,IAAI,CAIhB;IAED;;;;OAIG;IACH,gBAHW,MAAM,iBAAe,SACrB,OAAO,QAQjB;IAED;;;;OAIG;IACH,cAHW,MAAM,iBAAe,GACnB,OAAO,CAInB;IAGL;;;OAGG;IACH,uBAFU,OAAO,CAEgB;CANhC;oBAlJmB,kCAAkC;sBADhC,uCAAuC;kBAD3C,wCAAwC"}
@@ -1,69 +1,68 @@
1
- import Vector2 from "../../../../core/geom/Vector2.js";
2
- import Rectangle from "../../../../core/geom/2d/Rectangle.js";
3
1
  import AABB2 from "../../../../core/geom/2d/aabb/AABB2.js";
2
+ import Rectangle from "../../../../core/geom/2d/Rectangle.js";
3
+ import Vector2 from "../../../../core/geom/Vector2.js";
4
4
 
5
5
  export class AtlasPatch {
6
- constructor() {
7
- /**
8
- * Position in the atlas where the raw patch data is found, excludes padding
9
- * @readonly
10
- * @type {Vector2}
11
- */
12
- this.position = new Vector2(0, 0);
13
-
14
- /**
15
- * Size in pixels of the patch, excludes padding
16
- * @readonly
17
- * @type {Vector2}
18
- */
19
- this.size = new Vector2(0, 0);
20
-
21
- /**
22
- * Number of pixels to add to patch size to avoid sampling error at the edges
23
- * @type {number}
24
- */
25
- this.padding = 4;
26
-
27
- /**
28
- * Managed by TextureAtlas
29
- * @type {number}
30
- */
31
- this.id = -1;
32
-
33
- /**
34
- * Texture data of the patch, this is what will be stenciled into the atlas
35
- * @type {Sampler2D|null}
36
- */
37
- this.sampler = null;
38
-
39
- /**
40
- * @readonly
41
- * @type {Rectangle}
42
- */
43
- this.uv = new Rectangle(0, 0, 0, 0);
44
-
45
- /**
46
- * Area in the atlas where patch along with the padding is packed into.
47
- * Used for packing inside TextureAtlas.
48
- * Do not modify manually
49
- * @readonly
50
- * @type {AABB2}
51
- */
52
- this.packing = new AABB2();
53
-
54
- /**
55
- * bitfield
56
- * @type {number|AtlasPatchFlag}
57
- */
58
- this.flags = 0;
59
-
60
- /**
61
- * Version of associated sampler that was last written.
62
- * Used to track and signal when sampler needs to be re-painted.
63
- * @type {number}
64
- */
65
- this.last_painted_version = -1;
66
- }
6
+
7
+ /**
8
+ * Position in the atlas where the raw patch data is found, excludes padding
9
+ * @readonly
10
+ * @type {Vector2}
11
+ */
12
+ position = new Vector2(0, 0);
13
+
14
+ /**
15
+ * Size in pixels of the patch, excludes padding
16
+ * @readonly
17
+ * @type {Vector2}
18
+ */
19
+ size = new Vector2(0, 0);
20
+
21
+ /**
22
+ * Number of pixels to add to patch size to avoid sampling error at the edges
23
+ * @type {number}
24
+ */
25
+ padding = 4;
26
+
27
+ /**
28
+ * Managed by TextureAtlas
29
+ * @type {number}
30
+ */
31
+ id = -1;
32
+
33
+ /**
34
+ * Texture data of the patch, this is what will be stenciled into the atlas
35
+ * @type {Sampler2D|null}
36
+ */
37
+ sampler = null;
38
+
39
+ /**
40
+ * @readonly
41
+ * @type {Rectangle}
42
+ */
43
+ uv = new Rectangle(0, 0, 0, 0);
44
+
45
+ /**
46
+ * Area in the atlas where patch along with the padding is packed into.
47
+ * Used for packing inside TextureAtlas.
48
+ * Do not modify manually
49
+ * @readonly
50
+ * @type {AABB2}
51
+ */
52
+ packing = new AABB2();
53
+
54
+ /**
55
+ * bitfield
56
+ * @type {number|AtlasPatchFlag}
57
+ */
58
+ flags = 0;
59
+
60
+ /**
61
+ * Version of associated sampler that was last written.
62
+ * Used to track and signal when sampler needs to be re-painted.
63
+ * @type {number}
64
+ */
65
+ last_painted_version = -1;
67
66
 
68
67
  /**
69
68
  *
@@ -1 +1 @@
1
- {"version":3,"file":"Sampler2D.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/graphics/texture/sampler/Sampler2D.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Sampler2D.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/graphics/texture/sampler/Sampler2D.js"],"names":[],"mappings":"AAqBA;;;;GAIG;AACH;IAi7BI;;;;;;OAMG;IACH,6DAFY,SAAS,CAKpB;IAED;;;;;;OAMG;IACH,sDAFY,SAAS,CAKpB;IAED;;;;;;OAMG;IACH,uDAFY,SAAS,CAKpB;IAED;;;;;;OAMG;IACH,uDAFY,SAAS,CAKpB;IAED;;;;;;OAMG;IACH,qDAFY,SAAS,CAKpB;IAED;;;;;;OAMG;IACH,sDAFY,SAAS,CAKpB;IAED;;;;;;OAMG;IACH,sDAFY,SAAS,CAKpB;IAED;;;;;;OAMG;IACH,wDAFY,SAAS,CAKpB;IAED;;;;;;OAMG;IACH,wDAFY,SAAS,CAKpB;IA1hCD;;;;;;;OAOG;IACH,mBANW,UAAU,MAAM,CAAC,GAAC,MAAM,EAAE,GAAC,iBAAiB,GAAC,UAAU,GAAC,WAAW,GAAC,WAAW,GAAC,SAAS,GAAC,UAAU,GAAC,UAAU,GAAC,YAAY,GAAC,YAAY,aACzI,MAAM,UACN,MAAM,WACN,MAAM,EAmDhB;IA7BG;;;OAGG;IACH,OAFU,MAAM,CAEE;IAElB;;;OAGG;IACH,QAFU,MAAM,CAEI;IAEpB;;;OAGG;IACH,UAFU,MAAM,CAEQ;IAExB;;;OAGG;IACH,MAFU,MAAM,EAAE,GAAC,iBAAiB,GAAC,UAAU,GAAC,WAAW,GAAC,WAAW,GAAC,SAAS,GAAC,UAAU,GAAC,UAAU,GAAC,YAAY,GAAC,YAAY,CAEjH;IAEhB;;;OAGG;IACH,SAFU,MAAM,CAEA;IAGpB;;;;;OAKG;IACH,sBAJW,MAAM,KACN,MAAM,UACN,MAAM,EAAE,QAQlB;IAED;;;;;;OAMG;IACH,6BALW,MAAM,KACN,MAAM,WACN,MAAM,GACJ,MAAM,CAOlB;IAED;;;;;;;OAOG;IACH,2BALW,MAAM,KACN,MAAM,WACN,MAAM,GACJ,MAAM,CA2DlB;IAED;;;;;OAKG;IACH,mBAJW,MAAM,KACN,MAAM,UACN,MAAM,EAAE,QAQlB;IAED;;;;;;OAMG;IACH,iBALW,MAAM,KACN,MAAM,UACN,MAAM,EAAE,GAAC,YAAY,GAAC,YAAY,iBAClC,MAAM,QAUhB;IAED;;;;;;OAMG;IACH,0BALW,MAAM,KACN,MAAM,WACN,MAAM,GACJ,MAAM,CAOlB;IAED;;;;;;;OAOG;IACH,wBALW,MAAM,KACN,MAAM,WACN,MAAM,GACJ,MAAM,CAgFlB;IAED;;;;;;OAMG;IACH,oBALW,MAAM,KACN,MAAM,UACN,MAAM,EAAE,GAAC,YAAY,kBACrB,MAAM,QAUhB;IAED;;;;;;OAMG;IACH,kBALW,MAAM,KACN,MAAM,UACN,MAAM,EAAE,GAAC,YAAY,GAAC,YAAY,kBAClC,MAAM,QAWhB;IAED;;;;;;OAMG;IACH,2BALW,MAAM,KACN,MAAM,WACN,MAAM,GACL,MAAM,CAOjB;IAED;;;;;;OAMG;IACH,yBALW,MAAM,KACN,MAAM,WACN,MAAM,GACJ,MAAM,CAiFlB;IAED;;;;;OAKG;IACH,mBAJW,MAAM,KACN,MAAM,UACN,MAAM,EAAE,GAAC,UAAU,MAAM,CAAC,QAcpC;IAED;;;;;;OAMG;IACH,eALW,MAAM,KACN,MAAM,WACN,MAAM,GACJ,MAAM,CAalB;IAED;;;;;OAKG;IACH,QAJW,MAAM,KACN,MAAM,UACN,MAAM,EAAE,QAalB;IAED;;;;;OAKG;IACH,SAJW,MAAM,KACN,MAAM,SACN,MAAM,EAAE,GAAC,UAAU,MAAM,CAAC,QAepC;IAED;;;;;OAKG;IACH,eAJW,MAAM,KACN,MAAM,GACJ,MAAM,CAIlB;IAED;;;;OAIG;IACH,mBAHW,MAAM,yBAUhB;IAED;;;;;;;;;OASG;IACH,aARW,SAAS,qHAoDnB;IAGD;;;;;;;OAOG;IACH,oEA8BC;IAED;;;;OAIG;IACH,2BAHW,MAAM,SACN,MAAM,QAYhB;IAED;;;;;;;OAOG;IACH,QANW,MAAM,KACN,MAAM,SACN,MAAM,UACN,MAAM,SACN,MAAO,MAAM,CAAC,QAqCxB;IAED;;;;;;OAMG;IACH,gBALW,MAAM,KACN,MAAM,WACN,MAAM,SACN,MAAM,QAqBhB;IAGD;;;;;;;OAOG;IACH,wBALW,MAAM,WACN,MAAM,UACN,MAAM,sBAyBhB;IAED;;;;;OAKG;IACH,UAJW,MAAM,KACN,MAAM,iBACN,OAAO,QAyDjB;IAED;;;OAGG;IACH,mBAFY,MAAM,CAejB;IAED;;;;OAIG;IACH,cAHW,SAAS,GACR,OAAO,CAiBlB;IAED;;;OAGG;IACH,QAFY,MAAM,CAgCjB;IAGD;;OAEG;IACH,SAFa,SAAS,CAerB;IAED;;;;;;MAUC;IAED;;;;;;aAwBC;IAiHL;;OAEG;IACH,SA9jBe,MAAM,KACN,MAAM,SACN,MAAM,EAAE,GAAC,UAAU,MAAM,CAAC,UA4jBlB;IAEvB;;;OAGG;IACH,sBAFU,OAAO,CAEc;CAZ9B;;kBAgBS,MAAM"}