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/browser/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
|
|
|
@@ -431,7 +429,7 @@ interface Transformable {
|
|
|
431
429
|
declare function isTransformable(obj: any): obj is Transformable;
|
|
432
430
|
|
|
433
431
|
declare const changeEvent: {
|
|
434
|
-
type:
|
|
432
|
+
type: "change";
|
|
435
433
|
};
|
|
436
434
|
type Maybe<T> = T | undefined;
|
|
437
435
|
declare function md5(str: string): string;
|
|
@@ -886,7 +884,9 @@ interface MineRenderSceneOptions {
|
|
|
886
884
|
}
|
|
887
885
|
declare function isMineRenderScene(obj: any): obj is MineRenderScene;
|
|
888
886
|
|
|
889
|
-
declare class SceneObject extends Object3D
|
|
887
|
+
declare class SceneObject extends Object3D<Object3DEventMap & {
|
|
888
|
+
change: {};
|
|
889
|
+
}> implements Disposable, Instanceable, Transformable {
|
|
890
890
|
readonly isSceneObject: true;
|
|
891
891
|
static readonly DEFAULT_OPTIONS: SceneObjectOptions;
|
|
892
892
|
readonly options: SceneObjectOptions;
|
|
@@ -912,9 +912,9 @@ declare class SceneObject extends Object3D implements Disposable, Instanceable,
|
|
|
912
912
|
*/
|
|
913
913
|
toggleGroupVisibility(name: string, visible?: boolean): boolean;
|
|
914
914
|
protected addOrReplaceMesh(mesh: Mesh, parent: Object3D, name?: string): void;
|
|
915
|
-
protected createAndAddMesh(name?: string, group?: Object3D, geometry?: BufferGeometry, material?: Material
|
|
916
|
-
protected createMesh(name?: string, geometry?: BufferGeometry, material?: Material
|
|
917
|
-
protected createInstancedMesh(name: Maybe<string>, geometry: BufferGeometry, material: Material
|
|
915
|
+
protected createAndAddMesh(name?: string, group?: Object3D, geometry?: BufferGeometry, material?: Material | Material[], offsetAxis?: Axis, offset?: number): Mesh;
|
|
916
|
+
protected createMesh(name?: string, geometry?: BufferGeometry, material?: Material | Material[], offsetAxis?: Axis, offset?: number): Mesh;
|
|
917
|
+
protected createInstancedMesh(name: Maybe<string>, geometry: BufferGeometry, material: Material | Material[], count: number): InstancedMesh;
|
|
918
918
|
/**
|
|
919
919
|
* Get a mesh by its name
|
|
920
920
|
*/
|
|
@@ -1319,15 +1319,14 @@ declare class Renderer implements Disposable {
|
|
|
1319
1319
|
protected _scene: MineRenderScene;
|
|
1320
1320
|
protected _camera: Camera;
|
|
1321
1321
|
protected _renderer: WebGLRenderer;
|
|
1322
|
-
protected _composer
|
|
1322
|
+
protected _composer?: EffectComposer;
|
|
1323
1323
|
protected _controls?: OrbitControls;
|
|
1324
1324
|
protected _stats?: Stats;
|
|
1325
1325
|
protected _dirty: boolean;
|
|
1326
1326
|
protected _animationLoop: any;
|
|
1327
|
-
protected
|
|
1328
|
-
protected _animationTimer?: NodeJS.Timeout;
|
|
1329
|
-
protected _animationFrame?: number;
|
|
1327
|
+
protected _frameInterval?: number;
|
|
1330
1328
|
protected _resizeListener?: () => void;
|
|
1329
|
+
private _nextFrameTime?;
|
|
1331
1330
|
private _disposed;
|
|
1332
1331
|
private readonly _debugHelpers;
|
|
1333
1332
|
private readonly _eventDispatchers;
|
|
@@ -1336,7 +1335,7 @@ declare class Renderer implements Disposable {
|
|
|
1336
1335
|
protected createScene(): MineRenderScene;
|
|
1337
1336
|
protected createCamera(): Camera;
|
|
1338
1337
|
protected createRenderer(): WebGLRenderer;
|
|
1339
|
-
protected createComposer(): EffectComposer
|
|
1338
|
+
protected createComposer(): Maybe<EffectComposer>;
|
|
1340
1339
|
protected createControls(): Maybe<OrbitControls>;
|
|
1341
1340
|
init(): void;
|
|
1342
1341
|
get element(): Maybe<HTMLElement>;
|
|
@@ -1345,7 +1344,7 @@ declare class Renderer implements Disposable {
|
|
|
1345
1344
|
* Redraws when the dispatcher emits the selected event. Registering the same pair twice has no effect.
|
|
1346
1345
|
* The renderer removes its listener on disposal; the caller retains ownership of the dispatcher.
|
|
1347
1346
|
*/
|
|
1348
|
-
registerEventDispatcher(dispatcher: EventDispatcher
|
|
1347
|
+
registerEventDispatcher(dispatcher: EventDispatcher<any>, changeEvent?: string): void;
|
|
1349
1348
|
resize(width: number, height: number): void;
|
|
1350
1349
|
get dirty(): boolean;
|
|
1351
1350
|
set dirty(dirty: boolean);
|
|
@@ -1365,7 +1364,7 @@ declare class Renderer implements Disposable {
|
|
|
1365
1364
|
get scene(): MineRenderScene;
|
|
1366
1365
|
get camera(): Camera;
|
|
1367
1366
|
get renderer(): WebGLRenderer;
|
|
1368
|
-
get composer(): EffectComposer
|
|
1367
|
+
get composer(): Maybe<EffectComposer>;
|
|
1369
1368
|
/** Renderer-owned controls, or undefined when disabled at construction or after disposal. */
|
|
1370
1369
|
get controls(): Maybe<OrbitControls>;
|
|
1371
1370
|
}
|
|
@@ -1394,6 +1393,7 @@ interface CameraOptions {
|
|
|
1394
1393
|
lookingAt: Vector3 | TripleArray;
|
|
1395
1394
|
}
|
|
1396
1395
|
interface RenderOptions {
|
|
1396
|
+
/** Maximum draw rate (60 by default); zero or a negative value disables the limit. */
|
|
1397
1397
|
fpsLimit: number;
|
|
1398
1398
|
stats: boolean;
|
|
1399
1399
|
antialias: boolean;
|
|
@@ -1421,7 +1421,7 @@ declare class SceneInspector {
|
|
|
1421
1421
|
private selectedObject?;
|
|
1422
1422
|
constructor(renderer: Renderer);
|
|
1423
1423
|
protected init(): void;
|
|
1424
|
-
findMeshChildren(from: Object3D, out?: Mesh[]): Mesh<three.BufferGeometry
|
|
1424
|
+
findMeshChildren(from: Object3D, out?: Mesh[]): Mesh<three.BufferGeometry<three.NormalBufferAttributes>, three.Material | three.Material[], three.Object3DEventMap>[];
|
|
1425
1425
|
onClick(event: any): void;
|
|
1426
1426
|
appendTo(el: HTMLElement): void;
|
|
1427
1427
|
protected handleRaycasterObjects(intersections: Intersection[]): void;
|
|
@@ -1523,12 +1523,12 @@ declare class Textures {
|
|
|
1523
1523
|
static getImage(key: TextureKey): Texture;
|
|
1524
1524
|
}
|
|
1525
1525
|
|
|
1526
|
-
declare function mergeBufferGeometries(geometries: BufferGeometry
|
|
1526
|
+
declare function mergeBufferGeometries(geometries: BufferGeometry[], useGroups?: boolean): BufferGeometry;
|
|
1527
1527
|
declare function mergeBufferAttributes(attributes: BufferAttribute[]): BufferAttribute;
|
|
1528
1528
|
declare function interleaveAttributes(attributes: BufferAttribute[]): InterleavedBufferAttribute;
|
|
1529
|
-
declare function estimateBytesUsed(geometry: BufferGeometry
|
|
1530
|
-
declare function mergeVertices(geometry: BufferGeometry
|
|
1531
|
-
declare function toTrianglesDrawMode(geometry: BufferGeometry
|
|
1529
|
+
declare function estimateBytesUsed(geometry: BufferGeometry): number;
|
|
1530
|
+
declare function mergeVertices(geometry: BufferGeometry, tolerance?: number): BufferGeometry;
|
|
1531
|
+
declare function toTrianglesDrawMode(geometry: BufferGeometry, drawMode: TrianglesDrawModes): BufferGeometry;
|
|
1532
1532
|
declare function computeMorphedAttributes(object: Mesh | Line | Points): object;
|
|
1533
1533
|
|
|
1534
1534
|
interface BlockInfo {
|
package/dist/browser/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
|
|
|
@@ -431,7 +429,7 @@ interface Transformable {
|
|
|
431
429
|
declare function isTransformable(obj: any): obj is Transformable;
|
|
432
430
|
|
|
433
431
|
declare const changeEvent: {
|
|
434
|
-
type:
|
|
432
|
+
type: "change";
|
|
435
433
|
};
|
|
436
434
|
type Maybe<T> = T | undefined;
|
|
437
435
|
declare function md5(str: string): string;
|
|
@@ -886,7 +884,9 @@ interface MineRenderSceneOptions {
|
|
|
886
884
|
}
|
|
887
885
|
declare function isMineRenderScene(obj: any): obj is MineRenderScene;
|
|
888
886
|
|
|
889
|
-
declare class SceneObject extends Object3D
|
|
887
|
+
declare class SceneObject extends Object3D<Object3DEventMap & {
|
|
888
|
+
change: {};
|
|
889
|
+
}> implements Disposable, Instanceable, Transformable {
|
|
890
890
|
readonly isSceneObject: true;
|
|
891
891
|
static readonly DEFAULT_OPTIONS: SceneObjectOptions;
|
|
892
892
|
readonly options: SceneObjectOptions;
|
|
@@ -912,9 +912,9 @@ declare class SceneObject extends Object3D implements Disposable, Instanceable,
|
|
|
912
912
|
*/
|
|
913
913
|
toggleGroupVisibility(name: string, visible?: boolean): boolean;
|
|
914
914
|
protected addOrReplaceMesh(mesh: Mesh, parent: Object3D, name?: string): void;
|
|
915
|
-
protected createAndAddMesh(name?: string, group?: Object3D, geometry?: BufferGeometry, material?: Material
|
|
916
|
-
protected createMesh(name?: string, geometry?: BufferGeometry, material?: Material
|
|
917
|
-
protected createInstancedMesh(name: Maybe<string>, geometry: BufferGeometry, material: Material
|
|
915
|
+
protected createAndAddMesh(name?: string, group?: Object3D, geometry?: BufferGeometry, material?: Material | Material[], offsetAxis?: Axis, offset?: number): Mesh;
|
|
916
|
+
protected createMesh(name?: string, geometry?: BufferGeometry, material?: Material | Material[], offsetAxis?: Axis, offset?: number): Mesh;
|
|
917
|
+
protected createInstancedMesh(name: Maybe<string>, geometry: BufferGeometry, material: Material | Material[], count: number): InstancedMesh;
|
|
918
918
|
/**
|
|
919
919
|
* Get a mesh by its name
|
|
920
920
|
*/
|
|
@@ -1319,15 +1319,14 @@ declare class Renderer implements Disposable {
|
|
|
1319
1319
|
protected _scene: MineRenderScene;
|
|
1320
1320
|
protected _camera: Camera;
|
|
1321
1321
|
protected _renderer: WebGLRenderer;
|
|
1322
|
-
protected _composer
|
|
1322
|
+
protected _composer?: EffectComposer;
|
|
1323
1323
|
protected _controls?: OrbitControls;
|
|
1324
1324
|
protected _stats?: Stats;
|
|
1325
1325
|
protected _dirty: boolean;
|
|
1326
1326
|
protected _animationLoop: any;
|
|
1327
|
-
protected
|
|
1328
|
-
protected _animationTimer?: NodeJS.Timeout;
|
|
1329
|
-
protected _animationFrame?: number;
|
|
1327
|
+
protected _frameInterval?: number;
|
|
1330
1328
|
protected _resizeListener?: () => void;
|
|
1329
|
+
private _nextFrameTime?;
|
|
1331
1330
|
private _disposed;
|
|
1332
1331
|
private readonly _debugHelpers;
|
|
1333
1332
|
private readonly _eventDispatchers;
|
|
@@ -1336,7 +1335,7 @@ declare class Renderer implements Disposable {
|
|
|
1336
1335
|
protected createScene(): MineRenderScene;
|
|
1337
1336
|
protected createCamera(): Camera;
|
|
1338
1337
|
protected createRenderer(): WebGLRenderer;
|
|
1339
|
-
protected createComposer(): EffectComposer
|
|
1338
|
+
protected createComposer(): Maybe<EffectComposer>;
|
|
1340
1339
|
protected createControls(): Maybe<OrbitControls>;
|
|
1341
1340
|
init(): void;
|
|
1342
1341
|
get element(): Maybe<HTMLElement>;
|
|
@@ -1345,7 +1344,7 @@ declare class Renderer implements Disposable {
|
|
|
1345
1344
|
* Redraws when the dispatcher emits the selected event. Registering the same pair twice has no effect.
|
|
1346
1345
|
* The renderer removes its listener on disposal; the caller retains ownership of the dispatcher.
|
|
1347
1346
|
*/
|
|
1348
|
-
registerEventDispatcher(dispatcher: EventDispatcher
|
|
1347
|
+
registerEventDispatcher(dispatcher: EventDispatcher<any>, changeEvent?: string): void;
|
|
1349
1348
|
resize(width: number, height: number): void;
|
|
1350
1349
|
get dirty(): boolean;
|
|
1351
1350
|
set dirty(dirty: boolean);
|
|
@@ -1365,7 +1364,7 @@ declare class Renderer implements Disposable {
|
|
|
1365
1364
|
get scene(): MineRenderScene;
|
|
1366
1365
|
get camera(): Camera;
|
|
1367
1366
|
get renderer(): WebGLRenderer;
|
|
1368
|
-
get composer(): EffectComposer
|
|
1367
|
+
get composer(): Maybe<EffectComposer>;
|
|
1369
1368
|
/** Renderer-owned controls, or undefined when disabled at construction or after disposal. */
|
|
1370
1369
|
get controls(): Maybe<OrbitControls>;
|
|
1371
1370
|
}
|
|
@@ -1394,6 +1393,7 @@ interface CameraOptions {
|
|
|
1394
1393
|
lookingAt: Vector3 | TripleArray;
|
|
1395
1394
|
}
|
|
1396
1395
|
interface RenderOptions {
|
|
1396
|
+
/** Maximum draw rate (60 by default); zero or a negative value disables the limit. */
|
|
1397
1397
|
fpsLimit: number;
|
|
1398
1398
|
stats: boolean;
|
|
1399
1399
|
antialias: boolean;
|
|
@@ -1421,7 +1421,7 @@ declare class SceneInspector {
|
|
|
1421
1421
|
private selectedObject?;
|
|
1422
1422
|
constructor(renderer: Renderer);
|
|
1423
1423
|
protected init(): void;
|
|
1424
|
-
findMeshChildren(from: Object3D, out?: Mesh[]): Mesh<three.BufferGeometry
|
|
1424
|
+
findMeshChildren(from: Object3D, out?: Mesh[]): Mesh<three.BufferGeometry<three.NormalBufferAttributes>, three.Material | three.Material[], three.Object3DEventMap>[];
|
|
1425
1425
|
onClick(event: any): void;
|
|
1426
1426
|
appendTo(el: HTMLElement): void;
|
|
1427
1427
|
protected handleRaycasterObjects(intersections: Intersection[]): void;
|
|
@@ -1523,12 +1523,12 @@ declare class Textures {
|
|
|
1523
1523
|
static getImage(key: TextureKey): Texture;
|
|
1524
1524
|
}
|
|
1525
1525
|
|
|
1526
|
-
declare function mergeBufferGeometries(geometries: BufferGeometry
|
|
1526
|
+
declare function mergeBufferGeometries(geometries: BufferGeometry[], useGroups?: boolean): BufferGeometry;
|
|
1527
1527
|
declare function mergeBufferAttributes(attributes: BufferAttribute[]): BufferAttribute;
|
|
1528
1528
|
declare function interleaveAttributes(attributes: BufferAttribute[]): InterleavedBufferAttribute;
|
|
1529
|
-
declare function estimateBytesUsed(geometry: BufferGeometry
|
|
1530
|
-
declare function mergeVertices(geometry: BufferGeometry
|
|
1531
|
-
declare function toTrianglesDrawMode(geometry: BufferGeometry
|
|
1529
|
+
declare function estimateBytesUsed(geometry: BufferGeometry): number;
|
|
1530
|
+
declare function mergeVertices(geometry: BufferGeometry, tolerance?: number): BufferGeometry;
|
|
1531
|
+
declare function toTrianglesDrawMode(geometry: BufferGeometry, drawMode: TrianglesDrawModes): BufferGeometry;
|
|
1532
1532
|
declare function computeMorphedAttributes(object: Mesh | Line | Points): object;
|
|
1533
1533
|
|
|
1534
1534
|
interface BlockInfo {
|
package/dist/browser/index.js
CHANGED
|
@@ -631,6 +631,7 @@ var import_three5 = require("three");
|
|
|
631
631
|
|
|
632
632
|
// src/texture/TextureLoader.ts
|
|
633
633
|
var import_three4 = require("three");
|
|
634
|
+
var THREE = __toESM(require("three"));
|
|
634
635
|
|
|
635
636
|
// src/canvas/CanvasCompat.ts
|
|
636
637
|
function createImage(width, height) {
|
|
@@ -1019,6 +1020,7 @@ var TextureLoader = class {
|
|
|
1019
1020
|
}
|
|
1020
1021
|
static loadInBackground(src, format = import_three4.RGBAFormat, rotation = 0) {
|
|
1021
1022
|
const texture = this.createTexture();
|
|
1023
|
+
texture.colorSpace = THREE.SRGBColorSpace;
|
|
1022
1024
|
const image = ImageLoader.loadElement(src);
|
|
1023
1025
|
image.onload = function() {
|
|
1024
1026
|
texture.needsUpdate = true;
|
|
@@ -1030,6 +1032,7 @@ var TextureLoader = class {
|
|
|
1030
1032
|
}
|
|
1031
1033
|
static load(src, format = import_three4.RGBAFormat, rotation = 0) {
|
|
1032
1034
|
const texture = new import_three4.Texture();
|
|
1035
|
+
texture.colorSpace = THREE.SRGBColorSpace;
|
|
1033
1036
|
ImageLoader.getData(src).then((image) => {
|
|
1034
1037
|
texture.needsUpdate = true;
|
|
1035
1038
|
texture.image = image;
|
|
@@ -1041,11 +1044,11 @@ var TextureLoader = class {
|
|
|
1041
1044
|
};
|
|
1042
1045
|
|
|
1043
1046
|
// src/texture/Textures.ts
|
|
1044
|
-
var
|
|
1047
|
+
var THREE2 = __toESM(require("three"));
|
|
1045
1048
|
var Textures = class _Textures {
|
|
1046
1049
|
static initTextureProps(texture) {
|
|
1047
|
-
texture.magFilter =
|
|
1048
|
-
texture.minFilter =
|
|
1050
|
+
texture.magFilter = THREE2.NearestFilter;
|
|
1051
|
+
texture.minFilter = THREE2.NearestFilter;
|
|
1049
1052
|
texture.anisotropy = 0;
|
|
1050
1053
|
return texture;
|
|
1051
1054
|
}
|
|
@@ -1056,7 +1059,9 @@ var Textures = class _Textures {
|
|
|
1056
1059
|
return new import_three5.Texture();
|
|
1057
1060
|
}
|
|
1058
1061
|
static createCanvasTexture(canvas) {
|
|
1059
|
-
|
|
1062
|
+
const texture = new import_three5.CanvasTexture(canvas);
|
|
1063
|
+
texture.colorSpace = THREE2.SRGBColorSpace;
|
|
1064
|
+
return this.initTextureProps(texture);
|
|
1060
1065
|
}
|
|
1061
1066
|
static getImage(key) {
|
|
1062
1067
|
const keyStr = serializeTextureKey(key);
|
|
@@ -1173,6 +1178,9 @@ var _Materials = class _Materials {
|
|
|
1173
1178
|
gl_FragColor = vec4(lift + color.rgb * light2, 1.0);
|
|
1174
1179
|
|
|
1175
1180
|
}
|
|
1181
|
+
|
|
1182
|
+
#include <tonemapping_fragment>
|
|
1183
|
+
#include <colorspace_fragment>
|
|
1176
1184
|
}
|
|
1177
1185
|
`;
|
|
1178
1186
|
try {
|
|
@@ -3047,7 +3055,7 @@ function isSceneObject(obj) {
|
|
|
3047
3055
|
// src/entity/scene/EntityObject.ts
|
|
3048
3056
|
var import_ts_deepmerge5 = __toESM(require_dist());
|
|
3049
3057
|
var import_three11 = require("three");
|
|
3050
|
-
var
|
|
3058
|
+
var THREE3 = __toESM(require("three"));
|
|
3051
3059
|
var EntityObject = class extends SceneObject {
|
|
3052
3060
|
constructor(entity, options) {
|
|
3053
3061
|
super();
|
|
@@ -3091,8 +3099,8 @@ var EntityObject = class extends SceneObject {
|
|
|
3091
3099
|
const l = cube.maxZ - cube.minZ;
|
|
3092
3100
|
const uv = texture.toUvArray(w, h, l);
|
|
3093
3101
|
const cubeGeo = this._getBoxGeometryForDimensionsAndUv(w, h, l, uv).clone();
|
|
3094
|
-
cubeGeo.applyMatrix4(new
|
|
3095
|
-
cubeGeo.applyMatrix4(new
|
|
3102
|
+
cubeGeo.applyMatrix4(new THREE3.Matrix4().makeTranslation(w / 2, h / 2, l / 2));
|
|
3103
|
+
cubeGeo.applyMatrix4(new THREE3.Matrix4().makeTranslation(cube.minX, cube.minY, cube.minZ));
|
|
3096
3104
|
applyModelPartRotation(part, cubeGeo);
|
|
3097
3105
|
const mesh = this.createMesh(partName, cubeGeo, mat);
|
|
3098
3106
|
partAnchor.add(mesh);
|
|
@@ -6190,8 +6198,6 @@ var MapControls = class extends OrbitControls {
|
|
|
6190
6198
|
var _Renderer = class _Renderer {
|
|
6191
6199
|
constructor(options) {
|
|
6192
6200
|
this._dirty = true;
|
|
6193
|
-
this._animationTimer = void 0;
|
|
6194
|
-
this._animationFrame = void 0;
|
|
6195
6201
|
this._resizeListener = void 0;
|
|
6196
6202
|
this._disposed = false;
|
|
6197
6203
|
this._debugHelpers = [];
|
|
@@ -6201,7 +6207,7 @@ var _Renderer = class _Renderer {
|
|
|
6201
6207
|
};
|
|
6202
6208
|
this.options = (0, import_ts_deepmerge10.default)({}, _Renderer.DEFAULT_OPTIONS, options ?? {});
|
|
6203
6209
|
this._animationLoop = this.animate.bind(this);
|
|
6204
|
-
this.
|
|
6210
|
+
this._frameInterval = this.options.render.fpsLimit > 0 ? 1e3 / this.options.render.fpsLimit : void 0;
|
|
6205
6211
|
this._scene = this.createScene();
|
|
6206
6212
|
this._camera = this.createCamera();
|
|
6207
6213
|
this._renderer = this.createRenderer();
|
|
@@ -6248,13 +6254,13 @@ var _Renderer = class _Renderer {
|
|
|
6248
6254
|
renderer.setClearColor(0, 0);
|
|
6249
6255
|
renderer.shadowMap.enabled = true;
|
|
6250
6256
|
renderer.shadowMap.type = import_three19.PCFSoftShadowMap;
|
|
6251
|
-
renderer.
|
|
6257
|
+
renderer.outputColorSpace = import_three19.SRGBColorSpace;
|
|
6252
6258
|
renderer.setSize(this.viewWidth, this.viewHeight);
|
|
6253
6259
|
return renderer;
|
|
6254
6260
|
}
|
|
6255
6261
|
createComposer() {
|
|
6262
|
+
if (!this.options.composer.enabled) return void 0;
|
|
6256
6263
|
const composer = new import_postprocessing.EffectComposer(this.renderer);
|
|
6257
|
-
if (!this.options.composer.enabled) return composer;
|
|
6258
6264
|
composer.setSize(this.viewWidth, this.viewHeight);
|
|
6259
6265
|
composer.addPass(new import_postprocessing.RenderPass(this.scene, this.camera));
|
|
6260
6266
|
return composer;
|
|
@@ -6363,7 +6369,7 @@ var _Renderer = class _Renderer {
|
|
|
6363
6369
|
this.camera.updateProjectionMatrix();
|
|
6364
6370
|
}
|
|
6365
6371
|
this.renderer.setSize(width, height);
|
|
6366
|
-
this.composer
|
|
6372
|
+
this.composer?.setSize(width, height);
|
|
6367
6373
|
this._dirty = true;
|
|
6368
6374
|
}
|
|
6369
6375
|
//<editor-fold desc="RENDER">
|
|
@@ -6382,12 +6388,7 @@ var _Renderer = class _Renderer {
|
|
|
6382
6388
|
stop() {
|
|
6383
6389
|
if (this._disposed) return;
|
|
6384
6390
|
this.renderer.setAnimationLoop(null);
|
|
6385
|
-
|
|
6386
|
-
clearTimeout(this._animationTimer);
|
|
6387
|
-
this._animationTimer = void 0;
|
|
6388
|
-
if (this._animationFrame)
|
|
6389
|
-
cancelAnimationFrame(this._animationFrame);
|
|
6390
|
-
this._animationFrame = void 0;
|
|
6391
|
+
this._nextFrameTime = void 0;
|
|
6391
6392
|
}
|
|
6392
6393
|
/**
|
|
6393
6394
|
* Stops rendering and releases owned resources. Repeated calls have no effect, and a disposed
|
|
@@ -6427,25 +6428,30 @@ var _Renderer = class _Renderer {
|
|
|
6427
6428
|
}
|
|
6428
6429
|
}
|
|
6429
6430
|
this._debugHelpers.length = 0;
|
|
6430
|
-
this.composer
|
|
6431
|
+
this.composer?.dispose();
|
|
6431
6432
|
this.renderer.dispose();
|
|
6432
6433
|
this.renderer.forceContextLoss();
|
|
6433
6434
|
}
|
|
6434
|
-
animate(t) {
|
|
6435
|
+
animate(t = performance.now()) {
|
|
6435
6436
|
if (this._disposed) return;
|
|
6436
|
-
if (this._stats) {
|
|
6437
|
-
this._stats.begin();
|
|
6438
|
-
}
|
|
6439
6437
|
if (this._controls?.enabled) {
|
|
6440
6438
|
this._controls.update();
|
|
6441
6439
|
}
|
|
6442
6440
|
if (this._disposed) return;
|
|
6443
|
-
if (this.dirty
|
|
6444
|
-
|
|
6445
|
-
|
|
6446
|
-
|
|
6447
|
-
|
|
6448
|
-
|
|
6441
|
+
if (!this.dirty && !this.options.render.renderAlways) return;
|
|
6442
|
+
const interval = this._frameInterval;
|
|
6443
|
+
if (interval) {
|
|
6444
|
+
const next = this._nextFrameTime;
|
|
6445
|
+
if (next !== void 0 && t + 0.1 < next) return;
|
|
6446
|
+
this._nextFrameTime = next !== void 0 && t - next < interval ? next + interval : t + interval;
|
|
6447
|
+
}
|
|
6448
|
+
if (this._stats) {
|
|
6449
|
+
this._stats.begin();
|
|
6450
|
+
}
|
|
6451
|
+
if (this.options.composer.enabled && this.composer) {
|
|
6452
|
+
this.composer.render();
|
|
6453
|
+
} else {
|
|
6454
|
+
this.renderer.render(this.scene, this.camera);
|
|
6449
6455
|
}
|
|
6450
6456
|
this.dirty = false;
|
|
6451
6457
|
if (this._stats) {
|