minerender 2.1.0-alpha.5 → 2.1.0-alpha.6

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.
@@ -61,7 +61,7 @@ declare function createCanvas(width: number, height: number): CompatCanvas;
61
61
  declare abstract class PersistentCache<B = unknown> {
62
62
  readonly backing: B;
63
63
  /** Bump to invalidate every persisted entry. */
64
- static readonly VERSION = 1;
64
+ static readonly VERSION = 2;
65
65
  static open(name: string): PersistentCache;
66
66
  protected constructor(backing: B);
67
67
  abstract get<T>(key: string): Promise<T>;
@@ -622,6 +622,7 @@ declare class AssetLoader {
622
622
  static addSource(key: string, source: AssetSource, override?: boolean): void;
623
623
  static removeSource(key: string): Maybe<AssetSource>;
624
624
  static getAll<T extends MinecraftAsset>(key: AssetKey, parser: AssetParser | string): Promise<T[]>;
625
+ /** Returns the first defined result in source-priority order, without merging assets. */
625
626
  static get<T extends MinecraftAsset>(key: AssetKey, parser: AssetParser | string): Promise<Maybe<T>>;
626
627
  }
627
628
 
@@ -61,7 +61,7 @@ declare function createCanvas(width: number, height: number): CompatCanvas;
61
61
  declare abstract class PersistentCache<B = unknown> {
62
62
  readonly backing: B;
63
63
  /** Bump to invalidate every persisted entry. */
64
- static readonly VERSION = 1;
64
+ static readonly VERSION = 2;
65
65
  static open(name: string): PersistentCache;
66
66
  protected constructor(backing: B);
67
67
  abstract get<T>(key: string): Promise<T>;
@@ -622,6 +622,7 @@ declare class AssetLoader {
622
622
  static addSource(key: string, source: AssetSource, override?: boolean): void;
623
623
  static removeSource(key: string): Maybe<AssetSource>;
624
624
  static getAll<T extends MinecraftAsset>(key: AssetKey, parser: AssetParser | string): Promise<T[]>;
625
+ /** Returns the first defined result in source-priority order, without merging assets. */
625
626
  static get<T extends MinecraftAsset>(key: AssetKey, parser: AssetParser | string): Promise<Maybe<T>>;
626
627
  }
627
628
 
@@ -90,7 +90,7 @@ var require_dist = __commonJS({
90
90
  return false;
91
91
  };
92
92
  var PROTECTED_KEYS = ["__proto__"];
93
- var merge11 = function() {
93
+ var merge10 = function() {
94
94
  var objects = [];
95
95
  for (var _i = 0; _i < arguments.length; _i++) {
96
96
  objects[_i] = arguments[_i];
@@ -101,9 +101,9 @@ var require_dist = __commonJS({
101
101
  return;
102
102
  }
103
103
  if (Array.isArray(result[key]) && Array.isArray(current[key])) {
104
- result[key] = merge11.options.mergeArrays ? Array.from(new Set(result[key].concat(current[key]))) : current[key];
104
+ result[key] = merge10.options.mergeArrays ? Array.from(new Set(result[key].concat(current[key]))) : current[key];
105
105
  } else if (isObject(result[key]) && isObject(current[key])) {
106
- result[key] = merge11(result[key], current[key]);
106
+ result[key] = merge10(result[key], current[key]);
107
107
  } else {
108
108
  result[key] = current[key];
109
109
  }
@@ -114,18 +114,18 @@ var require_dist = __commonJS({
114
114
  var defaultOptions = {
115
115
  mergeArrays: true
116
116
  };
117
- merge11.options = defaultOptions;
118
- merge11.withOptions = function(options) {
117
+ merge10.options = defaultOptions;
118
+ merge10.withOptions = function(options) {
119
119
  var objects = [];
120
120
  for (var _i = 1; _i < arguments.length; _i++) {
121
121
  objects[_i - 1] = arguments[_i];
122
122
  }
123
- merge11.options = __assign({ mergeArrays: true }, options);
124
- var result = merge11.apply(void 0, __spreadArray([], __read(objects), false));
125
- merge11.options = defaultOptions;
123
+ merge10.options = __assign({ mergeArrays: true }, options);
124
+ var result = merge10.apply(void 0, __spreadArray([], __read(objects), false));
125
+ merge10.options = defaultOptions;
126
126
  return result;
127
127
  };
128
- exports2.default = merge11;
128
+ exports2.default = merge10;
129
129
  }
130
130
  });
131
131
 
@@ -319,7 +319,7 @@ var _PersistentCache = class _PersistentCache {
319
319
  }
320
320
  };
321
321
  /** Bump to invalidate every persisted entry. */
322
- _PersistentCache.VERSION = 1;
322
+ _PersistentCache.VERSION = 2;
323
323
  var PersistentCache = _PersistentCache;
324
324
 
325
325
  // src/env/node/NodeCache.ts
@@ -1774,7 +1774,6 @@ var ArchiveAssetSource = class _ArchiveAssetSource extends AssetSource {
1774
1774
  };
1775
1775
 
1776
1776
  // src/assets/AssetLoader.ts
1777
- var import_ts_deepmerge3 = __toESM(require_dist());
1778
1777
  var p5 = prefix("AssetLoader");
1779
1778
  var _AssetLoader = class _AssetLoader {
1780
1779
  static addSource(key, source, override = true) {
@@ -1798,7 +1797,6 @@ var _AssetLoader = class _AssetLoader {
1798
1797
  return void 0;
1799
1798
  }
1800
1799
  static async getAll(key, parser) {
1801
- console.log(this._SOURCES);
1802
1800
  let promises = [];
1803
1801
  for (const source of this._SOURCES) {
1804
1802
  promises.push(source.source.get(key, parser));
@@ -1807,24 +1805,16 @@ var _AssetLoader = class _AssetLoader {
1807
1805
  return results.filter((r) => r != void 0);
1808
1806
  });
1809
1807
  }
1808
+ /** Returns the first defined result in source-priority order, without merging assets. */
1810
1809
  static async get(key, parser) {
1811
- console.log(this._SOURCES);
1812
- let promises = [];
1813
- for (const source of this._SOURCES) {
1814
- promises.push(source.source.get(key, parser));
1815
- }
1816
- return Promise.all(promises).then((results) => {
1817
- const fallback = results[results.length - 1];
1818
- for (const result of results) {
1819
- if (result) {
1820
- if (fallback) {
1821
- return (0, import_ts_deepmerge3.default)({}, fallback, result);
1822
- }
1823
- return result;
1824
- }
1810
+ const sources = [...this._SOURCES];
1811
+ for (const source of sources) {
1812
+ const result = await source.source.get(key, parser);
1813
+ if (result !== void 0) {
1814
+ return result;
1825
1815
  }
1826
- return void 0;
1827
- });
1816
+ }
1817
+ return void 0;
1828
1818
  }
1829
1819
  };
1830
1820
  _AssetLoader.ROOT = DEFAULT_ROOT;
@@ -2648,7 +2638,7 @@ var MineRenderError = class _MineRenderError extends Error {
2648
2638
  };
2649
2639
 
2650
2640
  // src/renderer/SceneObject.ts
2651
- var import_ts_deepmerge4 = __toESM(require_dist());
2641
+ var import_ts_deepmerge3 = __toESM(require_dist());
2652
2642
  var p7 = prefix("SceneObject");
2653
2643
  var _SceneObject = class _SceneObject extends import_three9.Object3D {
2654
2644
  constructor(options) {
@@ -2657,7 +2647,7 @@ var _SceneObject = class _SceneObject extends import_three9.Object3D {
2657
2647
  this.materialCallbacks = {};
2658
2648
  this._isInstanced = false;
2659
2649
  this._instanceCounter = 0;
2660
- this.options = (0, import_ts_deepmerge4.default)({}, _SceneObject.DEFAULT_OPTIONS, options ?? {});
2650
+ this.options = (0, import_ts_deepmerge3.default)({}, _SceneObject.DEFAULT_OPTIONS, options ?? {});
2661
2651
  console.log("SceneObject options", this.options);
2662
2652
  }
2663
2653
  set scene(scene) {
@@ -3007,7 +2997,7 @@ var _SceneObject = class _SceneObject extends import_three9.Object3D {
3007
2997
  }
3008
2998
  //</editor-fold>
3009
2999
  };
3010
- _SceneObject.DEFAULT_OPTIONS = (0, import_ts_deepmerge4.default)({}, {
3000
+ _SceneObject.DEFAULT_OPTIONS = (0, import_ts_deepmerge3.default)({}, {
3011
3001
  instanceMeshes: true,
3012
3002
  maxInstanceCount: 50,
3013
3003
  mergeMeshes: true,
@@ -3019,7 +3009,7 @@ function isSceneObject(obj) {
3019
3009
  }
3020
3010
 
3021
3011
  // src/entity/scene/EntityObject.ts
3022
- var import_ts_deepmerge5 = __toESM(require_dist());
3012
+ var import_ts_deepmerge4 = __toESM(require_dist());
3023
3013
  var import_three11 = require("three");
3024
3014
  var THREE3 = __toESM(require("three"));
3025
3015
  var EntityObject = class extends SceneObject {
@@ -3028,7 +3018,7 @@ var EntityObject = class extends SceneObject {
3028
3018
  this.entity = entity;
3029
3019
  this.isEntityObject = true;
3030
3020
  this.meshesCreated = false;
3031
- this.options = (0, import_ts_deepmerge5.default)({}, SceneObject.DEFAULT_OPTIONS, options ?? {});
3021
+ this.options = (0, import_ts_deepmerge4.default)({}, SceneObject.DEFAULT_OPTIONS, options ?? {});
3032
3022
  }
3033
3023
  async init() {
3034
3024
  this.createMeshes();
@@ -3097,7 +3087,7 @@ var EntityObject = class extends SceneObject {
3097
3087
  }
3098
3088
  }
3099
3089
  };
3100
- EntityObject.DEFAULT_OPTIONS = (0, import_ts_deepmerge5.default)({}, SceneObject.DEFAULT_OPTIONS, {});
3090
+ EntityObject.DEFAULT_OPTIONS = (0, import_ts_deepmerge4.default)({}, SceneObject.DEFAULT_OPTIONS, {});
3101
3091
  function isEntityObject(obj) {
3102
3092
  return obj.isEntityObject;
3103
3093
  }
@@ -4089,7 +4079,7 @@ function computeMorphedAttributes(object) {
4089
4079
  }
4090
4080
 
4091
4081
  // src/model/scene/ModelObject.ts
4092
- var import_ts_deepmerge6 = __toESM(require_dist());
4082
+ var import_ts_deepmerge5 = __toESM(require_dist());
4093
4083
  var p10 = prefix("ModelObject");
4094
4084
  var _ModelObject = class _ModelObject extends SceneObject {
4095
4085
  constructor(originalModel, options) {
@@ -4097,7 +4087,7 @@ var _ModelObject = class _ModelObject extends SceneObject {
4097
4087
  this.originalModel = originalModel;
4098
4088
  this.isModelObject = true;
4099
4089
  this.meshesCreated = false;
4100
- this.options = (0, import_ts_deepmerge6.default)({}, _ModelObject.DEFAULT_OPTIONS, options ?? {});
4090
+ this.options = (0, import_ts_deepmerge5.default)({}, _ModelObject.DEFAULT_OPTIONS, options ?? {});
4101
4091
  console.log("ModelObject options", this.options);
4102
4092
  }
4103
4093
  async init() {
@@ -4197,14 +4187,14 @@ var _ModelObject = class _ModelObject extends SceneObject {
4197
4187
  }
4198
4188
  }
4199
4189
  };
4200
- _ModelObject.DEFAULT_OPTIONS = (0, import_ts_deepmerge6.default)({}, SceneObject.DEFAULT_OPTIONS, {});
4190
+ _ModelObject.DEFAULT_OPTIONS = (0, import_ts_deepmerge5.default)({}, SceneObject.DEFAULT_OPTIONS, {});
4201
4191
  var ModelObject = _ModelObject;
4202
4192
  function isModelObject(obj) {
4203
4193
  return obj.isModelObject;
4204
4194
  }
4205
4195
 
4206
4196
  // src/model/block/scene/BlockObject.ts
4207
- var import_ts_deepmerge7 = __toESM(require_dist());
4197
+ var import_ts_deepmerge6 = __toESM(require_dist());
4208
4198
  var import_three16 = require("three");
4209
4199
  var p11 = prefix("BlockObject");
4210
4200
  var _BlockObject = class _BlockObject extends SceneObject {
@@ -4220,7 +4210,7 @@ var _BlockObject = class _BlockObject extends SceneObject {
4220
4210
  this._instanceModel = [];
4221
4211
  this._variants = [];
4222
4212
  this._models = [];
4223
- this.options = (0, import_ts_deepmerge7.default)({}, _BlockObject.DEFAULT_OPTIONS, options ?? {});
4213
+ this.options = (0, import_ts_deepmerge6.default)({}, _BlockObject.DEFAULT_OPTIONS, options ?? {});
4224
4214
  }
4225
4215
  async init() {
4226
4216
  if (this.options.applyDefaultState) {
@@ -4509,7 +4499,7 @@ var _BlockObject = class _BlockObject extends SceneObject {
4509
4499
  //TODO: should override rotation + scale methods
4510
4500
  //TODO
4511
4501
  };
4512
- _BlockObject.DEFAULT_OPTIONS = (0, import_ts_deepmerge7.default)({}, ModelObject.DEFAULT_OPTIONS, {
4502
+ _BlockObject.DEFAULT_OPTIONS = (0, import_ts_deepmerge6.default)({}, ModelObject.DEFAULT_OPTIONS, {
4513
4503
  applyDefaultState: true
4514
4504
  });
4515
4505
  var BlockObject = _BlockObject;
@@ -4560,7 +4550,7 @@ var StructureParser = class {
4560
4550
 
4561
4551
  // src/renderer/MineRenderScene.ts
4562
4552
  var import_three17 = require("three");
4563
- var import_ts_deepmerge9 = __toESM(require_dist());
4553
+ var import_ts_deepmerge8 = __toESM(require_dist());
4564
4554
 
4565
4555
  // src/skin/SkinPart.ts
4566
4556
  var SkinPart = /* @__PURE__ */ ((SkinPart2) => {
@@ -5291,7 +5281,7 @@ var slimSkinGeometries = {
5291
5281
  };
5292
5282
 
5293
5283
  // src/skin/scene/SkinObject.ts
5294
- var import_ts_deepmerge8 = __toESM(require_dist());
5284
+ var import_ts_deepmerge7 = __toESM(require_dist());
5295
5285
  var SkinObject = class extends SceneObject {
5296
5286
  constructor(options) {
5297
5287
  super();
@@ -5299,7 +5289,7 @@ var SkinObject = class extends SceneObject {
5299
5289
  this.legacy = false;
5300
5290
  this.skinTextureWidth = 64;
5301
5291
  this.skinTextureHeight = 64;
5302
- this.options = (0, import_ts_deepmerge8.default)({}, SceneObject.DEFAULT_OPTIONS, options ?? {});
5292
+ this.options = (0, import_ts_deepmerge7.default)({}, SceneObject.DEFAULT_OPTIONS, options ?? {});
5303
5293
  }
5304
5294
  async init() {
5305
5295
  this.createMeshes();
@@ -5417,7 +5407,7 @@ var _MineRenderScene = class _MineRenderScene extends import_three17.Scene {
5417
5407
  this.dirty = true;
5418
5408
  }
5419
5409
  };
5420
- this.options = (0, import_ts_deepmerge9.default)({}, _MineRenderScene.DEFAULT_OPTIONS, options ?? {});
5410
+ this.options = (0, import_ts_deepmerge8.default)({}, _MineRenderScene.DEFAULT_OPTIONS, options ?? {});
5421
5411
  }
5422
5412
  add(...objects) {
5423
5413
  for (const object of objects) {
@@ -5514,7 +5504,7 @@ var _MineRenderScene = class _MineRenderScene extends import_three17.Scene {
5514
5504
  return this.addSceneObject(entity, () => new EntityObject(entity, options), options, parent);
5515
5505
  }
5516
5506
  };
5517
- _MineRenderScene.DEFAULT_OPTIONS = (0, import_ts_deepmerge9.default)({}, {});
5507
+ _MineRenderScene.DEFAULT_OPTIONS = (0, import_ts_deepmerge8.default)({}, {});
5518
5508
  var MineRenderScene = _MineRenderScene;
5519
5509
  function isMineRenderScene(obj) {
5520
5510
  return obj.isMineRenderScene;
@@ -5522,7 +5512,7 @@ function isMineRenderScene(obj) {
5522
5512
 
5523
5513
  // src/renderer/Renderer.ts
5524
5514
  var import_three19 = require("three");
5525
- var import_ts_deepmerge10 = __toESM(require_dist());
5515
+ var import_ts_deepmerge9 = __toESM(require_dist());
5526
5516
  var import_stats = __toESM(require("stats.js"));
5527
5517
  var import_postprocessing = require("postprocessing");
5528
5518
 
@@ -6179,7 +6169,7 @@ var _Renderer = class _Renderer {
6179
6169
  this._changeListener = () => {
6180
6170
  this._dirty = true;
6181
6171
  };
6182
- this.options = (0, import_ts_deepmerge10.default)({}, _Renderer.DEFAULT_OPTIONS, options ?? {});
6172
+ this.options = (0, import_ts_deepmerge9.default)({}, _Renderer.DEFAULT_OPTIONS, options ?? {});
6183
6173
  this._animationLoop = this.animate.bind(this);
6184
6174
  this._frameInterval = this.options.render.fpsLimit > 0 ? 1e3 / this.options.render.fpsLimit : void 0;
6185
6175
  this._scene = this.createScene();
@@ -6470,7 +6460,7 @@ var _Renderer = class _Renderer {
6470
6460
  }
6471
6461
  ///
6472
6462
  };
6473
- _Renderer.DEFAULT_OPTIONS = (0, import_ts_deepmerge10.default)({}, {
6463
+ _Renderer.DEFAULT_OPTIONS = (0, import_ts_deepmerge9.default)({}, {
6474
6464
  camera: {
6475
6465
  type: "perspective",
6476
6466
  near: 1,