@woosh/meep-engine 2.88.3 → 2.88.5
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/build/meep.cjs +50 -10
- package/build/meep.min.js +1 -1
- package/build/meep.module.js +50 -10
- package/package.json +1 -1
- package/src/engine/ecs/terrain/tiles/TerrainTile.d.ts +5 -0
- package/src/engine/ecs/terrain/tiles/TerrainTile.d.ts.map +1 -1
- package/src/engine/ecs/terrain/tiles/TerrainTile.js +8 -0
- package/src/engine/ecs/terrain/tiles/TerrainTileManager.d.ts +3 -3
- package/src/engine/ecs/terrain/tiles/TerrainTileManager.d.ts.map +1 -1
- package/src/engine/ecs/terrain/tiles/TerrainTileManager.js +46 -12
- package/src/generation/theme/ThemeEngine.d.ts.map +1 -1
- package/src/generation/theme/ThemeEngine.js +3 -3
package/build/meep.module.js
CHANGED
|
@@ -57549,6 +57549,12 @@ class TerrainTile {
|
|
|
57549
57549
|
*/
|
|
57550
57550
|
__initial_height_range = new NumericInterval(Number.NEGATIVE_INFINITY, Number.POSITIVE_INFINITY);
|
|
57551
57551
|
|
|
57552
|
+
/**
|
|
57553
|
+
* Used to track number of times tile was built
|
|
57554
|
+
* @type {number}
|
|
57555
|
+
*/
|
|
57556
|
+
version = 0;
|
|
57557
|
+
|
|
57552
57558
|
constructor() {
|
|
57553
57559
|
|
|
57554
57560
|
this.mesh.name = "TerrainTile";
|
|
@@ -58036,6 +58042,8 @@ class TerrainTile {
|
|
|
58036
58042
|
// console.timeEnd('total');
|
|
58037
58043
|
// console.groupEnd();
|
|
58038
58044
|
|
|
58045
|
+
this.version++;
|
|
58046
|
+
|
|
58039
58047
|
return mesh;
|
|
58040
58048
|
}
|
|
58041
58049
|
}
|
|
@@ -58179,7 +58187,10 @@ class TerrainTileManager {
|
|
|
58179
58187
|
for (let i = 0; i < n; i++) {
|
|
58180
58188
|
const terrainTile = tiles[i];
|
|
58181
58189
|
|
|
58182
|
-
if (
|
|
58190
|
+
if (
|
|
58191
|
+
!terrainTile.isBuilt
|
|
58192
|
+
&& !terrainTile.isBuildInProgress
|
|
58193
|
+
) {
|
|
58183
58194
|
|
|
58184
58195
|
const bb = terrainTile.external_bvh;
|
|
58185
58196
|
|
|
@@ -58336,7 +58347,6 @@ class TerrainTileManager {
|
|
|
58336
58347
|
}
|
|
58337
58348
|
|
|
58338
58349
|
initializeTiles() {
|
|
58339
|
-
|
|
58340
58350
|
const total_size = this.totalSize;
|
|
58341
58351
|
|
|
58342
58352
|
const gridSize = total_size.clone();
|
|
@@ -58348,6 +58358,10 @@ class TerrainTileManager {
|
|
|
58348
58358
|
|
|
58349
58359
|
const tiles = this.tiles;
|
|
58350
58360
|
|
|
58361
|
+
if (tiles.length > 0) {
|
|
58362
|
+
throw new Error(`There are already ${tiles.length} initialized tiles, those must be destroyed before initialization can happen`);
|
|
58363
|
+
}
|
|
58364
|
+
|
|
58351
58365
|
//populate tiles
|
|
58352
58366
|
const tile_resolution_y = gridSize.y;
|
|
58353
58367
|
const tile_resolution_x = gridSize.x;
|
|
@@ -58651,13 +58665,20 @@ class TerrainTileManager {
|
|
|
58651
58665
|
*
|
|
58652
58666
|
* @param {number} x
|
|
58653
58667
|
* @param {number} y
|
|
58654
|
-
* @param {function} resolve
|
|
58655
|
-
* @param {function} reject
|
|
58668
|
+
* @param {function(tile:TerrainTile)} resolve
|
|
58669
|
+
* @param {function(reason:*)} reject
|
|
58656
58670
|
*/
|
|
58657
58671
|
build(x, y, resolve, reject) {
|
|
58658
58672
|
|
|
58659
|
-
const
|
|
58660
|
-
|
|
58673
|
+
const tile_index = this.computeTileIndex(x, y);
|
|
58674
|
+
|
|
58675
|
+
const tile = this.tiles[tile_index];
|
|
58676
|
+
|
|
58677
|
+
if (tile.isBuildInProgress) {
|
|
58678
|
+
throw new Error('Tile is already in process of being built');
|
|
58679
|
+
}
|
|
58680
|
+
|
|
58681
|
+
const start_version = tile.version;
|
|
58661
58682
|
|
|
58662
58683
|
tile.isBuilt = false;
|
|
58663
58684
|
tile.isBuildInProgress = true;
|
|
@@ -58673,17 +58694,29 @@ class TerrainTileManager {
|
|
|
58673
58694
|
).then((tileData) => {
|
|
58674
58695
|
|
|
58675
58696
|
//check that the tile under index is still the same tile
|
|
58676
|
-
if (this.tiles[
|
|
58697
|
+
if (this.tiles[tile_index] !== tile) {
|
|
58677
58698
|
//the original tile was destroyed
|
|
58678
58699
|
reject('Original tile was destroyed during build process');
|
|
58679
58700
|
return;
|
|
58680
58701
|
}
|
|
58681
58702
|
|
|
58682
|
-
if (
|
|
58683
|
-
reject(
|
|
58703
|
+
if (tile.version !== start_version) {
|
|
58704
|
+
reject(`Tile version changed, likely due to concurrent build request. Expected version ${start_version}, actual version ${tile.version}`);
|
|
58684
58705
|
return;
|
|
58685
58706
|
}
|
|
58686
58707
|
|
|
58708
|
+
if (!tile.isBuildInProgress) {
|
|
58709
|
+
if (tile.isBuilt) {
|
|
58710
|
+
// tile already built
|
|
58711
|
+
resolve(tile);
|
|
58712
|
+
return;
|
|
58713
|
+
} else {
|
|
58714
|
+
|
|
58715
|
+
reject('Build request has been cancelled');
|
|
58716
|
+
return;
|
|
58717
|
+
}
|
|
58718
|
+
}
|
|
58719
|
+
|
|
58687
58720
|
// const processName = 'building tile x = ' + x + ", y = " + y;
|
|
58688
58721
|
// console.time(processName);
|
|
58689
58722
|
|
|
@@ -58705,7 +58738,14 @@ class TerrainTileManager {
|
|
|
58705
58738
|
this.on.tileBuilt.send1(tile);
|
|
58706
58739
|
|
|
58707
58740
|
resolve(tile);
|
|
58708
|
-
},
|
|
58741
|
+
}, (reason) => {
|
|
58742
|
+
|
|
58743
|
+
tile.isBuilt = false;
|
|
58744
|
+
tile.isBuildInProgress = false;
|
|
58745
|
+
|
|
58746
|
+
reject(reason);
|
|
58747
|
+
|
|
58748
|
+
});
|
|
58709
58749
|
}
|
|
58710
58750
|
}
|
|
58711
58751
|
|
package/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TerrainTile.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/ecs/terrain/tiles/TerrainTile.js"],"names":[],"mappings":";AAqCA;;GAEG;AACH;IACI,sBAA6B;IAC7B,eAA0B;IAC1B,cAAqB;IACrB,kBAAyB;IACzB,4BAAoC;IAEpC;;;OAGG;IACH,mBAAgB;IAChB,uGAAiE;IAGjE;;;OAGG;IACH,UAFU,MAAM,cAAc,CAEd;IAEhB;;;OAGG;IACH,WAFU,OAAO,CAEA;IAEjB;;;OAGG;IACH,cAFU,SAAS,CAEY;IAE/B;;;OAGG;IACH,KAFU,eAAe,CAEd;IAEX;;;OAGG;IACH,SAFU,OAAO,CAED;IAChB;;;OAGG;IACH,mBAFU,OAAO,CAES;IAC1B,uBAAmB;IAEnB;;;OAGG;IACH,SAFU,OAAO,WAAW,CAAC,CAEN;IACvB,4DAA2B;IAE3B;;;;OAIG;IACH,kBAWE;IAEF;;;;;OAKG;IACH,+BAAiG;
|
|
1
|
+
{"version":3,"file":"TerrainTile.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/ecs/terrain/tiles/TerrainTile.js"],"names":[],"mappings":";AAqCA;;GAEG;AACH;IACI,sBAA6B;IAC7B,eAA0B;IAC1B,cAAqB;IACrB,kBAAyB;IACzB,4BAAoC;IAEpC;;;OAGG;IACH,mBAAgB;IAChB,uGAAiE;IAGjE;;;OAGG;IACH,UAFU,MAAM,cAAc,CAEd;IAEhB;;;OAGG;IACH,WAFU,OAAO,CAEA;IAEjB;;;OAGG;IACH,cAFU,SAAS,CAEY;IAE/B;;;OAGG;IACH,KAFU,eAAe,CAEd;IAEX;;;OAGG;IACH,SAFU,OAAO,CAED;IAChB;;;OAGG;IACH,mBAFU,OAAO,CAES;IAC1B,uBAAmB;IAEnB;;;OAGG;IACH,SAFU,OAAO,WAAW,CAAC,CAEN;IACvB,4DAA2B;IAE3B;;;;OAIG;IACH,kBAWE;IAEF;;;;;OAKG;IACH,+BAAiG;IAEjG;;;OAGG;IACH,SAFU,MAAM,CAEJ;IAqBZ;;;OAGG;IACH,6BAGC;IAfD;;;OAGG;IACH,0BAEC;IAWD;;;;;;;;;;OAUG;IACH,yBATW,aAAa,WACb,MAAM,WACN,MAAM,WACN,MAAM,cACN,MAAM,cACN,MAAM,cACN,MAAM,GACL,OAAO,CAkDlB;IAED,+CAKC;IAED,8CAOC;IAED;;;;;;;;;;OAUG;IACH,mBATW,WAAW,GAAC,SAAS,UACrB,WAAW,GAAC,SAAS,QACrB,WAAW,GAAC,SAAS,SACrB,WAAW,GAAC,SAAS,WACrB,WAAW,GAAC,SAAS,YACrB,WAAW,GAAC,SAAS,cACrB,WAAW,GAAC,SAAS,eACrB,WAAW,GAAC,SAAS,QAsN/B;IAED,2BAiFC;IAED;;;;OAIG;IACH,mCAHW,MAAM,cACN,MAAM,QAIhB;IAED,gBAYC;IAED;;;;OAIG;IACH,gBAHW;QAAC,QAAQ,CAAC;QAAC,GAAG,CAAC,EAAC;YAAC,UAAU,EAAC,MAAM,CAAC;YAAC,IAAI,EAAC,WAAW,CAAA;SAAC,CAAA;KAAC,QAoDhE;CACJ;oBAvlBmB,kCAAkC;4BAG1B,2CAA2C;sDAZhE,OAAO;0BAEY,yCAAyC;gCADnC,mDAAmD;mBAGhE,0CAA0C;8BAI/B,2CAA2C"}
|
|
@@ -122,6 +122,12 @@ class TerrainTile {
|
|
|
122
122
|
*/
|
|
123
123
|
__initial_height_range = new NumericInterval(Number.NEGATIVE_INFINITY, Number.POSITIVE_INFINITY);
|
|
124
124
|
|
|
125
|
+
/**
|
|
126
|
+
* Used to track number of times tile was built
|
|
127
|
+
* @type {number}
|
|
128
|
+
*/
|
|
129
|
+
version = 0;
|
|
130
|
+
|
|
125
131
|
constructor() {
|
|
126
132
|
|
|
127
133
|
this.mesh.name = "TerrainTile";
|
|
@@ -609,6 +615,8 @@ class TerrainTile {
|
|
|
609
615
|
// console.timeEnd('total');
|
|
610
616
|
// console.groupEnd();
|
|
611
617
|
|
|
618
|
+
this.version++;
|
|
619
|
+
|
|
612
620
|
return mesh;
|
|
613
621
|
}
|
|
614
622
|
}
|
|
@@ -187,10 +187,10 @@ declare class TerrainTileManager {
|
|
|
187
187
|
*
|
|
188
188
|
* @param {number} x
|
|
189
189
|
* @param {number} y
|
|
190
|
-
* @param {function} resolve
|
|
191
|
-
* @param {function} reject
|
|
190
|
+
* @param {function(tile:TerrainTile)} resolve
|
|
191
|
+
* @param {function(reason:*)} reject
|
|
192
192
|
*/
|
|
193
|
-
build(x: number, y: number, resolve:
|
|
193
|
+
build(x: number, y: number, resolve: any, reject: any): void;
|
|
194
194
|
}
|
|
195
195
|
import TerrainTile from './TerrainTile.js';
|
|
196
196
|
import Signal from '../../../../core/events/signal/Signal.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TerrainTileManager.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/ecs/terrain/tiles/TerrainTileManager.js"],"names":[],"mappings":";AA+BA;IA6DI;;;;;OAKG;IACH,wCAJW,OAAO,EA8BjB;IA5FD;;;OAGG;IACH,OAFU,WAAW,EAAE,CAEZ;IAEX;;;MAGE;IAEF;;;OAGG;IACH,UAFU,OAAO,CAEc;IAE/B;;;OAGG;IACH,WAFU,OAAO,CAEa;IAC9B;;;OAGG;IACH,YAFU,eAAe,CAEW;IAEpC;;;OAGG;IACH,OAFU,OAAO,CAES;IAG1B;;;;OAIG;IACH,oBAAmC;IAEnC;;;OAGG;IACH,cAFU,GAAG,CAEG;IAEhB;;;OAGG;IACH,aAFU,eAAe,CAEe;IAExC;;;OAGG;IACH,yBAFU,OAAO,CAEe;IAqB5B,6BAA2C;IAG3C;;;OAGG;IACH,yBAA8B;IAQlC,iCAWC;IAED,8BAEC;IAED;;;;OAIG;IACH,2BAHW,MAAM,cACN,MAAM,
|
|
1
|
+
{"version":3,"file":"TerrainTileManager.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/ecs/terrain/tiles/TerrainTileManager.js"],"names":[],"mappings":";AA+BA;IA6DI;;;;;OAKG;IACH,wCAJW,OAAO,EA8BjB;IA5FD;;;OAGG;IACH,OAFU,WAAW,EAAE,CAEZ;IAEX;;;MAGE;IAEF;;;OAGG;IACH,UAFU,OAAO,CAEc;IAE/B;;;OAGG;IACH,WAFU,OAAO,CAEa;IAC9B;;;OAGG;IACH,YAFU,eAAe,CAEW;IAEpC;;;OAGG;IACH,OAFU,OAAO,CAES;IAG1B;;;;OAIG;IACH,oBAAmC;IAEnC;;;OAGG;IACH,cAFU,GAAG,CAEG;IAEhB;;;OAGG;IACH,aAFU,eAAe,CAEe;IAExC;;;OAGG;IACH,yBAFU,OAAO,CAEe;IAqB5B,6BAA2C;IAG3C;;;OAGG;IACH,yBAA8B;IAQlC,iCAWC;IAED,8BAEC;IAED;;;;OAIG;IACH,2BAHW,MAAM,cACN,MAAM,QAiChB;IAED,mBAIC;IAED;;;OAGG;IACH,yBAFW,WAAW,QAerB;IAED;;;;OAIG;IACH,6CASC;IAED,qBAqBC;IAED;;OAEG;IACH,gBAIC;IAED;;;;;;OAMG;IACH,qBALW,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,QAuBhB;IAGD;;;;;;;OAOG;IACH,oCANW,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,GACJ,WAAW,EAAE,CAgCzB;IAED,wBAgDC;IAED;;;;;OAKG;IACH,oBAJW,MAAM,KACN,MAAM,GACJ,MAAM,CAYlB;IAED;;;;;OAKG;IACH,UAJW,MAAM,KACN,MAAM,GACJ,WAAW,GAAC,SAAS,CAiBjC;IAED;;;;;OAKG;IACH,wBAJW,MAAM,KACN,MAAM,GACJ,WAAW,CAavB;IAED;;;;;OAKG;IACH,4BAJW,MAAM,KACN,MAAM,GACL,WAAW,GAAC,SAAS,CAahC;IAED;;;;;OAKG;IACH,+BAJW,MAAM,KACN,MAAM,GACJ,QAAQ,WAAW,CAAC,CAYhC;IAED;;;;;;OAMG;IACH,UALW,MAAM,KACN,MAAM,GACJ,QAAQ,WAAW,CAAC,CA4BhC;IAED;;;OAGG;IACH,cAFW,WAAW,QAcrB;IAED,gBASC;IAED;;;;;;OAMG;IACH,cAJW,MAAM,KACN,MAAM,QACN,WAAW,QAsCrB;IAED;;;;;;;;;;OAUG;IACH,yBATW,aAAa,WACb,MAAM,WACN,MAAM,WACN,MAAM,cACN,MAAM,cACN,MAAM,cACN,MAAM,GACJ,OAAO,CAuDnB;IAED;;;;;;OAMG;IACH,kCALW,aAAa,KACb,MAAM,KACN,MAAM,GACL,OAAO,CAOlB;IAED;;;;;;OAMG;IACH,SALW,MAAM,KACN,MAAM,mCAuFhB;CACJ;wBAztBuB,kBAAkB;mBAVvB,0CAA0C;oBAGzC,kCAAkC;4BAG1B,2CAA2C;oBAVnD,mCAAmC;gCAQvB,mDAAmD;0BAGzD,yCAAyC;8BALrC,2CAA2C"}
|
|
@@ -162,7 +162,10 @@ class TerrainTileManager {
|
|
|
162
162
|
for (let i = 0; i < n; i++) {
|
|
163
163
|
const terrainTile = tiles[i];
|
|
164
164
|
|
|
165
|
-
if (
|
|
165
|
+
if (
|
|
166
|
+
!terrainTile.isBuilt
|
|
167
|
+
&& !terrainTile.isBuildInProgress
|
|
168
|
+
) {
|
|
166
169
|
|
|
167
170
|
const bb = terrainTile.external_bvh;
|
|
168
171
|
|
|
@@ -223,6 +226,8 @@ class TerrainTileManager {
|
|
|
223
226
|
const tiles = this.tiles;
|
|
224
227
|
const tile_count = tiles.length;
|
|
225
228
|
|
|
229
|
+
console.warn(`#destroyTiles tile_count=${tile_count}`);
|
|
230
|
+
|
|
226
231
|
for (let i = 0; i < tile_count; i++) {
|
|
227
232
|
const tile = tiles[i];
|
|
228
233
|
|
|
@@ -319,7 +324,6 @@ class TerrainTileManager {
|
|
|
319
324
|
}
|
|
320
325
|
|
|
321
326
|
initializeTiles() {
|
|
322
|
-
|
|
323
327
|
const total_size = this.totalSize;
|
|
324
328
|
|
|
325
329
|
const gridSize = total_size.clone();
|
|
@@ -331,6 +335,10 @@ class TerrainTileManager {
|
|
|
331
335
|
|
|
332
336
|
const tiles = this.tiles;
|
|
333
337
|
|
|
338
|
+
if (tiles.length > 0) {
|
|
339
|
+
throw new Error(`There are already ${tiles.length} initialized tiles, those must be destroyed before initialization can happen`);
|
|
340
|
+
}
|
|
341
|
+
|
|
334
342
|
//populate tiles
|
|
335
343
|
const tile_resolution_y = gridSize.y;
|
|
336
344
|
const tile_resolution_x = gridSize.x;
|
|
@@ -654,16 +662,23 @@ class TerrainTileManager {
|
|
|
654
662
|
*
|
|
655
663
|
* @param {number} x
|
|
656
664
|
* @param {number} y
|
|
657
|
-
* @param {function} resolve
|
|
658
|
-
* @param {function} reject
|
|
665
|
+
* @param {function(tile:TerrainTile)} resolve
|
|
666
|
+
* @param {function(reason:*)} reject
|
|
659
667
|
*/
|
|
660
668
|
build(x, y, resolve, reject) {
|
|
661
669
|
|
|
662
|
-
assert.
|
|
663
|
-
assert.
|
|
670
|
+
assert.isFunction(resolve, 'resolve');
|
|
671
|
+
assert.isFunction(reject, 'reject');
|
|
664
672
|
|
|
665
|
-
const
|
|
666
|
-
|
|
673
|
+
const tile_index = this.computeTileIndex(x, y);
|
|
674
|
+
|
|
675
|
+
const tile = this.tiles[tile_index];
|
|
676
|
+
|
|
677
|
+
if (tile.isBuildInProgress) {
|
|
678
|
+
throw new Error('Tile is already in process of being built');
|
|
679
|
+
}
|
|
680
|
+
|
|
681
|
+
const start_version = tile.version;
|
|
667
682
|
|
|
668
683
|
tile.isBuilt = false;
|
|
669
684
|
tile.isBuildInProgress = true;
|
|
@@ -679,17 +694,29 @@ class TerrainTileManager {
|
|
|
679
694
|
).then((tileData) => {
|
|
680
695
|
|
|
681
696
|
//check that the tile under index is still the same tile
|
|
682
|
-
if (this.tiles[
|
|
697
|
+
if (this.tiles[tile_index] !== tile) {
|
|
683
698
|
//the original tile was destroyed
|
|
684
699
|
reject('Original tile was destroyed during build process');
|
|
685
700
|
return;
|
|
686
701
|
}
|
|
687
702
|
|
|
688
|
-
if (
|
|
689
|
-
reject(
|
|
703
|
+
if (tile.version !== start_version) {
|
|
704
|
+
reject(`Tile version changed, likely due to concurrent build request. Expected version ${start_version}, actual version ${tile.version}`);
|
|
690
705
|
return;
|
|
691
706
|
}
|
|
692
707
|
|
|
708
|
+
if (!tile.isBuildInProgress) {
|
|
709
|
+
if (tile.isBuilt) {
|
|
710
|
+
// tile already built
|
|
711
|
+
resolve(tile);
|
|
712
|
+
return;
|
|
713
|
+
} else {
|
|
714
|
+
|
|
715
|
+
reject('Build request has been cancelled');
|
|
716
|
+
return;
|
|
717
|
+
}
|
|
718
|
+
}
|
|
719
|
+
|
|
693
720
|
// const processName = 'building tile x = ' + x + ", y = " + y;
|
|
694
721
|
// console.time(processName);
|
|
695
722
|
|
|
@@ -713,7 +740,14 @@ class TerrainTileManager {
|
|
|
713
740
|
this.on.tileBuilt.send1(tile);
|
|
714
741
|
|
|
715
742
|
resolve(tile);
|
|
716
|
-
},
|
|
743
|
+
}, (reason) => {
|
|
744
|
+
|
|
745
|
+
tile.isBuilt = false;
|
|
746
|
+
tile.isBuildInProgress = false;
|
|
747
|
+
|
|
748
|
+
reject(reason);
|
|
749
|
+
|
|
750
|
+
});
|
|
717
751
|
}
|
|
718
752
|
}
|
|
719
753
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThemeEngine.d.ts","sourceRoot":"","sources":["../../../../src/generation/theme/ThemeEngine.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ThemeEngine.d.ts","sourceRoot":"","sources":["../../../../src/generation/theme/ThemeEngine.js"],"names":[],"mappings":"AAoFA;IAEI;;;OAGG;IACH,OAFU,uBAAuB,CAEN;IAE3B;;;OAGG;IACH,cAFqB,MAAM,CAEF;IAEzB;;;;OAIG;IACH,uBAAsB;IAEtB,2BAEC;IAED;;;OAGG;IACH,sBAEC;IAED;;;OAGG;IACH,mBAEC;IAED;;;OAGG;IACH,4BAUC;IAED;;;;;;OAMG;IACH,4BALW,WAAW,KACX,MAAM,KACN,MAAM,GACJ,MAAM,CA8BlB;IAED;;;;;;OAMG;IACH,uBALW,MAAM,gDAGJ,IAAI,CAmChB;IAED;;;;;OAKG;IACH,sDAFa,SAAS,CAiLrB;IAED;;;;;;OAMG;IACH,+DAHW,MAAM,GACJ,IAAI,GAAC,SAAS,CAoG1B;IAED;;;;OAIG;IACH,kEAqCC;IAED;;;;OAIG;IACH,iCAFa,IAAI,CAIhB;IAED;;;;OAIG;IACH,uCAHa,SAAS,CAYrB;IAED;;;;;OAKG;IACH,oDAFa,SAAS,CA6DrB;CACJ;6BAloB4B,8CAA8C;iBAK1D,iCAAiC;sBAC5B,sCAAsC"}
|
|
@@ -70,8 +70,6 @@ function makeTaskEnsureAllTiles(terrain) {
|
|
|
70
70
|
terrain.buildNonVisual();
|
|
71
71
|
}
|
|
72
72
|
|
|
73
|
-
terrain.__tiles.rebuild();
|
|
74
|
-
|
|
75
73
|
terrain.promiseAllTiles()
|
|
76
74
|
.then(resolve, reject)
|
|
77
75
|
.finally(() => {
|
|
@@ -612,10 +610,12 @@ export class ThemeEngine {
|
|
|
612
610
|
|
|
613
611
|
if (terrain !== null) {
|
|
614
612
|
// build terrain tiles
|
|
615
|
-
const tTerrainGeometry = makeTaskEnsureAllTiles(terrain);
|
|
616
613
|
const tTerrain = this.applyTerrainThemes(grid, terrain);
|
|
617
614
|
tTerrain.addDependency(tInitializeThemes);
|
|
618
615
|
|
|
616
|
+
const tTerrainGeometry = makeTaskEnsureAllTiles(terrain);
|
|
617
|
+
tTerrainGeometry.addDependency(tTerrain);
|
|
618
|
+
|
|
619
619
|
const tUpdateTerrain = this.updateTerrain(terrain);
|
|
620
620
|
|
|
621
621
|
tUpdateTerrain.addDependencies([
|