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.
- package/dist/browser/index.d.mts +2 -1
- package/dist/browser/index.d.ts +2 -1
- package/dist/browser/index.js +40 -49
- package/dist/browser/index.js.map +1 -1
- package/dist/browser/index.mjs +40 -49
- package/dist/browser/index.mjs.map +1 -1
- package/dist/bundle.js +59 -68
- package/dist/bundle.js.map +1 -1
- package/dist/node/index.d.mts +2 -1
- package/dist/node/index.d.ts +2 -1
- package/dist/node/index.js +38 -48
- package/dist/node/index.js.map +1 -1
- package/dist/node/index.mjs +38 -48
- package/dist/node/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/browser/index.d.mts
CHANGED
|
@@ -60,7 +60,7 @@ declare function createCanvas(width: number, height: number): CompatCanvas;
|
|
|
60
60
|
declare abstract class PersistentCache<B = unknown> {
|
|
61
61
|
readonly backing: B;
|
|
62
62
|
/** Bump to invalidate every persisted entry. */
|
|
63
|
-
static readonly VERSION =
|
|
63
|
+
static readonly VERSION = 2;
|
|
64
64
|
static open(name: string): PersistentCache;
|
|
65
65
|
protected constructor(backing: B);
|
|
66
66
|
abstract get<T>(key: string): Promise<T>;
|
|
@@ -621,6 +621,7 @@ declare class AssetLoader {
|
|
|
621
621
|
static addSource(key: string, source: AssetSource, override?: boolean): void;
|
|
622
622
|
static removeSource(key: string): Maybe<AssetSource>;
|
|
623
623
|
static getAll<T extends MinecraftAsset>(key: AssetKey, parser: AssetParser | string): Promise<T[]>;
|
|
624
|
+
/** Returns the first defined result in source-priority order, without merging assets. */
|
|
624
625
|
static get<T extends MinecraftAsset>(key: AssetKey, parser: AssetParser | string): Promise<Maybe<T>>;
|
|
625
626
|
}
|
|
626
627
|
|
package/dist/browser/index.d.ts
CHANGED
|
@@ -60,7 +60,7 @@ declare function createCanvas(width: number, height: number): CompatCanvas;
|
|
|
60
60
|
declare abstract class PersistentCache<B = unknown> {
|
|
61
61
|
readonly backing: B;
|
|
62
62
|
/** Bump to invalidate every persisted entry. */
|
|
63
|
-
static readonly VERSION =
|
|
63
|
+
static readonly VERSION = 2;
|
|
64
64
|
static open(name: string): PersistentCache;
|
|
65
65
|
protected constructor(backing: B);
|
|
66
66
|
abstract get<T>(key: string): Promise<T>;
|
|
@@ -621,6 +621,7 @@ declare class AssetLoader {
|
|
|
621
621
|
static addSource(key: string, source: AssetSource, override?: boolean): void;
|
|
622
622
|
static removeSource(key: string): Maybe<AssetSource>;
|
|
623
623
|
static getAll<T extends MinecraftAsset>(key: AssetKey, parser: AssetParser | string): Promise<T[]>;
|
|
624
|
+
/** Returns the first defined result in source-priority order, without merging assets. */
|
|
624
625
|
static get<T extends MinecraftAsset>(key: AssetKey, parser: AssetParser | string): Promise<Maybe<T>>;
|
|
625
626
|
}
|
|
626
627
|
|
package/dist/browser/index.js
CHANGED
|
@@ -90,7 +90,7 @@ var require_dist = __commonJS({
|
|
|
90
90
|
return false;
|
|
91
91
|
};
|
|
92
92
|
var PROTECTED_KEYS = ["__proto__"];
|
|
93
|
-
var
|
|
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] =
|
|
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] =
|
|
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
|
-
|
|
118
|
-
|
|
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
|
-
|
|
124
|
-
var result =
|
|
125
|
-
|
|
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
|
-
exports.default =
|
|
128
|
+
exports.default = merge10;
|
|
129
129
|
}
|
|
130
130
|
});
|
|
131
131
|
|
|
@@ -318,7 +318,7 @@ var _PersistentCache = class _PersistentCache {
|
|
|
318
318
|
}
|
|
319
319
|
};
|
|
320
320
|
/** Bump to invalidate every persisted entry. */
|
|
321
|
-
_PersistentCache.VERSION =
|
|
321
|
+
_PersistentCache.VERSION = 2;
|
|
322
322
|
var PersistentCache = _PersistentCache;
|
|
323
323
|
|
|
324
324
|
// src/env/browser/BrowserCache.ts
|
|
@@ -419,7 +419,8 @@ var BrowserEnv = class {
|
|
|
419
419
|
}
|
|
420
420
|
openCache(name, version) {
|
|
421
421
|
return new BrowserCache(import_localforage.default.createInstance({
|
|
422
|
-
|
|
422
|
+
// IndexedDB schema upgrades retain records; each cache generation needs its own database.
|
|
423
|
+
name: name + version,
|
|
423
424
|
version
|
|
424
425
|
}));
|
|
425
426
|
}
|
|
@@ -1811,7 +1812,6 @@ var ArchiveAssetSource = class _ArchiveAssetSource extends AssetSource {
|
|
|
1811
1812
|
};
|
|
1812
1813
|
|
|
1813
1814
|
// src/assets/AssetLoader.ts
|
|
1814
|
-
var import_ts_deepmerge3 = __toESM(require_dist());
|
|
1815
1815
|
var p5 = prefix("AssetLoader");
|
|
1816
1816
|
var _AssetLoader = class _AssetLoader {
|
|
1817
1817
|
static addSource(key, source, override = true) {
|
|
@@ -1835,7 +1835,6 @@ var _AssetLoader = class _AssetLoader {
|
|
|
1835
1835
|
return void 0;
|
|
1836
1836
|
}
|
|
1837
1837
|
static async getAll(key, parser) {
|
|
1838
|
-
console.log(this._SOURCES);
|
|
1839
1838
|
let promises = [];
|
|
1840
1839
|
for (const source of this._SOURCES) {
|
|
1841
1840
|
promises.push(source.source.get(key, parser));
|
|
@@ -1844,24 +1843,16 @@ var _AssetLoader = class _AssetLoader {
|
|
|
1844
1843
|
return results.filter((r) => r != void 0);
|
|
1845
1844
|
});
|
|
1846
1845
|
}
|
|
1846
|
+
/** Returns the first defined result in source-priority order, without merging assets. */
|
|
1847
1847
|
static async get(key, parser) {
|
|
1848
|
-
|
|
1849
|
-
|
|
1850
|
-
|
|
1851
|
-
|
|
1852
|
-
|
|
1853
|
-
return Promise.all(promises).then((results) => {
|
|
1854
|
-
const fallback = results[results.length - 1];
|
|
1855
|
-
for (const result of results) {
|
|
1856
|
-
if (result) {
|
|
1857
|
-
if (fallback) {
|
|
1858
|
-
return (0, import_ts_deepmerge3.default)({}, fallback, result);
|
|
1859
|
-
}
|
|
1860
|
-
return result;
|
|
1861
|
-
}
|
|
1848
|
+
const sources = [...this._SOURCES];
|
|
1849
|
+
for (const source of sources) {
|
|
1850
|
+
const result = await source.source.get(key, parser);
|
|
1851
|
+
if (result !== void 0) {
|
|
1852
|
+
return result;
|
|
1862
1853
|
}
|
|
1863
|
-
|
|
1864
|
-
|
|
1854
|
+
}
|
|
1855
|
+
return void 0;
|
|
1865
1856
|
}
|
|
1866
1857
|
};
|
|
1867
1858
|
_AssetLoader.ROOT = DEFAULT_ROOT;
|
|
@@ -2683,7 +2674,7 @@ var MineRenderError = class _MineRenderError extends Error {
|
|
|
2683
2674
|
};
|
|
2684
2675
|
|
|
2685
2676
|
// src/renderer/SceneObject.ts
|
|
2686
|
-
var
|
|
2677
|
+
var import_ts_deepmerge3 = __toESM(require_dist());
|
|
2687
2678
|
var p7 = prefix("SceneObject");
|
|
2688
2679
|
var _SceneObject = class _SceneObject extends import_three9.Object3D {
|
|
2689
2680
|
constructor(options) {
|
|
@@ -2692,7 +2683,7 @@ var _SceneObject = class _SceneObject extends import_three9.Object3D {
|
|
|
2692
2683
|
this.materialCallbacks = {};
|
|
2693
2684
|
this._isInstanced = false;
|
|
2694
2685
|
this._instanceCounter = 0;
|
|
2695
|
-
this.options = (0,
|
|
2686
|
+
this.options = (0, import_ts_deepmerge3.default)({}, _SceneObject.DEFAULT_OPTIONS, options ?? {});
|
|
2696
2687
|
console.log("SceneObject options", this.options);
|
|
2697
2688
|
}
|
|
2698
2689
|
set scene(scene) {
|
|
@@ -3041,7 +3032,7 @@ var _SceneObject = class _SceneObject extends import_three9.Object3D {
|
|
|
3041
3032
|
}
|
|
3042
3033
|
//</editor-fold>
|
|
3043
3034
|
};
|
|
3044
|
-
_SceneObject.DEFAULT_OPTIONS = (0,
|
|
3035
|
+
_SceneObject.DEFAULT_OPTIONS = (0, import_ts_deepmerge3.default)({}, {
|
|
3045
3036
|
instanceMeshes: true,
|
|
3046
3037
|
maxInstanceCount: 50,
|
|
3047
3038
|
mergeMeshes: true,
|
|
@@ -3053,7 +3044,7 @@ function isSceneObject(obj) {
|
|
|
3053
3044
|
}
|
|
3054
3045
|
|
|
3055
3046
|
// src/entity/scene/EntityObject.ts
|
|
3056
|
-
var
|
|
3047
|
+
var import_ts_deepmerge4 = __toESM(require_dist());
|
|
3057
3048
|
var import_three11 = require("three");
|
|
3058
3049
|
var THREE3 = __toESM(require("three"));
|
|
3059
3050
|
var EntityObject = class extends SceneObject {
|
|
@@ -3062,7 +3053,7 @@ var EntityObject = class extends SceneObject {
|
|
|
3062
3053
|
this.entity = entity;
|
|
3063
3054
|
this.isEntityObject = true;
|
|
3064
3055
|
this.meshesCreated = false;
|
|
3065
|
-
this.options = (0,
|
|
3056
|
+
this.options = (0, import_ts_deepmerge4.default)({}, SceneObject.DEFAULT_OPTIONS, options ?? {});
|
|
3066
3057
|
}
|
|
3067
3058
|
async init() {
|
|
3068
3059
|
this.createMeshes();
|
|
@@ -3129,7 +3120,7 @@ var EntityObject = class extends SceneObject {
|
|
|
3129
3120
|
}
|
|
3130
3121
|
}
|
|
3131
3122
|
};
|
|
3132
|
-
EntityObject.DEFAULT_OPTIONS = (0,
|
|
3123
|
+
EntityObject.DEFAULT_OPTIONS = (0, import_ts_deepmerge4.default)({}, SceneObject.DEFAULT_OPTIONS, {});
|
|
3133
3124
|
function isEntityObject(obj) {
|
|
3134
3125
|
return obj.isEntityObject;
|
|
3135
3126
|
}
|
|
@@ -4120,7 +4111,7 @@ function computeMorphedAttributes(object) {
|
|
|
4120
4111
|
}
|
|
4121
4112
|
|
|
4122
4113
|
// src/model/scene/ModelObject.ts
|
|
4123
|
-
var
|
|
4114
|
+
var import_ts_deepmerge5 = __toESM(require_dist());
|
|
4124
4115
|
var p10 = prefix("ModelObject");
|
|
4125
4116
|
var _ModelObject = class _ModelObject extends SceneObject {
|
|
4126
4117
|
constructor(originalModel, options) {
|
|
@@ -4128,7 +4119,7 @@ var _ModelObject = class _ModelObject extends SceneObject {
|
|
|
4128
4119
|
this.originalModel = originalModel;
|
|
4129
4120
|
this.isModelObject = true;
|
|
4130
4121
|
this.meshesCreated = false;
|
|
4131
|
-
this.options = (0,
|
|
4122
|
+
this.options = (0, import_ts_deepmerge5.default)({}, _ModelObject.DEFAULT_OPTIONS, options ?? {});
|
|
4132
4123
|
console.log("ModelObject options", this.options);
|
|
4133
4124
|
}
|
|
4134
4125
|
async init() {
|
|
@@ -4226,14 +4217,14 @@ var _ModelObject = class _ModelObject extends SceneObject {
|
|
|
4226
4217
|
}
|
|
4227
4218
|
}
|
|
4228
4219
|
};
|
|
4229
|
-
_ModelObject.DEFAULT_OPTIONS = (0,
|
|
4220
|
+
_ModelObject.DEFAULT_OPTIONS = (0, import_ts_deepmerge5.default)({}, SceneObject.DEFAULT_OPTIONS, {});
|
|
4230
4221
|
var ModelObject = _ModelObject;
|
|
4231
4222
|
function isModelObject(obj) {
|
|
4232
4223
|
return obj.isModelObject;
|
|
4233
4224
|
}
|
|
4234
4225
|
|
|
4235
4226
|
// src/model/block/scene/BlockObject.ts
|
|
4236
|
-
var
|
|
4227
|
+
var import_ts_deepmerge6 = __toESM(require_dist());
|
|
4237
4228
|
var import_three16 = require("three");
|
|
4238
4229
|
var p11 = prefix("BlockObject");
|
|
4239
4230
|
var _BlockObject = class _BlockObject extends SceneObject {
|
|
@@ -4249,7 +4240,7 @@ var _BlockObject = class _BlockObject extends SceneObject {
|
|
|
4249
4240
|
this._instanceModel = [];
|
|
4250
4241
|
this._variants = [];
|
|
4251
4242
|
this._models = [];
|
|
4252
|
-
this.options = (0,
|
|
4243
|
+
this.options = (0, import_ts_deepmerge6.default)({}, _BlockObject.DEFAULT_OPTIONS, options ?? {});
|
|
4253
4244
|
}
|
|
4254
4245
|
async init() {
|
|
4255
4246
|
if (this.options.applyDefaultState) {
|
|
@@ -4538,7 +4529,7 @@ var _BlockObject = class _BlockObject extends SceneObject {
|
|
|
4538
4529
|
//TODO: should override rotation + scale methods
|
|
4539
4530
|
//TODO
|
|
4540
4531
|
};
|
|
4541
|
-
_BlockObject.DEFAULT_OPTIONS = (0,
|
|
4532
|
+
_BlockObject.DEFAULT_OPTIONS = (0, import_ts_deepmerge6.default)({}, ModelObject.DEFAULT_OPTIONS, {
|
|
4542
4533
|
applyDefaultState: true
|
|
4543
4534
|
});
|
|
4544
4535
|
var BlockObject = _BlockObject;
|
|
@@ -4588,7 +4579,7 @@ var StructureParser = class {
|
|
|
4588
4579
|
|
|
4589
4580
|
// src/renderer/MineRenderScene.ts
|
|
4590
4581
|
var import_three17 = require("three");
|
|
4591
|
-
var
|
|
4582
|
+
var import_ts_deepmerge8 = __toESM(require_dist());
|
|
4592
4583
|
|
|
4593
4584
|
// src/skin/SkinPart.ts
|
|
4594
4585
|
var SkinPart = /* @__PURE__ */ ((SkinPart2) => {
|
|
@@ -5319,7 +5310,7 @@ var slimSkinGeometries = {
|
|
|
5319
5310
|
};
|
|
5320
5311
|
|
|
5321
5312
|
// src/skin/scene/SkinObject.ts
|
|
5322
|
-
var
|
|
5313
|
+
var import_ts_deepmerge7 = __toESM(require_dist());
|
|
5323
5314
|
var SkinObject = class extends SceneObject {
|
|
5324
5315
|
constructor(options) {
|
|
5325
5316
|
super();
|
|
@@ -5327,7 +5318,7 @@ var SkinObject = class extends SceneObject {
|
|
|
5327
5318
|
this.legacy = false;
|
|
5328
5319
|
this.skinTextureWidth = 64;
|
|
5329
5320
|
this.skinTextureHeight = 64;
|
|
5330
|
-
this.options = (0,
|
|
5321
|
+
this.options = (0, import_ts_deepmerge7.default)({}, SceneObject.DEFAULT_OPTIONS, options ?? {});
|
|
5331
5322
|
}
|
|
5332
5323
|
async init() {
|
|
5333
5324
|
this.createMeshes();
|
|
@@ -5444,7 +5435,7 @@ var _MineRenderScene = class _MineRenderScene extends import_three17.Scene {
|
|
|
5444
5435
|
this.dirty = true;
|
|
5445
5436
|
}
|
|
5446
5437
|
};
|
|
5447
|
-
this.options = (0,
|
|
5438
|
+
this.options = (0, import_ts_deepmerge8.default)({}, _MineRenderScene.DEFAULT_OPTIONS, options ?? {});
|
|
5448
5439
|
}
|
|
5449
5440
|
add(...objects) {
|
|
5450
5441
|
for (const object of objects) {
|
|
@@ -5540,7 +5531,7 @@ var _MineRenderScene = class _MineRenderScene extends import_three17.Scene {
|
|
|
5540
5531
|
return this.addSceneObject(entity, () => new EntityObject(entity, options), options, parent);
|
|
5541
5532
|
}
|
|
5542
5533
|
};
|
|
5543
|
-
_MineRenderScene.DEFAULT_OPTIONS = (0,
|
|
5534
|
+
_MineRenderScene.DEFAULT_OPTIONS = (0, import_ts_deepmerge8.default)({}, {});
|
|
5544
5535
|
var MineRenderScene = _MineRenderScene;
|
|
5545
5536
|
function isMineRenderScene(obj) {
|
|
5546
5537
|
return obj.isMineRenderScene;
|
|
@@ -5548,7 +5539,7 @@ function isMineRenderScene(obj) {
|
|
|
5548
5539
|
|
|
5549
5540
|
// src/renderer/Renderer.ts
|
|
5550
5541
|
var import_three19 = require("three");
|
|
5551
|
-
var
|
|
5542
|
+
var import_ts_deepmerge9 = __toESM(require_dist());
|
|
5552
5543
|
var import_stats = __toESM(require("stats.js"));
|
|
5553
5544
|
var import_postprocessing = require("postprocessing");
|
|
5554
5545
|
|
|
@@ -6205,7 +6196,7 @@ var _Renderer = class _Renderer {
|
|
|
6205
6196
|
this._changeListener = () => {
|
|
6206
6197
|
this._dirty = true;
|
|
6207
6198
|
};
|
|
6208
|
-
this.options = (0,
|
|
6199
|
+
this.options = (0, import_ts_deepmerge9.default)({}, _Renderer.DEFAULT_OPTIONS, options ?? {});
|
|
6209
6200
|
this._animationLoop = this.animate.bind(this);
|
|
6210
6201
|
this._frameInterval = this.options.render.fpsLimit > 0 ? 1e3 / this.options.render.fpsLimit : void 0;
|
|
6211
6202
|
this._scene = this.createScene();
|
|
@@ -6490,7 +6481,7 @@ var _Renderer = class _Renderer {
|
|
|
6490
6481
|
}
|
|
6491
6482
|
///
|
|
6492
6483
|
};
|
|
6493
|
-
_Renderer.DEFAULT_OPTIONS = (0,
|
|
6484
|
+
_Renderer.DEFAULT_OPTIONS = (0, import_ts_deepmerge9.default)({}, {
|
|
6494
6485
|
camera: {
|
|
6495
6486
|
type: "perspective",
|
|
6496
6487
|
near: 1,
|