@woosh/meep-engine 2.119.14 → 2.119.16

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 (65) hide show
  1. package/README.md +12 -5
  2. package/package.json +1 -1
  3. package/src/core/geom/3d/sphere/sphere_project.d.ts +10 -0
  4. package/src/core/geom/3d/sphere/sphere_project.d.ts.map +1 -0
  5. package/src/core/geom/3d/sphere/sphere_project.js +39 -0
  6. package/src/core/geom/3d/sphere/sphere_projected_sphere_radius_sqr.d.ts +9 -0
  7. package/src/core/geom/3d/sphere/sphere_projected_sphere_radius_sqr.d.ts.map +1 -0
  8. package/src/core/geom/3d/sphere/sphere_projected_sphere_radius_sqr.js +45 -0
  9. package/src/core/geom/Quaternion.d.ts.map +1 -1
  10. package/src/core/geom/Quaternion.js +8 -17
  11. package/src/core/graph/layout/box/position_box_next_to_box.d.ts.map +1 -1
  12. package/src/core/graph/layout/box/position_box_next_to_box.js +0 -23
  13. package/src/core/parser/simple/readArrayLiteral.d.ts +9 -0
  14. package/src/core/parser/simple/readArrayLiteral.d.ts.map +1 -0
  15. package/src/core/parser/simple/readArrayLiteral.js +73 -0
  16. package/src/core/parser/simple/readLiteralToken.d.ts.map +1 -1
  17. package/src/core/parser/simple/readLiteralToken.js +1 -53
  18. package/src/core/parser/simple/skipWhitespace.d.ts +2 -2
  19. package/src/core/parser/simple/skipWhitespace.d.ts.map +1 -1
  20. package/src/core/parser/simple/skipWhitespace.js +4 -4
  21. package/src/engine/ecs/components/Tag.d.ts.map +1 -1
  22. package/src/engine/ecs/components/Tag.js +0 -1
  23. package/src/engine/ecs/dynamic_actions/rules/DynamicRuleDescriptionTable.d.ts.map +1 -1
  24. package/src/engine/ecs/dynamic_actions/rules/DynamicRuleDescriptionTable.js +14 -19
  25. package/src/engine/ecs/systems/AnimationSystem.d.ts.map +1 -1
  26. package/src/engine/ecs/systems/AnimationSystem.js +2 -2
  27. package/src/engine/graphics/ecs/animation/animator/AnimationGraphSystem.d.ts.map +1 -1
  28. package/src/engine/graphics/ecs/animation/animator/AnimationGraphSystem.js +2 -2
  29. package/src/engine/graphics/sh3/lpv/LightProbeVolume.d.ts +0 -8
  30. package/src/engine/graphics/sh3/lpv/LightProbeVolume.d.ts.map +1 -1
  31. package/src/engine/graphics/sh3/lpv/LightProbeVolume.js +0 -32
  32. package/src/engine/graphics/sh3/lpv/util/lpv_visualise_probes.d.ts +10 -0
  33. package/src/engine/graphics/sh3/lpv/util/lpv_visualise_probes.d.ts.map +1 -0
  34. package/src/engine/graphics/sh3/lpv/util/lpv_visualise_probes.js +33 -0
  35. package/src/engine/graphics/sh3/prototypeSH3Probe.js +3 -2
  36. package/src/engine/graphics/texture/atlas/AtlasPatch.d.ts.map +1 -1
  37. package/src/engine/graphics/texture/atlas/AtlasPatch.js +62 -63
  38. package/src/engine/graphics/texture/virtual/NOTES.md +11 -2
  39. package/src/engine/graphics/texture/virtual/VirtualTextureMaterial.d.ts +1 -1
  40. package/src/engine/graphics/texture/virtual/VirtualTextureMaterial.d.ts.map +1 -1
  41. package/src/engine/graphics/texture/virtual/VirtualTextureMaterial.js +1 -12
  42. package/src/engine/graphics/texture/virtual/VirtualTexturePage.d.ts.map +1 -1
  43. package/src/engine/graphics/texture/virtual/VirtualTexturePage.js +0 -10
  44. package/src/engine/graphics/texture/virtual/VirtualTextureSystem.d.ts.map +1 -1
  45. package/src/engine/graphics/texture/virtual/VirtualTextureSystem.js +0 -2
  46. package/src/engine/graphics/trail/x/RibbonXMaterialSpec.d.ts.map +1 -1
  47. package/src/engine/graphics/trail/x/RibbonXMaterialSpec.js +6 -7
  48. package/src/engine/save/GameStateLoader.d.ts.map +1 -1
  49. package/src/engine/save/GameStateLoader.js +6 -9
  50. package/src/engine/save/StorageBackedList.d.ts.map +1 -1
  51. package/src/engine/save/StorageBackedList.js +16 -19
  52. package/src/generation/grid/generation/GridTaskApplyActionToCells.d.ts.map +1 -1
  53. package/src/generation/grid/generation/GridTaskApplyActionToCells.js +12 -16
  54. package/src/generation/grid/generation/GridTaskExecuteRuleTimes.d.ts.map +1 -1
  55. package/src/generation/grid/generation/GridTaskExecuteRuleTimes.js +6 -6
  56. package/src/generation/grid/generation/GridTaskSequence.d.ts.map +1 -1
  57. package/src/generation/grid/generation/GridTaskSequence.js +5 -5
  58. package/src/generation/grid/generation/discrete/GridTaskActionRuleSet.d.ts +2 -6
  59. package/src/generation/grid/generation/discrete/GridTaskActionRuleSet.d.ts.map +1 -1
  60. package/src/generation/grid/generation/discrete/GridTaskActionRuleSet.js +1 -1
  61. package/src/generation/grid/generation/road/RoadConnection.d.ts.map +1 -1
  62. package/src/generation/grid/generation/road/RoadConnection.js +17 -15
  63. package/src/engine/graphics/util/projectSphere.d.ts +0 -24
  64. package/src/engine/graphics/util/projectSphere.d.ts.map +0 -1
  65. package/src/engine/graphics/util/projectSphere.js +0 -103
