minerender 2.1.0-alpha.5 → 2.1.0-alpha.7

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.
@@ -85,7 +85,7 @@ var require_dist = __commonJS({
85
85
  return false;
86
86
  };
87
87
  var PROTECTED_KEYS = ["__proto__"];
88
- var merge11 = function() {
88
+ var merge10 = function() {
89
89
  var objects = [];
90
90
  for (var _i = 0; _i < arguments.length; _i++) {
91
91
  objects[_i] = arguments[_i];
@@ -96,9 +96,9 @@ var require_dist = __commonJS({
96
96
  return;
97
97
  }
98
98
  if (Array.isArray(result[key]) && Array.isArray(current[key])) {
99
- result[key] = merge11.options.mergeArrays ? Array.from(new Set(result[key].concat(current[key]))) : current[key];
99
+ result[key] = merge10.options.mergeArrays ? Array.from(new Set(result[key].concat(current[key]))) : current[key];
100
100
  } else if (isObject(result[key]) && isObject(current[key])) {
101
- result[key] = merge11(result[key], current[key]);
101
+ result[key] = merge10(result[key], current[key]);
102
102
  } else {
103
103
  result[key] = current[key];
104
104
  }
@@ -109,18 +109,18 @@ var require_dist = __commonJS({
109
109
  var defaultOptions = {
110
110
  mergeArrays: true
111
111
  };
112
- merge11.options = defaultOptions;
113
- merge11.withOptions = function(options) {
112
+ merge10.options = defaultOptions;
113
+ merge10.withOptions = function(options) {
114
114
  var objects = [];
115
115
  for (var _i = 1; _i < arguments.length; _i++) {
116
116
  objects[_i - 1] = arguments[_i];
117
117
  }
118
- merge11.options = __assign({ mergeArrays: true }, options);
119
- var result = merge11.apply(void 0, __spreadArray([], __read(objects), false));
120
- merge11.options = defaultOptions;
118
+ merge10.options = __assign({ mergeArrays: true }, options);
119
+ var result = merge10.apply(void 0, __spreadArray([], __read(objects), false));
120
+ merge10.options = defaultOptions;
121
121
  return result;
122
122
  };
123
- exports.default = merge11;
123
+ exports.default = merge10;
124
124
  }
125
125
  });
126
126
 
@@ -166,7 +166,7 @@ var _PersistentCache = class _PersistentCache {
166
166
  }
167
167
  };
168
168
  /** Bump to invalidate every persisted entry. */
169
- _PersistentCache.VERSION = 1;
169
+ _PersistentCache.VERSION = 2;
170
170
  var PersistentCache = _PersistentCache;
171
171
 
172
172
  // src/env/node/NodeCache.ts
@@ -385,8 +385,8 @@ var Caching = class {
385
385
  /**
386
386
  * Clears every cache and stops its expiry timer.
387
387
  *
388
- * loading-cache reschedules that timer indefinitely, so a Node process will not exit until
389
- * this is called - see {@link shutdown}.
388
+ * Expiry timers are unref'd in Node, so idle processes can exit without this cleanup.
389
+ * Use {@link shutdown} to also stop requests and the shared Ticker.
390
390
  */
391
391
  static end() {
392
392
  for (const cache of this.all) {
@@ -634,13 +634,14 @@ var _Requests = class _Requests {
634
634
  }
635
635
  static get queueSizes() {
636
636
  return {
637
- generic: this.genericQueue.size,
638
- mcAsset: this.mcAssetRequestQueue.size
637
+ generic: this.genericQueue.size + this.genericQueue.activeSize,
638
+ mcAsset: this.mcAssetRequestQueue.size + this.mcAssetRequestQueue.activeSize
639
639
  };
640
640
  }
641
641
  /**
642
- * Stops both queue timers. jobqu reschedules itself indefinitely, so a Node process will not
643
- * exit until this is called - see {@link shutdown}.
642
+ * Permanently stops both queues and rejects waiting and future requests.
643
+ * Requests already running can finish. Idle queues hold no timer, so Node can exit without
644
+ * this cleanup. See {@link shutdown}.
644
645
  */
645
646
  static end() {
646
647
  this.genericQueue.end();
@@ -1621,7 +1622,6 @@ var ArchiveAssetSource = class _ArchiveAssetSource extends AssetSource {
1621
1622
  };
1622
1623
 
1623
1624
  // src/assets/AssetLoader.ts
1624
- var import_ts_deepmerge3 = __toESM(require_dist());
1625
1625
  var p5 = prefix("AssetLoader");
1626
1626
  var _AssetLoader = class _AssetLoader {
1627
1627
  static addSource(key, source, override = true) {
@@ -1645,7 +1645,6 @@ var _AssetLoader = class _AssetLoader {
1645
1645
  return void 0;
1646
1646
  }
1647
1647
  static async getAll(key, parser) {
1648
- console.log(this._SOURCES);
1649
1648
  let promises = [];
1650
1649
  for (const source of this._SOURCES) {
1651
1650
  promises.push(source.source.get(key, parser));
@@ -1654,24 +1653,16 @@ var _AssetLoader = class _AssetLoader {
1654
1653
  return results.filter((r) => r != void 0);
1655
1654
  });
1656
1655
  }
1656
+ /** Returns the first defined result in source-priority order, without merging assets. */
1657
1657
  static async get(key, parser) {
1658
- console.log(this._SOURCES);
1659
- let promises = [];
1660
- for (const source of this._SOURCES) {
1661
- promises.push(source.source.get(key, parser));
1662
- }
1663
- return Promise.all(promises).then((results) => {
1664
- const fallback = results[results.length - 1];
1665
- for (const result of results) {
1666
- if (result) {
1667
- if (fallback) {
1668
- return (0, import_ts_deepmerge3.default)({}, fallback, result);
1669
- }
1670
- return result;
1671
- }
1658
+ const sources = [...this._SOURCES];
1659
+ for (const source of sources) {
1660
+ const result = await source.source.get(key, parser);
1661
+ if (result !== void 0) {
1662
+ return result;
1672
1663
  }
1673
- return void 0;
1674
- });
1664
+ }
1665
+ return void 0;
1675
1666
  }
1676
1667
  };
1677
1668
  _AssetLoader.ROOT = DEFAULT_ROOT;
@@ -2495,7 +2486,7 @@ var MineRenderError = class _MineRenderError extends Error {
2495
2486
  };
2496
2487
 
2497
2488
  // src/renderer/SceneObject.ts
2498
- var import_ts_deepmerge4 = __toESM(require_dist());
2489
+ var import_ts_deepmerge3 = __toESM(require_dist());
2499
2490
  var p7 = prefix("SceneObject");
2500
2491
  var _SceneObject = class _SceneObject extends Object3D2 {
2501
2492
  constructor(options) {
@@ -2504,7 +2495,7 @@ var _SceneObject = class _SceneObject extends Object3D2 {
2504
2495
  this.materialCallbacks = {};
2505
2496
  this._isInstanced = false;
2506
2497
  this._instanceCounter = 0;
2507
- this.options = (0, import_ts_deepmerge4.default)({}, _SceneObject.DEFAULT_OPTIONS, options ?? {});
2498
+ this.options = (0, import_ts_deepmerge3.default)({}, _SceneObject.DEFAULT_OPTIONS, options ?? {});
2508
2499
  console.log("SceneObject options", this.options);
2509
2500
  }
2510
2501
  set scene(scene) {
@@ -2854,7 +2845,7 @@ var _SceneObject = class _SceneObject extends Object3D2 {
2854
2845
  }
2855
2846
  //</editor-fold>
2856
2847
  };
2857
- _SceneObject.DEFAULT_OPTIONS = (0, import_ts_deepmerge4.default)({}, {
2848
+ _SceneObject.DEFAULT_OPTIONS = (0, import_ts_deepmerge3.default)({}, {
2858
2849
  instanceMeshes: true,
2859
2850
  maxInstanceCount: 50,
2860
2851
  mergeMeshes: true,
@@ -2866,7 +2857,7 @@ function isSceneObject(obj) {
2866
2857
  }
2867
2858
 
2868
2859
  // src/entity/scene/EntityObject.ts
2869
- var import_ts_deepmerge5 = __toESM(require_dist());
2860
+ var import_ts_deepmerge4 = __toESM(require_dist());
2870
2861
  import { Object3D as Object3D3 } from "three";
2871
2862
  import * as THREE3 from "three";
2872
2863
  var EntityObject = class extends SceneObject {
@@ -2875,7 +2866,7 @@ var EntityObject = class extends SceneObject {
2875
2866
  this.entity = entity;
2876
2867
  this.isEntityObject = true;
2877
2868
  this.meshesCreated = false;
2878
- this.options = (0, import_ts_deepmerge5.default)({}, SceneObject.DEFAULT_OPTIONS, options ?? {});
2869
+ this.options = (0, import_ts_deepmerge4.default)({}, SceneObject.DEFAULT_OPTIONS, options ?? {});
2879
2870
  }
2880
2871
  async init() {
2881
2872
  this.createMeshes();
@@ -2944,7 +2935,7 @@ var EntityObject = class extends SceneObject {
2944
2935
  }
2945
2936
  }
2946
2937
  };
2947
- EntityObject.DEFAULT_OPTIONS = (0, import_ts_deepmerge5.default)({}, SceneObject.DEFAULT_OPTIONS, {});
2938
+ EntityObject.DEFAULT_OPTIONS = (0, import_ts_deepmerge4.default)({}, SceneObject.DEFAULT_OPTIONS, {});
2948
2939
  function isEntityObject(obj) {
2949
2940
  return obj.isEntityObject;
2950
2941
  }
@@ -3946,7 +3937,7 @@ function computeMorphedAttributes(object) {
3946
3937
  }
3947
3938
 
3948
3939
  // src/model/scene/ModelObject.ts
3949
- var import_ts_deepmerge6 = __toESM(require_dist());
3940
+ var import_ts_deepmerge5 = __toESM(require_dist());
3950
3941
  var p10 = prefix("ModelObject");
3951
3942
  var _ModelObject = class _ModelObject extends SceneObject {
3952
3943
  constructor(originalModel, options) {
@@ -3954,7 +3945,7 @@ var _ModelObject = class _ModelObject extends SceneObject {
3954
3945
  this.originalModel = originalModel;
3955
3946
  this.isModelObject = true;
3956
3947
  this.meshesCreated = false;
3957
- this.options = (0, import_ts_deepmerge6.default)({}, _ModelObject.DEFAULT_OPTIONS, options ?? {});
3948
+ this.options = (0, import_ts_deepmerge5.default)({}, _ModelObject.DEFAULT_OPTIONS, options ?? {});
3958
3949
  console.log("ModelObject options", this.options);
3959
3950
  }
3960
3951
  async init() {
@@ -4054,14 +4045,14 @@ var _ModelObject = class _ModelObject extends SceneObject {
4054
4045
  }
4055
4046
  }
4056
4047
  };
4057
- _ModelObject.DEFAULT_OPTIONS = (0, import_ts_deepmerge6.default)({}, SceneObject.DEFAULT_OPTIONS, {});
4048
+ _ModelObject.DEFAULT_OPTIONS = (0, import_ts_deepmerge5.default)({}, SceneObject.DEFAULT_OPTIONS, {});
4058
4049
  var ModelObject = _ModelObject;
4059
4050
  function isModelObject(obj) {
4060
4051
  return obj.isModelObject;
4061
4052
  }
4062
4053
 
4063
4054
  // src/model/block/scene/BlockObject.ts
4064
- var import_ts_deepmerge7 = __toESM(require_dist());
4055
+ var import_ts_deepmerge6 = __toESM(require_dist());
4065
4056
  import { Euler as Euler3, Matrix4 as Matrix46, Vector3 as Vector36 } from "three";
4066
4057
  var p11 = prefix("BlockObject");
4067
4058
  var _BlockObject = class _BlockObject extends SceneObject {
@@ -4077,7 +4068,7 @@ var _BlockObject = class _BlockObject extends SceneObject {
4077
4068
  this._instanceModel = [];
4078
4069
  this._variants = [];
4079
4070
  this._models = [];
4080
- this.options = (0, import_ts_deepmerge7.default)({}, _BlockObject.DEFAULT_OPTIONS, options ?? {});
4071
+ this.options = (0, import_ts_deepmerge6.default)({}, _BlockObject.DEFAULT_OPTIONS, options ?? {});
4081
4072
  }
4082
4073
  async init() {
4083
4074
  if (this.options.applyDefaultState) {
@@ -4366,7 +4357,7 @@ var _BlockObject = class _BlockObject extends SceneObject {
4366
4357
  //TODO: should override rotation + scale methods
4367
4358
  //TODO
4368
4359
  };
4369
- _BlockObject.DEFAULT_OPTIONS = (0, import_ts_deepmerge7.default)({}, ModelObject.DEFAULT_OPTIONS, {
4360
+ _BlockObject.DEFAULT_OPTIONS = (0, import_ts_deepmerge6.default)({}, ModelObject.DEFAULT_OPTIONS, {
4370
4361
  applyDefaultState: true
4371
4362
  });
4372
4363
  var BlockObject = _BlockObject;
@@ -4417,7 +4408,7 @@ var StructureParser = class {
4417
4408
 
4418
4409
  // src/renderer/MineRenderScene.ts
4419
4410
  import { Scene as Scene2 } from "three";
4420
- var import_ts_deepmerge9 = __toESM(require_dist());
4411
+ var import_ts_deepmerge8 = __toESM(require_dist());
4421
4412
 
4422
4413
  // src/skin/SkinPart.ts
4423
4414
  var SkinPart = /* @__PURE__ */ ((SkinPart2) => {
@@ -5148,7 +5139,7 @@ var slimSkinGeometries = {
5148
5139
  };
5149
5140
 
5150
5141
  // src/skin/scene/SkinObject.ts
5151
- var import_ts_deepmerge8 = __toESM(require_dist());
5142
+ var import_ts_deepmerge7 = __toESM(require_dist());
5152
5143
  var SkinObject = class extends SceneObject {
5153
5144
  constructor(options) {
5154
5145
  super();
@@ -5156,7 +5147,7 @@ var SkinObject = class extends SceneObject {
5156
5147
  this.legacy = false;
5157
5148
  this.skinTextureWidth = 64;
5158
5149
  this.skinTextureHeight = 64;
5159
- this.options = (0, import_ts_deepmerge8.default)({}, SceneObject.DEFAULT_OPTIONS, options ?? {});
5150
+ this.options = (0, import_ts_deepmerge7.default)({}, SceneObject.DEFAULT_OPTIONS, options ?? {});
5160
5151
  }
5161
5152
  async init() {
5162
5153
  this.createMeshes();
@@ -5274,7 +5265,7 @@ var _MineRenderScene = class _MineRenderScene extends Scene2 {
5274
5265
  this.dirty = true;
5275
5266
  }
5276
5267
  };
5277
- this.options = (0, import_ts_deepmerge9.default)({}, _MineRenderScene.DEFAULT_OPTIONS, options ?? {});
5268
+ this.options = (0, import_ts_deepmerge8.default)({}, _MineRenderScene.DEFAULT_OPTIONS, options ?? {});
5278
5269
  }
5279
5270
  add(...objects) {
5280
5271
  for (const object of objects) {
@@ -5371,7 +5362,7 @@ var _MineRenderScene = class _MineRenderScene extends Scene2 {
5371
5362
  return this.addSceneObject(entity, () => new EntityObject(entity, options), options, parent);
5372
5363
  }
5373
5364
  };
5374
- _MineRenderScene.DEFAULT_OPTIONS = (0, import_ts_deepmerge9.default)({}, {});
5365
+ _MineRenderScene.DEFAULT_OPTIONS = (0, import_ts_deepmerge8.default)({}, {});
5375
5366
  var MineRenderScene = _MineRenderScene;
5376
5367
  function isMineRenderScene(obj) {
5377
5368
  return obj.isMineRenderScene;
@@ -5379,7 +5370,7 @@ function isMineRenderScene(obj) {
5379
5370
 
5380
5371
  // src/renderer/Renderer.ts
5381
5372
  import { AxesHelper as AxesHelper3, GridHelper, OrthographicCamera, PCFSoftShadowMap, PerspectiveCamera, SRGBColorSpace as SRGBColorSpace3, Vector3 as Vector38, WebGLRenderer } from "three";
5382
- var import_ts_deepmerge10 = __toESM(require_dist());
5373
+ var import_ts_deepmerge9 = __toESM(require_dist());
5383
5374
  import Stats from "stats.js";
5384
5375
  import { EffectComposer, RenderPass } from "postprocessing";
5385
5376
 
@@ -6044,7 +6035,7 @@ var _Renderer = class _Renderer {
6044
6035
  this._changeListener = () => {
6045
6036
  this._dirty = true;
6046
6037
  };
6047
- this.options = (0, import_ts_deepmerge10.default)({}, _Renderer.DEFAULT_OPTIONS, options ?? {});
6038
+ this.options = (0, import_ts_deepmerge9.default)({}, _Renderer.DEFAULT_OPTIONS, options ?? {});
6048
6039
  this._animationLoop = this.animate.bind(this);
6049
6040
  this._frameInterval = this.options.render.fpsLimit > 0 ? 1e3 / this.options.render.fpsLimit : void 0;
6050
6041
  this._scene = this.createScene();
@@ -6335,7 +6326,7 @@ var _Renderer = class _Renderer {
6335
6326
  }
6336
6327
  ///
6337
6328
  };
6338
- _Renderer.DEFAULT_OPTIONS = (0, import_ts_deepmerge10.default)({}, {
6329
+ _Renderer.DEFAULT_OPTIONS = (0, import_ts_deepmerge9.default)({}, {
6339
6330
  camera: {
6340
6331
  type: "perspective",
6341
6332
  near: 1,