minerender 2.1.0-alpha.4 → 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 +19 -18
- package/dist/browser/index.d.ts +19 -18
- package/dist/browser/index.js +60 -61
- package/dist/browser/index.js.map +1 -1
- package/dist/browser/index.mjs +61 -62
- package/dist/browser/index.mjs.map +1 -1
- package/dist/bundle.js +74 -76
- package/dist/bundle.js.map +1 -1
- package/dist/node/index.d.mts +19 -18
- package/dist/node/index.d.ts +19 -18
- package/dist/node/index.js +60 -61
- package/dist/node/index.js.map +1 -1
- package/dist/node/index.mjs +61 -62
- package/dist/node/index.mjs.map +1 -1
- package/package.json +2 -2
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
|
}
|
|
@@ -477,6 +478,7 @@ import { CanvasTexture, Texture as Texture2 } from "three";
|
|
|
477
478
|
|
|
478
479
|
// src/texture/TextureLoader.ts
|
|
479
480
|
import { RGBAFormat, Texture } from "three";
|
|
481
|
+
import * as THREE from "three";
|
|
480
482
|
|
|
481
483
|
// src/canvas/CanvasCompat.ts
|
|
482
484
|
function createImage(width, height) {
|
|
@@ -865,6 +867,7 @@ var TextureLoader = class {
|
|
|
865
867
|
}
|
|
866
868
|
static loadInBackground(src, format = RGBAFormat, rotation = 0) {
|
|
867
869
|
const texture = this.createTexture();
|
|
870
|
+
texture.colorSpace = THREE.SRGBColorSpace;
|
|
868
871
|
const image = ImageLoader.loadElement(src);
|
|
869
872
|
image.onload = function() {
|
|
870
873
|
texture.needsUpdate = true;
|
|
@@ -876,6 +879,7 @@ var TextureLoader = class {
|
|
|
876
879
|
}
|
|
877
880
|
static load(src, format = RGBAFormat, rotation = 0) {
|
|
878
881
|
const texture = new Texture();
|
|
882
|
+
texture.colorSpace = THREE.SRGBColorSpace;
|
|
879
883
|
ImageLoader.getData(src).then((image) => {
|
|
880
884
|
texture.needsUpdate = true;
|
|
881
885
|
texture.image = image;
|
|
@@ -887,11 +891,11 @@ var TextureLoader = class {
|
|
|
887
891
|
};
|
|
888
892
|
|
|
889
893
|
// src/texture/Textures.ts
|
|
890
|
-
import * as
|
|
894
|
+
import * as THREE2 from "three";
|
|
891
895
|
var Textures = class _Textures {
|
|
892
896
|
static initTextureProps(texture) {
|
|
893
|
-
texture.magFilter =
|
|
894
|
-
texture.minFilter =
|
|
897
|
+
texture.magFilter = THREE2.NearestFilter;
|
|
898
|
+
texture.minFilter = THREE2.NearestFilter;
|
|
895
899
|
texture.anisotropy = 0;
|
|
896
900
|
return texture;
|
|
897
901
|
}
|
|
@@ -902,7 +906,9 @@ var Textures = class _Textures {
|
|
|
902
906
|
return new Texture2();
|
|
903
907
|
}
|
|
904
908
|
static createCanvasTexture(canvas) {
|
|
905
|
-
|
|
909
|
+
const texture = new CanvasTexture(canvas);
|
|
910
|
+
texture.colorSpace = THREE2.SRGBColorSpace;
|
|
911
|
+
return this.initTextureProps(texture);
|
|
906
912
|
}
|
|
907
913
|
static getImage(key) {
|
|
908
914
|
const keyStr = serializeTextureKey(key);
|
|
@@ -1019,6 +1025,9 @@ var _Materials = class _Materials {
|
|
|
1019
1025
|
gl_FragColor = vec4(lift + color.rgb * light2, 1.0);
|
|
1020
1026
|
|
|
1021
1027
|
}
|
|
1028
|
+
|
|
1029
|
+
#include <tonemapping_fragment>
|
|
1030
|
+
#include <colorspace_fragment>
|
|
1022
1031
|
}
|
|
1023
1032
|
`;
|
|
1024
1033
|
try {
|
|
@@ -1649,7 +1658,6 @@ var ArchiveAssetSource = class _ArchiveAssetSource extends AssetSource {
|
|
|
1649
1658
|
};
|
|
1650
1659
|
|
|
1651
1660
|
// src/assets/AssetLoader.ts
|
|
1652
|
-
var import_ts_deepmerge3 = __toESM(require_dist());
|
|
1653
1661
|
var p5 = prefix("AssetLoader");
|
|
1654
1662
|
var _AssetLoader = class _AssetLoader {
|
|
1655
1663
|
static addSource(key, source, override = true) {
|
|
@@ -1673,7 +1681,6 @@ var _AssetLoader = class _AssetLoader {
|
|
|
1673
1681
|
return void 0;
|
|
1674
1682
|
}
|
|
1675
1683
|
static async getAll(key, parser) {
|
|
1676
|
-
console.log(this._SOURCES);
|
|
1677
1684
|
let promises = [];
|
|
1678
1685
|
for (const source of this._SOURCES) {
|
|
1679
1686
|
promises.push(source.source.get(key, parser));
|
|
@@ -1682,24 +1689,16 @@ var _AssetLoader = class _AssetLoader {
|
|
|
1682
1689
|
return results.filter((r) => r != void 0);
|
|
1683
1690
|
});
|
|
1684
1691
|
}
|
|
1692
|
+
/** Returns the first defined result in source-priority order, without merging assets. */
|
|
1685
1693
|
static async get(key, parser) {
|
|
1686
|
-
|
|
1687
|
-
|
|
1688
|
-
|
|
1689
|
-
|
|
1690
|
-
|
|
1691
|
-
return Promise.all(promises).then((results) => {
|
|
1692
|
-
const fallback = results[results.length - 1];
|
|
1693
|
-
for (const result of results) {
|
|
1694
|
-
if (result) {
|
|
1695
|
-
if (fallback) {
|
|
1696
|
-
return (0, import_ts_deepmerge3.default)({}, fallback, result);
|
|
1697
|
-
}
|
|
1698
|
-
return result;
|
|
1699
|
-
}
|
|
1694
|
+
const sources = [...this._SOURCES];
|
|
1695
|
+
for (const source of sources) {
|
|
1696
|
+
const result = await source.source.get(key, parser);
|
|
1697
|
+
if (result !== void 0) {
|
|
1698
|
+
return result;
|
|
1700
1699
|
}
|
|
1701
|
-
|
|
1702
|
-
|
|
1700
|
+
}
|
|
1701
|
+
return void 0;
|
|
1703
1702
|
}
|
|
1704
1703
|
};
|
|
1705
1704
|
_AssetLoader.ROOT = DEFAULT_ROOT;
|
|
@@ -2521,7 +2520,7 @@ var MineRenderError = class _MineRenderError extends Error {
|
|
|
2521
2520
|
};
|
|
2522
2521
|
|
|
2523
2522
|
// src/renderer/SceneObject.ts
|
|
2524
|
-
var
|
|
2523
|
+
var import_ts_deepmerge3 = __toESM(require_dist());
|
|
2525
2524
|
var p7 = prefix("SceneObject");
|
|
2526
2525
|
var _SceneObject = class _SceneObject extends Object3D2 {
|
|
2527
2526
|
constructor(options) {
|
|
@@ -2530,7 +2529,7 @@ var _SceneObject = class _SceneObject extends Object3D2 {
|
|
|
2530
2529
|
this.materialCallbacks = {};
|
|
2531
2530
|
this._isInstanced = false;
|
|
2532
2531
|
this._instanceCounter = 0;
|
|
2533
|
-
this.options = (0,
|
|
2532
|
+
this.options = (0, import_ts_deepmerge3.default)({}, _SceneObject.DEFAULT_OPTIONS, options ?? {});
|
|
2534
2533
|
console.log("SceneObject options", this.options);
|
|
2535
2534
|
}
|
|
2536
2535
|
set scene(scene) {
|
|
@@ -2879,7 +2878,7 @@ var _SceneObject = class _SceneObject extends Object3D2 {
|
|
|
2879
2878
|
}
|
|
2880
2879
|
//</editor-fold>
|
|
2881
2880
|
};
|
|
2882
|
-
_SceneObject.DEFAULT_OPTIONS = (0,
|
|
2881
|
+
_SceneObject.DEFAULT_OPTIONS = (0, import_ts_deepmerge3.default)({}, {
|
|
2883
2882
|
instanceMeshes: true,
|
|
2884
2883
|
maxInstanceCount: 50,
|
|
2885
2884
|
mergeMeshes: true,
|
|
@@ -2891,16 +2890,16 @@ function isSceneObject(obj) {
|
|
|
2891
2890
|
}
|
|
2892
2891
|
|
|
2893
2892
|
// src/entity/scene/EntityObject.ts
|
|
2894
|
-
var
|
|
2893
|
+
var import_ts_deepmerge4 = __toESM(require_dist());
|
|
2895
2894
|
import { Object3D as Object3D3 } from "three";
|
|
2896
|
-
import * as
|
|
2895
|
+
import * as THREE3 from "three";
|
|
2897
2896
|
var EntityObject = class extends SceneObject {
|
|
2898
2897
|
constructor(entity, options) {
|
|
2899
2898
|
super();
|
|
2900
2899
|
this.entity = entity;
|
|
2901
2900
|
this.isEntityObject = true;
|
|
2902
2901
|
this.meshesCreated = false;
|
|
2903
|
-
this.options = (0,
|
|
2902
|
+
this.options = (0, import_ts_deepmerge4.default)({}, SceneObject.DEFAULT_OPTIONS, options ?? {});
|
|
2904
2903
|
}
|
|
2905
2904
|
async init() {
|
|
2906
2905
|
this.createMeshes();
|
|
@@ -2937,8 +2936,8 @@ var EntityObject = class extends SceneObject {
|
|
|
2937
2936
|
const l = cube.maxZ - cube.minZ;
|
|
2938
2937
|
const uv = texture.toUvArray(w, h, l);
|
|
2939
2938
|
const cubeGeo = this._getBoxGeometryForDimensionsAndUv(w, h, l, uv).clone();
|
|
2940
|
-
cubeGeo.applyMatrix4(new
|
|
2941
|
-
cubeGeo.applyMatrix4(new
|
|
2939
|
+
cubeGeo.applyMatrix4(new THREE3.Matrix4().makeTranslation(w / 2, h / 2, l / 2));
|
|
2940
|
+
cubeGeo.applyMatrix4(new THREE3.Matrix4().makeTranslation(cube.minX, cube.minY, cube.minZ));
|
|
2942
2941
|
applyModelPartRotation(part, cubeGeo);
|
|
2943
2942
|
const mesh = this.createMesh(partName, cubeGeo, mat);
|
|
2944
2943
|
partAnchor.add(mesh);
|
|
@@ -2967,7 +2966,7 @@ var EntityObject = class extends SceneObject {
|
|
|
2967
2966
|
}
|
|
2968
2967
|
}
|
|
2969
2968
|
};
|
|
2970
|
-
EntityObject.DEFAULT_OPTIONS = (0,
|
|
2969
|
+
EntityObject.DEFAULT_OPTIONS = (0, import_ts_deepmerge4.default)({}, SceneObject.DEFAULT_OPTIONS, {});
|
|
2971
2970
|
function isEntityObject(obj) {
|
|
2972
2971
|
return obj.isEntityObject;
|
|
2973
2972
|
}
|
|
@@ -3968,7 +3967,7 @@ function computeMorphedAttributes(object) {
|
|
|
3968
3967
|
}
|
|
3969
3968
|
|
|
3970
3969
|
// src/model/scene/ModelObject.ts
|
|
3971
|
-
var
|
|
3970
|
+
var import_ts_deepmerge5 = __toESM(require_dist());
|
|
3972
3971
|
var p10 = prefix("ModelObject");
|
|
3973
3972
|
var _ModelObject = class _ModelObject extends SceneObject {
|
|
3974
3973
|
constructor(originalModel, options) {
|
|
@@ -3976,7 +3975,7 @@ var _ModelObject = class _ModelObject extends SceneObject {
|
|
|
3976
3975
|
this.originalModel = originalModel;
|
|
3977
3976
|
this.isModelObject = true;
|
|
3978
3977
|
this.meshesCreated = false;
|
|
3979
|
-
this.options = (0,
|
|
3978
|
+
this.options = (0, import_ts_deepmerge5.default)({}, _ModelObject.DEFAULT_OPTIONS, options ?? {});
|
|
3980
3979
|
console.log("ModelObject options", this.options);
|
|
3981
3980
|
}
|
|
3982
3981
|
async init() {
|
|
@@ -4074,14 +4073,14 @@ var _ModelObject = class _ModelObject extends SceneObject {
|
|
|
4074
4073
|
}
|
|
4075
4074
|
}
|
|
4076
4075
|
};
|
|
4077
|
-
_ModelObject.DEFAULT_OPTIONS = (0,
|
|
4076
|
+
_ModelObject.DEFAULT_OPTIONS = (0, import_ts_deepmerge5.default)({}, SceneObject.DEFAULT_OPTIONS, {});
|
|
4078
4077
|
var ModelObject = _ModelObject;
|
|
4079
4078
|
function isModelObject(obj) {
|
|
4080
4079
|
return obj.isModelObject;
|
|
4081
4080
|
}
|
|
4082
4081
|
|
|
4083
4082
|
// src/model/block/scene/BlockObject.ts
|
|
4084
|
-
var
|
|
4083
|
+
var import_ts_deepmerge6 = __toESM(require_dist());
|
|
4085
4084
|
import { Euler as Euler3, Matrix4 as Matrix46, Vector3 as Vector36 } from "three";
|
|
4086
4085
|
var p11 = prefix("BlockObject");
|
|
4087
4086
|
var _BlockObject = class _BlockObject extends SceneObject {
|
|
@@ -4097,7 +4096,7 @@ var _BlockObject = class _BlockObject extends SceneObject {
|
|
|
4097
4096
|
this._instanceModel = [];
|
|
4098
4097
|
this._variants = [];
|
|
4099
4098
|
this._models = [];
|
|
4100
|
-
this.options = (0,
|
|
4099
|
+
this.options = (0, import_ts_deepmerge6.default)({}, _BlockObject.DEFAULT_OPTIONS, options ?? {});
|
|
4101
4100
|
}
|
|
4102
4101
|
async init() {
|
|
4103
4102
|
if (this.options.applyDefaultState) {
|
|
@@ -4386,7 +4385,7 @@ var _BlockObject = class _BlockObject extends SceneObject {
|
|
|
4386
4385
|
//TODO: should override rotation + scale methods
|
|
4387
4386
|
//TODO
|
|
4388
4387
|
};
|
|
4389
|
-
_BlockObject.DEFAULT_OPTIONS = (0,
|
|
4388
|
+
_BlockObject.DEFAULT_OPTIONS = (0, import_ts_deepmerge6.default)({}, ModelObject.DEFAULT_OPTIONS, {
|
|
4390
4389
|
applyDefaultState: true
|
|
4391
4390
|
});
|
|
4392
4391
|
var BlockObject = _BlockObject;
|
|
@@ -4436,7 +4435,7 @@ var StructureParser = class {
|
|
|
4436
4435
|
|
|
4437
4436
|
// src/renderer/MineRenderScene.ts
|
|
4438
4437
|
import { Scene as Scene2 } from "three";
|
|
4439
|
-
var
|
|
4438
|
+
var import_ts_deepmerge8 = __toESM(require_dist());
|
|
4440
4439
|
|
|
4441
4440
|
// src/skin/SkinPart.ts
|
|
4442
4441
|
var SkinPart = /* @__PURE__ */ ((SkinPart2) => {
|
|
@@ -5167,7 +5166,7 @@ var slimSkinGeometries = {
|
|
|
5167
5166
|
};
|
|
5168
5167
|
|
|
5169
5168
|
// src/skin/scene/SkinObject.ts
|
|
5170
|
-
var
|
|
5169
|
+
var import_ts_deepmerge7 = __toESM(require_dist());
|
|
5171
5170
|
var SkinObject = class extends SceneObject {
|
|
5172
5171
|
constructor(options) {
|
|
5173
5172
|
super();
|
|
@@ -5175,7 +5174,7 @@ var SkinObject = class extends SceneObject {
|
|
|
5175
5174
|
this.legacy = false;
|
|
5176
5175
|
this.skinTextureWidth = 64;
|
|
5177
5176
|
this.skinTextureHeight = 64;
|
|
5178
|
-
this.options = (0,
|
|
5177
|
+
this.options = (0, import_ts_deepmerge7.default)({}, SceneObject.DEFAULT_OPTIONS, options ?? {});
|
|
5179
5178
|
}
|
|
5180
5179
|
async init() {
|
|
5181
5180
|
this.createMeshes();
|
|
@@ -5292,7 +5291,7 @@ var _MineRenderScene = class _MineRenderScene extends Scene2 {
|
|
|
5292
5291
|
this.dirty = true;
|
|
5293
5292
|
}
|
|
5294
5293
|
};
|
|
5295
|
-
this.options = (0,
|
|
5294
|
+
this.options = (0, import_ts_deepmerge8.default)({}, _MineRenderScene.DEFAULT_OPTIONS, options ?? {});
|
|
5296
5295
|
}
|
|
5297
5296
|
add(...objects) {
|
|
5298
5297
|
for (const object of objects) {
|
|
@@ -5388,15 +5387,15 @@ var _MineRenderScene = class _MineRenderScene extends Scene2 {
|
|
|
5388
5387
|
return this.addSceneObject(entity, () => new EntityObject(entity, options), options, parent);
|
|
5389
5388
|
}
|
|
5390
5389
|
};
|
|
5391
|
-
_MineRenderScene.DEFAULT_OPTIONS = (0,
|
|
5390
|
+
_MineRenderScene.DEFAULT_OPTIONS = (0, import_ts_deepmerge8.default)({}, {});
|
|
5392
5391
|
var MineRenderScene = _MineRenderScene;
|
|
5393
5392
|
function isMineRenderScene(obj) {
|
|
5394
5393
|
return obj.isMineRenderScene;
|
|
5395
5394
|
}
|
|
5396
5395
|
|
|
5397
5396
|
// src/renderer/Renderer.ts
|
|
5398
|
-
import { AxesHelper as AxesHelper3, GridHelper,
|
|
5399
|
-
var
|
|
5397
|
+
import { AxesHelper as AxesHelper3, GridHelper, OrthographicCamera, PCFSoftShadowMap, PerspectiveCamera, SRGBColorSpace as SRGBColorSpace3, Vector3 as Vector38, WebGLRenderer } from "three";
|
|
5398
|
+
var import_ts_deepmerge9 = __toESM(require_dist());
|
|
5400
5399
|
import Stats from "stats.js";
|
|
5401
5400
|
import { EffectComposer, RenderPass } from "postprocessing";
|
|
5402
5401
|
|
|
@@ -6061,7 +6060,7 @@ var _Renderer = class _Renderer {
|
|
|
6061
6060
|
this._changeListener = () => {
|
|
6062
6061
|
this._dirty = true;
|
|
6063
6062
|
};
|
|
6064
|
-
this.options = (0,
|
|
6063
|
+
this.options = (0, import_ts_deepmerge9.default)({}, _Renderer.DEFAULT_OPTIONS, options ?? {});
|
|
6065
6064
|
this._animationLoop = this.animate.bind(this);
|
|
6066
6065
|
this._frameInterval = this.options.render.fpsLimit > 0 ? 1e3 / this.options.render.fpsLimit : void 0;
|
|
6067
6066
|
this._scene = this.createScene();
|
|
@@ -6110,13 +6109,13 @@ var _Renderer = class _Renderer {
|
|
|
6110
6109
|
renderer.setClearColor(0, 0);
|
|
6111
6110
|
renderer.shadowMap.enabled = true;
|
|
6112
6111
|
renderer.shadowMap.type = PCFSoftShadowMap;
|
|
6113
|
-
renderer.
|
|
6112
|
+
renderer.outputColorSpace = SRGBColorSpace3;
|
|
6114
6113
|
renderer.setSize(this.viewWidth, this.viewHeight);
|
|
6115
6114
|
return renderer;
|
|
6116
6115
|
}
|
|
6117
6116
|
createComposer() {
|
|
6117
|
+
if (!this.options.composer.enabled) return void 0;
|
|
6118
6118
|
const composer = new EffectComposer(this.renderer);
|
|
6119
|
-
if (!this.options.composer.enabled) return composer;
|
|
6120
6119
|
composer.setSize(this.viewWidth, this.viewHeight);
|
|
6121
6120
|
composer.addPass(new RenderPass(this.scene, this.camera));
|
|
6122
6121
|
return composer;
|
|
@@ -6225,7 +6224,7 @@ var _Renderer = class _Renderer {
|
|
|
6225
6224
|
this.camera.updateProjectionMatrix();
|
|
6226
6225
|
}
|
|
6227
6226
|
this.renderer.setSize(width, height);
|
|
6228
|
-
this.composer
|
|
6227
|
+
this.composer?.setSize(width, height);
|
|
6229
6228
|
this._dirty = true;
|
|
6230
6229
|
}
|
|
6231
6230
|
//<editor-fold desc="RENDER">
|
|
@@ -6284,7 +6283,7 @@ var _Renderer = class _Renderer {
|
|
|
6284
6283
|
}
|
|
6285
6284
|
}
|
|
6286
6285
|
this._debugHelpers.length = 0;
|
|
6287
|
-
this.composer
|
|
6286
|
+
this.composer?.dispose();
|
|
6288
6287
|
this.renderer.dispose();
|
|
6289
6288
|
this.renderer.forceContextLoss();
|
|
6290
6289
|
}
|
|
@@ -6304,7 +6303,7 @@ var _Renderer = class _Renderer {
|
|
|
6304
6303
|
if (this._stats) {
|
|
6305
6304
|
this._stats.begin();
|
|
6306
6305
|
}
|
|
6307
|
-
if (this.options.composer.enabled) {
|
|
6306
|
+
if (this.options.composer.enabled && this.composer) {
|
|
6308
6307
|
this.composer.render();
|
|
6309
6308
|
} else {
|
|
6310
6309
|
this.renderer.render(this.scene, this.camera);
|
|
@@ -6346,7 +6345,7 @@ var _Renderer = class _Renderer {
|
|
|
6346
6345
|
}
|
|
6347
6346
|
///
|
|
6348
6347
|
};
|
|
6349
|
-
_Renderer.DEFAULT_OPTIONS = (0,
|
|
6348
|
+
_Renderer.DEFAULT_OPTIONS = (0, import_ts_deepmerge9.default)({}, {
|
|
6350
6349
|
camera: {
|
|
6351
6350
|
type: "perspective",
|
|
6352
6351
|
near: 1,
|