three-low-poly 0.9.28 → 1.0.0
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/index.cjs +1 -358
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +0 -788
- package/dist/index.iife.js +1 -358
- package/dist/index.iife.js.map +1 -1
- package/dist/index.mjs +1154 -1697
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { BoxGeometry } from 'three';
|
|
2
2
|
import { BufferGeometry } from 'three';
|
|
3
|
-
import { Color } from 'three';
|
|
4
3
|
import { ColorRepresentation } from 'three';
|
|
5
4
|
import { DataTexture } from 'three';
|
|
6
5
|
import { DirectionalLight } from 'three';
|
|
@@ -8,7 +7,6 @@ import { ExtrudeGeometry } from 'three';
|
|
|
8
7
|
import { Group } from 'three';
|
|
9
8
|
import { InstancedMesh } from 'three';
|
|
10
9
|
import { Material } from 'three';
|
|
11
|
-
import { MaterialEventMap } from 'three';
|
|
12
10
|
import { Mesh } from 'three';
|
|
13
11
|
import { MeshBasicMaterial } from 'three';
|
|
14
12
|
import { MeshLambertMaterial } from 'three';
|
|
@@ -19,84 +17,16 @@ import { Object3D } from 'three';
|
|
|
19
17
|
import { OrbitControls } from 'three/addons/controls/OrbitControls.js';
|
|
20
18
|
import { ParametricGeometry } from 'three/addons/geometries/ParametricGeometry.js';
|
|
21
19
|
import { PerspectiveCamera } from 'three';
|
|
22
|
-
import { Plane } from 'three';
|
|
23
20
|
import { PlaneGeometry } from 'three';
|
|
24
21
|
import { PointLight } from 'three';
|
|
25
22
|
import { Points } from 'three';
|
|
26
23
|
import { Quaternion } from 'three';
|
|
27
|
-
import { ShaderMaterial } from 'three';
|
|
28
24
|
import { Shape } from 'three';
|
|
29
25
|
import { ShapeGeometry } from 'three';
|
|
30
26
|
import { SphereGeometry } from 'three';
|
|
31
|
-
import * as THREE from 'three';
|
|
32
|
-
import { Uniform } from 'three';
|
|
33
27
|
import { Vector2 } from 'three';
|
|
34
28
|
import { Vector3 } from 'three';
|
|
35
29
|
|
|
36
|
-
/**
|
|
37
|
-
* Shader modification to support instance-specific colors.
|
|
38
|
-
* This function modifies the provided material to accept instance-specific colors.
|
|
39
|
-
*
|
|
40
|
-
* This is not generally necessary for materials that already support vertex colors,
|
|
41
|
-
* but it can be useful for custom materials or when using InstancedMesh.
|
|
42
|
-
*
|
|
43
|
-
* Instanced meshes already allow for per-instance colors, implemented as:
|
|
44
|
-
* ```ts
|
|
45
|
-
* const colors = new Float32Array(instancedMesh.count * 3);
|
|
46
|
-
* for (let i = 0; i < instancedMesh.count; i++) {
|
|
47
|
-
* const [r, g, b] = [Math.random(), Math.random(), Math.random()];
|
|
48
|
-
* colors.set([r, g, b], i * 3); // Normalized to [0, 1]
|
|
49
|
-
* }
|
|
50
|
-
* instancedMesh.instanceColor = new THREE.InstancedBufferAttribute(colors, 3);
|
|
51
|
-
* ```
|
|
52
|
-
*
|
|
53
|
-
* Example usage:
|
|
54
|
-
* ```ts
|
|
55
|
-
* // Material
|
|
56
|
-
* const material = new THREE.MeshStandardMaterial();
|
|
57
|
-
*
|
|
58
|
-
* // Add instance color modifier
|
|
59
|
-
* addInstanceColor(material);
|
|
60
|
-
*
|
|
61
|
-
* // RGB color for each instance
|
|
62
|
-
* const colors = new Float32Array(instancedMesh.count * 3);
|
|
63
|
-
* for (let i = 0; i < instancedMesh.count; i++) {
|
|
64
|
-
* getAnalogousColors(hue).forEach((color, index) => {
|
|
65
|
-
* colors[i * 3 + index] = color / 0xff;
|
|
66
|
-
* });
|
|
67
|
-
* }
|
|
68
|
-
*
|
|
69
|
-
* // Add the instance color attribute to the geometry
|
|
70
|
-
* instancedMesh.geometry.setAttribute("instanceColor", new THREE.InstancedBufferAttribute(colors, 3));
|
|
71
|
-
* ```
|
|
72
|
-
*/
|
|
73
|
-
export declare function addInstanceColor(material: Material): Material< MaterialEventMap>;
|
|
74
|
-
|
|
75
|
-
/**
|
|
76
|
-
* Utility function to add noise-based vertex displacement to an existing Three.js material.
|
|
77
|
-
* @param {Material} material - The material to mutate, e.g., MeshStandardMaterial.
|
|
78
|
-
* @param {Object} options - Options for noise modification.
|
|
79
|
-
* @param {number} [options.time=0.0] - The time value for the noise function.
|
|
80
|
-
* @param {number} [options.intensity=1.0] - The intensity of the displacement.
|
|
81
|
-
* @param {Vector3} [options.axis=new Vector3(1, 1, 1)] - The axis of displacement.
|
|
82
|
-
* @param {number} [options.scale=10.0] - The scale of the noise effect.
|
|
83
|
-
*/
|
|
84
|
-
export declare function addNoiseDisplacement<T extends Material>(material: T, { time, intensity, axis, scale }?: NoiseDisplacementOptions): void;
|
|
85
|
-
|
|
86
|
-
/**
|
|
87
|
-
* Utility function to add water-like vertex displacement to an existing Three.js material.
|
|
88
|
-
* @param {Material} material - The material to mutate, e.g., MeshStandardMaterial.
|
|
89
|
-
* @param {Object} options - Options for water wave modification.
|
|
90
|
-
* @param {number} [options.time=0.0] - The time value for the wave function.
|
|
91
|
-
* @param {number} [options.waveFrequency=0.2] - The frequency of the water waves.
|
|
92
|
-
* @param {number} [options.waveAmplitude=0.5] - The amplitude of the water waves.
|
|
93
|
-
*/
|
|
94
|
-
export declare function addWaterDisplacement<T extends Material>(material: T, { time, waveFrequency, waveAmplitude }?: {
|
|
95
|
-
time?: number | undefined;
|
|
96
|
-
waveFrequency?: number | undefined;
|
|
97
|
-
waveAmplitude?: number | undefined;
|
|
98
|
-
}): void;
|
|
99
|
-
|
|
100
30
|
/**
|
|
101
31
|
* Align a BufferGeometry to a surface by adjusting its vertices.
|
|
102
32
|
*/
|
|
@@ -288,105 +218,6 @@ declare interface ArchedOutlineTarget {
|
|
|
288
218
|
closePath(): unknown;
|
|
289
219
|
}
|
|
290
220
|
|
|
291
|
-
/**
|
|
292
|
-
* Atmospheric scattering shader.
|
|
293
|
-
*
|
|
294
|
-
* Based on "A Practical Analytic Model for Daylight"
|
|
295
|
-
* aka The Preetham Model, the de facto standard analytic skydome model
|
|
296
|
-
* https://www.researchgate.net/publication/220720443_A_Practical_Analytic_Model_for_Daylight
|
|
297
|
-
*
|
|
298
|
-
* First implemented by Simon Wallner
|
|
299
|
-
* http://simonwallner.at/project/atmospheric-scattering/
|
|
300
|
-
*
|
|
301
|
-
* Improved by Martin Upitis
|
|
302
|
-
* http://blenderartists.org/forum/showthread.php?245954-preethams-sky-impementation-HDR
|
|
303
|
-
*
|
|
304
|
-
* Three.js integration by zz85 http://twitter.com/blurspline
|
|
305
|
-
*
|
|
306
|
-
* Example:
|
|
307
|
-
* ```
|
|
308
|
-
* const geometry = new BoxGeometry(1, 1, 1);
|
|
309
|
-
*
|
|
310
|
-
* const material = new ShaderMaterial({
|
|
311
|
-
* uniforms: atmosphericShader.uniforms,
|
|
312
|
-
* vertexShader: atmosphericShader.vertexShader,
|
|
313
|
-
* fragmentShader: atmosphericShader.fragmentShader,
|
|
314
|
-
* depthWrite: false,
|
|
315
|
-
* side: BackSide,
|
|
316
|
-
* }) as ShaderMaterial & { uniforms: AtmosphericShaderUniforms };
|
|
317
|
-
*
|
|
318
|
-
* const theta = MathUtils.degToRad(89);
|
|
319
|
-
* const phi = MathUtils.degToRad(180);
|
|
320
|
-
* const sun = new Vector3().setFromSphericalCoords(1, theta, phi);
|
|
321
|
-
*
|
|
322
|
-
* material.uniforms.sunPosition.value = sun;
|
|
323
|
-
*
|
|
324
|
-
* const mesh = new Mesh(geometry, material);
|
|
325
|
-
* mesh.scale.setScalar(450000);
|
|
326
|
-
* ```
|
|
327
|
-
*/
|
|
328
|
-
export declare const atmosphericShader: {
|
|
329
|
-
uniforms: {
|
|
330
|
-
turbidity: {
|
|
331
|
-
value: number;
|
|
332
|
-
};
|
|
333
|
-
rayleigh: {
|
|
334
|
-
value: number;
|
|
335
|
-
};
|
|
336
|
-
mieCoefficient: {
|
|
337
|
-
value: number;
|
|
338
|
-
};
|
|
339
|
-
mieDirectionalG: {
|
|
340
|
-
value: number;
|
|
341
|
-
};
|
|
342
|
-
sunPosition: {
|
|
343
|
-
value: Vector3;
|
|
344
|
-
};
|
|
345
|
-
up: {
|
|
346
|
-
value: Vector3;
|
|
347
|
-
};
|
|
348
|
-
};
|
|
349
|
-
vertexShader: string;
|
|
350
|
-
fragmentShader: string;
|
|
351
|
-
};
|
|
352
|
-
|
|
353
|
-
export declare interface AtmosphericShaderUniforms {
|
|
354
|
-
turbidity: Uniform<number>;
|
|
355
|
-
rayleigh: Uniform<number>;
|
|
356
|
-
mieCoefficient: Uniform<number>;
|
|
357
|
-
mieDirectionalG: Uniform<number>;
|
|
358
|
-
sunPosition: Uniform<Vector3>;
|
|
359
|
-
up: Uniform<Vector3>;
|
|
360
|
-
}
|
|
361
|
-
|
|
362
|
-
/**
|
|
363
|
-
* Atmospheric scattering skybox.
|
|
364
|
-
*
|
|
365
|
-
* Elevation (theta, θ): Angle measured above or below the horizon (from the xy-plane towards the zenith or nadir).
|
|
366
|
-
* Azimuth (phi, φ): Angle measured around the horizon from a reference direction (e.g., north, east).
|
|
367
|
-
*/
|
|
368
|
-
export declare class AtmosphericSkybox extends Mesh {
|
|
369
|
-
geometry: BoxGeometry;
|
|
370
|
-
material: ShaderMaterial & {
|
|
371
|
-
uniforms: AtmosphericShaderUniforms;
|
|
372
|
-
};
|
|
373
|
-
constructor();
|
|
374
|
-
/**
|
|
375
|
-
* Set the sun position.
|
|
376
|
-
*
|
|
377
|
-
* Elevation (theta, θ)
|
|
378
|
-
* - Angle measured above or below the horizon (from the xy-plane towards the zenith or nadir).
|
|
379
|
-
* - Ranges from 0 to π/2 radians (or 0 to 90 degrees).
|
|
380
|
-
* - This is the vertical angle in the xy-plane.
|
|
381
|
-
*
|
|
382
|
-
* Azimuth (phi, φ)
|
|
383
|
-
* - Angle measured around the horizon from a reference direction (e.g., north, east).
|
|
384
|
-
* - Ranges from 0 to 2π radians (or 0 to 360 degrees).
|
|
385
|
-
* - This is the horizontal angle in the xy-plane.
|
|
386
|
-
*/
|
|
387
|
-
sunPosition(theta: number, phi: number): void;
|
|
388
|
-
}
|
|
389
|
-
|
|
390
221
|
/**
|
|
391
222
|
* Geometric and mathematical role of the vectors as axes in 3D space.
|
|
392
223
|
*
|
|
@@ -514,31 +345,6 @@ export declare const Axis: {
|
|
|
514
345
|
XYZ: Vector3;
|
|
515
346
|
};
|
|
516
347
|
|
|
517
|
-
declare interface BloomTransitionOptions extends SceneTransitionFXOptions {
|
|
518
|
-
maxBloom?: number;
|
|
519
|
-
}
|
|
520
|
-
|
|
521
|
-
declare interface BlurTransitionOptions extends SceneTransitionFXOptions {
|
|
522
|
-
maxBlur?: number;
|
|
523
|
-
kernelSize?: number;
|
|
524
|
-
}
|
|
525
|
-
|
|
526
|
-
export declare const blurTransitionShader: {
|
|
527
|
-
uniforms: {
|
|
528
|
-
tDiffuse: {
|
|
529
|
-
value: null;
|
|
530
|
-
};
|
|
531
|
-
kernelSize: {
|
|
532
|
-
value: number;
|
|
533
|
-
};
|
|
534
|
-
resolution: {
|
|
535
|
-
value: null;
|
|
536
|
-
};
|
|
537
|
-
};
|
|
538
|
-
vertexShader: string;
|
|
539
|
-
fragmentShader: string;
|
|
540
|
-
};
|
|
541
|
-
|
|
542
348
|
export declare class Bone extends Mesh<BoneGeometry, MeshStandardMaterial> {
|
|
543
349
|
constructor();
|
|
544
350
|
}
|
|
@@ -738,9 +544,6 @@ export declare function buildDiamondLatticeParts({ width, height, centerY, grid,
|
|
|
738
544
|
*/
|
|
739
545
|
export declare function buildGregorianLatticeParts({ width, height, centerY, cellsX, cellsY, mullionThickness: barT, mullionDepth: barD, }: GregorianLatticePartOptions): BoxGeometry[];
|
|
740
546
|
|
|
741
|
-
/** Outer frame bars — shared topology across lattice window openings. */
|
|
742
|
-
export declare function buildRingLatticeFrameParts({ width, height, centerY, frameThickness: barT, frameDepth: barD, }: RingLatticeFramePartOptions): BoxGeometry[];
|
|
743
|
-
|
|
744
547
|
export declare class BunsenBurner extends Group {
|
|
745
548
|
constructor();
|
|
746
549
|
}
|
|
@@ -914,87 +717,6 @@ export declare interface CameraSnapshot {
|
|
|
914
717
|
target: Vector3;
|
|
915
718
|
}
|
|
916
719
|
|
|
917
|
-
/**
|
|
918
|
-
* CameraTransition provides smooth animated transitions between perspective and orthographic cameras.
|
|
919
|
-
*
|
|
920
|
-
* The transition works by rendering both camera views to separate render targets and blending between them.
|
|
921
|
-
* This provides a true, accurate transition between the two camera types.
|
|
922
|
-
*
|
|
923
|
-
* @example
|
|
924
|
-
* ```typescript
|
|
925
|
-
* const transition = new CameraTransition(
|
|
926
|
-
* perspectiveCamera,
|
|
927
|
-
* orthographicCamera,
|
|
928
|
-
* renderer
|
|
929
|
-
* );
|
|
930
|
-
*
|
|
931
|
-
* transition.transitionTo(orthographicCamera, {
|
|
932
|
-
* duration: 1000,
|
|
933
|
-
* easing: 'easeInOutCubic'
|
|
934
|
-
* });
|
|
935
|
-
* ```
|
|
936
|
-
*/
|
|
937
|
-
export declare class CameraTransition {
|
|
938
|
-
private perspectiveCamera;
|
|
939
|
-
private orthographicCamera;
|
|
940
|
-
private renderer;
|
|
941
|
-
private scene;
|
|
942
|
-
private currentCamera;
|
|
943
|
-
private targetCamera;
|
|
944
|
-
private transitionProgress;
|
|
945
|
-
private transitionDuration;
|
|
946
|
-
private transitionStartTime;
|
|
947
|
-
private isTransitioning;
|
|
948
|
-
private easingFunction;
|
|
949
|
-
private renderTargetA;
|
|
950
|
-
private renderTargetB;
|
|
951
|
-
private blendScene;
|
|
952
|
-
private blendCamera;
|
|
953
|
-
private blendMaterial;
|
|
954
|
-
private onUpdateCallback?;
|
|
955
|
-
private onCompleteCallback?;
|
|
956
|
-
constructor(perspectiveCamera: THREE.PerspectiveCamera, orthographicCamera: THREE.OrthographicCamera, renderer: THREE.WebGLRenderer);
|
|
957
|
-
/**
|
|
958
|
-
* Start a transition to the target camera
|
|
959
|
-
*/
|
|
960
|
-
transitionTo(targetCamera: THREE.PerspectiveCamera | THREE.OrthographicCamera, options?: CameraTransitionOptions): void;
|
|
961
|
-
/**
|
|
962
|
-
* Update the transition. Call this in your render loop.
|
|
963
|
-
*/
|
|
964
|
-
update(scene: THREE.Scene): THREE.Camera;
|
|
965
|
-
/**
|
|
966
|
-
* Render the scene with camera transition blending
|
|
967
|
-
*/
|
|
968
|
-
render(scene: THREE.Scene): void;
|
|
969
|
-
/**
|
|
970
|
-
* Get the current active camera
|
|
971
|
-
*/
|
|
972
|
-
getCurrentCamera(): THREE.Camera;
|
|
973
|
-
/**
|
|
974
|
-
* Check if a transition is currently in progress
|
|
975
|
-
*/
|
|
976
|
-
getIsTransitioning(): boolean;
|
|
977
|
-
/**
|
|
978
|
-
* Get the current transition progress (0-1)
|
|
979
|
-
*/
|
|
980
|
-
getProgress(): number;
|
|
981
|
-
/**
|
|
982
|
-
* Resize the render targets when the renderer size changes
|
|
983
|
-
*/
|
|
984
|
-
setSize(width: number, height: number): void;
|
|
985
|
-
/**
|
|
986
|
-
* Dispose of resources
|
|
987
|
-
*/
|
|
988
|
-
dispose(): void;
|
|
989
|
-
}
|
|
990
|
-
|
|
991
|
-
export declare interface CameraTransitionOptions {
|
|
992
|
-
duration?: number;
|
|
993
|
-
easing?: EasingFunction | keyof typeof Easing;
|
|
994
|
-
onUpdate?: (progress: number) => void;
|
|
995
|
-
onComplete?: () => void;
|
|
996
|
-
}
|
|
997
|
-
|
|
998
720
|
/**
|
|
999
721
|
* Candle prefab — wax stick and emissive flame (separate material groups).
|
|
1000
722
|
*/
|
|
@@ -1328,12 +1050,6 @@ export declare function createHexagonalTilesByRadius(options: HexagonalTileRadiu
|
|
|
1328
1050
|
*/
|
|
1329
1051
|
export declare const createLogarithmicCurvePoints: (start: Vector2, end: Vector2, base: number, factor: number, segments?: number) => Vector2[];
|
|
1330
1052
|
|
|
1331
|
-
/**
|
|
1332
|
-
* Four clipping planes for a rectangular opening (shadow + mesh clip).
|
|
1333
|
-
* Fragments are discarded when `dot(normal, position) > constant`.
|
|
1334
|
-
*/
|
|
1335
|
-
export declare function createOpeningClippingPlanes(width: number, height: number, centerY?: number): Plane[];
|
|
1336
|
-
|
|
1337
1053
|
/** Circle the scene — showcase reel orbit. */
|
|
1338
1054
|
export declare function createOrbitClip(options: OrbitClipOptions): CameraClip;
|
|
1339
1055
|
|
|
@@ -1440,9 +1156,6 @@ export declare const createQuadraticCurvePoints: (start: Vector2, control: Vecto
|
|
|
1440
1156
|
*/
|
|
1441
1157
|
export declare function createRandom(seed?: number): RandomSource;
|
|
1442
1158
|
|
|
1443
|
-
/** Hollow square profile extruded for one lattice ring (local XY, facing +Z). */
|
|
1444
|
-
export declare function createRingLatticeGeometry(outer: number, wall: number, depth: number): ExtrudeGeometry;
|
|
1445
|
-
|
|
1446
1159
|
/**
|
|
1447
1160
|
* Function to create sigmoid curve points
|
|
1448
1161
|
*
|
|
@@ -1476,22 +1189,6 @@ export declare function createWobbleClip(options: WobbleClipOptions): CameraClip
|
|
|
1476
1189
|
/** Focus punch — smooth FOV narrow toward a target. Restores FOV on cancel; keeps end FOV on complete. */
|
|
1477
1190
|
export declare function createZoomClip(options: ZoomClipOptions): CameraClip;
|
|
1478
1191
|
|
|
1479
|
-
export declare const crossfadeShader: {
|
|
1480
|
-
uniforms: {
|
|
1481
|
-
tDiffuseA: {
|
|
1482
|
-
value: null;
|
|
1483
|
-
};
|
|
1484
|
-
tDiffuseB: {
|
|
1485
|
-
value: null;
|
|
1486
|
-
};
|
|
1487
|
-
mixRatio: {
|
|
1488
|
-
value: number;
|
|
1489
|
-
};
|
|
1490
|
-
};
|
|
1491
|
-
vertexShader: string;
|
|
1492
|
-
fragmentShader: string;
|
|
1493
|
-
};
|
|
1494
|
-
|
|
1495
1192
|
/**
|
|
1496
1193
|
* Cross headstone prefab.
|
|
1497
1194
|
*/
|
|
@@ -1568,45 +1265,6 @@ export declare function cubicUVMappingBatch(vertices: [number, number, number][]
|
|
|
1568
1265
|
*/
|
|
1569
1266
|
export declare function cylindricalUVMapping(vertices: [number, number, number][]): [number, number][];
|
|
1570
1267
|
|
|
1571
|
-
export declare class DaySkybox extends Mesh {
|
|
1572
|
-
geometry: BoxGeometry;
|
|
1573
|
-
material: ShaderMaterial & {
|
|
1574
|
-
uniforms: DaySkyUniforms;
|
|
1575
|
-
};
|
|
1576
|
-
constructor(size?: number);
|
|
1577
|
-
}
|
|
1578
|
-
|
|
1579
|
-
/**
|
|
1580
|
-
* Shader for a day skybox.
|
|
1581
|
-
*
|
|
1582
|
-
* Example:
|
|
1583
|
-
* ```
|
|
1584
|
-
* this.material = new ShaderMaterial({
|
|
1585
|
-
* uniforms: daySkyShader.uniforms,
|
|
1586
|
-
* vertexShader: daySkyShader.vertexShader,
|
|
1587
|
-
* fragmentShader: daySkyShader.fragmentShader,
|
|
1588
|
-
* side: BackSide,
|
|
1589
|
-
* }) as ShaderMaterial & { uniforms: DaySkyUniforms };
|
|
1590
|
-
* ```
|
|
1591
|
-
*/
|
|
1592
|
-
export declare const daySkyShader: {
|
|
1593
|
-
uniforms: {
|
|
1594
|
-
topColor: {
|
|
1595
|
-
value: Color;
|
|
1596
|
-
};
|
|
1597
|
-
bottomColor: {
|
|
1598
|
-
value: Color;
|
|
1599
|
-
};
|
|
1600
|
-
};
|
|
1601
|
-
vertexShader: string;
|
|
1602
|
-
fragmentShader: string;
|
|
1603
|
-
};
|
|
1604
|
-
|
|
1605
|
-
export declare interface DaySkyUniforms {
|
|
1606
|
-
topColor: Uniform<Color>;
|
|
1607
|
-
bottomColor: Uniform<Color>;
|
|
1608
|
-
}
|
|
1609
|
-
|
|
1610
1268
|
/**
|
|
1611
1269
|
* Derive an independent sub-stream seed from a master seed and domain salt.
|
|
1612
1270
|
*
|
|
@@ -2164,49 +1822,6 @@ export declare interface ErlenmeyerFlaskOptions extends ErlenmeyerFlaskGeometryO
|
|
|
2164
1822
|
opacity?: number;
|
|
2165
1823
|
}
|
|
2166
1824
|
|
|
2167
|
-
export declare const fadeShader: {
|
|
2168
|
-
uniforms: {
|
|
2169
|
-
tDiffuse: {
|
|
2170
|
-
value: null;
|
|
2171
|
-
};
|
|
2172
|
-
fadeAmount: {
|
|
2173
|
-
value: number;
|
|
2174
|
-
};
|
|
2175
|
-
fadeColor: {
|
|
2176
|
-
value: null;
|
|
2177
|
-
};
|
|
2178
|
-
};
|
|
2179
|
-
vertexShader: string;
|
|
2180
|
-
fragmentShader: string;
|
|
2181
|
-
};
|
|
2182
|
-
|
|
2183
|
-
declare interface FadeTransitionOptions extends SceneTransitionOptions {
|
|
2184
|
-
color?: THREE.ColorRepresentation;
|
|
2185
|
-
}
|
|
2186
|
-
|
|
2187
|
-
declare interface FadeTransitionOptions_2 extends SceneTransitionFXOptions {
|
|
2188
|
-
color?: THREE.ColorRepresentation;
|
|
2189
|
-
}
|
|
2190
|
-
|
|
2191
|
-
export declare const fadeTransitionSceneShader: {
|
|
2192
|
-
uniforms: {
|
|
2193
|
-
tDiffuseA: {
|
|
2194
|
-
value: null;
|
|
2195
|
-
};
|
|
2196
|
-
tDiffuseB: {
|
|
2197
|
-
value: null;
|
|
2198
|
-
};
|
|
2199
|
-
mixRatio: {
|
|
2200
|
-
value: number;
|
|
2201
|
-
};
|
|
2202
|
-
fadeColor: {
|
|
2203
|
-
value: null;
|
|
2204
|
-
};
|
|
2205
|
-
};
|
|
2206
|
-
vertexShader: string;
|
|
2207
|
-
fragmentShader: string;
|
|
2208
|
-
};
|
|
2209
|
-
|
|
2210
1825
|
export declare const Falloff: {
|
|
2211
1826
|
linear: (distance: number, radius: number) => number;
|
|
2212
1827
|
quadratic: (distance: number, radius: number) => number;
|
|
@@ -2404,10 +2019,6 @@ export declare class GearShape extends Shape {
|
|
|
2404
2019
|
*/
|
|
2405
2020
|
export declare function getAnalogousColors(baseHue: number): [number, number, number];
|
|
2406
2021
|
|
|
2407
|
-
declare interface GlitchTransitionOptions extends SceneTransitionFXOptions {
|
|
2408
|
-
maxIntensity?: number;
|
|
2409
|
-
}
|
|
2410
|
-
|
|
2411
2022
|
/**
|
|
2412
2023
|
* Soft additive glow billboard — reads as light without a {@link PointLight}.
|
|
2413
2024
|
* Pair with {@link FlameFlickerEffect} for organic pulse, or use alone for
|
|
@@ -3136,65 +2747,11 @@ export declare interface MossyRockOptions extends MossyRockGeometryOptions {
|
|
|
3136
2747
|
*/
|
|
3137
2748
|
export declare function mulberry32(seed: number): RandomStream;
|
|
3138
2749
|
|
|
3139
|
-
export declare class NightSkybox extends Mesh {
|
|
3140
|
-
geometry: SphereGeometry;
|
|
3141
|
-
material: ShaderMaterial & {
|
|
3142
|
-
uniforms: NightSkyUniforms;
|
|
3143
|
-
};
|
|
3144
|
-
constructor(size?: number);
|
|
3145
|
-
}
|
|
3146
|
-
|
|
3147
|
-
/**
|
|
3148
|
-
* Shader for a night skybox.
|
|
3149
|
-
*
|
|
3150
|
-
* Example:
|
|
3151
|
-
* ```
|
|
3152
|
-
* this.material = new ShaderMaterial({
|
|
3153
|
-
* vertexShader: nightSkyShader.vertexShader,
|
|
3154
|
-
* fragmentShader: nightSkyShader.fragmentShader,
|
|
3155
|
-
* uniforms: nightSkyShader.uniforms,
|
|
3156
|
-
* side: BackSide,
|
|
3157
|
-
* }) as ShaderMaterial & { uniforms: NightSkyUniforms };
|
|
3158
|
-
* ```
|
|
3159
|
-
*/
|
|
3160
|
-
export declare const nightSkyShader: {
|
|
3161
|
-
uniforms: {
|
|
3162
|
-
topColor: {
|
|
3163
|
-
value: Color;
|
|
3164
|
-
};
|
|
3165
|
-
bottomColor: {
|
|
3166
|
-
value: Color;
|
|
3167
|
-
};
|
|
3168
|
-
offset: {
|
|
3169
|
-
value: number;
|
|
3170
|
-
};
|
|
3171
|
-
exponent: {
|
|
3172
|
-
value: number;
|
|
3173
|
-
};
|
|
3174
|
-
};
|
|
3175
|
-
vertexShader: string;
|
|
3176
|
-
fragmentShader: string;
|
|
3177
|
-
};
|
|
3178
|
-
|
|
3179
|
-
export declare interface NightSkyUniforms {
|
|
3180
|
-
topColor: Uniform<Color>;
|
|
3181
|
-
bottomColor: Uniform<Color>;
|
|
3182
|
-
offset: Uniform<number>;
|
|
3183
|
-
exponent: Uniform<number>;
|
|
3184
|
-
}
|
|
3185
|
-
|
|
3186
2750
|
/**
|
|
3187
2751
|
* Adds random noise to the vertices within the specified radius to create a more rugged or natural look.
|
|
3188
2752
|
*/
|
|
3189
2753
|
export declare const noiseBrush: <T extends BufferGeometry>(geometry: T, position: Vector3, radius: number, strength: number, direction?: Vector3, falloffFn?: (distance: number, radius: number) => number) => void;
|
|
3190
2754
|
|
|
3191
|
-
declare interface NoiseDisplacementOptions {
|
|
3192
|
-
time?: number;
|
|
3193
|
-
intensity?: number;
|
|
3194
|
-
axis?: Vector3;
|
|
3195
|
-
scale?: number;
|
|
3196
|
-
}
|
|
3197
|
-
|
|
3198
2755
|
export declare function normalizeRgb(r: number, g: number, b: number): [number, number, number];
|
|
3199
2756
|
|
|
3200
2757
|
/**
|
|
@@ -3714,9 +3271,6 @@ export declare type RandomStream = () => number;
|
|
|
3714
3271
|
|
|
3715
3272
|
export declare function randomTransformVertices<T extends BufferGeometry>(geometry: T, axis?: Vector3, minScale?: number, maxScale?: number): T;
|
|
3716
3273
|
|
|
3717
|
-
/** Resolve uniform ring spacing — `cell` wins over the `cellsX` density hint. */
|
|
3718
|
-
export declare function resolveRingLatticeCell(width: number, _height: number, cell?: number, cellsX?: number): number;
|
|
3719
|
-
|
|
3720
3274
|
export declare function rgbToHex(r: number, g: number, b: number): number;
|
|
3721
3275
|
|
|
3722
3276
|
/**
|
|
@@ -3731,84 +3285,6 @@ export declare function rgbToHex(r: number, g: number, b: number): number;
|
|
|
3731
3285
|
*/
|
|
3732
3286
|
export declare function rgbToHsl(r: number, g: number, b: number): [number, number, number];
|
|
3733
3287
|
|
|
3734
|
-
/** Ring-spacing factor — overlap tightens as this approaches 1. */
|
|
3735
|
-
export declare const RING_LATTICE_SPACING_FACTOR = 0.96;
|
|
3736
|
-
|
|
3737
|
-
declare interface RingLatticeFramePartOptions {
|
|
3738
|
-
width: number;
|
|
3739
|
-
height: number;
|
|
3740
|
-
centerY?: number;
|
|
3741
|
-
frameThickness: number;
|
|
3742
|
-
frameDepth: number;
|
|
3743
|
-
}
|
|
3744
|
-
|
|
3745
|
-
export declare interface RingLatticeGrid {
|
|
3746
|
-
/** Requested ring-center spacing before the overlap factor. */
|
|
3747
|
-
cell: number;
|
|
3748
|
-
/** Effective center spacing (`cell × 0.96`). */
|
|
3749
|
-
latticeCell: number;
|
|
3750
|
-
/** Outer half-extent of each square ring profile. */
|
|
3751
|
-
ringOuter: number;
|
|
3752
|
-
/** Ring instance count. */
|
|
3753
|
-
count: number;
|
|
3754
|
-
}
|
|
3755
|
-
|
|
3756
|
-
declare interface RingLatticeSpotOptions {
|
|
3757
|
-
width: number;
|
|
3758
|
-
height: number;
|
|
3759
|
-
centerY?: number;
|
|
3760
|
-
cell: number;
|
|
3761
|
-
}
|
|
3762
|
-
|
|
3763
|
-
/** Ring-center positions overscanning the opening (stencil trims the excess). */
|
|
3764
|
-
export declare function ringLatticeSpots({ width, height, centerY, cell, }: RingLatticeSpotOptions): {
|
|
3765
|
-
spots: [number, number][];
|
|
3766
|
-
grid: RingLatticeGrid;
|
|
3767
|
-
};
|
|
3768
|
-
|
|
3769
|
-
/**
|
|
3770
|
-
* Ring lattice window — overlapping square rings on a uniform grid (diaper /
|
|
3771
|
-
* trellis fretwork), stencil-clipped to a rectangular opening.
|
|
3772
|
-
*/
|
|
3773
|
-
export declare class RingLatticeWindow extends Group {
|
|
3774
|
-
readonly lattice: InstancedMesh;
|
|
3775
|
-
readonly frame: Mesh;
|
|
3776
|
-
readonly glass?: Mesh<PlaneGeometry, MeshPhysicalMaterial>;
|
|
3777
|
-
readonly cell: number;
|
|
3778
|
-
readonly fittedGrid: RingLatticeGrid;
|
|
3779
|
-
private readonly clipPlanesLocal;
|
|
3780
|
-
private readonly clipPlanesWorld;
|
|
3781
|
-
constructor({ width, height, cell: cellOption, cellsX, centerY, ringThickness, ringDepth, frameThickness, frameDepth, latticeColor, glass, glassColor, glassEmissive, glassEmissiveIntensity, }?: RingLatticeWindowOptions);
|
|
3782
|
-
}
|
|
3783
|
-
|
|
3784
|
-
declare interface RingLatticeWindowOptions {
|
|
3785
|
-
/** Opening width (world units). */
|
|
3786
|
-
width?: number;
|
|
3787
|
-
/** Opening height (world units). */
|
|
3788
|
-
height?: number;
|
|
3789
|
-
/** Uniform ring-center spacing. Overrides `cellsX` when set. Defaults to `0.55`. */
|
|
3790
|
-
cell?: number;
|
|
3791
|
-
/** Density hint — `cell = width / cellsX` when `cell` is omitted. */
|
|
3792
|
-
cellsX?: number;
|
|
3793
|
-
/** Wall thickness of each square ring profile. Defaults to `0.05`. */
|
|
3794
|
-
ringThickness?: number;
|
|
3795
|
-
/** Extrusion depth of each ring. Defaults to `0.06`. */
|
|
3796
|
-
ringDepth?: number;
|
|
3797
|
-
/** Outer frame bar thickness. Defaults to `0.055`. */
|
|
3798
|
-
frameThickness?: number;
|
|
3799
|
-
/** Outer frame depth (Z). Defaults to `0.11`. */
|
|
3800
|
-
frameDepth?: number;
|
|
3801
|
-
/** Vertical center of the opening in local space. Defaults to `0`. */
|
|
3802
|
-
centerY?: number;
|
|
3803
|
-
/** Lattice + frame tint. Defaults to `#0c0f14`. */
|
|
3804
|
-
latticeColor?: ColorRepresentation;
|
|
3805
|
-
/** Optional glass pane recessed slightly on −Z. */
|
|
3806
|
-
glass?: boolean;
|
|
3807
|
-
glassColor?: ColorRepresentation;
|
|
3808
|
-
glassEmissive?: ColorRepresentation;
|
|
3809
|
-
glassEmissiveIntensity?: number;
|
|
3810
|
-
}
|
|
3811
|
-
|
|
3812
3288
|
/**
|
|
3813
3289
|
* Single rock prefab — noisy sphere mesh.
|
|
3814
3290
|
*/
|
|
@@ -3996,256 +3472,6 @@ export declare interface ScatterRocksOptions extends RockScatterPlacementOptions
|
|
|
3996
3472
|
color?: ColorRepresentation;
|
|
3997
3473
|
}
|
|
3998
3474
|
|
|
3999
|
-
/**
|
|
4000
|
-
* SceneTransition provides smooth animated transitions between Three.js scenes.
|
|
4001
|
-
*
|
|
4002
|
-
* Supports multiple transition types:
|
|
4003
|
-
* - Fade: Fade to a color (black, white, etc.) and back
|
|
4004
|
-
* - Crossfade: Directly blend from one scene to another
|
|
4005
|
-
* - Blur: Blur out the first scene and blur in the second
|
|
4006
|
-
*
|
|
4007
|
-
* @example
|
|
4008
|
-
* ```typescript
|
|
4009
|
-
* const sceneTransition = new SceneTransition(renderer);
|
|
4010
|
-
*
|
|
4011
|
-
* // Fade to black transition
|
|
4012
|
-
* sceneTransition.fade(sceneA, sceneB, camera, {
|
|
4013
|
-
* duration: 1000,
|
|
4014
|
-
* color: 0x000000,
|
|
4015
|
-
* easing: 'easeInOutCubic'
|
|
4016
|
-
* });
|
|
4017
|
-
*
|
|
4018
|
-
* // Direct crossfade
|
|
4019
|
-
* sceneTransition.crossfade(sceneA, sceneB, camera, {
|
|
4020
|
-
* duration: 1500
|
|
4021
|
-
* });
|
|
4022
|
-
* ```
|
|
4023
|
-
*/
|
|
4024
|
-
export declare class SceneTransition {
|
|
4025
|
-
private renderer;
|
|
4026
|
-
private currentScene;
|
|
4027
|
-
private targetScene;
|
|
4028
|
-
private camera;
|
|
4029
|
-
private transitionProgress;
|
|
4030
|
-
private transitionDuration;
|
|
4031
|
-
private transitionStartTime;
|
|
4032
|
-
private isTransitioning;
|
|
4033
|
-
private transitionType;
|
|
4034
|
-
private easingFunction;
|
|
4035
|
-
private renderTargetA;
|
|
4036
|
-
private renderTargetB;
|
|
4037
|
-
private blendScene;
|
|
4038
|
-
private blendCamera;
|
|
4039
|
-
private fadeMaterial;
|
|
4040
|
-
private crossfadeMaterial;
|
|
4041
|
-
private fadeColor;
|
|
4042
|
-
private onUpdateCallback?;
|
|
4043
|
-
private onCompleteCallback?;
|
|
4044
|
-
constructor(renderer: THREE.WebGLRenderer);
|
|
4045
|
-
/**
|
|
4046
|
-
* Fade transition: Fades to a color and then fades in the new scene
|
|
4047
|
-
*/
|
|
4048
|
-
fade(fromScene: THREE.Scene, toScene: THREE.Scene, camera: THREE.Camera, options?: FadeTransitionOptions): void;
|
|
4049
|
-
/**
|
|
4050
|
-
* Crossfade transition: Directly blends from one scene to another
|
|
4051
|
-
*/
|
|
4052
|
-
crossfade(fromScene: THREE.Scene, toScene: THREE.Scene, camera: THREE.Camera, options?: SceneTransitionOptions): void;
|
|
4053
|
-
/**
|
|
4054
|
-
* Blur transition: Blurs out first scene, then blurs in second scene
|
|
4055
|
-
* Note: This uses the fade material with a neutral gray for a blur-like effect
|
|
4056
|
-
* For true blur, you'd need post-processing passes
|
|
4057
|
-
*/
|
|
4058
|
-
blur(fromScene: THREE.Scene, toScene: THREE.Scene, camera: THREE.Camera, options?: SceneTransitionOptions): void;
|
|
4059
|
-
/**
|
|
4060
|
-
* Internal method to start a transition
|
|
4061
|
-
*/
|
|
4062
|
-
private startTransition;
|
|
4063
|
-
/**
|
|
4064
|
-
* Update the transition. Call this in your render loop.
|
|
4065
|
-
*/
|
|
4066
|
-
update(): void;
|
|
4067
|
-
/**
|
|
4068
|
-
* Render the scene with transition blending
|
|
4069
|
-
*/
|
|
4070
|
-
render(): void;
|
|
4071
|
-
/**
|
|
4072
|
-
* Get the current active scene
|
|
4073
|
-
*/
|
|
4074
|
-
getCurrentScene(): THREE.Scene | null;
|
|
4075
|
-
/**
|
|
4076
|
-
* Check if a transition is currently in progress
|
|
4077
|
-
*/
|
|
4078
|
-
getIsTransitioning(): boolean;
|
|
4079
|
-
/**
|
|
4080
|
-
* Get the current transition progress (0-1)
|
|
4081
|
-
*/
|
|
4082
|
-
getProgress(): number;
|
|
4083
|
-
/**
|
|
4084
|
-
* Set the current scene (useful for initialization)
|
|
4085
|
-
*/
|
|
4086
|
-
setCurrentScene(scene: THREE.Scene): void;
|
|
4087
|
-
/**
|
|
4088
|
-
* Resize the render targets when the renderer size changes
|
|
4089
|
-
*/
|
|
4090
|
-
setSize(width: number, height: number): void;
|
|
4091
|
-
/**
|
|
4092
|
-
* Dispose of resources
|
|
4093
|
-
*/
|
|
4094
|
-
dispose(): void;
|
|
4095
|
-
}
|
|
4096
|
-
|
|
4097
|
-
/**
|
|
4098
|
-
* SceneTransitionFX provides advanced post-processing transitions between Three.js scenes.
|
|
4099
|
-
*
|
|
4100
|
-
* Uses EffectComposer for sophisticated visual effects:
|
|
4101
|
-
* - Bloom: Bright bloom effect that peaks at transition midpoint, washing out to white
|
|
4102
|
-
* - Blur: Progressive blur effect that peaks at midpoint, blurring scenes to oblivion
|
|
4103
|
-
* - Fade: Classic fade through a color (black, white, or custom)
|
|
4104
|
-
* - Glitch: Digital distortion/glitch effect with heavy artifacts
|
|
4105
|
-
*
|
|
4106
|
-
* Built-in shader passes for blur and fade are automatically created. For bloom and glitch
|
|
4107
|
-
* effects, you'll need to provide those passes manually.
|
|
4108
|
-
*
|
|
4109
|
-
* Note: Requires post-processing imports from three/addons
|
|
4110
|
-
*
|
|
4111
|
-
* @example
|
|
4112
|
-
* ```typescript
|
|
4113
|
-
* import { EffectComposer } from 'three/addons/postprocessing/EffectComposer.js';
|
|
4114
|
-
* import { RenderPass } from 'three/addons/postprocessing/RenderPass.js';
|
|
4115
|
-
* import { UnrealBloomPass } from 'three/addons/postprocessing/UnrealBloomPass.js';
|
|
4116
|
-
* import { ShaderPass } from 'three/addons/postprocessing/ShaderPass.js';
|
|
4117
|
-
*
|
|
4118
|
-
* const composer = new EffectComposer(renderer);
|
|
4119
|
-
* const renderPass = new RenderPass(sceneA, camera);
|
|
4120
|
-
* composer.addPass(renderPass);
|
|
4121
|
-
*
|
|
4122
|
-
* // Pass ShaderPass to enable built-in blur and fade effects
|
|
4123
|
-
* const sceneTransitionFX = new SceneTransitionFX(renderer, composer, ShaderPass);
|
|
4124
|
-
*
|
|
4125
|
-
* // Blur and fade transitions work out of the box
|
|
4126
|
-
* sceneTransitionFX.blur(sceneA, sceneB, camera, { duration: 2000 });
|
|
4127
|
-
* sceneTransitionFX.fade(sceneA, sceneB, camera, { duration: 2000, color: 0x000000 });
|
|
4128
|
-
*
|
|
4129
|
-
* // For bloom, provide the pass manually
|
|
4130
|
-
* const bloomPass = new UnrealBloomPass(new THREE.Vector2(width, height), 0, 0.4, 0.85);
|
|
4131
|
-
* bloomPass.enabled = false;
|
|
4132
|
-
* composer.addPass(bloomPass);
|
|
4133
|
-
* sceneTransitionFX.setBloomPass(bloomPass);
|
|
4134
|
-
* sceneTransitionFX.bloom(sceneA, sceneB, camera, { duration: 2000, maxBloom: 15.0 });
|
|
4135
|
-
* ```
|
|
4136
|
-
*/
|
|
4137
|
-
export declare class SceneTransitionFX {
|
|
4138
|
-
private renderer;
|
|
4139
|
-
private composer;
|
|
4140
|
-
private currentScene;
|
|
4141
|
-
private targetScene;
|
|
4142
|
-
private camera;
|
|
4143
|
-
private transitionProgress;
|
|
4144
|
-
private transitionDuration;
|
|
4145
|
-
private transitionStartTime;
|
|
4146
|
-
private isTransitioning;
|
|
4147
|
-
private transitionType;
|
|
4148
|
-
private easingFunction;
|
|
4149
|
-
private renderPass;
|
|
4150
|
-
private bloomPass;
|
|
4151
|
-
private glitchPass;
|
|
4152
|
-
private blurPass;
|
|
4153
|
-
private fadePass;
|
|
4154
|
-
private maxBloomStrength;
|
|
4155
|
-
private maxBlurAmount;
|
|
4156
|
-
private maxGlitchIntensity;
|
|
4157
|
-
private fadeColor;
|
|
4158
|
-
private onUpdateCallback?;
|
|
4159
|
-
private onCompleteCallback?;
|
|
4160
|
-
constructor(renderer: THREE.WebGLRenderer, composer: any, ShaderPass?: any);
|
|
4161
|
-
/**
|
|
4162
|
-
* Create default shader passes for blur and fade effects
|
|
4163
|
-
*/
|
|
4164
|
-
private createDefaultPasses;
|
|
4165
|
-
/**
|
|
4166
|
-
* Set the bloom pass for bloom transitions
|
|
4167
|
-
*/
|
|
4168
|
-
setBloomPass(bloomPass: any): void;
|
|
4169
|
-
/**
|
|
4170
|
-
* Set the glitch pass for glitch transitions
|
|
4171
|
-
*/
|
|
4172
|
-
setGlitchPass(glitchPass: any): void;
|
|
4173
|
-
/**
|
|
4174
|
-
* Set the blur pass for blur transitions
|
|
4175
|
-
*/
|
|
4176
|
-
setBlurPass(blurPass: any): void;
|
|
4177
|
-
/**
|
|
4178
|
-
* Set the fade pass for fade transitions
|
|
4179
|
-
*/
|
|
4180
|
-
setFadePass(fadePass: any): void;
|
|
4181
|
-
/**
|
|
4182
|
-
* Bloom transition: Bright bloom effect that peaks at transition midpoint
|
|
4183
|
-
*/
|
|
4184
|
-
bloom(fromScene: THREE.Scene, toScene: THREE.Scene, camera: THREE.Camera, options?: BloomTransitionOptions): void;
|
|
4185
|
-
/**
|
|
4186
|
-
* Blur transition: Progressively blur scenes to oblivion and back
|
|
4187
|
-
*/
|
|
4188
|
-
blur(fromScene: THREE.Scene, toScene: THREE.Scene, camera: THREE.Camera, options?: BlurTransitionOptions): void;
|
|
4189
|
-
/**
|
|
4190
|
-
* Fade transition: Classic fade through a color (black, white, or custom)
|
|
4191
|
-
*/
|
|
4192
|
-
fade(fromScene: THREE.Scene, toScene: THREE.Scene, camera: THREE.Camera, options?: FadeTransitionOptions_2): void;
|
|
4193
|
-
/**
|
|
4194
|
-
* Glitch transition: Digital distortion effect
|
|
4195
|
-
*/
|
|
4196
|
-
glitch(fromScene: THREE.Scene, toScene: THREE.Scene, camera: THREE.Camera, options?: GlitchTransitionOptions): void;
|
|
4197
|
-
/**
|
|
4198
|
-
* Internal method to start a transition
|
|
4199
|
-
*/
|
|
4200
|
-
private startTransition;
|
|
4201
|
-
/**
|
|
4202
|
-
* Update the transition. Call this in your render loop.
|
|
4203
|
-
*/
|
|
4204
|
-
update(): void;
|
|
4205
|
-
/**
|
|
4206
|
-
* Render using the effect composer
|
|
4207
|
-
*/
|
|
4208
|
-
render(): void;
|
|
4209
|
-
/**
|
|
4210
|
-
* Get the current active scene
|
|
4211
|
-
*/
|
|
4212
|
-
getCurrentScene(): THREE.Scene | null;
|
|
4213
|
-
/**
|
|
4214
|
-
* Check if a transition is currently in progress
|
|
4215
|
-
*/
|
|
4216
|
-
getIsTransitioning(): boolean;
|
|
4217
|
-
/**
|
|
4218
|
-
* Get the current transition progress (0-1)
|
|
4219
|
-
*/
|
|
4220
|
-
getProgress(): number;
|
|
4221
|
-
/**
|
|
4222
|
-
* Set the current scene (useful for initialization)
|
|
4223
|
-
*/
|
|
4224
|
-
setCurrentScene(scene: THREE.Scene): void;
|
|
4225
|
-
/**
|
|
4226
|
-
* Resize the composer when the renderer size changes
|
|
4227
|
-
*/
|
|
4228
|
-
setSize(width: number, height: number): void;
|
|
4229
|
-
/**
|
|
4230
|
-
* Dispose of resources
|
|
4231
|
-
*/
|
|
4232
|
-
dispose(): void;
|
|
4233
|
-
}
|
|
4234
|
-
|
|
4235
|
-
export declare interface SceneTransitionFXOptions {
|
|
4236
|
-
duration?: number;
|
|
4237
|
-
easing?: EasingFunction | keyof typeof Easing;
|
|
4238
|
-
onUpdate?: (progress: number) => void;
|
|
4239
|
-
onComplete?: () => void;
|
|
4240
|
-
}
|
|
4241
|
-
|
|
4242
|
-
export declare interface SceneTransitionOptions {
|
|
4243
|
-
duration?: number;
|
|
4244
|
-
easing?: EasingFunction | keyof typeof Easing;
|
|
4245
|
-
onUpdate?: (progress: number) => void;
|
|
4246
|
-
onComplete?: () => void;
|
|
4247
|
-
}
|
|
4248
|
-
|
|
4249
3475
|
/**
|
|
4250
3476
|
* Set a random interval that will call the callback function with a random delay between minDelay and maxDelay.
|
|
4251
3477
|
*
|
|
@@ -4959,20 +4185,6 @@ export declare interface TreeOptions extends TreeGeometryOptions {
|
|
|
4959
4185
|
*/
|
|
4960
4186
|
export declare const twistBrush: <T extends BufferGeometry>(geometry: T, position: Vector3, radius: number, strength: number, direction?: Vector3, falloffFn?: (distance: number, radius: number) => number) => void;
|
|
4961
4187
|
|
|
4962
|
-
/**
|
|
4963
|
-
* Updates the time uniform of the material's shader to animate the noise effect.
|
|
4964
|
-
* @param {Material} material - The material to update.
|
|
4965
|
-
* @param {number} deltaTime - The time increment to add.
|
|
4966
|
-
*/
|
|
4967
|
-
export declare function updateNoiseDisplacementTime<T extends Material>(material: T, deltaTime: number): void;
|
|
4968
|
-
|
|
4969
|
-
/**
|
|
4970
|
-
* Updates the time uniform of the material's shader to animate the water effect.
|
|
4971
|
-
* @param {Material} material - The material to update.
|
|
4972
|
-
* @param {number} deltaTime - The time increment to add.
|
|
4973
|
-
*/
|
|
4974
|
-
export declare function updateWaterDisplacementTime<T extends Material>(material: T, deltaTime: number): void;
|
|
4975
|
-
|
|
4976
4188
|
/**
|
|
4977
4189
|
* Wall-mounted oil-lamp sconce — iron mount and cap/bowl frame around an
|
|
4978
4190
|
* emissive glass chimney. Pair {@link GlowHalo} and {@link FlameFlickerEffect}
|