minerender 2.0.0-alpha.8 → 2.0.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/build.mjs +2 -2
- package/dist/bundle.js +11958 -2504
- package/dist/bundle.js.map +4 -5
- package/dist/cjs/UVMapper.js +6 -2
- package/dist/cjs/UVMapper.js.map +1 -1
- package/dist/cjs/assets/AssetLoader.d.ts +2 -1
- package/dist/cjs/assets/AssetLoader.js +28 -6
- package/dist/cjs/assets/AssetLoader.js.map +1 -1
- package/dist/cjs/assets/source/archive/ArchiveAssetSource.d.ts +17 -0
- package/dist/cjs/assets/source/archive/ArchiveAssetSource.js +126 -0
- package/dist/cjs/assets/source/archive/ArchiveAssetSource.js.map +1 -0
- package/dist/cjs/assets/source/archive/ArchiveEntry.d.ts +5 -0
- package/dist/cjs/assets/source/archive/ArchiveEntry.js +3 -0
- package/dist/cjs/assets/source/archive/ArchiveEntry.js.map +1 -0
- package/dist/cjs/assets/source/archive/ArchiveProxy.d.ts +4 -0
- package/dist/cjs/assets/source/archive/ArchiveProxy.js +3 -0
- package/dist/cjs/assets/source/archive/ArchiveProxy.js.map +1 -0
- package/dist/cjs/assets/source/archive/BrowserArchiveProxy.d.ts +9 -0
- package/dist/cjs/assets/source/archive/BrowserArchiveProxy.js +34 -0
- package/dist/cjs/assets/source/archive/BrowserArchiveProxy.js.map +1 -0
- package/dist/cjs/assets/source/archive/index.d.ts +4 -0
- package/dist/cjs/assets/source/archive/index.js +21 -0
- package/dist/cjs/assets/source/archive/index.js.map +1 -0
- package/dist/cjs/assets/source/index.d.ts +1 -0
- package/dist/cjs/assets/source/index.js +1 -0
- package/dist/cjs/assets/source/index.js.map +1 -1
- package/dist/cjs/cache/Caching.js +9 -0
- package/dist/cjs/cache/Caching.js.map +1 -1
- package/dist/cjs/model/scene/ModelObject.js +1 -1
- package/dist/cjs/model/scene/ModelObject.js.map +1 -1
- package/dist/cjs/renderer/MineRenderScene.d.ts +1 -1
- package/dist/cjs/renderer/MineRenderScene.js +5 -6
- package/dist/cjs/renderer/MineRenderScene.js.map +1 -1
- package/dist/cjs/renderer/SceneObject.js +1 -0
- package/dist/cjs/renderer/SceneObject.js.map +1 -1
- package/dist/esm/UVMapper.js +6 -2
- package/dist/esm/UVMapper.js.map +1 -1
- package/dist/esm/assets/AssetLoader.d.ts +2 -1
- package/dist/esm/assets/AssetLoader.js +28 -6
- package/dist/esm/assets/AssetLoader.js.map +1 -1
- package/dist/esm/assets/source/archive/ArchiveAssetSource.d.ts +17 -0
- package/dist/esm/assets/source/archive/ArchiveAssetSource.js +122 -0
- package/dist/esm/assets/source/archive/ArchiveAssetSource.js.map +1 -0
- package/dist/esm/assets/source/archive/ArchiveEntry.d.ts +5 -0
- package/dist/esm/assets/source/archive/ArchiveEntry.js +2 -0
- package/dist/esm/assets/source/archive/ArchiveEntry.js.map +1 -0
- package/dist/esm/assets/source/archive/ArchiveProxy.d.ts +4 -0
- package/dist/esm/assets/source/archive/ArchiveProxy.js +2 -0
- package/dist/esm/assets/source/archive/ArchiveProxy.js.map +1 -0
- package/dist/esm/assets/source/archive/BrowserArchiveProxy.d.ts +9 -0
- package/dist/esm/assets/source/archive/BrowserArchiveProxy.js +30 -0
- package/dist/esm/assets/source/archive/BrowserArchiveProxy.js.map +1 -0
- package/dist/esm/assets/source/archive/index.d.ts +4 -0
- package/dist/esm/assets/source/archive/index.js +5 -0
- package/dist/esm/assets/source/archive/index.js.map +1 -0
- package/dist/esm/assets/source/index.d.ts +1 -0
- package/dist/esm/assets/source/index.js +1 -0
- package/dist/esm/assets/source/index.js.map +1 -1
- package/dist/esm/cache/Caching.js +9 -0
- package/dist/esm/cache/Caching.js.map +1 -1
- package/dist/esm/model/scene/ModelObject.js +1 -1
- package/dist/esm/model/scene/ModelObject.js.map +1 -1
- package/dist/esm/renderer/MineRenderScene.d.ts +1 -1
- package/dist/esm/renderer/MineRenderScene.js +5 -6
- package/dist/esm/renderer/MineRenderScene.js.map +1 -1
- package/dist/esm/renderer/SceneObject.js +1 -0
- package/dist/esm/renderer/SceneObject.js.map +1 -1
- package/package.json +3 -1
- package/src/UVMapper.ts +10 -6
- package/src/assets/AssetLoader.ts +30 -6
- package/src/assets/source/archive/ArchiveAssetSource.ts +124 -0
- package/src/assets/source/archive/ArchiveEntry.ts +5 -0
- package/src/assets/source/archive/ArchiveProxy.ts +7 -0
- package/src/assets/source/archive/BrowserArchiveProxy.ts +27 -0
- package/src/assets/source/archive/index.ts +4 -0
- package/src/assets/source/index.ts +2 -1
- package/src/cache/Caching.ts +9 -0
- package/src/model/scene/ModelObject.ts +1 -1
- package/src/renderer/MineRenderScene.ts +4 -5
- package/src/renderer/SceneObject.ts +1 -0
|
@@ -54,19 +54,19 @@ export class MineRenderScene extends Scene {
|
|
|
54
54
|
return this.add(...object);
|
|
55
55
|
});
|
|
56
56
|
}
|
|
57
|
-
addSceneObject(asset, objectSupplier,
|
|
58
|
-
var _a;
|
|
57
|
+
addSceneObject(asset, objectSupplier, _options, parent = this) {
|
|
58
|
+
var _a, _b;
|
|
59
59
|
return __awaiter(this, void 0, void 0, function* () {
|
|
60
|
-
console.log("addSceneObject");
|
|
60
|
+
console.log("addSceneObject", asset);
|
|
61
61
|
console.log("parent", parent);
|
|
62
62
|
this.dirty = true;
|
|
63
63
|
// console.log(this.instanceCache)
|
|
64
|
-
|
|
64
|
+
const obj = yield objectSupplier();
|
|
65
|
+
if (((_a = obj === null || obj === void 0 ? void 0 : obj.options) === null || _a === void 0 ? void 0 : _a.instanceMeshes) && asset.key && ((_b = asset.key) === null || _b === void 0 ? void 0 : _b.assetType) === "models" /*TODO*/) {
|
|
65
66
|
// console.log("instanceMeshes + key")
|
|
66
67
|
// check for existing instances
|
|
67
68
|
const key = asset.key.serialize();
|
|
68
69
|
return this.instanceManager.getOrCreate(key, () => __awaiter(this, void 0, void 0, function* () {
|
|
69
|
-
const obj = yield objectSupplier();
|
|
70
70
|
obj.scene = this;
|
|
71
71
|
yield obj.init();
|
|
72
72
|
parent.add(obj);
|
|
@@ -76,7 +76,6 @@ export class MineRenderScene extends Scene {
|
|
|
76
76
|
}
|
|
77
77
|
else {
|
|
78
78
|
// console.log("!instanceMeshes | !key")
|
|
79
|
-
const obj = yield objectSupplier();
|
|
80
79
|
obj.scene = this;
|
|
81
80
|
// await this.initAndAdd(obj);
|
|
82
81
|
yield obj.init();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MineRenderScene.js","sourceRoot":"src/","sources":["renderer/MineRenderScene.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAY,KAAK,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAC,aAAa,EAAc,MAAM,eAAe,CAAC;AACzD,OAAO,KAAK,MAAM,cAAc,CAAC;AAEjC,OAAO,EAAE,WAAW,EAAsB,MAAM,4BAA4B,CAAC;AAE7E,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAK3C,OAAO,EAAE,WAAW,EAAsB,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAClG,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE9D,OAAO,EAAE,UAAU,EAAqB,MAAM,0BAA0B,CAAC;AACzE,OAAO,EAAE,YAAY,EAAuB,MAAM,8BAA8B,CAAC;AAIjF,MAAM,OAAO,eAAgB,SAAQ,KAAK;IAYtC,YAAY,OAA6C;QACrD,KAAK,EAAE,CAAC;QAXI,sBAAiB,GAAS,IAAI,CAAC;QAKtC,UAAK,GAAe,IAAI,UAAU,EAAE,CAAC;QAC3B,oBAAe,GAAoB,IAAI,eAAe,EAAE,CAAC;QAErE,UAAK,GAAY,IAAI,CAAC;QAIzB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,EAAE,EAAE,eAAe,CAAC,eAAe,EAAE,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE,CAAC,CAAC;IAC7E,CAAC;IAED,GAAG,CAAC,GAAG,MAAM;QACT,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,MAAM,CAAC,MAAM,CAAC;QACxC,KAAK,IAAI,GAAG,IAAI,MAAM,EAAE;YACpB,IAAI,aAAa,CAAC,GAAG,CAAC,EAAE;gBACpB,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC;aACjC;YACD,wCAAwC;YACxC,yBAAyB;YACzB,MAAM;YACN,GAAG,CAAC,gBAAgB,CAAC,QAAQ,EAAC,KAAK,CAAA,EAAE;gBACjC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;YACtB,CAAC,CAAC,CAAC;SACN;QACD,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;IAChC,CAAC;IAED,MAAM,CAAC,GAAG,MAAM;QACZ,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,OAAO,KAAK,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC;IACnC,CAAC;IAEY,UAAU,CAAC,GAAG,MAAqB;;YAC5C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;YAClB,KAAK,IAAI,GAAG,IAAI,MAAM,EAAE;gBACpB,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;aACpB;YACD,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;QAC/B,CAAC;KAAA;IAEK,cAAc,CAAqF,KAAQ,EAAE,cAAoC,EAAE,
|
|
1
|
+
{"version":3,"file":"MineRenderScene.js","sourceRoot":"src/","sources":["renderer/MineRenderScene.ts"],"names":[],"mappings":"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"}
|
|
@@ -27,6 +27,7 @@ export class SceneObject extends Object3D {
|
|
|
27
27
|
this._isInstanced = false;
|
|
28
28
|
this._instanceCounter = 0;
|
|
29
29
|
this.options = merge({}, SceneObject.DEFAULT_OPTIONS, options !== null && options !== void 0 ? options : {});
|
|
30
|
+
console.log("SceneObject options", this.options);
|
|
30
31
|
}
|
|
31
32
|
set scene(scene) {
|
|
32
33
|
if (!!this._scene)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SceneObject.js","sourceRoot":"src/","sources":["renderer/SceneObject.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SceneObject.js","sourceRoot":"src/","sources":["renderer/SceneObject.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "minerender",
|
|
3
|
-
"version": "2.0.0-alpha.
|
|
3
|
+
"version": "2.0.0-alpha.9",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "./dist/cjs/index.js",
|
|
6
6
|
"types": "./dist/cjs/index.d.ts",
|
|
@@ -81,6 +81,7 @@
|
|
|
81
81
|
"@types/node": "^14.14.31",
|
|
82
82
|
"@types/node-persist": "^3.1.1",
|
|
83
83
|
"@types/three": "^0.125.2",
|
|
84
|
+
"@zip.js/zip.js": "^2.7.30",
|
|
84
85
|
"ava": "^5.3.1",
|
|
85
86
|
"browserify-fs": "^1.0.0",
|
|
86
87
|
"browserify-incremental": "^3.1.1",
|
|
@@ -93,6 +94,7 @@
|
|
|
93
94
|
"event-stream": "^4.0.1",
|
|
94
95
|
"glob": "^7.1.6",
|
|
95
96
|
"progress-stream": "^2.0.0",
|
|
97
|
+
"typedoc": "^0.25.3",
|
|
96
98
|
"typescript": "^4.1.5"
|
|
97
99
|
}
|
|
98
100
|
}
|
package/src/UVMapper.ts
CHANGED
|
@@ -242,7 +242,7 @@ export class UVMapper {
|
|
|
242
242
|
public static async createAtlas(originalModel: Model): Promise<Maybe<TextureAtlas>> {
|
|
243
243
|
const textureMap: { [key: string]: Maybe<WrappedImage>; } = {};
|
|
244
244
|
const metaMap: { [key: string]: Maybe<MinecraftTextureMeta>; } = {};
|
|
245
|
-
const model = {
|
|
245
|
+
const model = {...originalModel};
|
|
246
246
|
const isItemModel = !("elements" in model);
|
|
247
247
|
|
|
248
248
|
console.debug(p, "Creating Atlas for", model.key);
|
|
@@ -259,7 +259,11 @@ export class UVMapper {
|
|
|
259
259
|
uniqueTextureNames.push(textureKey);
|
|
260
260
|
const assetKey = AssetKey.parse("textures", textureValue, model.key);
|
|
261
261
|
promises.push(ModelTextures.get(assetKey).then(asset => {
|
|
262
|
-
|
|
262
|
+
if (!asset) {
|
|
263
|
+
console.warn(p, "Missing texture", assetKey)
|
|
264
|
+
return;
|
|
265
|
+
}
|
|
266
|
+
textureMap[textureKey] = new WrappedImage(asset);
|
|
263
267
|
}));
|
|
264
268
|
promises.push(ModelTextures.getMeta(assetKey).then(meta => {
|
|
265
269
|
metaMap[textureKey] = meta;
|
|
@@ -292,7 +296,7 @@ export class UVMapper {
|
|
|
292
296
|
}
|
|
293
297
|
this.fillMissingTextureKeys(model.textures, sizes);
|
|
294
298
|
|
|
295
|
-
// console.log(sizes);
|
|
299
|
+
// console.log("sizes", sizes);
|
|
296
300
|
|
|
297
301
|
const s = (Math.ceil(Math.sqrt(textureCount + 1))); // +1 for transparency
|
|
298
302
|
const size = Math.ceil(s * maxWidth)
|
|
@@ -373,11 +377,11 @@ export class UVMapper {
|
|
|
373
377
|
}
|
|
374
378
|
}
|
|
375
379
|
const atlasImageData = image.toDataURL();
|
|
376
|
-
console.log(p,"Atlas Image for", model.key, atlasImageData);
|
|
380
|
+
console.log(p, "Atlas Image for", model.key, atlasImageData);
|
|
377
381
|
|
|
378
382
|
this.fillMissingTextureKeys(model.textures, positions);
|
|
379
383
|
|
|
380
|
-
// console.log(positions);
|
|
384
|
+
// console.log("positions", positions);
|
|
381
385
|
|
|
382
386
|
if (isItemModel) {
|
|
383
387
|
console.debug(p, "Generating item model for", model);
|
|
@@ -388,7 +392,7 @@ export class UVMapper {
|
|
|
388
392
|
model.elements.push(...ModelGenerator.generateItemModel(textureImage.data, layerName))
|
|
389
393
|
}
|
|
390
394
|
}
|
|
391
|
-
console.debug(p,"Item model elements",model.elements)
|
|
395
|
+
console.debug(p, "Item model elements", model.elements)
|
|
392
396
|
}
|
|
393
397
|
|
|
394
398
|
if (!model.elements) {
|
|
@@ -24,23 +24,47 @@ export class AssetLoader {
|
|
|
24
24
|
|
|
25
25
|
private static _SOURCES: AssetSourceReference[] = [];
|
|
26
26
|
|
|
27
|
-
public static addSource(key: string, source: AssetSource) {
|
|
27
|
+
public static addSource(key: string, source: AssetSource, override: boolean = true) {
|
|
28
|
+
if (override) {
|
|
29
|
+
const existing = this.removeSource(key);
|
|
30
|
+
if (existing) {
|
|
31
|
+
console.log(p, "Removed existing AssetSource", key);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
28
35
|
this._SOURCES.unshift({key, source});
|
|
29
36
|
console.log(p, "Added AssetSource", key);
|
|
30
37
|
}
|
|
31
38
|
|
|
39
|
+
public static removeSource(key: string): Maybe<AssetSource> {
|
|
40
|
+
const index = this._SOURCES.findIndex(s => s.key === key);
|
|
41
|
+
if (index != -1) {
|
|
42
|
+
const spliced = this._SOURCES.splice(index, 1);
|
|
43
|
+
if (spliced.length > 0) {
|
|
44
|
+
return spliced[0].source;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
return undefined;
|
|
48
|
+
}
|
|
49
|
+
|
|
32
50
|
static {
|
|
33
51
|
this.addSource("mcassets", new HostedAssetSource(DEFAULT_ROOT));
|
|
34
52
|
}
|
|
35
53
|
|
|
36
54
|
public static async get<T extends MinecraftAsset>(key: AssetKey, parser: AssetParser | string): Promise<Maybe<T>> {
|
|
55
|
+
console.log(this._SOURCES)
|
|
56
|
+
let promises: Promise<Maybe<T>>[] = [];
|
|
37
57
|
for (const source of this._SOURCES) {
|
|
38
|
-
|
|
39
|
-
if (result) {
|
|
40
|
-
return result;
|
|
41
|
-
}
|
|
58
|
+
promises.push(source.source.get<T>(key, parser));
|
|
42
59
|
}
|
|
43
|
-
return
|
|
60
|
+
return Promise.all(promises).then(results => {
|
|
61
|
+
for (const result of results) {
|
|
62
|
+
if (result) {
|
|
63
|
+
return result;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
return undefined;
|
|
67
|
+
});
|
|
44
68
|
}
|
|
45
69
|
|
|
46
70
|
}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import { AssetSource } from "../AssetSource";
|
|
2
|
+
import { ArchiveProxy } from "./ArchiveProxy";
|
|
3
|
+
import { ArchiveEntry } from "./ArchiveEntry";
|
|
4
|
+
import { MinecraftAsset } from "../../../MinecraftAsset";
|
|
5
|
+
import { AssetKey } from "../../AssetKey";
|
|
6
|
+
import { AssetParser, ResponseParser } from "../parser";
|
|
7
|
+
import { Maybe, prefix } from "../../../util";
|
|
8
|
+
import { Requests } from "../../../request";
|
|
9
|
+
import { HostedAssetSource } from "../HostedAssetSource";
|
|
10
|
+
import { AssetLoader } from "../../AssetLoader";
|
|
11
|
+
import { AxiosRequestConfig, AxiosResponse } from "axios";
|
|
12
|
+
import { BrowserArchiveProxy } from "./BrowserArchiveProxy";
|
|
13
|
+
|
|
14
|
+
const p = prefix("ArchiveAssetSource");
|
|
15
|
+
|
|
16
|
+
export class ArchiveAssetSource extends AssetSource implements ArchiveProxy {
|
|
17
|
+
|
|
18
|
+
readonly _archiveProxy: ArchiveProxy;
|
|
19
|
+
|
|
20
|
+
constructor(archiveProxy: ArchiveProxy) {
|
|
21
|
+
super();
|
|
22
|
+
console.log(archiveProxy)
|
|
23
|
+
this._archiveProxy = archiveProxy;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
public static blob(blob: Blob): ArchiveAssetSource {
|
|
27
|
+
return new ArchiveAssetSource(new BrowserArchiveProxy(blob));
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
public async getEntries(): Promise<ArchiveEntry[]> {
|
|
31
|
+
return this._archiveProxy.getEntries();
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
public async getEntry(path: string): Promise<Maybe<ArchiveEntry>> {
|
|
35
|
+
const entries = await this.getEntries();
|
|
36
|
+
return entries.find(e => e.filename === path);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
async get<T extends MinecraftAsset>(key: AssetKey, parser: AssetParser | string): Promise<Maybe<T>> {
|
|
40
|
+
const responseParser = HostedAssetSource.PARSER_MAP.get(parser as AssetParser) as ResponseParser<T>;
|
|
41
|
+
|
|
42
|
+
console.log("ArchiveAssetSource.get", key, parser);
|
|
43
|
+
let entries = (await this.getEntries());
|
|
44
|
+
|
|
45
|
+
const path = `${this.assetBasePath(key)}${key.type !== undefined ? key.type + '/' : ''}${key.path}${key.extension}`;
|
|
46
|
+
console.log(path);
|
|
47
|
+
const entry = await this.getEntry(path);
|
|
48
|
+
console.log(entry);
|
|
49
|
+
if (!entry) {
|
|
50
|
+
return undefined;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
let blob = await entry.getData();
|
|
54
|
+
const url = URL.createObjectURL(blob);
|
|
55
|
+
console.log(url);
|
|
56
|
+
let req = {
|
|
57
|
+
url: url,
|
|
58
|
+
};
|
|
59
|
+
responseParser.config(req);
|
|
60
|
+
return Requests.genericRequest(req)
|
|
61
|
+
.then(response => {
|
|
62
|
+
if (response && response.data) {
|
|
63
|
+
try {
|
|
64
|
+
return responseParser.parse(response);
|
|
65
|
+
} catch (e) {
|
|
66
|
+
console.warn("Parser failed to process response", response, e);
|
|
67
|
+
throw e;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
return undefined;
|
|
71
|
+
})
|
|
72
|
+
.catch(err => {
|
|
73
|
+
if (err.response) {
|
|
74
|
+
let response = err.response as AxiosResponse;
|
|
75
|
+
if (response.status === 404) {
|
|
76
|
+
console.debug(p, key, "not found");
|
|
77
|
+
return undefined;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
console.debug(p, "Failed to load", key, err?.message);
|
|
81
|
+
return undefined;
|
|
82
|
+
})
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
//TODO: abstract this
|
|
86
|
+
protected async load<T extends MinecraftAsset>(key: AssetKey, parser: ResponseParser<T>): Promise<Maybe<T>> {
|
|
87
|
+
console.info(p, "Loading", key);
|
|
88
|
+
const url = `${this.assetBasePath(key)}${key.type !== undefined ? key.type + '/' : ''}${key.path}${key.extension}`;
|
|
89
|
+
console.debug(p, url);
|
|
90
|
+
let req: AxiosRequestConfig = {
|
|
91
|
+
url: url
|
|
92
|
+
};
|
|
93
|
+
parser.config(req);
|
|
94
|
+
// @ts-ignore
|
|
95
|
+
return await Requests.genericRequest(req)
|
|
96
|
+
.then(response => {
|
|
97
|
+
if (response && response.data) {
|
|
98
|
+
try {
|
|
99
|
+
return parser.parse(response);
|
|
100
|
+
} catch (e) {
|
|
101
|
+
console.warn("Parser failed to process response", response, e);
|
|
102
|
+
throw e;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
return undefined;
|
|
106
|
+
})
|
|
107
|
+
.catch(err => {
|
|
108
|
+
if (err.response) {
|
|
109
|
+
let response = err.response as AxiosResponse;
|
|
110
|
+
if (response.status === 404) {
|
|
111
|
+
console.debug(p, key, "not found");
|
|
112
|
+
return undefined;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
console.debug(p, "Failed to load", key, err?.message);
|
|
116
|
+
return undefined;
|
|
117
|
+
})
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
public assetBasePath(key: AssetKey) {
|
|
121
|
+
return `${key.rootType !== undefined ? key.rootType + '/' : ''}${key.namespace !== undefined ? key.namespace + '/' : ''}${key.assetType !== undefined ? key.assetType + '/' : ''}`;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { ArchiveProxy } from "./ArchiveProxy";
|
|
2
|
+
import { BlobReader, BlobWriter, ZipReader } from "@zip.js/zip.js";
|
|
3
|
+
import { ArchiveEntry } from "./ArchiveEntry";
|
|
4
|
+
|
|
5
|
+
export class BrowserArchiveProxy implements ArchiveProxy {
|
|
6
|
+
|
|
7
|
+
readonly _blob: Blob;
|
|
8
|
+
readonly _reader: ZipReader<Blob>;
|
|
9
|
+
|
|
10
|
+
constructor(blob: Blob) {
|
|
11
|
+
this._blob = blob;
|
|
12
|
+
this._reader = new ZipReader(new BlobReader(this._blob));
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
public async getEntries(): Promise<ArchiveEntry[]> {
|
|
16
|
+
return (await this._reader.getEntries()).map(e => {
|
|
17
|
+
return {
|
|
18
|
+
filename: e.filename,
|
|
19
|
+
directory: e.directory,
|
|
20
|
+
getData(): Promise<Blob> {
|
|
21
|
+
return e.getData!(new BlobWriter())
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
})
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
}
|
package/src/cache/Caching.ts
CHANGED
|
@@ -97,6 +97,15 @@ export class Caching {
|
|
|
97
97
|
public static clear() {
|
|
98
98
|
this.rawImageCache.invalidateAll();
|
|
99
99
|
this.textureCache.invalidateAll();
|
|
100
|
+
this.imageDataCache.invalidateAll();
|
|
101
|
+
this.wrappedImageCache.invalidateAll();
|
|
102
|
+
this.canvasImageDataCache.invalidateAll();
|
|
103
|
+
this.materialCache.invalidateAll();
|
|
104
|
+
this.modelTextureAtlasCache.invalidateAll();
|
|
105
|
+
this.textureAssetCache.invalidateAll();
|
|
106
|
+
//TODO: add all
|
|
107
|
+
this.rawModelCache.invalidateAll();
|
|
108
|
+
this.mergedModelCache.invalidateAll();
|
|
100
109
|
}
|
|
101
110
|
|
|
102
111
|
public static end() {
|
|
@@ -37,7 +37,7 @@ export class ModelObject extends SceneObject {
|
|
|
37
37
|
constructor(readonly originalModel: Model, options?: Partial<ModelObjectOptions>) {
|
|
38
38
|
super(options);
|
|
39
39
|
this.options = merge({}, ModelObject.DEFAULT_OPTIONS, options ?? {});
|
|
40
|
-
console.log(this.options);
|
|
40
|
+
console.log("ModelObject options", this.options);
|
|
41
41
|
}
|
|
42
42
|
|
|
43
43
|
async init(): Promise<void> {
|
|
@@ -64,17 +64,17 @@ export class MineRenderScene extends Scene {
|
|
|
64
64
|
return this.add(...object);
|
|
65
65
|
}
|
|
66
66
|
|
|
67
|
-
async addSceneObject<A extends BasicMinecraftAsset, T extends SceneObject, O extends SceneObjectOptions>(asset: A, objectSupplier: () => T | Promise<T>,
|
|
68
|
-
console.log("addSceneObject")
|
|
67
|
+
async addSceneObject<A extends BasicMinecraftAsset, T extends SceneObject, O extends SceneObjectOptions>(asset: A, objectSupplier: () => T | Promise<T>, _options?: Partial<O>, parent: Object3D = this): Promise<T | InstanceReference<T>> {
|
|
68
|
+
console.log("addSceneObject", asset)
|
|
69
69
|
console.log("parent", parent)
|
|
70
70
|
this.dirty = true;
|
|
71
71
|
// console.log(this.instanceCache)
|
|
72
|
-
|
|
72
|
+
const obj = await objectSupplier();
|
|
73
|
+
if (obj?.options?.instanceMeshes && asset.key && (<AssetKey>asset.key)?.assetType === "models"/*TODO*/) {
|
|
73
74
|
// console.log("instanceMeshes + key")
|
|
74
75
|
// check for existing instances
|
|
75
76
|
const key = asset.key.serialize();
|
|
76
77
|
return this.instanceManager.getOrCreate(key, async () => {
|
|
77
|
-
const obj = await objectSupplier();
|
|
78
78
|
obj.scene = this;
|
|
79
79
|
await obj.init();
|
|
80
80
|
parent.add(obj);
|
|
@@ -83,7 +83,6 @@ export class MineRenderScene extends Scene {
|
|
|
83
83
|
});
|
|
84
84
|
} else {
|
|
85
85
|
// console.log("!instanceMeshes | !key")
|
|
86
|
-
const obj = await objectSupplier();
|
|
87
86
|
obj.scene = this;
|
|
88
87
|
// await this.initAndAdd(obj);
|
|
89
88
|
await obj.init();
|
|
@@ -44,6 +44,7 @@ export class SceneObject extends Object3D implements Disposable, Instanceable, T
|
|
|
44
44
|
constructor(options?: Partial<SceneObjectOptions>) {
|
|
45
45
|
super();
|
|
46
46
|
this.options = merge({}, SceneObject.DEFAULT_OPTIONS, options ?? {});
|
|
47
|
+
console.log("SceneObject options", this.options);
|
|
47
48
|
}
|
|
48
49
|
|
|
49
50
|
public set scene(scene: MineRenderScene) {
|