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.
Files changed (80) hide show
  1. package/build.mjs +2 -2
  2. package/dist/bundle.js +11958 -2504
  3. package/dist/bundle.js.map +4 -5
  4. package/dist/cjs/UVMapper.js +6 -2
  5. package/dist/cjs/UVMapper.js.map +1 -1
  6. package/dist/cjs/assets/AssetLoader.d.ts +2 -1
  7. package/dist/cjs/assets/AssetLoader.js +28 -6
  8. package/dist/cjs/assets/AssetLoader.js.map +1 -1
  9. package/dist/cjs/assets/source/archive/ArchiveAssetSource.d.ts +17 -0
  10. package/dist/cjs/assets/source/archive/ArchiveAssetSource.js +126 -0
  11. package/dist/cjs/assets/source/archive/ArchiveAssetSource.js.map +1 -0
  12. package/dist/cjs/assets/source/archive/ArchiveEntry.d.ts +5 -0
  13. package/dist/cjs/assets/source/archive/ArchiveEntry.js +3 -0
  14. package/dist/cjs/assets/source/archive/ArchiveEntry.js.map +1 -0
  15. package/dist/cjs/assets/source/archive/ArchiveProxy.d.ts +4 -0
  16. package/dist/cjs/assets/source/archive/ArchiveProxy.js +3 -0
  17. package/dist/cjs/assets/source/archive/ArchiveProxy.js.map +1 -0
  18. package/dist/cjs/assets/source/archive/BrowserArchiveProxy.d.ts +9 -0
  19. package/dist/cjs/assets/source/archive/BrowserArchiveProxy.js +34 -0
  20. package/dist/cjs/assets/source/archive/BrowserArchiveProxy.js.map +1 -0
  21. package/dist/cjs/assets/source/archive/index.d.ts +4 -0
  22. package/dist/cjs/assets/source/archive/index.js +21 -0
  23. package/dist/cjs/assets/source/archive/index.js.map +1 -0
  24. package/dist/cjs/assets/source/index.d.ts +1 -0
  25. package/dist/cjs/assets/source/index.js +1 -0
  26. package/dist/cjs/assets/source/index.js.map +1 -1
  27. package/dist/cjs/cache/Caching.js +9 -0
  28. package/dist/cjs/cache/Caching.js.map +1 -1
  29. package/dist/cjs/model/scene/ModelObject.js +1 -1
  30. package/dist/cjs/model/scene/ModelObject.js.map +1 -1
  31. package/dist/cjs/renderer/MineRenderScene.d.ts +1 -1
  32. package/dist/cjs/renderer/MineRenderScene.js +5 -6
  33. package/dist/cjs/renderer/MineRenderScene.js.map +1 -1
  34. package/dist/cjs/renderer/SceneObject.js +1 -0
  35. package/dist/cjs/renderer/SceneObject.js.map +1 -1
  36. package/dist/esm/UVMapper.js +6 -2
  37. package/dist/esm/UVMapper.js.map +1 -1
  38. package/dist/esm/assets/AssetLoader.d.ts +2 -1
  39. package/dist/esm/assets/AssetLoader.js +28 -6
  40. package/dist/esm/assets/AssetLoader.js.map +1 -1
  41. package/dist/esm/assets/source/archive/ArchiveAssetSource.d.ts +17 -0
  42. package/dist/esm/assets/source/archive/ArchiveAssetSource.js +122 -0
  43. package/dist/esm/assets/source/archive/ArchiveAssetSource.js.map +1 -0
  44. package/dist/esm/assets/source/archive/ArchiveEntry.d.ts +5 -0
  45. package/dist/esm/assets/source/archive/ArchiveEntry.js +2 -0
  46. package/dist/esm/assets/source/archive/ArchiveEntry.js.map +1 -0
  47. package/dist/esm/assets/source/archive/ArchiveProxy.d.ts +4 -0
  48. package/dist/esm/assets/source/archive/ArchiveProxy.js +2 -0
  49. package/dist/esm/assets/source/archive/ArchiveProxy.js.map +1 -0
  50. package/dist/esm/assets/source/archive/BrowserArchiveProxy.d.ts +9 -0
  51. package/dist/esm/assets/source/archive/BrowserArchiveProxy.js +30 -0
  52. package/dist/esm/assets/source/archive/BrowserArchiveProxy.js.map +1 -0
  53. package/dist/esm/assets/source/archive/index.d.ts +4 -0
  54. package/dist/esm/assets/source/archive/index.js +5 -0
  55. package/dist/esm/assets/source/archive/index.js.map +1 -0
  56. package/dist/esm/assets/source/index.d.ts +1 -0
  57. package/dist/esm/assets/source/index.js +1 -0
  58. package/dist/esm/assets/source/index.js.map +1 -1
  59. package/dist/esm/cache/Caching.js +9 -0
  60. package/dist/esm/cache/Caching.js.map +1 -1
  61. package/dist/esm/model/scene/ModelObject.js +1 -1
  62. package/dist/esm/model/scene/ModelObject.js.map +1 -1
  63. package/dist/esm/renderer/MineRenderScene.d.ts +1 -1
  64. package/dist/esm/renderer/MineRenderScene.js +5 -6
  65. package/dist/esm/renderer/MineRenderScene.js.map +1 -1
  66. package/dist/esm/renderer/SceneObject.js +1 -0
  67. package/dist/esm/renderer/SceneObject.js.map +1 -1
  68. package/package.json +3 -1
  69. package/src/UVMapper.ts +10 -6
  70. package/src/assets/AssetLoader.ts +30 -6
  71. package/src/assets/source/archive/ArchiveAssetSource.ts +124 -0
  72. package/src/assets/source/archive/ArchiveEntry.ts +5 -0
  73. package/src/assets/source/archive/ArchiveProxy.ts +7 -0
  74. package/src/assets/source/archive/BrowserArchiveProxy.ts +27 -0
  75. package/src/assets/source/archive/index.ts +4 -0
  76. package/src/assets/source/index.ts +2 -1
  77. package/src/cache/Caching.ts +9 -0
  78. package/src/model/scene/ModelObject.ts +1 -1
  79. package/src/renderer/MineRenderScene.ts +4 -5
  80. 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, options, parent = this) {
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
- if ((options === null || options === void 0 ? void 0 : options.instanceMeshes) && asset.key && ((_a = asset.key) === null || _a === void 0 ? void 0 : _a.assetType) === "models" /*TODO*/) {
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":"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"}
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.8",
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 = { ...originalModel };
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
- textureMap[textureKey] = new WrappedImage(asset!);
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
- const result = await source.source.get<T>(key, parser);
39
- if (result) {
40
- return result;
41
- }
58
+ promises.push(source.source.get<T>(key, parser));
42
59
  }
43
- return undefined;
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,5 @@
1
+ export interface ArchiveEntry {
2
+ filename: string;
3
+ directory: boolean;
4
+ getData(): Promise<Blob>;
5
+ }
@@ -0,0 +1,7 @@
1
+ import { ArchiveEntry } from "./ArchiveEntry";
2
+
3
+ export interface ArchiveProxy {
4
+
5
+ getEntries(): Promise<ArchiveEntry[]>;
6
+
7
+ }
@@ -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
+ }
@@ -0,0 +1,4 @@
1
+ export * from "./ArchiveEntry";
2
+ export * from "./ArchiveProxy";
3
+ export * from "./BrowserArchiveProxy";
4
+ export * from "./ArchiveAssetSource";
@@ -1,4 +1,5 @@
1
1
  // autogenerated
2
2
  export * from './AssetSource';
3
3
  export * from './HostedAssetSource';
4
- export * from './parser';
4
+ export * from './parser';
5
+ export * from './archive';
@@ -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>, options?: Partial<O>, parent: Object3D = this): Promise<T | InstanceReference<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
- if (options?.instanceMeshes && asset.key && (<AssetKey>asset.key)?.assetType === "models"/*TODO*/) {
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) {