minerender 2.1.0-alpha.3 → 2.1.0-alpha.5
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 +20 -20
- package/dist/browser/index.d.ts +20 -20
- package/dist/browser/index.js +36 -30
- package/dist/browser/index.js.map +1 -1
- package/dist/browser/index.mjs +37 -31
- package/dist/browser/index.mjs.map +1 -1
- package/dist/bundle.js +31 -26
- package/dist/bundle.js.map +1 -1
- package/dist/node/index.d.mts +20 -20
- package/dist/node/index.d.ts +20 -20
- package/dist/node/index.js +38 -31
- package/dist/node/index.js.map +1 -1
- package/dist/node/index.mjs +39 -32
- 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';
|
|
@@ -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;
|
|
@@ -887,7 +885,9 @@ interface MineRenderSceneOptions {
|
|
|
887
885
|
}
|
|
888
886
|
declare function isMineRenderScene(obj: any): obj is MineRenderScene;
|
|
889
887
|
|
|
890
|
-
declare class SceneObject extends Object3D
|
|
888
|
+
declare class SceneObject extends Object3D<Object3DEventMap & {
|
|
889
|
+
change: {};
|
|
890
|
+
}> implements Disposable, Instanceable, Transformable {
|
|
891
891
|
readonly isSceneObject: true;
|
|
892
892
|
static readonly DEFAULT_OPTIONS: SceneObjectOptions;
|
|
893
893
|
readonly options: SceneObjectOptions;
|
|
@@ -913,9 +913,9 @@ declare class SceneObject extends Object3D implements Disposable, Instanceable,
|
|
|
913
913
|
*/
|
|
914
914
|
toggleGroupVisibility(name: string, visible?: boolean): boolean;
|
|
915
915
|
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
|
|
916
|
+
protected createAndAddMesh(name?: string, group?: Object3D, geometry?: BufferGeometry, material?: Material | Material[], offsetAxis?: Axis, offset?: number): Mesh;
|
|
917
|
+
protected createMesh(name?: string, geometry?: BufferGeometry, material?: Material | Material[], offsetAxis?: Axis, offset?: number): Mesh;
|
|
918
|
+
protected createInstancedMesh(name: Maybe<string>, geometry: BufferGeometry, material: Material | Material[], count: number): InstancedMesh;
|
|
919
919
|
/**
|
|
920
920
|
* Get a mesh by its name
|
|
921
921
|
*/
|
|
@@ -1320,15 +1320,14 @@ declare class Renderer implements Disposable {
|
|
|
1320
1320
|
protected _scene: MineRenderScene;
|
|
1321
1321
|
protected _camera: Camera;
|
|
1322
1322
|
protected _renderer: WebGLRenderer;
|
|
1323
|
-
protected _composer
|
|
1323
|
+
protected _composer?: EffectComposer;
|
|
1324
1324
|
protected _controls?: OrbitControls;
|
|
1325
1325
|
protected _stats?: Stats;
|
|
1326
1326
|
protected _dirty: boolean;
|
|
1327
1327
|
protected _animationLoop: any;
|
|
1328
|
-
protected
|
|
1329
|
-
protected _animationTimer?: NodeJS.Timeout;
|
|
1330
|
-
protected _animationFrame?: number;
|
|
1328
|
+
protected _frameInterval?: number;
|
|
1331
1329
|
protected _resizeListener?: () => void;
|
|
1330
|
+
private _nextFrameTime?;
|
|
1332
1331
|
private _disposed;
|
|
1333
1332
|
private readonly _debugHelpers;
|
|
1334
1333
|
private readonly _eventDispatchers;
|
|
@@ -1337,7 +1336,7 @@ declare class Renderer implements Disposable {
|
|
|
1337
1336
|
protected createScene(): MineRenderScene;
|
|
1338
1337
|
protected createCamera(): Camera;
|
|
1339
1338
|
protected createRenderer(): WebGLRenderer;
|
|
1340
|
-
protected createComposer(): EffectComposer
|
|
1339
|
+
protected createComposer(): Maybe<EffectComposer>;
|
|
1341
1340
|
protected createControls(): Maybe<OrbitControls>;
|
|
1342
1341
|
init(): void;
|
|
1343
1342
|
get element(): Maybe<HTMLElement>;
|
|
@@ -1346,7 +1345,7 @@ declare class Renderer implements Disposable {
|
|
|
1346
1345
|
* Redraws when the dispatcher emits the selected event. Registering the same pair twice has no effect.
|
|
1347
1346
|
* The renderer removes its listener on disposal; the caller retains ownership of the dispatcher.
|
|
1348
1347
|
*/
|
|
1349
|
-
registerEventDispatcher(dispatcher: EventDispatcher
|
|
1348
|
+
registerEventDispatcher(dispatcher: EventDispatcher<any>, changeEvent?: string): void;
|
|
1350
1349
|
resize(width: number, height: number): void;
|
|
1351
1350
|
get dirty(): boolean;
|
|
1352
1351
|
set dirty(dirty: boolean);
|
|
@@ -1366,7 +1365,7 @@ declare class Renderer implements Disposable {
|
|
|
1366
1365
|
get scene(): MineRenderScene;
|
|
1367
1366
|
get camera(): Camera;
|
|
1368
1367
|
get renderer(): WebGLRenderer;
|
|
1369
|
-
get composer(): EffectComposer
|
|
1368
|
+
get composer(): Maybe<EffectComposer>;
|
|
1370
1369
|
/** Renderer-owned controls, or undefined when disabled at construction or after disposal. */
|
|
1371
1370
|
get controls(): Maybe<OrbitControls>;
|
|
1372
1371
|
}
|
|
@@ -1395,6 +1394,7 @@ interface CameraOptions {
|
|
|
1395
1394
|
lookingAt: Vector3 | TripleArray;
|
|
1396
1395
|
}
|
|
1397
1396
|
interface RenderOptions {
|
|
1397
|
+
/** Maximum draw rate (60 by default); zero or a negative value disables the limit. */
|
|
1398
1398
|
fpsLimit: number;
|
|
1399
1399
|
stats: boolean;
|
|
1400
1400
|
antialias: boolean;
|
|
@@ -1422,7 +1422,7 @@ declare class SceneInspector {
|
|
|
1422
1422
|
private selectedObject?;
|
|
1423
1423
|
constructor(renderer: Renderer);
|
|
1424
1424
|
protected init(): void;
|
|
1425
|
-
findMeshChildren(from: Object3D, out?: Mesh[]): Mesh<three.BufferGeometry
|
|
1425
|
+
findMeshChildren(from: Object3D, out?: Mesh[]): Mesh<three.BufferGeometry<three.NormalBufferAttributes>, three.Material | three.Material[], three.Object3DEventMap>[];
|
|
1426
1426
|
onClick(event: any): void;
|
|
1427
1427
|
appendTo(el: HTMLElement): void;
|
|
1428
1428
|
protected handleRaycasterObjects(intersections: Intersection[]): void;
|
|
@@ -1524,12 +1524,12 @@ declare class Textures {
|
|
|
1524
1524
|
static getImage(key: TextureKey): Texture;
|
|
1525
1525
|
}
|
|
1526
1526
|
|
|
1527
|
-
declare function mergeBufferGeometries(geometries: BufferGeometry
|
|
1527
|
+
declare function mergeBufferGeometries(geometries: BufferGeometry[], useGroups?: boolean): BufferGeometry;
|
|
1528
1528
|
declare function mergeBufferAttributes(attributes: BufferAttribute[]): BufferAttribute;
|
|
1529
1529
|
declare function interleaveAttributes(attributes: BufferAttribute[]): InterleavedBufferAttribute;
|
|
1530
|
-
declare function estimateBytesUsed(geometry: BufferGeometry
|
|
1531
|
-
declare function mergeVertices(geometry: BufferGeometry
|
|
1532
|
-
declare function toTrianglesDrawMode(geometry: BufferGeometry
|
|
1530
|
+
declare function estimateBytesUsed(geometry: BufferGeometry): number;
|
|
1531
|
+
declare function mergeVertices(geometry: BufferGeometry, tolerance?: number): BufferGeometry;
|
|
1532
|
+
declare function toTrianglesDrawMode(geometry: BufferGeometry, drawMode: TrianglesDrawModes): BufferGeometry;
|
|
1533
1533
|
declare function computeMorphedAttributes(object: Mesh | Line | Points): object;
|
|
1534
1534
|
|
|
1535
1535
|
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';
|
|
@@ -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;
|
|
@@ -887,7 +885,9 @@ interface MineRenderSceneOptions {
|
|
|
887
885
|
}
|
|
888
886
|
declare function isMineRenderScene(obj: any): obj is MineRenderScene;
|
|
889
887
|
|
|
890
|
-
declare class SceneObject extends Object3D
|
|
888
|
+
declare class SceneObject extends Object3D<Object3DEventMap & {
|
|
889
|
+
change: {};
|
|
890
|
+
}> implements Disposable, Instanceable, Transformable {
|
|
891
891
|
readonly isSceneObject: true;
|
|
892
892
|
static readonly DEFAULT_OPTIONS: SceneObjectOptions;
|
|
893
893
|
readonly options: SceneObjectOptions;
|
|
@@ -913,9 +913,9 @@ declare class SceneObject extends Object3D implements Disposable, Instanceable,
|
|
|
913
913
|
*/
|
|
914
914
|
toggleGroupVisibility(name: string, visible?: boolean): boolean;
|
|
915
915
|
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
|
|
916
|
+
protected createAndAddMesh(name?: string, group?: Object3D, geometry?: BufferGeometry, material?: Material | Material[], offsetAxis?: Axis, offset?: number): Mesh;
|
|
917
|
+
protected createMesh(name?: string, geometry?: BufferGeometry, material?: Material | Material[], offsetAxis?: Axis, offset?: number): Mesh;
|
|
918
|
+
protected createInstancedMesh(name: Maybe<string>, geometry: BufferGeometry, material: Material | Material[], count: number): InstancedMesh;
|
|
919
919
|
/**
|
|
920
920
|
* Get a mesh by its name
|
|
921
921
|
*/
|
|
@@ -1320,15 +1320,14 @@ declare class Renderer implements Disposable {
|
|
|
1320
1320
|
protected _scene: MineRenderScene;
|
|
1321
1321
|
protected _camera: Camera;
|
|
1322
1322
|
protected _renderer: WebGLRenderer;
|
|
1323
|
-
protected _composer
|
|
1323
|
+
protected _composer?: EffectComposer;
|
|
1324
1324
|
protected _controls?: OrbitControls;
|
|
1325
1325
|
protected _stats?: Stats;
|
|
1326
1326
|
protected _dirty: boolean;
|
|
1327
1327
|
protected _animationLoop: any;
|
|
1328
|
-
protected
|
|
1329
|
-
protected _animationTimer?: NodeJS.Timeout;
|
|
1330
|
-
protected _animationFrame?: number;
|
|
1328
|
+
protected _frameInterval?: number;
|
|
1331
1329
|
protected _resizeListener?: () => void;
|
|
1330
|
+
private _nextFrameTime?;
|
|
1332
1331
|
private _disposed;
|
|
1333
1332
|
private readonly _debugHelpers;
|
|
1334
1333
|
private readonly _eventDispatchers;
|
|
@@ -1337,7 +1336,7 @@ declare class Renderer implements Disposable {
|
|
|
1337
1336
|
protected createScene(): MineRenderScene;
|
|
1338
1337
|
protected createCamera(): Camera;
|
|
1339
1338
|
protected createRenderer(): WebGLRenderer;
|
|
1340
|
-
protected createComposer(): EffectComposer
|
|
1339
|
+
protected createComposer(): Maybe<EffectComposer>;
|
|
1341
1340
|
protected createControls(): Maybe<OrbitControls>;
|
|
1342
1341
|
init(): void;
|
|
1343
1342
|
get element(): Maybe<HTMLElement>;
|
|
@@ -1346,7 +1345,7 @@ declare class Renderer implements Disposable {
|
|
|
1346
1345
|
* Redraws when the dispatcher emits the selected event. Registering the same pair twice has no effect.
|
|
1347
1346
|
* The renderer removes its listener on disposal; the caller retains ownership of the dispatcher.
|
|
1348
1347
|
*/
|
|
1349
|
-
registerEventDispatcher(dispatcher: EventDispatcher
|
|
1348
|
+
registerEventDispatcher(dispatcher: EventDispatcher<any>, changeEvent?: string): void;
|
|
1350
1349
|
resize(width: number, height: number): void;
|
|
1351
1350
|
get dirty(): boolean;
|
|
1352
1351
|
set dirty(dirty: boolean);
|
|
@@ -1366,7 +1365,7 @@ declare class Renderer implements Disposable {
|
|
|
1366
1365
|
get scene(): MineRenderScene;
|
|
1367
1366
|
get camera(): Camera;
|
|
1368
1367
|
get renderer(): WebGLRenderer;
|
|
1369
|
-
get composer(): EffectComposer
|
|
1368
|
+
get composer(): Maybe<EffectComposer>;
|
|
1370
1369
|
/** Renderer-owned controls, or undefined when disabled at construction or after disposal. */
|
|
1371
1370
|
get controls(): Maybe<OrbitControls>;
|
|
1372
1371
|
}
|
|
@@ -1395,6 +1394,7 @@ interface CameraOptions {
|
|
|
1395
1394
|
lookingAt: Vector3 | TripleArray;
|
|
1396
1395
|
}
|
|
1397
1396
|
interface RenderOptions {
|
|
1397
|
+
/** Maximum draw rate (60 by default); zero or a negative value disables the limit. */
|
|
1398
1398
|
fpsLimit: number;
|
|
1399
1399
|
stats: boolean;
|
|
1400
1400
|
antialias: boolean;
|
|
@@ -1422,7 +1422,7 @@ declare class SceneInspector {
|
|
|
1422
1422
|
private selectedObject?;
|
|
1423
1423
|
constructor(renderer: Renderer);
|
|
1424
1424
|
protected init(): void;
|
|
1425
|
-
findMeshChildren(from: Object3D, out?: Mesh[]): Mesh<three.BufferGeometry
|
|
1425
|
+
findMeshChildren(from: Object3D, out?: Mesh[]): Mesh<three.BufferGeometry<three.NormalBufferAttributes>, three.Material | three.Material[], three.Object3DEventMap>[];
|
|
1426
1426
|
onClick(event: any): void;
|
|
1427
1427
|
appendTo(el: HTMLElement): void;
|
|
1428
1428
|
protected handleRaycasterObjects(intersections: Intersection[]): void;
|
|
@@ -1524,12 +1524,12 @@ declare class Textures {
|
|
|
1524
1524
|
static getImage(key: TextureKey): Texture;
|
|
1525
1525
|
}
|
|
1526
1526
|
|
|
1527
|
-
declare function mergeBufferGeometries(geometries: BufferGeometry
|
|
1527
|
+
declare function mergeBufferGeometries(geometries: BufferGeometry[], useGroups?: boolean): BufferGeometry;
|
|
1528
1528
|
declare function mergeBufferAttributes(attributes: BufferAttribute[]): BufferAttribute;
|
|
1529
1529
|
declare function interleaveAttributes(attributes: BufferAttribute[]): InterleavedBufferAttribute;
|
|
1530
|
-
declare function estimateBytesUsed(geometry: BufferGeometry
|
|
1531
|
-
declare function mergeVertices(geometry: BufferGeometry
|
|
1532
|
-
declare function toTrianglesDrawMode(geometry: BufferGeometry
|
|
1530
|
+
declare function estimateBytesUsed(geometry: BufferGeometry): number;
|
|
1531
|
+
declare function mergeVertices(geometry: BufferGeometry, tolerance?: number): BufferGeometry;
|
|
1532
|
+
declare function toTrianglesDrawMode(geometry: BufferGeometry, drawMode: TrianglesDrawModes): BufferGeometry;
|
|
1533
1533
|
declare function computeMorphedAttributes(object: Mesh | Line | Points): object;
|
|
1534
1534
|
|
|
1535
1535
|
interface BlockInfo {
|
package/dist/node/index.js
CHANGED
|
@@ -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 {
|
|
@@ -3013,7 +3021,7 @@ function isSceneObject(obj) {
|
|
|
3013
3021
|
// src/entity/scene/EntityObject.ts
|
|
3014
3022
|
var import_ts_deepmerge5 = __toESM(require_dist());
|
|
3015
3023
|
var import_three11 = require("three");
|
|
3016
|
-
var
|
|
3024
|
+
var THREE3 = __toESM(require("three"));
|
|
3017
3025
|
var EntityObject = class extends SceneObject {
|
|
3018
3026
|
constructor(entity, options) {
|
|
3019
3027
|
super();
|
|
@@ -3058,8 +3066,8 @@ var EntityObject = class extends SceneObject {
|
|
|
3058
3066
|
const l = cube.maxZ - cube.minZ;
|
|
3059
3067
|
const uv = texture.toUvArray(w, h, l);
|
|
3060
3068
|
const cubeGeo = this._getBoxGeometryForDimensionsAndUv(w, h, l, uv).clone();
|
|
3061
|
-
cubeGeo.applyMatrix4(new
|
|
3062
|
-
cubeGeo.applyMatrix4(new
|
|
3069
|
+
cubeGeo.applyMatrix4(new THREE3.Matrix4().makeTranslation(w / 2, h / 2, l / 2));
|
|
3070
|
+
cubeGeo.applyMatrix4(new THREE3.Matrix4().makeTranslation(cube.minX, cube.minY, cube.minZ));
|
|
3063
3071
|
applyModelPartRotation(part, cubeGeo);
|
|
3064
3072
|
const mesh = this.createMesh(partName, cubeGeo, mat);
|
|
3065
3073
|
partAnchor.add(mesh);
|
|
@@ -6164,8 +6172,6 @@ var MapControls = class extends OrbitControls {
|
|
|
6164
6172
|
var _Renderer = class _Renderer {
|
|
6165
6173
|
constructor(options) {
|
|
6166
6174
|
this._dirty = true;
|
|
6167
|
-
this._animationTimer = void 0;
|
|
6168
|
-
this._animationFrame = void 0;
|
|
6169
6175
|
this._resizeListener = void 0;
|
|
6170
6176
|
this._disposed = false;
|
|
6171
6177
|
this._debugHelpers = [];
|
|
@@ -6175,7 +6181,7 @@ var _Renderer = class _Renderer {
|
|
|
6175
6181
|
};
|
|
6176
6182
|
this.options = (0, import_ts_deepmerge10.default)({}, _Renderer.DEFAULT_OPTIONS, options ?? {});
|
|
6177
6183
|
this._animationLoop = this.animate.bind(this);
|
|
6178
|
-
this.
|
|
6184
|
+
this._frameInterval = this.options.render.fpsLimit > 0 ? 1e3 / this.options.render.fpsLimit : void 0;
|
|
6179
6185
|
this._scene = this.createScene();
|
|
6180
6186
|
this._camera = this.createCamera();
|
|
6181
6187
|
this._renderer = this.createRenderer();
|
|
@@ -6222,13 +6228,13 @@ var _Renderer = class _Renderer {
|
|
|
6222
6228
|
renderer.setClearColor(0, 0);
|
|
6223
6229
|
renderer.shadowMap.enabled = true;
|
|
6224
6230
|
renderer.shadowMap.type = import_three19.PCFSoftShadowMap;
|
|
6225
|
-
renderer.
|
|
6231
|
+
renderer.outputColorSpace = import_three19.SRGBColorSpace;
|
|
6226
6232
|
renderer.setSize(this.viewWidth, this.viewHeight);
|
|
6227
6233
|
return renderer;
|
|
6228
6234
|
}
|
|
6229
6235
|
createComposer() {
|
|
6236
|
+
if (!this.options.composer.enabled) return void 0;
|
|
6230
6237
|
const composer = new import_postprocessing.EffectComposer(this.renderer);
|
|
6231
|
-
if (!this.options.composer.enabled) return composer;
|
|
6232
6238
|
composer.setSize(this.viewWidth, this.viewHeight);
|
|
6233
6239
|
composer.addPass(new import_postprocessing.RenderPass(this.scene, this.camera));
|
|
6234
6240
|
return composer;
|
|
@@ -6326,6 +6332,7 @@ var _Renderer = class _Renderer {
|
|
|
6326
6332
|
dispatcher.addEventListener(changeEvent2, this._changeListener);
|
|
6327
6333
|
}
|
|
6328
6334
|
resize(width, height) {
|
|
6335
|
+
var _a;
|
|
6329
6336
|
if (this._disposed) return;
|
|
6330
6337
|
if (isPerspectiveCamera(this.camera)) {
|
|
6331
6338
|
this.camera.aspect = width / height;
|
|
@@ -6338,7 +6345,7 @@ var _Renderer = class _Renderer {
|
|
|
6338
6345
|
this.camera.updateProjectionMatrix();
|
|
6339
6346
|
}
|
|
6340
6347
|
this.renderer.setSize(width, height);
|
|
6341
|
-
this.composer.setSize(width, height);
|
|
6348
|
+
(_a = this.composer) == null ? void 0 : _a.setSize(width, height);
|
|
6342
6349
|
this._dirty = true;
|
|
6343
6350
|
}
|
|
6344
6351
|
//<editor-fold desc="RENDER">
|
|
@@ -6357,12 +6364,7 @@ var _Renderer = class _Renderer {
|
|
|
6357
6364
|
stop() {
|
|
6358
6365
|
if (this._disposed) return;
|
|
6359
6366
|
this.renderer.setAnimationLoop(null);
|
|
6360
|
-
|
|
6361
|
-
clearTimeout(this._animationTimer);
|
|
6362
|
-
this._animationTimer = void 0;
|
|
6363
|
-
if (this._animationFrame)
|
|
6364
|
-
cancelAnimationFrame(this._animationFrame);
|
|
6365
|
-
this._animationFrame = void 0;
|
|
6367
|
+
this._nextFrameTime = void 0;
|
|
6366
6368
|
}
|
|
6367
6369
|
/**
|
|
6368
6370
|
* Stops rendering and releases owned resources. Repeated calls have no effect, and a disposed
|
|
@@ -6370,7 +6372,7 @@ var _Renderer = class _Renderer {
|
|
|
6370
6372
|
* controls must be managed by their owners.
|
|
6371
6373
|
*/
|
|
6372
6374
|
dispose() {
|
|
6373
|
-
var _a;
|
|
6375
|
+
var _a, _b;
|
|
6374
6376
|
if (this._disposed) return;
|
|
6375
6377
|
this.stop();
|
|
6376
6378
|
this._disposed = true;
|
|
@@ -6403,26 +6405,31 @@ var _Renderer = class _Renderer {
|
|
|
6403
6405
|
}
|
|
6404
6406
|
}
|
|
6405
6407
|
this._debugHelpers.length = 0;
|
|
6406
|
-
this.composer.dispose();
|
|
6408
|
+
(_b = this.composer) == null ? void 0 : _b.dispose();
|
|
6407
6409
|
this.renderer.dispose();
|
|
6408
6410
|
this.renderer.forceContextLoss();
|
|
6409
6411
|
}
|
|
6410
|
-
animate(t) {
|
|
6412
|
+
animate(t = performance.now()) {
|
|
6411
6413
|
var _a;
|
|
6412
6414
|
if (this._disposed) return;
|
|
6413
|
-
if (this._stats) {
|
|
6414
|
-
this._stats.begin();
|
|
6415
|
-
}
|
|
6416
6415
|
if ((_a = this._controls) == null ? void 0 : _a.enabled) {
|
|
6417
6416
|
this._controls.update();
|
|
6418
6417
|
}
|
|
6419
6418
|
if (this._disposed) return;
|
|
6420
|
-
if (this.dirty
|
|
6421
|
-
|
|
6422
|
-
|
|
6423
|
-
|
|
6424
|
-
|
|
6425
|
-
|
|
6419
|
+
if (!this.dirty && !this.options.render.renderAlways) return;
|
|
6420
|
+
const interval = this._frameInterval;
|
|
6421
|
+
if (interval) {
|
|
6422
|
+
const next = this._nextFrameTime;
|
|
6423
|
+
if (next !== void 0 && t + 0.1 < next) return;
|
|
6424
|
+
this._nextFrameTime = next !== void 0 && t - next < interval ? next + interval : t + interval;
|
|
6425
|
+
}
|
|
6426
|
+
if (this._stats) {
|
|
6427
|
+
this._stats.begin();
|
|
6428
|
+
}
|
|
6429
|
+
if (this.options.composer.enabled && this.composer) {
|
|
6430
|
+
this.composer.render();
|
|
6431
|
+
} else {
|
|
6432
|
+
this.renderer.render(this.scene, this.camera);
|
|
6426
6433
|
}
|
|
6427
6434
|
this.dirty = false;
|
|
6428
6435
|
if (this._stats) {
|