@woosh/meep-engine 2.119.14 → 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.
- package/README.md +9 -0
- package/package.json +1 -1
- package/src/core/geom/3d/sphere/sphere_project.d.ts +10 -0
- package/src/core/geom/3d/sphere/sphere_project.d.ts.map +1 -0
- package/src/core/geom/3d/sphere/sphere_project.js +39 -0
- package/src/core/geom/3d/sphere/sphere_projected_sphere_radius_sqr.d.ts +9 -0
- package/src/core/geom/3d/sphere/sphere_projected_sphere_radius_sqr.d.ts.map +1 -0
- package/src/core/geom/3d/sphere/sphere_projected_sphere_radius_sqr.js +45 -0
- package/src/core/geom/Quaternion.d.ts.map +1 -1
- package/src/core/geom/Quaternion.js +8 -17
- package/src/core/graph/layout/box/position_box_next_to_box.d.ts.map +1 -1
- package/src/core/graph/layout/box/position_box_next_to_box.js +0 -23
- package/src/core/parser/simple/readArrayLiteral.d.ts +9 -0
- package/src/core/parser/simple/readArrayLiteral.d.ts.map +1 -0
- package/src/core/parser/simple/readArrayLiteral.js +73 -0
- package/src/core/parser/simple/readLiteralToken.d.ts.map +1 -1
- package/src/core/parser/simple/readLiteralToken.js +1 -53
- package/src/core/parser/simple/skipWhitespace.d.ts +2 -2
- package/src/core/parser/simple/skipWhitespace.d.ts.map +1 -1
- package/src/core/parser/simple/skipWhitespace.js +4 -4
- package/src/engine/ecs/components/Tag.d.ts.map +1 -1
- package/src/engine/ecs/components/Tag.js +0 -1
- package/src/engine/ecs/dynamic_actions/rules/DynamicRuleDescriptionTable.d.ts.map +1 -1
- package/src/engine/ecs/dynamic_actions/rules/DynamicRuleDescriptionTable.js +14 -19
- package/src/engine/ecs/systems/AnimationSystem.d.ts.map +1 -1
- package/src/engine/ecs/systems/AnimationSystem.js +2 -2
- package/src/engine/graphics/ecs/animation/animator/AnimationGraphSystem.d.ts.map +1 -1
- package/src/engine/graphics/ecs/animation/animator/AnimationGraphSystem.js +2 -2
- package/src/engine/graphics/sh3/lpv/LightProbeVolume.d.ts +0 -8
- package/src/engine/graphics/sh3/lpv/LightProbeVolume.d.ts.map +1 -1
- package/src/engine/graphics/sh3/lpv/LightProbeVolume.js +0 -32
- package/src/engine/graphics/sh3/lpv/util/lpv_visualise_probes.d.ts +10 -0
- package/src/engine/graphics/sh3/lpv/util/lpv_visualise_probes.d.ts.map +1 -0
- package/src/engine/graphics/sh3/lpv/util/lpv_visualise_probes.js +33 -0
- package/src/engine/graphics/sh3/prototypeSH3Probe.js +3 -2
- package/src/engine/graphics/texture/atlas/AtlasPatch.d.ts.map +1 -1
- package/src/engine/graphics/texture/atlas/AtlasPatch.js +62 -63
- package/src/engine/graphics/texture/virtual/NOTES.md +11 -2
- package/src/engine/graphics/texture/virtual/VirtualTextureMaterial.d.ts +1 -1
- package/src/engine/graphics/texture/virtual/VirtualTextureMaterial.d.ts.map +1 -1
- package/src/engine/graphics/texture/virtual/VirtualTextureMaterial.js +1 -12
- package/src/engine/graphics/texture/virtual/VirtualTexturePage.d.ts.map +1 -1
- package/src/engine/graphics/texture/virtual/VirtualTexturePage.js +0 -10
- package/src/engine/graphics/texture/virtual/VirtualTextureSystem.d.ts.map +1 -1
- package/src/engine/graphics/texture/virtual/VirtualTextureSystem.js +0 -2
- package/src/engine/graphics/trail/x/RibbonXMaterialSpec.d.ts.map +1 -1
- package/src/engine/graphics/trail/x/RibbonXMaterialSpec.js +6 -7
- package/src/engine/save/GameStateLoader.d.ts.map +1 -1
- package/src/engine/save/GameStateLoader.js +6 -9
- package/src/engine/save/StorageBackedList.d.ts.map +1 -1
- package/src/engine/save/StorageBackedList.js +16 -19
- package/src/generation/grid/generation/GridTaskApplyActionToCells.d.ts.map +1 -1
- package/src/generation/grid/generation/GridTaskApplyActionToCells.js +12 -16
- package/src/generation/grid/generation/GridTaskExecuteRuleTimes.d.ts.map +1 -1
- package/src/generation/grid/generation/GridTaskExecuteRuleTimes.js +6 -6
- package/src/generation/grid/generation/GridTaskSequence.d.ts.map +1 -1
- package/src/generation/grid/generation/GridTaskSequence.js +5 -5
- package/src/generation/grid/generation/discrete/GridTaskActionRuleSet.d.ts +2 -6
- package/src/generation/grid/generation/discrete/GridTaskActionRuleSet.d.ts.map +1 -1
- package/src/generation/grid/generation/discrete/GridTaskActionRuleSet.js +1 -1
- package/src/generation/grid/generation/road/RoadConnection.d.ts.map +1 -1
- package/src/generation/grid/generation/road/RoadConnection.js +17 -15
- package/src/engine/graphics/util/projectSphere.d.ts +0 -24
- package/src/engine/graphics/util/projectSphere.d.ts.map +0 -1
- 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 =
|
|
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;
|
|
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
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
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://
|
|
92
|
-
*
|
|
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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VirtualTextureMaterial.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/graphics/texture/virtual/VirtualTextureMaterial.js"],"names":[],"mappings":"AAEA;IACI;;
|
|
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;
|
|
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;;;
|
|
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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RibbonXMaterialSpec.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/graphics/trail/x/RibbonXMaterialSpec.js"],"names":[],"mappings":"AAGA;
|
|
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
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
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;
|
|
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
|
-
|
|
7
|
+
id = 'game-state-loader';
|
|
10
8
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
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;
|
|
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
|
-
*
|
|
11
|
+
*
|
|
12
|
+
* @type {string}
|
|
11
13
|
*/
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
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;
|
|
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
|
-
|
|
21
|
-
|
|
22
|
-
|
|
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;
|
|
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
|
-
|
|
16
|
-
|
|
17
|
-
|
|
13
|
+
/**
|
|
14
|
+
*
|
|
15
|
+
* @type {GridCellPlacementRule}
|
|
16
|
+
*/
|
|
17
|
+
rule = null;
|
|
18
18
|
|
|
19
|
-
|
|
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;
|
|
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
|
-
|
|
9
|
-
|
|
10
|
-
|
|
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
|
|
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"}
|
|
@@ -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;
|
|
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"}
|