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/node/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({
|
|
@@ -156,11 +148,14 @@ var _PersistentCache = class _PersistentCache {
|
|
|
156
148
|
static open(name) {
|
|
157
149
|
return Env.provider.openCache(name, _PersistentCache.VERSION);
|
|
158
150
|
}
|
|
151
|
+
/** Loads a missing entry and stores only non-nullish results. */
|
|
159
152
|
async getOrLoad(key, loader) {
|
|
160
153
|
let v = await this.get(key);
|
|
161
154
|
if (typeof v === "undefined" || v === null) {
|
|
162
155
|
v = await loader(key);
|
|
163
|
-
|
|
156
|
+
if (typeof v !== "undefined" && v !== null) {
|
|
157
|
+
await this.put(key, v);
|
|
158
|
+
}
|
|
164
159
|
}
|
|
165
160
|
return v;
|
|
166
161
|
}
|
|
@@ -357,7 +352,10 @@ function serializeMeshKey(key) {
|
|
|
357
352
|
// src/cache/Caching.ts
|
|
358
353
|
import { Caches } from "@inventivetalent/loading-cache";
|
|
359
354
|
import { Time } from "@inventivetalent/time";
|
|
360
|
-
var
|
|
355
|
+
var _Caching = class _Caching {
|
|
356
|
+
static createAssetCache() {
|
|
357
|
+
return Caches.builder().expireAfterWrite(Time.minutes(10)).expireAfterAccess(Time.minutes(5)).expirationInterval(Time.seconds(30)).buildAsync();
|
|
358
|
+
}
|
|
361
359
|
/** Every cache above, so clear()/end() can never fall out of sync with the field list again. */
|
|
362
360
|
static get all() {
|
|
363
361
|
return [
|
|
@@ -374,7 +372,10 @@ var Caching = class {
|
|
|
374
372
|
this.rawModelCache,
|
|
375
373
|
this.mergedModelCache,
|
|
376
374
|
this.modelTextureAtlasCache,
|
|
377
|
-
this.blockStateCache
|
|
375
|
+
this.blockStateCache,
|
|
376
|
+
this.listAssetCache,
|
|
377
|
+
this.defaultBlockStatesCache,
|
|
378
|
+
this.entityModelsCache
|
|
378
379
|
];
|
|
379
380
|
}
|
|
380
381
|
static clear() {
|
|
@@ -400,20 +401,24 @@ var Caching = class {
|
|
|
400
401
|
};
|
|
401
402
|
}
|
|
402
403
|
};
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
404
|
+
_Caching.rawImageCache = Caches.builder().expireAfterWrite(Time.minutes(10)).expireAfterAccess(Time.minutes(5)).expirationInterval(Time.seconds(5)).buildAsync();
|
|
405
|
+
_Caching.imageDataCache = Caches.builder().expireAfterWrite(Time.minutes(10)).expireAfterAccess(Time.minutes(5)).expirationInterval(Time.seconds(10)).buildAsync();
|
|
406
|
+
_Caching.canvasImageDataCache = Caches.builder().expireAfterWrite(Time.minutes(10)).expireAfterAccess(Time.minutes(5)).expirationInterval(Time.seconds(10)).buildAsync();
|
|
407
|
+
_Caching.wrappedImageCache = Caches.builder().expireAfterWrite(Time.minutes(10)).expireAfterAccess(Time.minutes(5)).expirationInterval(Time.seconds(10)).buildAsync();
|
|
408
|
+
_Caching.boxGeometryCache = Caches.builder().expireAfterWrite(Time.minutes(10)).expireAfterAccess(Time.minutes(5)).expirationInterval(Time.seconds(20)).build();
|
|
409
|
+
_Caching.textureCache = Caches.builder().expireAfterWrite(Time.minutes(10)).expireAfterAccess(Time.minutes(5)).expirationInterval(Time.seconds(30)).build();
|
|
410
|
+
_Caching.materialCache = Caches.builder().expireAfterWrite(Time.minutes(10)).expireAfterAccess(Time.minutes(5)).expirationInterval(Time.seconds(30)).build();
|
|
411
|
+
_Caching.boxMeshCache = Caches.builder().expireAfterWrite(Time.minutes(10)).expireAfterAccess(Time.minutes(5)).expirationInterval(Time.seconds(30)).build();
|
|
412
|
+
_Caching.textureAssetCache = Caches.builder().expireAfterWrite(Time.minutes(10)).expireAfterAccess(Time.minutes(5)).expirationInterval(Time.seconds(30)).buildAsync();
|
|
413
|
+
_Caching.textureMetaCache = Caches.builder().expireAfterWrite(Time.minutes(10)).expireAfterAccess(Time.minutes(5)).expirationInterval(Time.seconds(30)).buildAsync();
|
|
414
|
+
_Caching.rawModelCache = Caches.builder().expireAfterWrite(Time.minutes(10)).expireAfterAccess(Time.minutes(5)).expirationInterval(Time.seconds(30)).buildAsync();
|
|
415
|
+
_Caching.mergedModelCache = Caches.builder().expireAfterWrite(Time.minutes(10)).expireAfterAccess(Time.minutes(5)).expirationInterval(Time.seconds(30)).buildAsync();
|
|
416
|
+
_Caching.modelTextureAtlasCache = Caches.builder().expireAfterWrite(Time.minutes(10)).expireAfterAccess(Time.minutes(5)).expirationInterval(Time.seconds(30)).buildAsync();
|
|
417
|
+
_Caching.blockStateCache = Caches.builder().expireAfterWrite(Time.minutes(10)).expireAfterAccess(Time.minutes(5)).expirationInterval(Time.seconds(30)).buildAsync();
|
|
418
|
+
_Caching.listAssetCache = _Caching.createAssetCache();
|
|
419
|
+
_Caching.defaultBlockStatesCache = _Caching.createAssetCache();
|
|
420
|
+
_Caching.entityModelsCache = _Caching.createAssetCache();
|
|
421
|
+
var Caching = _Caching;
|
|
417
422
|
|
|
418
423
|
// src/Geometries.ts
|
|
419
424
|
var Geometries = class _Geometries {
|
|
@@ -1197,9 +1202,6 @@ var ModelMerger = class {
|
|
|
1197
1202
|
}
|
|
1198
1203
|
};
|
|
1199
1204
|
|
|
1200
|
-
// src/assets/Models.ts
|
|
1201
|
-
import { Memoize } from "typescript-memoize";
|
|
1202
|
-
|
|
1203
1205
|
// src/assets/source/parser/AssetParsers.ts
|
|
1204
1206
|
var AssetParser = /* @__PURE__ */ ((AssetParser2) => {
|
|
1205
1207
|
AssetParser2["MODEL"] = "model";
|
|
@@ -1213,14 +1215,14 @@ var AssetParser = /* @__PURE__ */ ((AssetParser2) => {
|
|
|
1213
1215
|
})(AssetParser || {});
|
|
1214
1216
|
|
|
1215
1217
|
// src/assets/Models.ts
|
|
1216
|
-
var
|
|
1218
|
+
var Models = class _Models {
|
|
1217
1219
|
// opened lazily: touching the store at import time would hit IndexedDB/disk just for loading
|
|
1218
1220
|
// the library, and would require an EnvProvider before any entry has had a chance to register
|
|
1219
1221
|
static get PERSISTENT_CACHE() {
|
|
1220
1222
|
return this._persistentCache ??= PersistentCache.open("minerender-models");
|
|
1221
1223
|
}
|
|
1222
1224
|
static async getItemList() {
|
|
1223
|
-
|
|
1225
|
+
const key = new AssetKey(
|
|
1224
1226
|
DEFAULT_NAMESPACE,
|
|
1225
1227
|
"_list",
|
|
1226
1228
|
"models",
|
|
@@ -1228,7 +1230,10 @@ var _Models = class _Models {
|
|
|
1228
1230
|
"assets",
|
|
1229
1231
|
".json",
|
|
1230
1232
|
DEFAULT_ROOT
|
|
1231
|
-
)
|
|
1233
|
+
);
|
|
1234
|
+
return Caching.listAssetCache.get(key.serialize(), () => {
|
|
1235
|
+
return AssetLoader.get(key, "list" /* LIST */);
|
|
1236
|
+
}).then((r) => (r == null ? void 0 : r.files) ?? []);
|
|
1232
1237
|
}
|
|
1233
1238
|
static async loadAndMerge(key) {
|
|
1234
1239
|
const model = await this.getRaw(key);
|
|
@@ -1275,19 +1280,15 @@ var _Models = class _Models {
|
|
|
1275
1280
|
return this.PERSISTENT_CACHE.clear();
|
|
1276
1281
|
}
|
|
1277
1282
|
};
|
|
1278
|
-
__decorateClass([
|
|
1279
|
-
Memoize()
|
|
1280
|
-
], _Models, "getItemList", 1);
|
|
1281
|
-
var Models = _Models;
|
|
1282
1283
|
|
|
1283
1284
|
// src/assets/BlockStates.ts
|
|
1284
|
-
import { Memoize as Memoize2 } from "typescript-memoize";
|
|
1285
1285
|
var BlockStates = class {
|
|
1286
1286
|
static get PERSISTENT_CACHE() {
|
|
1287
1287
|
return this._persistentCache ??= PersistentCache.open("minerender-blockstates");
|
|
1288
1288
|
}
|
|
1289
|
+
// BlockState names are hardcoded
|
|
1289
1290
|
static async getList() {
|
|
1290
|
-
|
|
1291
|
+
const key = new AssetKey(
|
|
1291
1292
|
DEFAULT_NAMESPACE,
|
|
1292
1293
|
"_list",
|
|
1293
1294
|
"blockstates",
|
|
@@ -1295,11 +1296,16 @@ var BlockStates = class {
|
|
|
1295
1296
|
"assets",
|
|
1296
1297
|
".json",
|
|
1297
1298
|
DEFAULT_ROOT
|
|
1298
|
-
)
|
|
1299
|
+
);
|
|
1300
|
+
return Caching.listAssetCache.get(key.serialize(), () => {
|
|
1301
|
+
return AssetLoader.get(key, "list" /* LIST */);
|
|
1302
|
+
}).then((r) => (r == null ? void 0 : r.files) ?? []);
|
|
1299
1303
|
}
|
|
1300
1304
|
static async getDefaultStates() {
|
|
1301
1305
|
const key = AssetKey.parse("blockstates", "minerender:defaultBlockStates");
|
|
1302
|
-
return
|
|
1306
|
+
return Caching.defaultBlockStatesCache.get(key.serialize(), () => {
|
|
1307
|
+
return AssetLoader.get(key, "json" /* JSON */);
|
|
1308
|
+
});
|
|
1303
1309
|
}
|
|
1304
1310
|
static async getDefaultState(key) {
|
|
1305
1311
|
const defaultStates = await this.getDefaultStates();
|
|
@@ -1338,12 +1344,6 @@ var BlockStates = class {
|
|
|
1338
1344
|
await this.PERSISTENT_CACHE.clear();
|
|
1339
1345
|
}
|
|
1340
1346
|
};
|
|
1341
|
-
__decorateClass([
|
|
1342
|
-
Memoize2()
|
|
1343
|
-
], BlockStates, "getList", 1);
|
|
1344
|
-
__decorateClass([
|
|
1345
|
-
Memoize2()
|
|
1346
|
-
], BlockStates, "getDefaultStates", 1);
|
|
1347
1347
|
var DefaultBlockStates = class {
|
|
1348
1348
|
};
|
|
1349
1349
|
|
|
@@ -2395,17 +2395,20 @@ function shutdown() {
|
|
|
2395
2395
|
}
|
|
2396
2396
|
|
|
2397
2397
|
// src/assets/Entities.ts
|
|
2398
|
-
import { Memoize as Memoize3 } from "typescript-memoize";
|
|
2399
2398
|
var Entities = class {
|
|
2400
2399
|
static async getBlockEntityModels() {
|
|
2401
2400
|
const key = AssetKey.parse("models", "minerender:blockEntityModels");
|
|
2402
2401
|
console.log(key);
|
|
2403
|
-
return
|
|
2402
|
+
return Caching.entityModelsCache.get(key.serialize(), () => {
|
|
2403
|
+
return AssetLoader.get(key, "json" /* JSON */);
|
|
2404
|
+
});
|
|
2404
2405
|
}
|
|
2405
2406
|
static async getEntityModels() {
|
|
2406
2407
|
const key = AssetKey.parse("models", "minerender:entityModels");
|
|
2407
2408
|
console.log(key);
|
|
2408
|
-
return
|
|
2409
|
+
return Caching.entityModelsCache.get(key.serialize(), () => {
|
|
2410
|
+
return AssetLoader.get(key, "json" /* JSON */);
|
|
2411
|
+
});
|
|
2409
2412
|
}
|
|
2410
2413
|
// BlockEntity names are hardcoded
|
|
2411
2414
|
static async getBlockList() {
|
|
@@ -2451,12 +2454,6 @@ var Entities = class {
|
|
|
2451
2454
|
};
|
|
2452
2455
|
}
|
|
2453
2456
|
};
|
|
2454
|
-
__decorateClass([
|
|
2455
|
-
Memoize3()
|
|
2456
|
-
], Entities, "getBlockEntityModels", 1);
|
|
2457
|
-
__decorateClass([
|
|
2458
|
-
Memoize3()
|
|
2459
|
-
], Entities, "getEntityModels", 1);
|
|
2460
2457
|
var EntityModels = class {
|
|
2461
2458
|
};
|
|
2462
2459
|
var BlockEntityModels = class {
|