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.
- package/dist/browser/index.d.mts +12 -11
- package/dist/browser/index.d.ts +12 -11
- package/dist/browser/index.js +47 -55
- package/dist/browser/index.js.map +1 -1
- package/dist/browser/index.mjs +47 -55
- package/dist/browser/index.mjs.map +1 -1
- package/dist/bundle.js +1313 -1108
- package/dist/bundle.js.map +1 -1
- package/dist/node/index.d.mts +12 -11
- package/dist/node/index.d.ts +12 -11
- package/dist/node/index.js +45 -54
- package/dist/node/index.js.map +1 -1
- package/dist/node/index.mjs +45 -54
- package/dist/node/index.mjs.map +1 -1
- package/package.json +4 -4
package/dist/browser/index.mjs
CHANGED
|
@@ -85,7 +85,7 @@ var require_dist = __commonJS({
|
|
|
85
85
|
return false;
|
|
86
86
|
};
|
|
87
87
|
var PROTECTED_KEYS = ["__proto__"];
|
|
88
|
-
var
|
|
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] =
|
|
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] =
|
|
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
|
-
|
|
113
|
-
|
|
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
|
-
|
|
119
|
-
var result =
|
|
120
|
-
|
|
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 =
|
|
123
|
+
exports.default = merge10;
|
|
124
124
|
}
|
|
125
125
|
});
|
|
126
126
|
|
|
@@ -164,7 +164,7 @@ var _PersistentCache = class _PersistentCache {
|
|
|
164
164
|
}
|
|
165
165
|
};
|
|
166
166
|
/** Bump to invalidate every persisted entry. */
|
|
167
|
-
_PersistentCache.VERSION =
|
|
167
|
+
_PersistentCache.VERSION = 2;
|
|
168
168
|
var PersistentCache = _PersistentCache;
|
|
169
169
|
|
|
170
170
|
// src/env/browser/BrowserCache.ts
|
|
@@ -265,7 +265,8 @@ var BrowserEnv = class {
|
|
|
265
265
|
}
|
|
266
266
|
openCache(name, version) {
|
|
267
267
|
return new BrowserCache(localforage.createInstance({
|
|
268
|
-
|
|
268
|
+
// IndexedDB schema upgrades retain records; each cache generation needs its own database.
|
|
269
|
+
name: name + version,
|
|
269
270
|
version
|
|
270
271
|
}));
|
|
271
272
|
}
|
|
@@ -421,8 +422,8 @@ var Caching = class {
|
|
|
421
422
|
/**
|
|
422
423
|
* Clears every cache and stops its expiry timer.
|
|
423
424
|
*
|
|
424
|
-
*
|
|
425
|
-
*
|
|
425
|
+
* Expiry timers are unref'd in Node, so idle processes can exit without this cleanup.
|
|
426
|
+
* Use {@link shutdown} to also stop requests and the shared Ticker.
|
|
426
427
|
*/
|
|
427
428
|
static end() {
|
|
428
429
|
for (const cache of this.all) {
|
|
@@ -670,13 +671,14 @@ var _Requests = class _Requests {
|
|
|
670
671
|
}
|
|
671
672
|
static get queueSizes() {
|
|
672
673
|
return {
|
|
673
|
-
generic: this.genericQueue.size,
|
|
674
|
-
mcAsset: this.mcAssetRequestQueue.size
|
|
674
|
+
generic: this.genericQueue.size + this.genericQueue.activeSize,
|
|
675
|
+
mcAsset: this.mcAssetRequestQueue.size + this.mcAssetRequestQueue.activeSize
|
|
675
676
|
};
|
|
676
677
|
}
|
|
677
678
|
/**
|
|
678
|
-
*
|
|
679
|
-
*
|
|
679
|
+
* Permanently stops both queues and rejects waiting and future requests.
|
|
680
|
+
* Requests already running can finish. Idle queues hold no timer, so Node can exit without
|
|
681
|
+
* this cleanup. See {@link shutdown}.
|
|
680
682
|
*/
|
|
681
683
|
static end() {
|
|
682
684
|
this.genericQueue.end();
|
|
@@ -1657,7 +1659,6 @@ var ArchiveAssetSource = class _ArchiveAssetSource extends AssetSource {
|
|
|
1657
1659
|
};
|
|
1658
1660
|
|
|
1659
1661
|
// src/assets/AssetLoader.ts
|
|
1660
|
-
var import_ts_deepmerge3 = __toESM(require_dist());
|
|
1661
1662
|
var p5 = prefix("AssetLoader");
|
|
1662
1663
|
var _AssetLoader = class _AssetLoader {
|
|
1663
1664
|
static addSource(key, source, override = true) {
|
|
@@ -1681,7 +1682,6 @@ var _AssetLoader = class _AssetLoader {
|
|
|
1681
1682
|
return void 0;
|
|
1682
1683
|
}
|
|
1683
1684
|
static async getAll(key, parser) {
|
|
1684
|
-
console.log(this._SOURCES);
|
|
1685
1685
|
let promises = [];
|
|
1686
1686
|
for (const source of this._SOURCES) {
|
|
1687
1687
|
promises.push(source.source.get(key, parser));
|
|
@@ -1690,24 +1690,16 @@ var _AssetLoader = class _AssetLoader {
|
|
|
1690
1690
|
return results.filter((r) => r != void 0);
|
|
1691
1691
|
});
|
|
1692
1692
|
}
|
|
1693
|
+
/** Returns the first defined result in source-priority order, without merging assets. */
|
|
1693
1694
|
static async get(key, parser) {
|
|
1694
|
-
|
|
1695
|
-
|
|
1696
|
-
|
|
1697
|
-
|
|
1698
|
-
|
|
1699
|
-
return Promise.all(promises).then((results) => {
|
|
1700
|
-
const fallback = results[results.length - 1];
|
|
1701
|
-
for (const result of results) {
|
|
1702
|
-
if (result) {
|
|
1703
|
-
if (fallback) {
|
|
1704
|
-
return (0, import_ts_deepmerge3.default)({}, fallback, result);
|
|
1705
|
-
}
|
|
1706
|
-
return result;
|
|
1707
|
-
}
|
|
1695
|
+
const sources = [...this._SOURCES];
|
|
1696
|
+
for (const source of sources) {
|
|
1697
|
+
const result = await source.source.get(key, parser);
|
|
1698
|
+
if (result !== void 0) {
|
|
1699
|
+
return result;
|
|
1708
1700
|
}
|
|
1709
|
-
|
|
1710
|
-
|
|
1701
|
+
}
|
|
1702
|
+
return void 0;
|
|
1711
1703
|
}
|
|
1712
1704
|
};
|
|
1713
1705
|
_AssetLoader.ROOT = DEFAULT_ROOT;
|
|
@@ -2529,7 +2521,7 @@ var MineRenderError = class _MineRenderError extends Error {
|
|
|
2529
2521
|
};
|
|
2530
2522
|
|
|
2531
2523
|
// src/renderer/SceneObject.ts
|
|
2532
|
-
var
|
|
2524
|
+
var import_ts_deepmerge3 = __toESM(require_dist());
|
|
2533
2525
|
var p7 = prefix("SceneObject");
|
|
2534
2526
|
var _SceneObject = class _SceneObject extends Object3D2 {
|
|
2535
2527
|
constructor(options) {
|
|
@@ -2538,7 +2530,7 @@ var _SceneObject = class _SceneObject extends Object3D2 {
|
|
|
2538
2530
|
this.materialCallbacks = {};
|
|
2539
2531
|
this._isInstanced = false;
|
|
2540
2532
|
this._instanceCounter = 0;
|
|
2541
|
-
this.options = (0,
|
|
2533
|
+
this.options = (0, import_ts_deepmerge3.default)({}, _SceneObject.DEFAULT_OPTIONS, options ?? {});
|
|
2542
2534
|
console.log("SceneObject options", this.options);
|
|
2543
2535
|
}
|
|
2544
2536
|
set scene(scene) {
|
|
@@ -2887,7 +2879,7 @@ var _SceneObject = class _SceneObject extends Object3D2 {
|
|
|
2887
2879
|
}
|
|
2888
2880
|
//</editor-fold>
|
|
2889
2881
|
};
|
|
2890
|
-
_SceneObject.DEFAULT_OPTIONS = (0,
|
|
2882
|
+
_SceneObject.DEFAULT_OPTIONS = (0, import_ts_deepmerge3.default)({}, {
|
|
2891
2883
|
instanceMeshes: true,
|
|
2892
2884
|
maxInstanceCount: 50,
|
|
2893
2885
|
mergeMeshes: true,
|
|
@@ -2899,7 +2891,7 @@ function isSceneObject(obj) {
|
|
|
2899
2891
|
}
|
|
2900
2892
|
|
|
2901
2893
|
// src/entity/scene/EntityObject.ts
|
|
2902
|
-
var
|
|
2894
|
+
var import_ts_deepmerge4 = __toESM(require_dist());
|
|
2903
2895
|
import { Object3D as Object3D3 } from "three";
|
|
2904
2896
|
import * as THREE3 from "three";
|
|
2905
2897
|
var EntityObject = class extends SceneObject {
|
|
@@ -2908,7 +2900,7 @@ var EntityObject = class extends SceneObject {
|
|
|
2908
2900
|
this.entity = entity;
|
|
2909
2901
|
this.isEntityObject = true;
|
|
2910
2902
|
this.meshesCreated = false;
|
|
2911
|
-
this.options = (0,
|
|
2903
|
+
this.options = (0, import_ts_deepmerge4.default)({}, SceneObject.DEFAULT_OPTIONS, options ?? {});
|
|
2912
2904
|
}
|
|
2913
2905
|
async init() {
|
|
2914
2906
|
this.createMeshes();
|
|
@@ -2975,7 +2967,7 @@ var EntityObject = class extends SceneObject {
|
|
|
2975
2967
|
}
|
|
2976
2968
|
}
|
|
2977
2969
|
};
|
|
2978
|
-
EntityObject.DEFAULT_OPTIONS = (0,
|
|
2970
|
+
EntityObject.DEFAULT_OPTIONS = (0, import_ts_deepmerge4.default)({}, SceneObject.DEFAULT_OPTIONS, {});
|
|
2979
2971
|
function isEntityObject(obj) {
|
|
2980
2972
|
return obj.isEntityObject;
|
|
2981
2973
|
}
|
|
@@ -3976,7 +3968,7 @@ function computeMorphedAttributes(object) {
|
|
|
3976
3968
|
}
|
|
3977
3969
|
|
|
3978
3970
|
// src/model/scene/ModelObject.ts
|
|
3979
|
-
var
|
|
3971
|
+
var import_ts_deepmerge5 = __toESM(require_dist());
|
|
3980
3972
|
var p10 = prefix("ModelObject");
|
|
3981
3973
|
var _ModelObject = class _ModelObject extends SceneObject {
|
|
3982
3974
|
constructor(originalModel, options) {
|
|
@@ -3984,7 +3976,7 @@ var _ModelObject = class _ModelObject extends SceneObject {
|
|
|
3984
3976
|
this.originalModel = originalModel;
|
|
3985
3977
|
this.isModelObject = true;
|
|
3986
3978
|
this.meshesCreated = false;
|
|
3987
|
-
this.options = (0,
|
|
3979
|
+
this.options = (0, import_ts_deepmerge5.default)({}, _ModelObject.DEFAULT_OPTIONS, options ?? {});
|
|
3988
3980
|
console.log("ModelObject options", this.options);
|
|
3989
3981
|
}
|
|
3990
3982
|
async init() {
|
|
@@ -4082,14 +4074,14 @@ var _ModelObject = class _ModelObject extends SceneObject {
|
|
|
4082
4074
|
}
|
|
4083
4075
|
}
|
|
4084
4076
|
};
|
|
4085
|
-
_ModelObject.DEFAULT_OPTIONS = (0,
|
|
4077
|
+
_ModelObject.DEFAULT_OPTIONS = (0, import_ts_deepmerge5.default)({}, SceneObject.DEFAULT_OPTIONS, {});
|
|
4086
4078
|
var ModelObject = _ModelObject;
|
|
4087
4079
|
function isModelObject(obj) {
|
|
4088
4080
|
return obj.isModelObject;
|
|
4089
4081
|
}
|
|
4090
4082
|
|
|
4091
4083
|
// src/model/block/scene/BlockObject.ts
|
|
4092
|
-
var
|
|
4084
|
+
var import_ts_deepmerge6 = __toESM(require_dist());
|
|
4093
4085
|
import { Euler as Euler3, Matrix4 as Matrix46, Vector3 as Vector36 } from "three";
|
|
4094
4086
|
var p11 = prefix("BlockObject");
|
|
4095
4087
|
var _BlockObject = class _BlockObject extends SceneObject {
|
|
@@ -4105,7 +4097,7 @@ var _BlockObject = class _BlockObject extends SceneObject {
|
|
|
4105
4097
|
this._instanceModel = [];
|
|
4106
4098
|
this._variants = [];
|
|
4107
4099
|
this._models = [];
|
|
4108
|
-
this.options = (0,
|
|
4100
|
+
this.options = (0, import_ts_deepmerge6.default)({}, _BlockObject.DEFAULT_OPTIONS, options ?? {});
|
|
4109
4101
|
}
|
|
4110
4102
|
async init() {
|
|
4111
4103
|
if (this.options.applyDefaultState) {
|
|
@@ -4394,7 +4386,7 @@ var _BlockObject = class _BlockObject extends SceneObject {
|
|
|
4394
4386
|
//TODO: should override rotation + scale methods
|
|
4395
4387
|
//TODO
|
|
4396
4388
|
};
|
|
4397
|
-
_BlockObject.DEFAULT_OPTIONS = (0,
|
|
4389
|
+
_BlockObject.DEFAULT_OPTIONS = (0, import_ts_deepmerge6.default)({}, ModelObject.DEFAULT_OPTIONS, {
|
|
4398
4390
|
applyDefaultState: true
|
|
4399
4391
|
});
|
|
4400
4392
|
var BlockObject = _BlockObject;
|
|
@@ -4444,7 +4436,7 @@ var StructureParser = class {
|
|
|
4444
4436
|
|
|
4445
4437
|
// src/renderer/MineRenderScene.ts
|
|
4446
4438
|
import { Scene as Scene2 } from "three";
|
|
4447
|
-
var
|
|
4439
|
+
var import_ts_deepmerge8 = __toESM(require_dist());
|
|
4448
4440
|
|
|
4449
4441
|
// src/skin/SkinPart.ts
|
|
4450
4442
|
var SkinPart = /* @__PURE__ */ ((SkinPart2) => {
|
|
@@ -5175,7 +5167,7 @@ var slimSkinGeometries = {
|
|
|
5175
5167
|
};
|
|
5176
5168
|
|
|
5177
5169
|
// src/skin/scene/SkinObject.ts
|
|
5178
|
-
var
|
|
5170
|
+
var import_ts_deepmerge7 = __toESM(require_dist());
|
|
5179
5171
|
var SkinObject = class extends SceneObject {
|
|
5180
5172
|
constructor(options) {
|
|
5181
5173
|
super();
|
|
@@ -5183,7 +5175,7 @@ var SkinObject = class extends SceneObject {
|
|
|
5183
5175
|
this.legacy = false;
|
|
5184
5176
|
this.skinTextureWidth = 64;
|
|
5185
5177
|
this.skinTextureHeight = 64;
|
|
5186
|
-
this.options = (0,
|
|
5178
|
+
this.options = (0, import_ts_deepmerge7.default)({}, SceneObject.DEFAULT_OPTIONS, options ?? {});
|
|
5187
5179
|
}
|
|
5188
5180
|
async init() {
|
|
5189
5181
|
this.createMeshes();
|
|
@@ -5300,7 +5292,7 @@ var _MineRenderScene = class _MineRenderScene extends Scene2 {
|
|
|
5300
5292
|
this.dirty = true;
|
|
5301
5293
|
}
|
|
5302
5294
|
};
|
|
5303
|
-
this.options = (0,
|
|
5295
|
+
this.options = (0, import_ts_deepmerge8.default)({}, _MineRenderScene.DEFAULT_OPTIONS, options ?? {});
|
|
5304
5296
|
}
|
|
5305
5297
|
add(...objects) {
|
|
5306
5298
|
for (const object of objects) {
|
|
@@ -5396,7 +5388,7 @@ var _MineRenderScene = class _MineRenderScene extends Scene2 {
|
|
|
5396
5388
|
return this.addSceneObject(entity, () => new EntityObject(entity, options), options, parent);
|
|
5397
5389
|
}
|
|
5398
5390
|
};
|
|
5399
|
-
_MineRenderScene.DEFAULT_OPTIONS = (0,
|
|
5391
|
+
_MineRenderScene.DEFAULT_OPTIONS = (0, import_ts_deepmerge8.default)({}, {});
|
|
5400
5392
|
var MineRenderScene = _MineRenderScene;
|
|
5401
5393
|
function isMineRenderScene(obj) {
|
|
5402
5394
|
return obj.isMineRenderScene;
|
|
@@ -5404,7 +5396,7 @@ function isMineRenderScene(obj) {
|
|
|
5404
5396
|
|
|
5405
5397
|
// src/renderer/Renderer.ts
|
|
5406
5398
|
import { AxesHelper as AxesHelper3, GridHelper, OrthographicCamera, PCFSoftShadowMap, PerspectiveCamera, SRGBColorSpace as SRGBColorSpace3, Vector3 as Vector38, WebGLRenderer } from "three";
|
|
5407
|
-
var
|
|
5399
|
+
var import_ts_deepmerge9 = __toESM(require_dist());
|
|
5408
5400
|
import Stats from "stats.js";
|
|
5409
5401
|
import { EffectComposer, RenderPass } from "postprocessing";
|
|
5410
5402
|
|
|
@@ -6069,7 +6061,7 @@ var _Renderer = class _Renderer {
|
|
|
6069
6061
|
this._changeListener = () => {
|
|
6070
6062
|
this._dirty = true;
|
|
6071
6063
|
};
|
|
6072
|
-
this.options = (0,
|
|
6064
|
+
this.options = (0, import_ts_deepmerge9.default)({}, _Renderer.DEFAULT_OPTIONS, options ?? {});
|
|
6073
6065
|
this._animationLoop = this.animate.bind(this);
|
|
6074
6066
|
this._frameInterval = this.options.render.fpsLimit > 0 ? 1e3 / this.options.render.fpsLimit : void 0;
|
|
6075
6067
|
this._scene = this.createScene();
|
|
@@ -6354,7 +6346,7 @@ var _Renderer = class _Renderer {
|
|
|
6354
6346
|
}
|
|
6355
6347
|
///
|
|
6356
6348
|
};
|
|
6357
|
-
_Renderer.DEFAULT_OPTIONS = (0,
|
|
6349
|
+
_Renderer.DEFAULT_OPTIONS = (0, import_ts_deepmerge9.default)({}, {
|
|
6358
6350
|
camera: {
|
|
6359
6351
|
type: "perspective",
|
|
6360
6352
|
near: 1,
|