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/node/index.d.mts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as three from 'three';
|
|
2
|
-
import { Vector3, PixelFormat, BoxGeometry, Material, Mesh, Euler, Vector2, BufferAttribute, Float32BufferAttribute, Object3D, Box3, InstancedMesh, PerspectiveCamera, OrthographicCamera, Matrix4, Scene, Texture, Camera, MOUSE, TOUCH, WebGLRenderer, EventDispatcher, Raycaster, Intersection, CanvasTexture,
|
|
2
|
+
import { Vector3, PixelFormat, BoxGeometry, Material, Mesh, Euler, Vector2, BufferAttribute, Float32BufferAttribute, BufferGeometry, Object3D, Box3, InstancedMesh, PerspectiveCamera, OrthographicCamera, Matrix4, Scene, Object3DEventMap, Texture, Camera, MOUSE, TOUCH, WebGLRenderer, EventDispatcher, Raycaster, Intersection, CanvasTexture, InterleavedBufferAttribute, TrianglesDrawModes, Line, Points } from 'three';
|
|
3
3
|
import * as nodeCanvas from 'canvas';
|
|
4
4
|
import { ImageData as ImageData$1, CanvasRenderingContext2D } from 'canvas';
|
|
5
5
|
import { AxiosResponse, AxiosRequestConfig } from 'axios';
|
|
@@ -7,8 +7,6 @@ import { Buffer as Buffer$1 } from 'buffer';
|
|
|
7
7
|
import { NBT } from 'prismarine-nbt';
|
|
8
8
|
import { ZipReader } from '@zip.js/zip.js';
|
|
9
9
|
import { AsyncLoadingCache, SimpleCache } from '@inventivetalent/loading-cache';
|
|
10
|
-
import { BufferGeometry } from 'three/src/core/BufferGeometry';
|
|
11
|
-
import { Material as Material$1 } from 'three/src/materials/Material';
|
|
12
10
|
import Stats from 'stats.js';
|
|
13
11
|
import { EffectComposer } from 'postprocessing';
|
|
14
12
|
import { LocalStorage } from 'node-persist';
|
|
@@ -63,7 +61,7 @@ declare function createCanvas(width: number, height: number): CompatCanvas;
|
|
|
63
61
|
declare abstract class PersistentCache<B = unknown> {
|
|
64
62
|
readonly backing: B;
|
|
65
63
|
/** Bump to invalidate every persisted entry. */
|
|
66
|
-
static readonly VERSION =
|
|
64
|
+
static readonly VERSION = 2;
|
|
67
65
|
static open(name: string): PersistentCache;
|
|
68
66
|
protected constructor(backing: B);
|
|
69
67
|
abstract get<T>(key: string): Promise<T>;
|
|
@@ -432,7 +430,7 @@ interface Transformable {
|
|
|
432
430
|
declare function isTransformable(obj: any): obj is Transformable;
|
|
433
431
|
|
|
434
432
|
declare const changeEvent: {
|
|
435
|
-
type:
|
|
433
|
+
type: "change";
|
|
436
434
|
};
|
|
437
435
|
type Maybe<T> = T | undefined;
|
|
438
436
|
declare function md5(str: string): string;
|
|
@@ -624,6 +622,7 @@ declare class AssetLoader {
|
|
|
624
622
|
static addSource(key: string, source: AssetSource, override?: boolean): void;
|
|
625
623
|
static removeSource(key: string): Maybe<AssetSource>;
|
|
626
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. */
|
|
627
626
|
static get<T extends MinecraftAsset>(key: AssetKey, parser: AssetParser | string): Promise<Maybe<T>>;
|
|
628
627
|
}
|
|
629
628
|
|
|
@@ -887,7 +886,9 @@ interface MineRenderSceneOptions {
|
|
|
887
886
|
}
|
|
888
887
|
declare function isMineRenderScene(obj: any): obj is MineRenderScene;
|
|
889
888
|
|
|
890
|
-
declare class SceneObject extends Object3D
|
|
889
|
+
declare class SceneObject extends Object3D<Object3DEventMap & {
|
|
890
|
+
change: {};
|
|
891
|
+
}> implements Disposable, Instanceable, Transformable {
|
|
891
892
|
readonly isSceneObject: true;
|
|
892
893
|
static readonly DEFAULT_OPTIONS: SceneObjectOptions;
|
|
893
894
|
readonly options: SceneObjectOptions;
|
|
@@ -913,9 +914,9 @@ declare class SceneObject extends Object3D implements Disposable, Instanceable,
|
|
|
913
914
|
*/
|
|
914
915
|
toggleGroupVisibility(name: string, visible?: boolean): boolean;
|
|
915
916
|
protected addOrReplaceMesh(mesh: Mesh, parent: Object3D, name?: string): void;
|
|
916
|
-
protected createAndAddMesh(name?: string, group?: Object3D, geometry?: BufferGeometry, material?: Material
|
|
917
|
-
protected createMesh(name?: string, geometry?: BufferGeometry, material?: Material
|
|
918
|
-
protected createInstancedMesh(name: Maybe<string>, geometry: BufferGeometry, material: Material
|
|
917
|
+
protected createAndAddMesh(name?: string, group?: Object3D, geometry?: BufferGeometry, material?: Material | Material[], offsetAxis?: Axis, offset?: number): Mesh;
|
|
918
|
+
protected createMesh(name?: string, geometry?: BufferGeometry, material?: Material | Material[], offsetAxis?: Axis, offset?: number): Mesh;
|
|
919
|
+
protected createInstancedMesh(name: Maybe<string>, geometry: BufferGeometry, material: Material | Material[], count: number): InstancedMesh;
|
|
919
920
|
/**
|
|
920
921
|
* Get a mesh by its name
|
|
921
922
|
*/
|
|
@@ -1320,7 +1321,7 @@ declare class Renderer implements Disposable {
|
|
|
1320
1321
|
protected _scene: MineRenderScene;
|
|
1321
1322
|
protected _camera: Camera;
|
|
1322
1323
|
protected _renderer: WebGLRenderer;
|
|
1323
|
-
protected _composer
|
|
1324
|
+
protected _composer?: EffectComposer;
|
|
1324
1325
|
protected _controls?: OrbitControls;
|
|
1325
1326
|
protected _stats?: Stats;
|
|
1326
1327
|
protected _dirty: boolean;
|
|
@@ -1336,7 +1337,7 @@ declare class Renderer implements Disposable {
|
|
|
1336
1337
|
protected createScene(): MineRenderScene;
|
|
1337
1338
|
protected createCamera(): Camera;
|
|
1338
1339
|
protected createRenderer(): WebGLRenderer;
|
|
1339
|
-
protected createComposer(): EffectComposer
|
|
1340
|
+
protected createComposer(): Maybe<EffectComposer>;
|
|
1340
1341
|
protected createControls(): Maybe<OrbitControls>;
|
|
1341
1342
|
init(): void;
|
|
1342
1343
|
get element(): Maybe<HTMLElement>;
|
|
@@ -1345,7 +1346,7 @@ declare class Renderer implements Disposable {
|
|
|
1345
1346
|
* Redraws when the dispatcher emits the selected event. Registering the same pair twice has no effect.
|
|
1346
1347
|
* The renderer removes its listener on disposal; the caller retains ownership of the dispatcher.
|
|
1347
1348
|
*/
|
|
1348
|
-
registerEventDispatcher(dispatcher: EventDispatcher
|
|
1349
|
+
registerEventDispatcher(dispatcher: EventDispatcher<any>, changeEvent?: string): void;
|
|
1349
1350
|
resize(width: number, height: number): void;
|
|
1350
1351
|
get dirty(): boolean;
|
|
1351
1352
|
set dirty(dirty: boolean);
|
|
@@ -1365,7 +1366,7 @@ declare class Renderer implements Disposable {
|
|
|
1365
1366
|
get scene(): MineRenderScene;
|
|
1366
1367
|
get camera(): Camera;
|
|
1367
1368
|
get renderer(): WebGLRenderer;
|
|
1368
|
-
get composer(): EffectComposer
|
|
1369
|
+
get composer(): Maybe<EffectComposer>;
|
|
1369
1370
|
/** Renderer-owned controls, or undefined when disabled at construction or after disposal. */
|
|
1370
1371
|
get controls(): Maybe<OrbitControls>;
|
|
1371
1372
|
}
|
|
@@ -1422,7 +1423,7 @@ declare class SceneInspector {
|
|
|
1422
1423
|
private selectedObject?;
|
|
1423
1424
|
constructor(renderer: Renderer);
|
|
1424
1425
|
protected init(): void;
|
|
1425
|
-
findMeshChildren(from: Object3D, out?: Mesh[]): Mesh<three.BufferGeometry
|
|
1426
|
+
findMeshChildren(from: Object3D, out?: Mesh[]): Mesh<three.BufferGeometry<three.NormalBufferAttributes>, three.Material | three.Material[], three.Object3DEventMap>[];
|
|
1426
1427
|
onClick(event: any): void;
|
|
1427
1428
|
appendTo(el: HTMLElement): void;
|
|
1428
1429
|
protected handleRaycasterObjects(intersections: Intersection[]): void;
|
|
@@ -1524,12 +1525,12 @@ declare class Textures {
|
|
|
1524
1525
|
static getImage(key: TextureKey): Texture;
|
|
1525
1526
|
}
|
|
1526
1527
|
|
|
1527
|
-
declare function mergeBufferGeometries(geometries: BufferGeometry
|
|
1528
|
+
declare function mergeBufferGeometries(geometries: BufferGeometry[], useGroups?: boolean): BufferGeometry;
|
|
1528
1529
|
declare function mergeBufferAttributes(attributes: BufferAttribute[]): BufferAttribute;
|
|
1529
1530
|
declare function interleaveAttributes(attributes: BufferAttribute[]): InterleavedBufferAttribute;
|
|
1530
|
-
declare function estimateBytesUsed(geometry: BufferGeometry
|
|
1531
|
-
declare function mergeVertices(geometry: BufferGeometry
|
|
1532
|
-
declare function toTrianglesDrawMode(geometry: BufferGeometry
|
|
1531
|
+
declare function estimateBytesUsed(geometry: BufferGeometry): number;
|
|
1532
|
+
declare function mergeVertices(geometry: BufferGeometry, tolerance?: number): BufferGeometry;
|
|
1533
|
+
declare function toTrianglesDrawMode(geometry: BufferGeometry, drawMode: TrianglesDrawModes): BufferGeometry;
|
|
1533
1534
|
declare function computeMorphedAttributes(object: Mesh | Line | Points): object;
|
|
1534
1535
|
|
|
1535
1536
|
interface BlockInfo {
|
package/dist/node/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as three from 'three';
|
|
2
|
-
import { Vector3, PixelFormat, BoxGeometry, Material, Mesh, Euler, Vector2, BufferAttribute, Float32BufferAttribute, Object3D, Box3, InstancedMesh, PerspectiveCamera, OrthographicCamera, Matrix4, Scene, Texture, Camera, MOUSE, TOUCH, WebGLRenderer, EventDispatcher, Raycaster, Intersection, CanvasTexture,
|
|
2
|
+
import { Vector3, PixelFormat, BoxGeometry, Material, Mesh, Euler, Vector2, BufferAttribute, Float32BufferAttribute, BufferGeometry, Object3D, Box3, InstancedMesh, PerspectiveCamera, OrthographicCamera, Matrix4, Scene, Object3DEventMap, Texture, Camera, MOUSE, TOUCH, WebGLRenderer, EventDispatcher, Raycaster, Intersection, CanvasTexture, InterleavedBufferAttribute, TrianglesDrawModes, Line, Points } from 'three';
|
|
3
3
|
import * as nodeCanvas from 'canvas';
|
|
4
4
|
import { ImageData as ImageData$1, CanvasRenderingContext2D } from 'canvas';
|
|
5
5
|
import { AxiosResponse, AxiosRequestConfig } from 'axios';
|
|
@@ -7,8 +7,6 @@ import { Buffer as Buffer$1 } from 'buffer';
|
|
|
7
7
|
import { NBT } from 'prismarine-nbt';
|
|
8
8
|
import { ZipReader } from '@zip.js/zip.js';
|
|
9
9
|
import { AsyncLoadingCache, SimpleCache } from '@inventivetalent/loading-cache';
|
|
10
|
-
import { BufferGeometry } from 'three/src/core/BufferGeometry';
|
|
11
|
-
import { Material as Material$1 } from 'three/src/materials/Material';
|
|
12
10
|
import Stats from 'stats.js';
|
|
13
11
|
import { EffectComposer } from 'postprocessing';
|
|
14
12
|
import { LocalStorage } from 'node-persist';
|
|
@@ -63,7 +61,7 @@ declare function createCanvas(width: number, height: number): CompatCanvas;
|
|
|
63
61
|
declare abstract class PersistentCache<B = unknown> {
|
|
64
62
|
readonly backing: B;
|
|
65
63
|
/** Bump to invalidate every persisted entry. */
|
|
66
|
-
static readonly VERSION =
|
|
64
|
+
static readonly VERSION = 2;
|
|
67
65
|
static open(name: string): PersistentCache;
|
|
68
66
|
protected constructor(backing: B);
|
|
69
67
|
abstract get<T>(key: string): Promise<T>;
|
|
@@ -432,7 +430,7 @@ interface Transformable {
|
|
|
432
430
|
declare function isTransformable(obj: any): obj is Transformable;
|
|
433
431
|
|
|
434
432
|
declare const changeEvent: {
|
|
435
|
-
type:
|
|
433
|
+
type: "change";
|
|
436
434
|
};
|
|
437
435
|
type Maybe<T> = T | undefined;
|
|
438
436
|
declare function md5(str: string): string;
|
|
@@ -624,6 +622,7 @@ declare class AssetLoader {
|
|
|
624
622
|
static addSource(key: string, source: AssetSource, override?: boolean): void;
|
|
625
623
|
static removeSource(key: string): Maybe<AssetSource>;
|
|
626
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. */
|
|
627
626
|
static get<T extends MinecraftAsset>(key: AssetKey, parser: AssetParser | string): Promise<Maybe<T>>;
|
|
628
627
|
}
|
|
629
628
|
|
|
@@ -887,7 +886,9 @@ interface MineRenderSceneOptions {
|
|
|
887
886
|
}
|
|
888
887
|
declare function isMineRenderScene(obj: any): obj is MineRenderScene;
|
|
889
888
|
|
|
890
|
-
declare class SceneObject extends Object3D
|
|
889
|
+
declare class SceneObject extends Object3D<Object3DEventMap & {
|
|
890
|
+
change: {};
|
|
891
|
+
}> implements Disposable, Instanceable, Transformable {
|
|
891
892
|
readonly isSceneObject: true;
|
|
892
893
|
static readonly DEFAULT_OPTIONS: SceneObjectOptions;
|
|
893
894
|
readonly options: SceneObjectOptions;
|
|
@@ -913,9 +914,9 @@ declare class SceneObject extends Object3D implements Disposable, Instanceable,
|
|
|
913
914
|
*/
|
|
914
915
|
toggleGroupVisibility(name: string, visible?: boolean): boolean;
|
|
915
916
|
protected addOrReplaceMesh(mesh: Mesh, parent: Object3D, name?: string): void;
|
|
916
|
-
protected createAndAddMesh(name?: string, group?: Object3D, geometry?: BufferGeometry, material?: Material
|
|
917
|
-
protected createMesh(name?: string, geometry?: BufferGeometry, material?: Material
|
|
918
|
-
protected createInstancedMesh(name: Maybe<string>, geometry: BufferGeometry, material: Material
|
|
917
|
+
protected createAndAddMesh(name?: string, group?: Object3D, geometry?: BufferGeometry, material?: Material | Material[], offsetAxis?: Axis, offset?: number): Mesh;
|
|
918
|
+
protected createMesh(name?: string, geometry?: BufferGeometry, material?: Material | Material[], offsetAxis?: Axis, offset?: number): Mesh;
|
|
919
|
+
protected createInstancedMesh(name: Maybe<string>, geometry: BufferGeometry, material: Material | Material[], count: number): InstancedMesh;
|
|
919
920
|
/**
|
|
920
921
|
* Get a mesh by its name
|
|
921
922
|
*/
|
|
@@ -1320,7 +1321,7 @@ declare class Renderer implements Disposable {
|
|
|
1320
1321
|
protected _scene: MineRenderScene;
|
|
1321
1322
|
protected _camera: Camera;
|
|
1322
1323
|
protected _renderer: WebGLRenderer;
|
|
1323
|
-
protected _composer
|
|
1324
|
+
protected _composer?: EffectComposer;
|
|
1324
1325
|
protected _controls?: OrbitControls;
|
|
1325
1326
|
protected _stats?: Stats;
|
|
1326
1327
|
protected _dirty: boolean;
|
|
@@ -1336,7 +1337,7 @@ declare class Renderer implements Disposable {
|
|
|
1336
1337
|
protected createScene(): MineRenderScene;
|
|
1337
1338
|
protected createCamera(): Camera;
|
|
1338
1339
|
protected createRenderer(): WebGLRenderer;
|
|
1339
|
-
protected createComposer(): EffectComposer
|
|
1340
|
+
protected createComposer(): Maybe<EffectComposer>;
|
|
1340
1341
|
protected createControls(): Maybe<OrbitControls>;
|
|
1341
1342
|
init(): void;
|
|
1342
1343
|
get element(): Maybe<HTMLElement>;
|
|
@@ -1345,7 +1346,7 @@ declare class Renderer implements Disposable {
|
|
|
1345
1346
|
* Redraws when the dispatcher emits the selected event. Registering the same pair twice has no effect.
|
|
1346
1347
|
* The renderer removes its listener on disposal; the caller retains ownership of the dispatcher.
|
|
1347
1348
|
*/
|
|
1348
|
-
registerEventDispatcher(dispatcher: EventDispatcher
|
|
1349
|
+
registerEventDispatcher(dispatcher: EventDispatcher<any>, changeEvent?: string): void;
|
|
1349
1350
|
resize(width: number, height: number): void;
|
|
1350
1351
|
get dirty(): boolean;
|
|
1351
1352
|
set dirty(dirty: boolean);
|
|
@@ -1365,7 +1366,7 @@ declare class Renderer implements Disposable {
|
|
|
1365
1366
|
get scene(): MineRenderScene;
|
|
1366
1367
|
get camera(): Camera;
|
|
1367
1368
|
get renderer(): WebGLRenderer;
|
|
1368
|
-
get composer(): EffectComposer
|
|
1369
|
+
get composer(): Maybe<EffectComposer>;
|
|
1369
1370
|
/** Renderer-owned controls, or undefined when disabled at construction or after disposal. */
|
|
1370
1371
|
get controls(): Maybe<OrbitControls>;
|
|
1371
1372
|
}
|
|
@@ -1422,7 +1423,7 @@ declare class SceneInspector {
|
|
|
1422
1423
|
private selectedObject?;
|
|
1423
1424
|
constructor(renderer: Renderer);
|
|
1424
1425
|
protected init(): void;
|
|
1425
|
-
findMeshChildren(from: Object3D, out?: Mesh[]): Mesh<three.BufferGeometry
|
|
1426
|
+
findMeshChildren(from: Object3D, out?: Mesh[]): Mesh<three.BufferGeometry<three.NormalBufferAttributes>, three.Material | three.Material[], three.Object3DEventMap>[];
|
|
1426
1427
|
onClick(event: any): void;
|
|
1427
1428
|
appendTo(el: HTMLElement): void;
|
|
1428
1429
|
protected handleRaycasterObjects(intersections: Intersection[]): void;
|
|
@@ -1524,12 +1525,12 @@ declare class Textures {
|
|
|
1524
1525
|
static getImage(key: TextureKey): Texture;
|
|
1525
1526
|
}
|
|
1526
1527
|
|
|
1527
|
-
declare function mergeBufferGeometries(geometries: BufferGeometry
|
|
1528
|
+
declare function mergeBufferGeometries(geometries: BufferGeometry[], useGroups?: boolean): BufferGeometry;
|
|
1528
1529
|
declare function mergeBufferAttributes(attributes: BufferAttribute[]): BufferAttribute;
|
|
1529
1530
|
declare function interleaveAttributes(attributes: BufferAttribute[]): InterleavedBufferAttribute;
|
|
1530
|
-
declare function estimateBytesUsed(geometry: BufferGeometry
|
|
1531
|
-
declare function mergeVertices(geometry: BufferGeometry
|
|
1532
|
-
declare function toTrianglesDrawMode(geometry: BufferGeometry
|
|
1531
|
+
declare function estimateBytesUsed(geometry: BufferGeometry): number;
|
|
1532
|
+
declare function mergeVertices(geometry: BufferGeometry, tolerance?: number): BufferGeometry;
|
|
1533
|
+
declare function toTrianglesDrawMode(geometry: BufferGeometry, drawMode: TrianglesDrawModes): BufferGeometry;
|
|
1533
1534
|
declare function computeMorphedAttributes(object: Mesh | Line | Points): object;
|
|
1534
1535
|
|
|
1535
1536
|
interface BlockInfo {
|
package/dist/node/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
|
-
exports2.default =
|
|
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 =
|
|
322
|
+
_PersistentCache.VERSION = 2;
|
|
323
323
|
var PersistentCache = _PersistentCache;
|
|
324
324
|
|
|
325
325
|
// src/env/node/NodeCache.ts
|
|
@@ -594,6 +594,7 @@ var import_three5 = require("three");
|
|
|
594
594
|
|
|
595
595
|
// src/texture/TextureLoader.ts
|
|
596
596
|
var import_three4 = require("three");
|
|
597
|
+
var THREE = __toESM(require("three"));
|
|
597
598
|
|
|
598
599
|
// src/canvas/CanvasCompat.ts
|
|
599
600
|
function createImage(width, height) {
|
|
@@ -982,6 +983,7 @@ var TextureLoader = class {
|
|
|
982
983
|
}
|
|
983
984
|
static loadInBackground(src, format = import_three4.RGBAFormat, rotation = 0) {
|
|
984
985
|
const texture = this.createTexture();
|
|
986
|
+
texture.colorSpace = THREE.SRGBColorSpace;
|
|
985
987
|
const image = ImageLoader.loadElement(src);
|
|
986
988
|
image.onload = function() {
|
|
987
989
|
texture.needsUpdate = true;
|
|
@@ -993,6 +995,7 @@ var TextureLoader = class {
|
|
|
993
995
|
}
|
|
994
996
|
static load(src, format = import_three4.RGBAFormat, rotation = 0) {
|
|
995
997
|
const texture = new import_three4.Texture();
|
|
998
|
+
texture.colorSpace = THREE.SRGBColorSpace;
|
|
996
999
|
ImageLoader.getData(src).then((image) => {
|
|
997
1000
|
texture.needsUpdate = true;
|
|
998
1001
|
texture.image = image;
|
|
@@ -1004,11 +1007,11 @@ var TextureLoader = class {
|
|
|
1004
1007
|
};
|
|
1005
1008
|
|
|
1006
1009
|
// src/texture/Textures.ts
|
|
1007
|
-
var
|
|
1010
|
+
var THREE2 = __toESM(require("three"));
|
|
1008
1011
|
var Textures = class _Textures {
|
|
1009
1012
|
static initTextureProps(texture) {
|
|
1010
|
-
texture.magFilter =
|
|
1011
|
-
texture.minFilter =
|
|
1013
|
+
texture.magFilter = THREE2.NearestFilter;
|
|
1014
|
+
texture.minFilter = THREE2.NearestFilter;
|
|
1012
1015
|
texture.anisotropy = 0;
|
|
1013
1016
|
return texture;
|
|
1014
1017
|
}
|
|
@@ -1019,7 +1022,9 @@ var Textures = class _Textures {
|
|
|
1019
1022
|
return new import_three5.Texture();
|
|
1020
1023
|
}
|
|
1021
1024
|
static createCanvasTexture(canvas) {
|
|
1022
|
-
|
|
1025
|
+
const texture = new import_three5.CanvasTexture(canvas);
|
|
1026
|
+
texture.colorSpace = THREE2.SRGBColorSpace;
|
|
1027
|
+
return this.initTextureProps(texture);
|
|
1023
1028
|
}
|
|
1024
1029
|
static getImage(key) {
|
|
1025
1030
|
const keyStr = serializeTextureKey(key);
|
|
@@ -1136,6 +1141,9 @@ var _Materials = class _Materials {
|
|
|
1136
1141
|
gl_FragColor = vec4(lift + color.rgb * light2, 1.0);
|
|
1137
1142
|
|
|
1138
1143
|
}
|
|
1144
|
+
|
|
1145
|
+
#include <tonemapping_fragment>
|
|
1146
|
+
#include <colorspace_fragment>
|
|
1139
1147
|
}
|
|
1140
1148
|
`;
|
|
1141
1149
|
try {
|
|
@@ -1766,7 +1774,6 @@ var ArchiveAssetSource = class _ArchiveAssetSource extends AssetSource {
|
|
|
1766
1774
|
};
|
|
1767
1775
|
|
|
1768
1776
|
// src/assets/AssetLoader.ts
|
|
1769
|
-
var import_ts_deepmerge3 = __toESM(require_dist());
|
|
1770
1777
|
var p5 = prefix("AssetLoader");
|
|
1771
1778
|
var _AssetLoader = class _AssetLoader {
|
|
1772
1779
|
static addSource(key, source, override = true) {
|
|
@@ -1790,7 +1797,6 @@ var _AssetLoader = class _AssetLoader {
|
|
|
1790
1797
|
return void 0;
|
|
1791
1798
|
}
|
|
1792
1799
|
static async getAll(key, parser) {
|
|
1793
|
-
console.log(this._SOURCES);
|
|
1794
1800
|
let promises = [];
|
|
1795
1801
|
for (const source of this._SOURCES) {
|
|
1796
1802
|
promises.push(source.source.get(key, parser));
|
|
@@ -1799,24 +1805,16 @@ var _AssetLoader = class _AssetLoader {
|
|
|
1799
1805
|
return results.filter((r) => r != void 0);
|
|
1800
1806
|
});
|
|
1801
1807
|
}
|
|
1808
|
+
/** Returns the first defined result in source-priority order, without merging assets. */
|
|
1802
1809
|
static async get(key, parser) {
|
|
1803
|
-
|
|
1804
|
-
|
|
1805
|
-
|
|
1806
|
-
|
|
1807
|
-
|
|
1808
|
-
return Promise.all(promises).then((results) => {
|
|
1809
|
-
const fallback = results[results.length - 1];
|
|
1810
|
-
for (const result of results) {
|
|
1811
|
-
if (result) {
|
|
1812
|
-
if (fallback) {
|
|
1813
|
-
return (0, import_ts_deepmerge3.default)({}, fallback, result);
|
|
1814
|
-
}
|
|
1815
|
-
return result;
|
|
1816
|
-
}
|
|
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;
|
|
1817
1815
|
}
|
|
1818
|
-
|
|
1819
|
-
|
|
1816
|
+
}
|
|
1817
|
+
return void 0;
|
|
1820
1818
|
}
|
|
1821
1819
|
};
|
|
1822
1820
|
_AssetLoader.ROOT = DEFAULT_ROOT;
|
|
@@ -2640,7 +2638,7 @@ var MineRenderError = class _MineRenderError extends Error {
|
|
|
2640
2638
|
};
|
|
2641
2639
|
|
|
2642
2640
|
// src/renderer/SceneObject.ts
|
|
2643
|
-
var
|
|
2641
|
+
var import_ts_deepmerge3 = __toESM(require_dist());
|
|
2644
2642
|
var p7 = prefix("SceneObject");
|
|
2645
2643
|
var _SceneObject = class _SceneObject extends import_three9.Object3D {
|
|
2646
2644
|
constructor(options) {
|
|
@@ -2649,7 +2647,7 @@ var _SceneObject = class _SceneObject extends import_three9.Object3D {
|
|
|
2649
2647
|
this.materialCallbacks = {};
|
|
2650
2648
|
this._isInstanced = false;
|
|
2651
2649
|
this._instanceCounter = 0;
|
|
2652
|
-
this.options = (0,
|
|
2650
|
+
this.options = (0, import_ts_deepmerge3.default)({}, _SceneObject.DEFAULT_OPTIONS, options ?? {});
|
|
2653
2651
|
console.log("SceneObject options", this.options);
|
|
2654
2652
|
}
|
|
2655
2653
|
set scene(scene) {
|
|
@@ -2999,7 +2997,7 @@ var _SceneObject = class _SceneObject extends import_three9.Object3D {
|
|
|
2999
2997
|
}
|
|
3000
2998
|
//</editor-fold>
|
|
3001
2999
|
};
|
|
3002
|
-
_SceneObject.DEFAULT_OPTIONS = (0,
|
|
3000
|
+
_SceneObject.DEFAULT_OPTIONS = (0, import_ts_deepmerge3.default)({}, {
|
|
3003
3001
|
instanceMeshes: true,
|
|
3004
3002
|
maxInstanceCount: 50,
|
|
3005
3003
|
mergeMeshes: true,
|
|
@@ -3011,16 +3009,16 @@ function isSceneObject(obj) {
|
|
|
3011
3009
|
}
|
|
3012
3010
|
|
|
3013
3011
|
// src/entity/scene/EntityObject.ts
|
|
3014
|
-
var
|
|
3012
|
+
var import_ts_deepmerge4 = __toESM(require_dist());
|
|
3015
3013
|
var import_three11 = require("three");
|
|
3016
|
-
var
|
|
3014
|
+
var THREE3 = __toESM(require("three"));
|
|
3017
3015
|
var EntityObject = class extends SceneObject {
|
|
3018
3016
|
constructor(entity, options) {
|
|
3019
3017
|
super();
|
|
3020
3018
|
this.entity = entity;
|
|
3021
3019
|
this.isEntityObject = true;
|
|
3022
3020
|
this.meshesCreated = false;
|
|
3023
|
-
this.options = (0,
|
|
3021
|
+
this.options = (0, import_ts_deepmerge4.default)({}, SceneObject.DEFAULT_OPTIONS, options ?? {});
|
|
3024
3022
|
}
|
|
3025
3023
|
async init() {
|
|
3026
3024
|
this.createMeshes();
|
|
@@ -3058,8 +3056,8 @@ var EntityObject = class extends SceneObject {
|
|
|
3058
3056
|
const l = cube.maxZ - cube.minZ;
|
|
3059
3057
|
const uv = texture.toUvArray(w, h, l);
|
|
3060
3058
|
const cubeGeo = this._getBoxGeometryForDimensionsAndUv(w, h, l, uv).clone();
|
|
3061
|
-
cubeGeo.applyMatrix4(new
|
|
3062
|
-
cubeGeo.applyMatrix4(new
|
|
3059
|
+
cubeGeo.applyMatrix4(new THREE3.Matrix4().makeTranslation(w / 2, h / 2, l / 2));
|
|
3060
|
+
cubeGeo.applyMatrix4(new THREE3.Matrix4().makeTranslation(cube.minX, cube.minY, cube.minZ));
|
|
3063
3061
|
applyModelPartRotation(part, cubeGeo);
|
|
3064
3062
|
const mesh = this.createMesh(partName, cubeGeo, mat);
|
|
3065
3063
|
partAnchor.add(mesh);
|
|
@@ -3089,7 +3087,7 @@ var EntityObject = class extends SceneObject {
|
|
|
3089
3087
|
}
|
|
3090
3088
|
}
|
|
3091
3089
|
};
|
|
3092
|
-
EntityObject.DEFAULT_OPTIONS = (0,
|
|
3090
|
+
EntityObject.DEFAULT_OPTIONS = (0, import_ts_deepmerge4.default)({}, SceneObject.DEFAULT_OPTIONS, {});
|
|
3093
3091
|
function isEntityObject(obj) {
|
|
3094
3092
|
return obj.isEntityObject;
|
|
3095
3093
|
}
|
|
@@ -4081,7 +4079,7 @@ function computeMorphedAttributes(object) {
|
|
|
4081
4079
|
}
|
|
4082
4080
|
|
|
4083
4081
|
// src/model/scene/ModelObject.ts
|
|
4084
|
-
var
|
|
4082
|
+
var import_ts_deepmerge5 = __toESM(require_dist());
|
|
4085
4083
|
var p10 = prefix("ModelObject");
|
|
4086
4084
|
var _ModelObject = class _ModelObject extends SceneObject {
|
|
4087
4085
|
constructor(originalModel, options) {
|
|
@@ -4089,7 +4087,7 @@ var _ModelObject = class _ModelObject extends SceneObject {
|
|
|
4089
4087
|
this.originalModel = originalModel;
|
|
4090
4088
|
this.isModelObject = true;
|
|
4091
4089
|
this.meshesCreated = false;
|
|
4092
|
-
this.options = (0,
|
|
4090
|
+
this.options = (0, import_ts_deepmerge5.default)({}, _ModelObject.DEFAULT_OPTIONS, options ?? {});
|
|
4093
4091
|
console.log("ModelObject options", this.options);
|
|
4094
4092
|
}
|
|
4095
4093
|
async init() {
|
|
@@ -4189,14 +4187,14 @@ var _ModelObject = class _ModelObject extends SceneObject {
|
|
|
4189
4187
|
}
|
|
4190
4188
|
}
|
|
4191
4189
|
};
|
|
4192
|
-
_ModelObject.DEFAULT_OPTIONS = (0,
|
|
4190
|
+
_ModelObject.DEFAULT_OPTIONS = (0, import_ts_deepmerge5.default)({}, SceneObject.DEFAULT_OPTIONS, {});
|
|
4193
4191
|
var ModelObject = _ModelObject;
|
|
4194
4192
|
function isModelObject(obj) {
|
|
4195
4193
|
return obj.isModelObject;
|
|
4196
4194
|
}
|
|
4197
4195
|
|
|
4198
4196
|
// src/model/block/scene/BlockObject.ts
|
|
4199
|
-
var
|
|
4197
|
+
var import_ts_deepmerge6 = __toESM(require_dist());
|
|
4200
4198
|
var import_three16 = require("three");
|
|
4201
4199
|
var p11 = prefix("BlockObject");
|
|
4202
4200
|
var _BlockObject = class _BlockObject extends SceneObject {
|
|
@@ -4212,7 +4210,7 @@ var _BlockObject = class _BlockObject extends SceneObject {
|
|
|
4212
4210
|
this._instanceModel = [];
|
|
4213
4211
|
this._variants = [];
|
|
4214
4212
|
this._models = [];
|
|
4215
|
-
this.options = (0,
|
|
4213
|
+
this.options = (0, import_ts_deepmerge6.default)({}, _BlockObject.DEFAULT_OPTIONS, options ?? {});
|
|
4216
4214
|
}
|
|
4217
4215
|
async init() {
|
|
4218
4216
|
if (this.options.applyDefaultState) {
|
|
@@ -4501,7 +4499,7 @@ var _BlockObject = class _BlockObject extends SceneObject {
|
|
|
4501
4499
|
//TODO: should override rotation + scale methods
|
|
4502
4500
|
//TODO
|
|
4503
4501
|
};
|
|
4504
|
-
_BlockObject.DEFAULT_OPTIONS = (0,
|
|
4502
|
+
_BlockObject.DEFAULT_OPTIONS = (0, import_ts_deepmerge6.default)({}, ModelObject.DEFAULT_OPTIONS, {
|
|
4505
4503
|
applyDefaultState: true
|
|
4506
4504
|
});
|
|
4507
4505
|
var BlockObject = _BlockObject;
|
|
@@ -4552,7 +4550,7 @@ var StructureParser = class {
|
|
|
4552
4550
|
|
|
4553
4551
|
// src/renderer/MineRenderScene.ts
|
|
4554
4552
|
var import_three17 = require("three");
|
|
4555
|
-
var
|
|
4553
|
+
var import_ts_deepmerge8 = __toESM(require_dist());
|
|
4556
4554
|
|
|
4557
4555
|
// src/skin/SkinPart.ts
|
|
4558
4556
|
var SkinPart = /* @__PURE__ */ ((SkinPart2) => {
|
|
@@ -5283,7 +5281,7 @@ var slimSkinGeometries = {
|
|
|
5283
5281
|
};
|
|
5284
5282
|
|
|
5285
5283
|
// src/skin/scene/SkinObject.ts
|
|
5286
|
-
var
|
|
5284
|
+
var import_ts_deepmerge7 = __toESM(require_dist());
|
|
5287
5285
|
var SkinObject = class extends SceneObject {
|
|
5288
5286
|
constructor(options) {
|
|
5289
5287
|
super();
|
|
@@ -5291,7 +5289,7 @@ var SkinObject = class extends SceneObject {
|
|
|
5291
5289
|
this.legacy = false;
|
|
5292
5290
|
this.skinTextureWidth = 64;
|
|
5293
5291
|
this.skinTextureHeight = 64;
|
|
5294
|
-
this.options = (0,
|
|
5292
|
+
this.options = (0, import_ts_deepmerge7.default)({}, SceneObject.DEFAULT_OPTIONS, options ?? {});
|
|
5295
5293
|
}
|
|
5296
5294
|
async init() {
|
|
5297
5295
|
this.createMeshes();
|
|
@@ -5409,7 +5407,7 @@ var _MineRenderScene = class _MineRenderScene extends import_three17.Scene {
|
|
|
5409
5407
|
this.dirty = true;
|
|
5410
5408
|
}
|
|
5411
5409
|
};
|
|
5412
|
-
this.options = (0,
|
|
5410
|
+
this.options = (0, import_ts_deepmerge8.default)({}, _MineRenderScene.DEFAULT_OPTIONS, options ?? {});
|
|
5413
5411
|
}
|
|
5414
5412
|
add(...objects) {
|
|
5415
5413
|
for (const object of objects) {
|
|
@@ -5506,7 +5504,7 @@ var _MineRenderScene = class _MineRenderScene extends import_three17.Scene {
|
|
|
5506
5504
|
return this.addSceneObject(entity, () => new EntityObject(entity, options), options, parent);
|
|
5507
5505
|
}
|
|
5508
5506
|
};
|
|
5509
|
-
_MineRenderScene.DEFAULT_OPTIONS = (0,
|
|
5507
|
+
_MineRenderScene.DEFAULT_OPTIONS = (0, import_ts_deepmerge8.default)({}, {});
|
|
5510
5508
|
var MineRenderScene = _MineRenderScene;
|
|
5511
5509
|
function isMineRenderScene(obj) {
|
|
5512
5510
|
return obj.isMineRenderScene;
|
|
@@ -5514,7 +5512,7 @@ function isMineRenderScene(obj) {
|
|
|
5514
5512
|
|
|
5515
5513
|
// src/renderer/Renderer.ts
|
|
5516
5514
|
var import_three19 = require("three");
|
|
5517
|
-
var
|
|
5515
|
+
var import_ts_deepmerge9 = __toESM(require_dist());
|
|
5518
5516
|
var import_stats = __toESM(require("stats.js"));
|
|
5519
5517
|
var import_postprocessing = require("postprocessing");
|
|
5520
5518
|
|
|
@@ -6171,7 +6169,7 @@ var _Renderer = class _Renderer {
|
|
|
6171
6169
|
this._changeListener = () => {
|
|
6172
6170
|
this._dirty = true;
|
|
6173
6171
|
};
|
|
6174
|
-
this.options = (0,
|
|
6172
|
+
this.options = (0, import_ts_deepmerge9.default)({}, _Renderer.DEFAULT_OPTIONS, options ?? {});
|
|
6175
6173
|
this._animationLoop = this.animate.bind(this);
|
|
6176
6174
|
this._frameInterval = this.options.render.fpsLimit > 0 ? 1e3 / this.options.render.fpsLimit : void 0;
|
|
6177
6175
|
this._scene = this.createScene();
|
|
@@ -6220,13 +6218,13 @@ var _Renderer = class _Renderer {
|
|
|
6220
6218
|
renderer.setClearColor(0, 0);
|
|
6221
6219
|
renderer.shadowMap.enabled = true;
|
|
6222
6220
|
renderer.shadowMap.type = import_three19.PCFSoftShadowMap;
|
|
6223
|
-
renderer.
|
|
6221
|
+
renderer.outputColorSpace = import_three19.SRGBColorSpace;
|
|
6224
6222
|
renderer.setSize(this.viewWidth, this.viewHeight);
|
|
6225
6223
|
return renderer;
|
|
6226
6224
|
}
|
|
6227
6225
|
createComposer() {
|
|
6226
|
+
if (!this.options.composer.enabled) return void 0;
|
|
6228
6227
|
const composer = new import_postprocessing.EffectComposer(this.renderer);
|
|
6229
|
-
if (!this.options.composer.enabled) return composer;
|
|
6230
6228
|
composer.setSize(this.viewWidth, this.viewHeight);
|
|
6231
6229
|
composer.addPass(new import_postprocessing.RenderPass(this.scene, this.camera));
|
|
6232
6230
|
return composer;
|
|
@@ -6324,6 +6322,7 @@ var _Renderer = class _Renderer {
|
|
|
6324
6322
|
dispatcher.addEventListener(changeEvent2, this._changeListener);
|
|
6325
6323
|
}
|
|
6326
6324
|
resize(width, height) {
|
|
6325
|
+
var _a;
|
|
6327
6326
|
if (this._disposed) return;
|
|
6328
6327
|
if (isPerspectiveCamera(this.camera)) {
|
|
6329
6328
|
this.camera.aspect = width / height;
|
|
@@ -6336,7 +6335,7 @@ var _Renderer = class _Renderer {
|
|
|
6336
6335
|
this.camera.updateProjectionMatrix();
|
|
6337
6336
|
}
|
|
6338
6337
|
this.renderer.setSize(width, height);
|
|
6339
|
-
this.composer.setSize(width, height);
|
|
6338
|
+
(_a = this.composer) == null ? void 0 : _a.setSize(width, height);
|
|
6340
6339
|
this._dirty = true;
|
|
6341
6340
|
}
|
|
6342
6341
|
//<editor-fold desc="RENDER">
|
|
@@ -6363,7 +6362,7 @@ var _Renderer = class _Renderer {
|
|
|
6363
6362
|
* controls must be managed by their owners.
|
|
6364
6363
|
*/
|
|
6365
6364
|
dispose() {
|
|
6366
|
-
var _a;
|
|
6365
|
+
var _a, _b;
|
|
6367
6366
|
if (this._disposed) return;
|
|
6368
6367
|
this.stop();
|
|
6369
6368
|
this._disposed = true;
|
|
@@ -6396,7 +6395,7 @@ var _Renderer = class _Renderer {
|
|
|
6396
6395
|
}
|
|
6397
6396
|
}
|
|
6398
6397
|
this._debugHelpers.length = 0;
|
|
6399
|
-
this.composer.dispose();
|
|
6398
|
+
(_b = this.composer) == null ? void 0 : _b.dispose();
|
|
6400
6399
|
this.renderer.dispose();
|
|
6401
6400
|
this.renderer.forceContextLoss();
|
|
6402
6401
|
}
|
|
@@ -6417,7 +6416,7 @@ var _Renderer = class _Renderer {
|
|
|
6417
6416
|
if (this._stats) {
|
|
6418
6417
|
this._stats.begin();
|
|
6419
6418
|
}
|
|
6420
|
-
if (this.options.composer.enabled) {
|
|
6419
|
+
if (this.options.composer.enabled && this.composer) {
|
|
6421
6420
|
this.composer.render();
|
|
6422
6421
|
} else {
|
|
6423
6422
|
this.renderer.render(this.scene, this.camera);
|
|
@@ -6461,7 +6460,7 @@ var _Renderer = class _Renderer {
|
|
|
6461
6460
|
}
|
|
6462
6461
|
///
|
|
6463
6462
|
};
|
|
6464
|
-
_Renderer.DEFAULT_OPTIONS = (0,
|
|
6463
|
+
_Renderer.DEFAULT_OPTIONS = (0, import_ts_deepmerge9.default)({}, {
|
|
6465
6464
|
camera: {
|
|
6466
6465
|
type: "perspective",
|
|
6467
6466
|
near: 1,
|