minerender 2.1.0-alpha.8 → 2.1.0-alpha.9
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/dist/browser/index.d.mts +5 -0
- package/dist/browser/index.d.ts +5 -0
- package/dist/browser/index.js +51 -54
- package/dist/browser/index.js.map +1 -1
- package/dist/browser/index.mjs +51 -54
- package/dist/browser/index.mjs.map +1 -1
- package/dist/bundle.js +51 -138
- package/dist/bundle.js.map +1 -1
- package/dist/node/index.d.mts +5 -0
- package/dist/node/index.d.ts +5 -0
- package/dist/node/index.js +51 -54
- package/dist/node/index.js.map +1 -1
- package/dist/node/index.mjs +51 -54
- package/dist/node/index.mjs.map +1 -1
- package/package.json +2 -3
package/dist/browser/index.mjs
CHANGED
|
@@ -23,14 +23,6 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
23
23
|
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
24
24
|
mod
|
|
25
25
|
));
|
|
26
|
-
var __decorateClass = (decorators, target, key, kind) => {
|
|
27
|
-
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
|
|
28
|
-
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
29
|
-
if (decorator = decorators[i])
|
|
30
|
-
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
31
|
-
if (kind && result) __defProp(target, key, result);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
26
|
|
|
35
27
|
// ../../node_modules/ts-deepmerge/dist/index.js
|
|
36
28
|
var require_dist = __commonJS({
|
|
@@ -154,11 +146,14 @@ var _PersistentCache = class _PersistentCache {
|
|
|
154
146
|
static open(name) {
|
|
155
147
|
return Env.provider.openCache(name, _PersistentCache.VERSION);
|
|
156
148
|
}
|
|
149
|
+
/** Loads a missing entry and stores only non-nullish results. */
|
|
157
150
|
async getOrLoad(key, loader) {
|
|
158
151
|
let v = await this.get(key);
|
|
159
152
|
if (typeof v === "undefined" || v === null) {
|
|
160
153
|
v = await loader(key);
|
|
161
|
-
|
|
154
|
+
if (typeof v !== "undefined" && v !== null) {
|
|
155
|
+
await this.put(key, v);
|
|
156
|
+
}
|
|
162
157
|
}
|
|
163
158
|
return v;
|
|
164
159
|
}
|
|
@@ -394,7 +389,10 @@ function serializeMeshKey(key) {
|
|
|
394
389
|
// src/cache/Caching.ts
|
|
395
390
|
import { Caches } from "@inventivetalent/loading-cache";
|
|
396
391
|
import { Time } from "@inventivetalent/time";
|
|
397
|
-
var
|
|
392
|
+
var _Caching = class _Caching {
|
|
393
|
+
static createAssetCache() {
|
|
394
|
+
return Caches.builder().expireAfterWrite(Time.minutes(10)).expireAfterAccess(Time.minutes(5)).expirationInterval(Time.seconds(30)).buildAsync();
|
|
395
|
+
}
|
|
398
396
|
/** Every cache above, so clear()/end() can never fall out of sync with the field list again. */
|
|
399
397
|
static get all() {
|
|
400
398
|
return [
|
|
@@ -411,7 +409,10 @@ var Caching = class {
|
|
|
411
409
|
this.rawModelCache,
|
|
412
410
|
this.mergedModelCache,
|
|
413
411
|
this.modelTextureAtlasCache,
|
|
414
|
-
this.blockStateCache
|
|
412
|
+
this.blockStateCache,
|
|
413
|
+
this.listAssetCache,
|
|
414
|
+
this.defaultBlockStatesCache,
|
|
415
|
+
this.entityModelsCache
|
|
415
416
|
];
|
|
416
417
|
}
|
|
417
418
|
static clear() {
|
|
@@ -437,20 +438,24 @@ var Caching = class {
|
|
|
437
438
|
};
|
|
438
439
|
}
|
|
439
440
|
};
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
441
|
+
_Caching.rawImageCache = Caches.builder().expireAfterWrite(Time.minutes(10)).expireAfterAccess(Time.minutes(5)).expirationInterval(Time.seconds(5)).buildAsync();
|
|
442
|
+
_Caching.imageDataCache = Caches.builder().expireAfterWrite(Time.minutes(10)).expireAfterAccess(Time.minutes(5)).expirationInterval(Time.seconds(10)).buildAsync();
|
|
443
|
+
_Caching.canvasImageDataCache = Caches.builder().expireAfterWrite(Time.minutes(10)).expireAfterAccess(Time.minutes(5)).expirationInterval(Time.seconds(10)).buildAsync();
|
|
444
|
+
_Caching.wrappedImageCache = Caches.builder().expireAfterWrite(Time.minutes(10)).expireAfterAccess(Time.minutes(5)).expirationInterval(Time.seconds(10)).buildAsync();
|
|
445
|
+
_Caching.boxGeometryCache = Caches.builder().expireAfterWrite(Time.minutes(10)).expireAfterAccess(Time.minutes(5)).expirationInterval(Time.seconds(20)).build();
|
|
446
|
+
_Caching.textureCache = Caches.builder().expireAfterWrite(Time.minutes(10)).expireAfterAccess(Time.minutes(5)).expirationInterval(Time.seconds(30)).build();
|
|
447
|
+
_Caching.materialCache = Caches.builder().expireAfterWrite(Time.minutes(10)).expireAfterAccess(Time.minutes(5)).expirationInterval(Time.seconds(30)).build();
|
|
448
|
+
_Caching.boxMeshCache = Caches.builder().expireAfterWrite(Time.minutes(10)).expireAfterAccess(Time.minutes(5)).expirationInterval(Time.seconds(30)).build();
|
|
449
|
+
_Caching.textureAssetCache = Caches.builder().expireAfterWrite(Time.minutes(10)).expireAfterAccess(Time.minutes(5)).expirationInterval(Time.seconds(30)).buildAsync();
|
|
450
|
+
_Caching.textureMetaCache = Caches.builder().expireAfterWrite(Time.minutes(10)).expireAfterAccess(Time.minutes(5)).expirationInterval(Time.seconds(30)).buildAsync();
|
|
451
|
+
_Caching.rawModelCache = Caches.builder().expireAfterWrite(Time.minutes(10)).expireAfterAccess(Time.minutes(5)).expirationInterval(Time.seconds(30)).buildAsync();
|
|
452
|
+
_Caching.mergedModelCache = Caches.builder().expireAfterWrite(Time.minutes(10)).expireAfterAccess(Time.minutes(5)).expirationInterval(Time.seconds(30)).buildAsync();
|
|
453
|
+
_Caching.modelTextureAtlasCache = Caches.builder().expireAfterWrite(Time.minutes(10)).expireAfterAccess(Time.minutes(5)).expirationInterval(Time.seconds(30)).buildAsync();
|
|
454
|
+
_Caching.blockStateCache = Caches.builder().expireAfterWrite(Time.minutes(10)).expireAfterAccess(Time.minutes(5)).expirationInterval(Time.seconds(30)).buildAsync();
|
|
455
|
+
_Caching.listAssetCache = _Caching.createAssetCache();
|
|
456
|
+
_Caching.defaultBlockStatesCache = _Caching.createAssetCache();
|
|
457
|
+
_Caching.entityModelsCache = _Caching.createAssetCache();
|
|
458
|
+
var Caching = _Caching;
|
|
454
459
|
|
|
455
460
|
// src/Geometries.ts
|
|
456
461
|
var Geometries = class _Geometries {
|
|
@@ -1232,9 +1237,6 @@ var ModelMerger = class {
|
|
|
1232
1237
|
}
|
|
1233
1238
|
};
|
|
1234
1239
|
|
|
1235
|
-
// src/assets/Models.ts
|
|
1236
|
-
import { Memoize } from "typescript-memoize";
|
|
1237
|
-
|
|
1238
1240
|
// src/assets/source/parser/AssetParsers.ts
|
|
1239
1241
|
var AssetParser = /* @__PURE__ */ ((AssetParser2) => {
|
|
1240
1242
|
AssetParser2["MODEL"] = "model";
|
|
@@ -1248,14 +1250,14 @@ var AssetParser = /* @__PURE__ */ ((AssetParser2) => {
|
|
|
1248
1250
|
})(AssetParser || {});
|
|
1249
1251
|
|
|
1250
1252
|
// src/assets/Models.ts
|
|
1251
|
-
var
|
|
1253
|
+
var Models = class _Models {
|
|
1252
1254
|
// opened lazily: touching the store at import time would hit IndexedDB/disk just for loading
|
|
1253
1255
|
// the library, and would require an EnvProvider before any entry has had a chance to register
|
|
1254
1256
|
static get PERSISTENT_CACHE() {
|
|
1255
1257
|
return this._persistentCache ?? (this._persistentCache = PersistentCache.open("minerender-models"));
|
|
1256
1258
|
}
|
|
1257
1259
|
static async getItemList() {
|
|
1258
|
-
|
|
1260
|
+
const key = new AssetKey(
|
|
1259
1261
|
DEFAULT_NAMESPACE,
|
|
1260
1262
|
"_list",
|
|
1261
1263
|
"models",
|
|
@@ -1263,7 +1265,10 @@ var _Models = class _Models {
|
|
|
1263
1265
|
"assets",
|
|
1264
1266
|
".json",
|
|
1265
1267
|
DEFAULT_ROOT
|
|
1266
|
-
)
|
|
1268
|
+
);
|
|
1269
|
+
return Caching.listAssetCache.get(key.serialize(), () => {
|
|
1270
|
+
return AssetLoader.get(key, "list" /* LIST */);
|
|
1271
|
+
}).then((r) => r?.files ?? []);
|
|
1267
1272
|
}
|
|
1268
1273
|
static async loadAndMerge(key) {
|
|
1269
1274
|
const model = await this.getRaw(key);
|
|
@@ -1310,19 +1315,15 @@ var _Models = class _Models {
|
|
|
1310
1315
|
return this.PERSISTENT_CACHE.clear();
|
|
1311
1316
|
}
|
|
1312
1317
|
};
|
|
1313
|
-
__decorateClass([
|
|
1314
|
-
Memoize()
|
|
1315
|
-
], _Models, "getItemList", 1);
|
|
1316
|
-
var Models = _Models;
|
|
1317
1318
|
|
|
1318
1319
|
// src/assets/BlockStates.ts
|
|
1319
|
-
import { Memoize as Memoize2 } from "typescript-memoize";
|
|
1320
1320
|
var BlockStates = class {
|
|
1321
1321
|
static get PERSISTENT_CACHE() {
|
|
1322
1322
|
return this._persistentCache ?? (this._persistentCache = PersistentCache.open("minerender-blockstates"));
|
|
1323
1323
|
}
|
|
1324
|
+
// BlockState names are hardcoded
|
|
1324
1325
|
static async getList() {
|
|
1325
|
-
|
|
1326
|
+
const key = new AssetKey(
|
|
1326
1327
|
DEFAULT_NAMESPACE,
|
|
1327
1328
|
"_list",
|
|
1328
1329
|
"blockstates",
|
|
@@ -1330,11 +1331,16 @@ var BlockStates = class {
|
|
|
1330
1331
|
"assets",
|
|
1331
1332
|
".json",
|
|
1332
1333
|
DEFAULT_ROOT
|
|
1333
|
-
)
|
|
1334
|
+
);
|
|
1335
|
+
return Caching.listAssetCache.get(key.serialize(), () => {
|
|
1336
|
+
return AssetLoader.get(key, "list" /* LIST */);
|
|
1337
|
+
}).then((r) => r?.files ?? []);
|
|
1334
1338
|
}
|
|
1335
1339
|
static async getDefaultStates() {
|
|
1336
1340
|
const key = AssetKey.parse("blockstates", "minerender:defaultBlockStates");
|
|
1337
|
-
return
|
|
1341
|
+
return Caching.defaultBlockStatesCache.get(key.serialize(), () => {
|
|
1342
|
+
return AssetLoader.get(key, "json" /* JSON */);
|
|
1343
|
+
});
|
|
1338
1344
|
}
|
|
1339
1345
|
static async getDefaultState(key) {
|
|
1340
1346
|
const defaultStates = await this.getDefaultStates();
|
|
@@ -1373,12 +1379,6 @@ var BlockStates = class {
|
|
|
1373
1379
|
await this.PERSISTENT_CACHE.clear();
|
|
1374
1380
|
}
|
|
1375
1381
|
};
|
|
1376
|
-
__decorateClass([
|
|
1377
|
-
Memoize2()
|
|
1378
|
-
], BlockStates, "getList", 1);
|
|
1379
|
-
__decorateClass([
|
|
1380
|
-
Memoize2()
|
|
1381
|
-
], BlockStates, "getDefaultStates", 1);
|
|
1382
1382
|
var DefaultBlockStates = class {
|
|
1383
1383
|
};
|
|
1384
1384
|
|
|
@@ -2428,17 +2428,20 @@ function shutdown() {
|
|
|
2428
2428
|
}
|
|
2429
2429
|
|
|
2430
2430
|
// src/assets/Entities.ts
|
|
2431
|
-
import { Memoize as Memoize3 } from "typescript-memoize";
|
|
2432
2431
|
var Entities = class {
|
|
2433
2432
|
static async getBlockEntityModels() {
|
|
2434
2433
|
const key = AssetKey.parse("models", "minerender:blockEntityModels");
|
|
2435
2434
|
console.log(key);
|
|
2436
|
-
return
|
|
2435
|
+
return Caching.entityModelsCache.get(key.serialize(), () => {
|
|
2436
|
+
return AssetLoader.get(key, "json" /* JSON */);
|
|
2437
|
+
});
|
|
2437
2438
|
}
|
|
2438
2439
|
static async getEntityModels() {
|
|
2439
2440
|
const key = AssetKey.parse("models", "minerender:entityModels");
|
|
2440
2441
|
console.log(key);
|
|
2441
|
-
return
|
|
2442
|
+
return Caching.entityModelsCache.get(key.serialize(), () => {
|
|
2443
|
+
return AssetLoader.get(key, "json" /* JSON */);
|
|
2444
|
+
});
|
|
2442
2445
|
}
|
|
2443
2446
|
// BlockEntity names are hardcoded
|
|
2444
2447
|
static async getBlockList() {
|
|
@@ -2484,12 +2487,6 @@ var Entities = class {
|
|
|
2484
2487
|
};
|
|
2485
2488
|
}
|
|
2486
2489
|
};
|
|
2487
|
-
__decorateClass([
|
|
2488
|
-
Memoize3()
|
|
2489
|
-
], Entities, "getBlockEntityModels", 1);
|
|
2490
|
-
__decorateClass([
|
|
2491
|
-
Memoize3()
|
|
2492
|
-
], Entities, "getEntityModels", 1);
|
|
2493
2490
|
var EntityModels = class {
|
|
2494
2491
|
};
|
|
2495
2492
|
var BlockEntityModels = class {
|