@@ -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
  *
@@ -88,8 +88,17 @@ https://forum.babylonjs.com/t/speeding-up-readpixels/12739
88
88
 
89
89
  ## References
90
90
 
91
- * https://studiopixl.com/2022-04-27/sparse-virtual-textures
92
- * Anisotropic filtering in a shader: https://www.shadertoy.com/view/4lXfzn
91
+ * [Shadertoy: Anisotropic filtering in a shader](https://www.shadertoy.com/view/4lXfzn)
92
+ * ["Adaptive Virtual Texture Rendering in Far Cry 4" by Ka Chen, Ubisoft. 2015](https://ubm-twvideo01.s3.amazonaws.com/o1/vault/gdc2015/presentations/Chen_Ka_AdaptiveVirtualTexture.pdf)
93
+ * "id Tech 5 Challenges: From Texture Virtualization to Massive Parallelization" by J.M.P. van Waveren, id Software, SIGGRAPH 2009
94
+ * "Using Virtual Texturing to Handle Massive Texture Data" by J.M.P. van Waveren, id Software, 2010
95
+ * "Software Virtual Textures" by J.M.P. van Waveren, id Software, 2012
96
+ * "Advanced Virtual Texture Topics" by Matrin Mittring, Crytek GmbH, SIGGRAPH 2008
97
+ * "Atlas Shrugged: Device-agnostic Radiance Megatextures" by Mark Magro et al, University of Malta, VISIGRAPP 2020
98
+ * ["Sparse virtual textures" by Nathan Gauër, 2022](https://studiopixl.com/2022-04-27/sparse-virtual-textures)
99
+ * "Terrain in Battlefield 3: A modern, complete and scalable system" by Mattias Widmark, EA Digital Illusions (DICE), GDC 2012
100
+ * "Virtual Texturing in Software and Hardware" by Juraj Obert (AMD) et al, SIGGRAPH 2012
101
+ * "Virtual Texturing" by Albert Julian Mayer, 2010
93
102
 
94
103
  ## WebGL fails
95
104
 
@@ -1,6 +1,6 @@
1
1
  export class VirtualTextureMaterial extends ShaderMaterial {
2
2
  constructor({ uniforms }: {
3
- uniforms: any;
3
+ uniforms?: {};
4
4
  });
5
5
  }
6
6
  import { ShaderMaterial } from "three";
@@ -1 +1 @@
1
- {"version":3,"file":"VirtualTextureMaterial.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/graphics/texture/virtual/VirtualTextureMaterial.js"],"names":[],"mappings":"AAEA;IACI;;OAyKC;CACJ;+BA7K0C,OAAO"}
1
+ {"version":3,"file":"VirtualTextureMaterial.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/graphics/texture/virtual/VirtualTextureMaterial.js"],"names":[],"mappings":"AAEA;IACI;;OA8JC;CACJ;+BAlK0C,OAAO"}
@@ -2,18 +2,13 @@ import { DoubleSide, ShaderMaterial } from "three";
2
2
 
3
3
  export class VirtualTextureMaterial extends ShaderMaterial {
4
4
  constructor({
5
- uniforms
5
+ uniforms = {}
6
6
  }) {
7
7
  super({
8
8
  side: DoubleSide,
9
9
  uniforms,
10
10
  vertexShader: `
11
11
 
12
- // uniform mat4 modelViewMatrix;
13
- // uniform mat4 projectionMatrix;
14
-
15
- // in vec2 uv;
16
- // in vec3 position;
17
12
  out vec2 vUv;
18
13
 
19
14
  void main()
@@ -154,12 +149,6 @@ export class VirtualTextureMaterial extends ShaderMaterial {
154
149
 
155
150
  return mip_blend;
156
151
 
157
- // return vec4(lod_fract, mip_blend.y, mip_blend.z, 1.0);
158
-
159
- // return texelFetch( u_page, tuv, 0 );
160
-
161
- // return VirtualFetchLod(uv, 7u);
162
- // return vec4(uv, texture_lod / 7.0,1.0);
163
152
  }
164
153
 
165
154
  void main(){
@@ -1 +1 @@
1
- {"version":3,"file":"VirtualTexturePage.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/graphics/texture/virtual/VirtualTexturePage.js"],"names":[],"mappings":"AAsBA;IAcI,iDAEC;IAED;;;OAGG;IACH,cAFU,MAAM,CAEC;IAEjB;;;OAGG;IACH,SAFU,MAAM,CAEJ;IAeZ,uBAEC;IAGD,wCAEC;IAED,2BAEC;IAQD;;;OAGG;IACH,2CAEC;IAmBD;;;OAGG;IACH,iCAKC;IAbD,8BAEC;IAoBD,0BAEC;IA6DD;;;OAGG;IACH,sBAEC;IAED,4BAIC;IA0JD;;;OAGG;IACH,qCAqBC;IAED,kCAEC;IAED;;;OAGG;IACH,+CAuDC;IAED,uBAMC;IAED,gBAOC;;CACJ;4BAhdsF,OAAO"}
1
+ {"version":3,"file":"VirtualTexturePage.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/graphics/texture/virtual/VirtualTexturePage.js"],"names":[],"mappings":"AAsBA;IAcI,iDAEC;IAED;;;OAGG;IACH,cAFU,MAAM,CAEC;IAEjB;;;OAGG;IACH,SAFU,MAAM,CAEJ;IAeZ,uBAEC;IAGD,wCAEC;IAED,2BAEC;IAQD;;;OAGG;IACH,2CAEC;IAmBD;;;OAGG;IACH,iCAKC;IAbD,8BAEC;IAoBD,0BAEC;IA6DD;;;OAGG;IACH,sBAEC;IAED,4BAIC;IAgJD;;;OAGG;IACH,qCAqBC;IAED,kCAEC;IAED;;;OAGG;IACH,+CAuDC;IAED,uBAMC;IAED,gBAOC;;CACJ;4BAtcsF,OAAO"}
@@ -327,16 +327,6 @@ export class VirtualTexturePage {
327
327
  writeSample2DDataToDataTexture(copy_sampler, this.#tile_copy_texture);
328
328
  }
329
329
 
330
- //
331
- // const tile_margin = this.#tile_margin;
332
- //
333
- // copy_sampler.copyWithMargin(
334
- // tile.data, 0, 0,
335
- // tile_margin, tile_margin,
336
- // this.#tile_resolution, this.#tile_resolution,
337
- // tile_margin, tile_margin, tile_margin, tile_margin
338
- // );
339
-
340
330
  this.#tile_copy_texture.image.data.set(tile.data.data);
341
331
  this.#tile_copy_texture.needsUpdate = true;
342
332
 
@@ -1 +1 @@
1
- {"version":3,"file":"VirtualTextureSystem.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/graphics/texture/virtual/VirtualTextureSystem.js"],"names":[],"mappings":"AAMA;IACI,oCAA0C;IAC1C,yBAA+B;IAC/B,qCAA2C;IAgB3C;;;;;aAeC;IAsBD;;;aAWC;IAED,uCAIC;IAED;;;;;OAKG;IACH,oEAaC;;CACJ;2CAjG0C,iCAAiC;mCADzC,yBAAyB;4CADhB,kCAAkC;uCADvC,6BAA6B"}
1
+ {"version":3,"file":"VirtualTextureSystem.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/graphics/texture/virtual/VirtualTextureSystem.js"],"names":[],"mappings":"AAMA;IACI,oCAA0C;IAC1C,yBAA+B;IAC/B,qCAA2C;IAgB3C;;;;;aAeC;IAsBD;;;aASC;IAED,uCAIC;IAED;;;;;OAKG;IACH,oEAaC;;CACJ;2CA/F0C,iCAAiC;mCADzC,yBAAyB;4CADhB,kCAAkC;uCADvC,6BAA6B"}
@@ -68,8 +68,6 @@ export class VirtualTextureSystem {
68
68
 
69
69
  this.page.page_texture_size = [page_resolution, page_resolution];
70
70
  this.page.asset_manager = asset_manager;
71
- // this.page.tile_margin = tile_margin;
72
-
73
71
 
74
72
  }
75
73
 
@@ -1 +1 @@
1
- {"version":3,"file":"RibbonXMaterialSpec.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/graphics/trail/x/RibbonXMaterialSpec.js"],"names":[],"mappings":"AAGA;IAEQ;;;OAGG;IACH,SAFU,SAAO,IAAI,CAEF;IAGvB,4BAEC;IAED,eAEC;IAED;;aASC;CACJ"}
1
+ {"version":3,"file":"RibbonXMaterialSpec.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/graphics/trail/x/RibbonXMaterialSpec.js"],"names":[],"mappings":"AAGA;IAEI;;;OAGG;IACH,SAFU,SAAO,IAAI,CAEN;IAEf,4BAEC;IAED,eAEC;IAED;;aASC;CACJ"}
@@ -2,13 +2,12 @@ import { assert } from "../../../../core/assert.js";
2
2
  import { computeStringHash } from "../../../../core/primitives/strings/computeStringHash.js";
3
3
 
4
4
  export class RibbonXMaterialSpec {
5
- constructor() {
6
- /**
7
- *
8
- * @type {String|null}
9
- */
10
- this.diffuse = null;
11
- }
5
+
6
+ /**
7
+ *
8
+ * @type {String|null}
9
+ */
10
+ diffuse = null;
12
11
 
13
12
  equals(other) {
14
13
  return this.diffuse === other.diffuse;
@@ -1 +1 @@
1
- {"version":3,"file":"GameStateLoader.d.ts","sourceRoot":"","sources":["../../../../src/engine/save/GameStateLoader.js"],"names":[],"mappings":";AAIA;IAIQ,WAA6B;IAE7B;;;OAGG;IACH,SAFU,OAAO,CAEE;IAGvB,yBAEC;IAED,gEAeC;IAED;;;;;;OAMG;IACH,iBALW,MAAM,iEAShB;IAED;;;;;OAKG;IACH,yDAIC;IAED;;;;;;OAMG;IACH,WALW,MAAM,kBACG,WAAW,yCAEX,MAAM,gBA6CzB;IAED;;;;;OAKG;IACH,YAJW,MAAM,kBACG,MAAM,kCAoBzB;IAED;;;;;OAKG;IACH,aAJW,MAAM,kBACG,OAAO,kCAwB1B;CACJ;6BAtK4B,2BAA2B"}
1
+ {"version":3,"file":"GameStateLoader.d.ts","sourceRoot":"","sources":["../../../../src/engine/save/GameStateLoader.js"],"names":[],"mappings":";AAIA;IAEI,WAAyB;IAEzB;;;OAGG;IACH,SAFU,OAAO,CAEF;IAEf,yBAEC;IAED,gEAeC;IAED;;;;;;OAMG;IACH,iBALW,MAAM,iEAShB;IAED;;;;;OAKG;IACH,yDAIC;IAED;;;;;;OAMG;IACH,WALW,MAAM,kBACG,WAAW,yCAEX,MAAM,gBA6CzB;IAED;;;;;OAKG;IACH,YAJW,MAAM,kBACG,MAAM,kCAoBzB;IAED;;;;;OAKG;IACH,aAJW,MAAM,kBACG,OAAO,kCAwB1B;CACJ;6BAnK4B,2BAA2B"}
@@ -3,17 +3,14 @@ import { array_pick_best_element } from "../../core/collection/array/array_pick_
3
3
  import { EnginePlugin } from "../plugin/EnginePlugin.js";
4
4
 
5
5
  class GameStateLoader extends EnginePlugin {
6
- constructor() {
7
- super();
8
6
 
9
- this.id = 'game-state-loader';
7
+ id = 'game-state-loader';
10
8
 
11
- /**
12
- *
13
- * @type {Storage}
14
- */
15
- this.storage = null;
16
- }
9
+ /**
10
+ *
11
+ * @type {Storage}
12
+ */
13
+ storage = null;
17
14
 
18
15
  async startup() {
19
16
  this.storage = this.engine.storage;
@@ -1 +1 @@
1
- {"version":3,"file":"StorageBackedList.d.ts","sourceRoot":"","sources":["../../../../src/engine/save/StorageBackedList.js"],"names":[],"mappings":"AAIA;;GAEG;AACH;IAKQ;;;OAGG;IACH,KAFU,MAAM,CAEH;IACb;;;OAGG;IACH,SAFU,OAAO,CAEE;IAEnB;;;OAGG;IACH,oBAAoC;IAGxC;;;;OAIG;IACH,6BAHW,MAAM,QAShB;IAED;;;OAGG;IACH,QAFY,QAAQ,CAAC,EAAE,CAAC,CAiCvB;IAED;;;;OAIG;IACH,WAHW,CAAC,GACA,QAAQ,CAAC,EAAE,CAAC,CAoBvB;IAED;;;;OAIG;IACH,gBAHW,CAAC,GACA,QAAQ,OAAO,CAAC,CAU3B;IAGD;;;OAGG;IACH,cAHW,CAAC,GACC,QAAQ,OAAO,CAAC,CAqB5B;CACJ"}
1
+ {"version":3,"file":"StorageBackedList.d.ts","sourceRoot":"","sources":["../../../../src/engine/save/StorageBackedList.js"],"names":[],"mappings":"AAIA;;GAEG;AACH;IAEI;;;OAGG;IACH,KAFU,MAAM,CAEP;IACT;;;OAGG;IACH,SAFU,OAAO,CAEF;IAEf;;;OAGG;IACH,oBAAgC;IAGhC;;;;OAIG;IACH,6BAHW,MAAM,QAShB;IAED;;;OAGG;IACH,QAFY,QAAQ,CAAC,EAAE,CAAC,CAiCvB;IAED;;;;OAIG;IACH,WAHW,CAAC,GACA,QAAQ,CAAC,EAAE,CAAC,CAoBvB;IAED;;;;OAIG;IACH,gBAHW,CAAC,GACA,QAAQ,OAAO,CAAC,CAU3B;IAGD;;;OAGG;IACH,cAHW,CAAC,GACC,QAAQ,OAAO,CAAC,CAqB5B;CACJ"}
@@ -6,27 +6,24 @@ import { returnTrue } from "../../core/function/returnTrue.js";
6
6
  * @template T
7
7
  */
8
8
  export class StorageBackedSet {
9
+
9
10
  /**
10
- * @template T
11
+ *
12
+ * @type {string}
11
13
  */
12
- constructor() {
13
- /**
14
- *
15
- * @type {string}
16
- */
17
- this.key = "";
18
- /**
19
- *
20
- * @type {Storage}
21
- */
22
- this.storage = null;
23
-
24
- /**
25
- * @private
26
- * @type {Promise}
27
- */
28
- this.lastPromise = Promise.resolve();
29
- }
14
+ key = "";
15
+ /**
16
+ *
17
+ * @type {Storage}
18
+ */
19
+ storage = null;
20
+
21
+ /**
22
+ * @private
23
+ * @type {Promise}
24
+ */
25
+ lastPromise = Promise.resolve();
26
+
30
27
 
31
28
  /**
32
29
  *
@@ -1 +1 @@
1
- {"version":3,"file":"GridTaskApplyActionToCells.d.ts","sourceRoot":"","sources":["../../../../../src/generation/grid/generation/GridTaskApplyActionToCells.js"],"names":[],"mappings":"AAOA;IAkBI;;;;;;OAMG;IACH,uDALa,0BAA0B,CAetC;IA/BG;;;OAGG;IACH,QAFU,iBAAe,IAAI,CAEX;IAElB;;;OAGG;IACH,SAFU,eAAa,IAAI,CAER;IAuBvB,iDAwCC;CACJ;kCArFiC,yBAAyB;sBAErC,yCAAyC"}
1
+ {"version":3,"file":"GridTaskApplyActionToCells.d.ts","sourceRoot":"","sources":["../../../../../src/generation/grid/generation/GridTaskApplyActionToCells.js"],"names":[],"mappings":"AAOA;IAcI;;;;;;OAMG;IACH,uDALa,0BAA0B,CAetC;IA7BD;;;OAGG;IACH,QAFU,iBAAe,IAAI,CAEf;IAEd;;;OAGG;IACH,SAFU,eAAa,IAAI,CAEZ;IAqBf,iDAwCC;CACJ;kCA5EiC,yBAAyB;sBAHrC,yCAAyC"}
@@ -1,27 +1,23 @@
1
- import { GridTaskGenerator } from "../GridTaskGenerator.js";
2
1
  import { assert } from "../../../core/assert.js";
3
- import TaskGroup from "../../../core/process/task/TaskGroup.js";
4
2
  import Task from "../../../core/process/task/Task.js";
3
+ import TaskGroup from "../../../core/process/task/TaskGroup.js";
5
4
  import { TaskSignal } from "../../../core/process/task/TaskSignal.js";
6
5
  import { actionTask } from "../../../core/process/task/util/actionTask.js";
6
+ import { GridTaskGenerator } from "../GridTaskGenerator.js";
7
7
 
8
8
  export class GridTaskApplyActionToCells extends GridTaskGenerator {
9
- constructor() {
10
- super();
11
-
12
- /**
13
- *
14
- * @type {GridCellAction|null}
15
- */
16
- this.action = null;
17
9
 
18
- /**
19
- *
20
- * @type {CellSupplier|null}
21
- */
22
- this.fitness = null;
10
+ /**
11
+ *
12
+ * @type {GridCellAction|null}
13
+ */
14
+ action = null;
23
15
 
24
- }
16
+ /**
17
+ *
18
+ * @type {CellSupplier|null}
19
+ */
20
+ fitness = null;
25
21
 
26
22
  /**
27
23
  *
@@ -1 +1 @@
1
- {"version":3,"file":"GridTaskExecuteRuleTimes.d.ts","sourceRoot":"","sources":["../../../../../src/generation/grid/generation/GridTaskExecuteRuleTimes.js"],"names":[],"mappings":"AAUA;IAUI;;;;OAIG;IACH,iDAFW,MAAM,4BAShB;IApBG;;;OAGG;IACH,4BAAY;IAEZ,cAAU;IAgBd,iDA+EC;CACJ;kCA1GiC,yBAAyB;sBAHrC,yCAAyC"}
1
+ {"version":3,"file":"GridTaskExecuteRuleTimes.d.ts","sourceRoot":"","sources":["../../../../../src/generation/grid/generation/GridTaskExecuteRuleTimes.js"],"names":[],"mappings":"AAUA;IAUI;;;;OAIG;IACH,iDAFW,MAAM,4BAShB;IApBD;;;OAGG;IACH,4BAAY;IAEZ,cAAU;IAgBV,iDA+EC;CACJ;kCA1GiC,yBAAyB;sBAHrC,yCAAyC"}
@@ -10,13 +10,13 @@ import { GridTaskGenerator } from "../GridTaskGenerator.js";
10
10
 
11
11
  export class GridTaskExecuteRuleTimes extends GridTaskGenerator {
12
12
 
13
- /**
14
- *
15
- * @type {GridCellPlacementRule}
16
- */
17
- rule = null;
13
+ /**
14
+ *
15
+ * @type {GridCellPlacementRule}
16
+ */
17
+ rule = null;
18
18
 
19
- count = 1;
19
+ count = 1;
20
20
 
21
21
  /**
22
22
  *
@@ -1 +1 @@
1
- {"version":3,"file":"GridTaskSequence.d.ts","sourceRoot":"","sources":["../../../../../src/generation/grid/generation/GridTaskSequence.js"],"names":[],"mappings":"AAGA;IAQI;;;;OAIG;IACH,sBAHW,iBAAiB,EAAE,GACjB,gBAAgB,CAQ5B;IAjBG;;;OAGG;IACH,UAFU,iBAAiB,EAAE,CAEf;IAelB,iDA2BC;CACJ;kCAnDiC,yBAAyB;sBADrC,yCAAyC"}
1
+ {"version":3,"file":"GridTaskSequence.d.ts","sourceRoot":"","sources":["../../../../../src/generation/grid/generation/GridTaskSequence.js"],"names":[],"mappings":"AAGA;IAQI;;;;OAIG;IACH,sBAHW,iBAAiB,EAAE,GACjB,gBAAgB,CAQ5B;IAjBD;;;OAGG;IACH,UAFU,iBAAiB,EAAE,CAEf;IAed,iDA2BC;CACJ;kCAnDiC,yBAAyB;sBADrC,yCAAyC"}
@@ -3,11 +3,11 @@ import { GridTaskGenerator } from "../GridTaskGenerator.js";
3
3
 
4
4
  export class GridTaskSequence extends GridTaskGenerator {
5
5
 
6
- /**
7
- *
8
- * @type {GridTaskGenerator[]}
9
- */
10
- children = [];
6
+ /**
7
+ *
8
+ * @type {GridTaskGenerator[]}
9
+ */
10
+ children = [];
11
11
 
12
12
  /**
13
13
  *
@@ -1,16 +1,12 @@
1
1
  export class GridTaskActionRuleSet extends GridTaskGenerator {
2
2
  /**
3
3
  *
4
- * @param name
4
+ * @param {string} [name]
5
5
  * @param {GridActionRuleSet} rules
6
6
  * @param {number} [resolution=1]
7
7
  * @returns {GridTaskActionRuleSet}
8
8
  */
9
- static from({ name, rules, resolution }: {
10
- name: any;
11
- rules: any;
12
- resolution?: number;
13
- }): GridTaskActionRuleSet;
9
+ static from({ name, rules, resolution }?: string): GridTaskActionRuleSet;
14
10
  /**
15
11
  *
16
12
  * @type {GridActionRuleSet}
@@ -1 +1 @@
1
- {"version":3,"file":"GridTaskActionRuleSet.d.ts","sourceRoot":"","sources":["../../../../../../src/generation/grid/generation/discrete/GridTaskActionRuleSet.js"],"names":[],"mappings":"AAGA;IAcI;;;;;;OAMG;IACH;;;;QAFa,qBAAqB,CAejC;IAhCD;;;OAGG;IACH,yBAAa;IAEb;;;OAGG;IACH,YAFU,MAAM,CAED;IAwBf,2CAEC;CACJ;kCAzCiC,4BAA4B"}
1
+ {"version":3,"file":"GridTaskActionRuleSet.d.ts","sourceRoot":"","sources":["../../../../../../src/generation/grid/generation/discrete/GridTaskActionRuleSet.js"],"names":[],"mappings":"AAGA;IAcI;;;;;;OAMG;IACH,0CALW,MAAM,GAGJ,qBAAqB,CAejC;IAhCD;;;OAGG;IACH,yBAAa;IAEb;;;OAGG;IACH,YAFU,MAAM,CAED;IAwBf,2CAEC;CACJ;kCAzCiC,4BAA4B"}
@@ -17,7 +17,7 @@ export class GridTaskActionRuleSet extends GridTaskGenerator {
17
17
 
18
18
  /**
19
19
  *
20
- * @param name
20
+ * @param {string} [name]
21
21
  * @param {GridActionRuleSet} rules
22
22
  * @param {number} [resolution=1]
23
23
  * @returns {GridTaskActionRuleSet}
@@ -1 +1 @@
1
- {"version":3,"file":"RoadConnection.d.ts","sourceRoot":"","sources":["../../../../../../src/generation/grid/generation/road/RoadConnection.js"],"names":[],"mappings":"AAEA;IAqBI;;;;;OAKG;IACH,iEAFW,MAAM,EAAE,kBAgBlB;IAvCG;;;OAGG;IACH,qBAAc;IAEd;;;OAGG;IACH,qBAAc;IAEd;;;OAGG;IACH,SAFU,MAAM,EAAE,CAEL;IAyBjB;;;;OAIG;IACH,oCAFW,MAAM,QAuBhB;IAED;;;;OAIG;IACH,YAHW,MAAM,GACJ,OAAO,CAcnB;IAED;;;;OAIG;IACH,4CAFa,OAAO,CAInB;IAED;;;;OAIG;IACH,4BAHW,MAAM,GACJ,OAAO,CAInB;CACJ"}
1
+ {"version":3,"file":"RoadConnection.d.ts","sourceRoot":"","sources":["../../../../../../src/generation/grid/generation/road/RoadConnection.js"],"names":[],"mappings":"AAEA;IAqBI;;;;;OAKG;IACH,iEAFW,MAAM,EAAE,kBAgBlB;IAvCD;;;OAGG;IACH,qBAAc;IAEd;;;OAGG;IACH,qBAAc;IAEd;;;OAGG;IACH,SAFU,MAAM,EAAE,CAEL;IAyBb;;;;OAIG;IACH,oCAFW,MAAM,QAuBhB;IAED;;;;OAIG;IACH,YAHW,MAAM,GACJ,OAAO,CAgBnB;IAED;;;;OAIG;IACH,4CAFa,OAAO,CAInB;IAED;;;;OAIG;IACH,4BAHW,MAAM,GACJ,OAAO,CAInB;CACJ"}