genshin-engine 4.1.1 → 4.2.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.d.ts DELETED
@@ -1,2572 +0,0 @@
1
- import { A as CliffFeature, C as GroundLayerField, D as GroundBand, E as GroundLayers, O as GaussianHills, S as GroundPathSegment, T as GroundLayer, _ as TerrainOptions, a as createTerrainShapeHeight, b as PlateauFeature, c as computeTerrainTile, d as TerrainTileOptions, f as TerrainShape, g as TerrainResidualClearing, h as TerrainResidualFade, i as getTerrainTileColumn, j as TerrainFeatureKind, k as GaussianHill, l as createSeededRandom, m as TerrainResidual, n as getTerrainTileRow, o as createGroundPaintColor, p as TerrainTile, r as getTerrainTileLevel, s as createGroundLayerWeights, t as computeScatterPoints, u as ScatterOptions, v as TerrainFeature, w as GroundLayerColors, x as GroundPaint, y as RidgeFeature } from "./terrainWorker-CLOYYKT1.js";
2
- import { Box3, BufferAttribute, BufferGeometry, Camera, CanvasTexture, Color, ColorRepresentation, Data3DTexture, DataTexture, DirectionalLight, Frustum, HemisphereLight, InstancedBufferGeometry, InstancedMesh, Material, Matrix3, Matrix4, Mesh, Object3D, OrthographicCamera, PerspectiveCamera, Quaternion, Scene, Skeleton, SkinnedMesh, Sprite, Texture, ToneMapping, Vector2, Vector3, Vector3Like, Vector3Tuple, Vector4Tuple } from "three";
3
- import { LightingModel, LightingModelDirectInput, Material as Material$1, MeshBasicNodeMaterial, MeshToonNodeMaterial, MeshToonNodeMaterialParameters, Node, NodeBuilder, NodeFrame, NodeMaterial, PassNode, RenderPipeline, RenderTarget, Renderer, Texture as Texture$1, TextureNode, ToonOutlinePassNode, UniformArrayNode, UniformNode, WebGPURenderer } from "three/webgpu";
4
- import { CSMShadowNode, CSMShadowNodeData } from "three/examples/jsm/csm/CSMShadowNode.js";
5
- import { Capsule } from "three/examples/jsm/math/Capsule.js";
6
- import GTAONode from "three/examples/jsm/tsl/display/GTAONode.js";
7
- import BloomNode from "three/examples/jsm/tsl/display/BloomNode.js";
8
- import GodraysNode from "three/examples/jsm/tsl/display/GodraysNode.js";
9
- import { Inspector } from "three/examples/jsm/inspector/Inspector.js";
10
- //#region src/models/atmosphere/SkyUniforms.d.ts
11
- export interface SkyUniforms {
12
- cloudCoverage: UniformNode<"float", number>;
13
- cloudDrift: UniformNode<"vec2", Vector2>;
14
- cloudFrontBackBlend: UniformNode<"float", number>;
15
- cloudLitBackColor: UniformNode<"color", Color>;
16
- cloudLitColor: UniformNode<"color", Color>;
17
- cloudShadeBackColor: UniformNode<"color", Color>;
18
- cloudShadeColor: UniformNode<"color", Color>;
19
- cloudSunBrighten: UniformNode<"float", number>;
20
- frontBackBlend: UniformNode<"float", number>;
21
- haloColor: UniformNode<"color", Color>;
22
- haloHeight: UniformNode<"float", number>;
23
- horizonBackColor: UniformNode<"color", Color>;
24
- horizonBand: UniformNode<"float", number>;
25
- horizonColor: UniformNode<"color", Color>;
26
- lightColor: UniformNode<"color", Color>;
27
- moonDirection: UniformNode<"vec3", Vector3>;
28
- moonGlowColor: UniformNode<"color", Color>;
29
- moonSize: UniformNode<"float", number>;
30
- starIntensity: UniformNode<"float", number>;
31
- sunDirection: UniformNode<"vec3", Vector3>;
32
- sunHaloColor: UniformNode<"color", Color>;
33
- sunHaloSize: UniformNode<"float", number>;
34
- zenithBackColor: UniformNode<"color", Color>;
35
- zenithColor: UniformNode<"color", Color>;
36
- }
37
- //#endregion
38
- //#region src/atmosphere/applyLightningFlash.d.ts
39
- export declare const applyLightningFlash: (flash: number, flashColor: Color, skyUniforms: SkyUniforms, hemisphere: HemisphereLight) => void;
40
- //#endregion
41
- //#region src/models/atmosphere/PrecipitationSettings.d.ts
42
- export interface PrecipitationSettings {
43
- fallSpeed: number;
44
- length: number;
45
- opacity: number;
46
- sway: number;
47
- width: number;
48
- windDrift: number;
49
- }
50
- //#endregion
51
- //#region src/models/atmosphere/PrecipitationUniforms.d.ts
52
- export interface PrecipitationUniforms {
53
- density: UniformNode<"float", number>;
54
- eye: UniformNode<"vec3", Vector3>;
55
- fallSpeed: UniformNode<"float", number>;
56
- length: UniformNode<"float", number>;
57
- opacity: UniformNode<"float", number>;
58
- splashDensity: UniformNode<"float", number>;
59
- sway: UniformNode<"float", number>;
60
- width: UniformNode<"float", number>;
61
- windDrift: UniformNode<"float", number>;
62
- }
63
- //#endregion
64
- //#region src/atmosphere/applyPrecipitationSettings.d.ts
65
- export declare const applyPrecipitationSettings: ({ fallSpeed, length, opacity, sway, width, windDrift }: PrecipitationSettings, precipitationUniforms: PrecipitationUniforms) => void;
66
- //#endregion
67
- //#region src/models/atmosphere/BaseSkyState.d.ts
68
- export interface BaseSkyState {
69
- cloudLitColor: Color;
70
- cloudShadeColor: Color;
71
- hemisphereGroundColor: Color;
72
- hemisphereIntensity: number;
73
- hemisphereSkyColor: Color;
74
- horizonColor: Color;
75
- lightColor: Color;
76
- lightIntensity: number;
77
- starIntensity: number;
78
- zenithColor: Color;
79
- }
80
- //#endregion
81
- //#region src/models/atmosphere/SkyShape.d.ts
82
- export interface SkyShape {
83
- frontBackBlend: number;
84
- haloHeight: number;
85
- horizonBand: number;
86
- moonSize: number;
87
- sunHaloSize: number;
88
- }
89
- //#endregion
90
- //#region src/models/post/WhiteBalance.d.ts
91
- export interface WhiteBalance {
92
- temperature: number;
93
- tint: number;
94
- }
95
- //#endregion
96
- //#region src/models/atmosphere/SkyState.d.ts
97
- export interface SkyState extends BaseSkyState {
98
- cloudLitBackColor?: Color;
99
- cloudShadeBackColor?: Color;
100
- fogColor?: Color;
101
- fogDensity?: number;
102
- fogHeightFalloff?: number;
103
- fogMaxOpacity?: number;
104
- haloColor?: Color;
105
- horizonBackColor?: Color;
106
- lightDirection: Vector3;
107
- moonDirection: Vector3;
108
- moonGlowColor?: Color;
109
- shape?: SkyShape;
110
- sunDirection: Vector3;
111
- sunHaloColor?: Color;
112
- whiteBalance?: WhiteBalance;
113
- zenithBackColor?: Color;
114
- }
115
- //#endregion
116
- //#region src/models/nodes/LightUniforms.d.ts
117
- export interface LightUniforms {
118
- lightColor: UniformNode<"color", Color>;
119
- rimColor: UniformNode<"color", Color>;
120
- rimStrength: UniformNode<"float", number>;
121
- sunDirection: UniformNode<"vec3", Vector3>;
122
- wetness: UniformNode<"float", number>;
123
- }
124
- //#endregion
125
- //#region src/models/post/FogUniforms.d.ts
126
- export interface FogUniforms {
127
- baseHeight: UniformNode<"float", number>;
128
- color: UniformNode<"color", Color>;
129
- density: UniformNode<"float", number>;
130
- heightFalloff: UniformNode<"float", number>;
131
- maxOpacity: UniformNode<"float", number>;
132
- scatterColor: UniformNode<"color", Color>;
133
- scatterDirection: UniformNode<"vec3", Vector3>;
134
- scatterPower: UniformNode<"float", number>;
135
- scatterStrength: UniformNode<"float", number>;
136
- startDistance: UniformNode<"float", number>;
137
- }
138
- //#endregion
139
- //#region src/models/post/PostUniforms.d.ts
140
- export interface PostUniforms {
141
- godraysColor: UniformNode<"color", Color>;
142
- gradeIntensity: UniformNode<"float", number>;
143
- outlineColor: UniformNode<"color", Color>;
144
- outlineFadeDistance: UniformNode<"float", number>;
145
- outlineThickness: UniformNode<"float", number>;
146
- whiteBalance: UniformNode<"mat3", Matrix3>;
147
- }
148
- //#endregion
149
- //#region src/models/atmosphere/SkyTargets.d.ts
150
- export interface SkyTargets {
151
- fogUniforms: FogUniforms;
152
- godraysLight?: DirectionalLight;
153
- hemisphere: HemisphereLight;
154
- light: DirectionalLight;
155
- lightDistance: number;
156
- lightUniforms: LightUniforms;
157
- postUniforms: PostUniforms;
158
- skyUniforms: SkyUniforms;
159
- }
160
- //#endregion
161
- //#region src/atmosphere/applySkyState.d.ts
162
- export declare const applySkyState: (skyState: SkyState, { fogUniforms, godraysLight, hemisphere, light, lightDistance, lightUniforms, postUniforms, skyUniforms }: SkyTargets) => void;
163
- //#endregion
164
- //#region src/models/atmosphere/PrecipitationKind.d.ts
165
- export declare enum PrecipitationKind {
166
- Rain = "Rain",
167
- Sand = "Sand",
168
- Snow = "Snow"
169
- }
170
- //#endregion
171
- //#region src/models/atmosphere/WeatherState.d.ts
172
- export interface WeatherState {
173
- cloudCoverage: number;
174
- fogColor: number;
175
- fogColorAmount: number;
176
- fogDensity: number;
177
- lightningRate: number;
178
- precipitationDensity: number;
179
- precipitationKind: PrecipitationKind;
180
- wetness: number;
181
- }
182
- //#endregion
183
- //#region src/models/atmosphere/WeatherTargets.d.ts
184
- export interface WeatherTargets {
185
- fogUniforms: FogUniforms;
186
- lightUniforms: LightUniforms;
187
- precipitationUniforms: PrecipitationUniforms;
188
- skyUniforms: SkyUniforms;
189
- }
190
- //#endregion
191
- //#region src/atmosphere/applyWeatherState.d.ts
192
- export declare const applyWeatherState: ({ cloudCoverage, fogDensity, precipitationDensity, precipitationKind, wetness }: WeatherState, { fogUniforms, lightUniforms, precipitationUniforms, skyUniforms }: WeatherTargets, baseCloudCoverage: number, baseFogDensity: number) => void;
193
- //#endregion
194
- //#region src/models/atmosphere/WeatherPrecipitation.d.ts
195
- export interface WeatherPrecipitation {
196
- density: number;
197
- kind: PrecipitationKind;
198
- }
199
- //#endregion
200
- //#region src/models/atmosphere/WeatherSettings.d.ts
201
- export interface WeatherSettings {
202
- cloudCoverage: number;
203
- fogColor?: number;
204
- fogDensity: number;
205
- lightningRate?: number;
206
- precipitation?: WeatherPrecipitation;
207
- wetness: number;
208
- }
209
- //#endregion
210
- //#region src/atmosphere/blendWeatherState.d.ts
211
- export declare const blendWeatherState: (from: Readonly<WeatherState>, { cloudCoverage, fogColor, fogDensity, lightningRate, precipitation, wetness }: WeatherSettings, amount: number, weatherState: WeatherState) => void;
212
- //#endregion
213
- //#region src/atmosphere/checkSunTurned.d.ts
214
- export declare const checkSunTurned: (drawnDirection: Vector3, direction: Vector3) => boolean;
215
- //#endregion
216
- //#region src/models/atmosphere/LightningBolt.d.ts
217
- export interface LightningBolt {
218
- directions: Float32Array;
219
- indices: Uint32Array;
220
- positions: Float32Array;
221
- sides: Float32Array;
222
- }
223
- //#endregion
224
- //#region src/models/atmosphere/LightningBoltOptions.d.ts
225
- export interface LightningBoltOptions {
226
- branchCount: number;
227
- height: number;
228
- roughness: number;
229
- seed: number;
230
- segmentCount: number;
231
- width: number;
232
- }
233
- //#endregion
234
- //#region src/atmosphere/computeLightningBolt.d.ts
235
- export declare const computeLightningBolt: ({ branchCount, height, roughness, seed, segmentCount, width }: LightningBoltOptions) => LightningBolt;
236
- //#endregion
237
- //#region src/atmosphere/computeLightningFlash.d.ts
238
- export declare const computeLightningFlash: (elapsed: number) => number;
239
- //#endregion
240
- //#region src/atmosphere/computeSunDirection.d.ts
241
- export declare const computeSunDirection: (minutes: number, tilt: number, sunDirection: Vector3) => Vector3;
242
- //#endregion
243
- //#region src/models/atmosphere/LightningFlashPulse.d.ts
244
- export interface LightningFlashPulse {
245
- seconds: number;
246
- strength: number;
247
- }
248
- //#endregion
249
- //#region src/models/atmosphere/SkyGradient.d.ts
250
- export interface SkyGradient {
251
- green: readonly number[];
252
- red: readonly number[];
253
- }
254
- //#endregion
255
- //#region src/models/atmosphere/WeatherKind.d.ts
256
- export declare enum WeatherKind {
257
- Clear = "Clear",
258
- Cloudy = "Cloudy",
259
- Fog = "Fog",
260
- Rain = "Rain",
261
- Sandstorm = "Sandstorm",
262
- Snow = "Snow",
263
- Thunderstorm = "Thunderstorm"
264
- }
265
- //#endregion
266
- //#region src/atmosphere/constants.d.ts
267
- export declare const SUN_REDRAW_COSINE: number;
268
- export declare const DEFAULT_SKY_SHAPE: Readonly<SkyShape>;
269
- export declare const DEFAULT_SKY_GRADIENT: SkyGradient;
270
- export declare const PRECIPITATION_COUNT = 2048;
271
- export declare const PRECIPITATION_VOLUME_SIZE = 60;
272
- export declare const PRECIPITATION_VOLUME_HEIGHT = 30;
273
- export declare const PRECIPITATION_SWAY_SPEED = 1.3;
274
- export declare const PRECIPITATION_SETTINGS_MAP: Readonly<Record<PrecipitationKind, PrecipitationSettings>>;
275
- export declare const WEATHER_SETTINGS_MAP: Readonly<Record<WeatherKind, WeatherSettings>>;
276
- export declare const WEATHER_TRANSITION_SECONDS = 9;
277
- export declare const LIGHTNING_FLASH_PULSES: readonly LightningFlashPulse[];
278
- export declare const LIGHTNING_FLASH_DECAY_SECONDS = .08;
279
- export declare const LIGHTNING_FLASH_COLOR = 14344191;
280
- export declare const LIGHTNING_FLASH_SKY = .6;
281
- export declare const LIGHTNING_FLASH_AMBIENT = 1.2;
282
- export declare const LIGHTNING_FLASH_END = .01;
283
- export declare const LIGHTNING_BOLT_OPTIONS: Readonly<Pick<LightningBoltOptions, "branchCount" | "height" | "roughness" | "segmentCount" | "width">>;
284
- export declare const LIGHTNING_BOLT_COLOR = 15263487;
285
- export declare const LIGHTNING_BOLT_BRIGHTNESS = 3;
286
- export declare const LIGHTNING_MIN_DISTANCE = 150;
287
- export declare const LIGHTNING_MAX_DISTANCE = 600;
288
- export declare const SPLASH_COUNT = 768;
289
- export declare const SPLASH_RADIUS = 16;
290
- export declare const SPLASH_LIFETIME = .35;
291
- export declare const SPLASH_SIZE = .4;
292
- export declare const SPLASH_OPACITY = .5;
293
- export declare const SPLASH_LIFT = .03;
294
- //#endregion
295
- //#region src/models/atmosphere/CloudSprite.d.ts
296
- export interface CloudSprite {
297
- lit: [number, number][][];
298
- outline: [number, number][][];
299
- }
300
- //#endregion
301
- //#region src/atmosphere/createCloudAtlasTexture.d.ts
302
- export declare const createCloudAtlasTexture: (sprites: readonly CloudSprite[], cellSize: number) => CanvasTexture<OffscreenCanvas>;
303
- //#endregion
304
- //#region src/models/atmosphere/CloudBandSprite.d.ts
305
- export interface CloudBandSprite {
306
- cover: UniformNode<"float", number>;
307
- dispose: () => void;
308
- places: [number, number, number][];
309
- sprite: Sprite;
310
- }
311
- //#endregion
312
- //#region src/models/atmosphere/CloudBandSpriteOptions.d.ts
313
- export interface CloudBandSpriteOptions {
314
- aspect: number;
315
- spriteCount: number;
316
- }
317
- //#endregion
318
- //#region src/models/atmosphere/CloudPlacement.d.ts
319
- export interface CloudPlacement {
320
- position: [number, number, number];
321
- spriteIndex: number;
322
- width: number;
323
- }
324
- //#endregion
325
- //#region src/atmosphere/createCloudBandSprite.d.ts
326
- export declare const createCloudBandSprite: (atlas: Texture, clouds: readonly CloudPlacement[], { aspect, spriteCount }: CloudBandSpriteOptions, skyUniforms: SkyUniforms) => CloudBandSprite;
327
- //#endregion
328
- //#region src/models/atmosphere/CloudLayerDome.d.ts
329
- export interface CloudLayerDome {
330
- center: readonly number[];
331
- elevations: readonly number[];
332
- far: readonly number[];
333
- near: readonly number[];
334
- normalElevations: readonly number[];
335
- turn: number;
336
- wisps: readonly number[];
337
- wispsTurn: number;
338
- }
339
- //#endregion
340
- //#region src/atmosphere/createCloudLayerProfileTexture.d.ts
341
- export declare const createCloudLayerProfileTexture: ({ elevations, far, near, normalElevations, wisps }: Pick<CloudLayerDome, "elevations" | "far" | "near" | "normalElevations" | "wisps">) => DataTexture;
342
- //#endregion
343
- //#region src/models/noise/SpectralNoiseChannel.d.ts
344
- export interface SpectralNoiseChannel {
345
- amplitudes: number[];
346
- correlation?: {
347
- channel: number;
348
- share: number;
349
- };
350
- mean: number;
351
- quantiles?: number[][];
352
- }
353
- //#endregion
354
- //#region src/models/noise/SpectralNoiseProfile.d.ts
355
- export interface SpectralNoiseProfile {
356
- channels: SpectralNoiseChannel[];
357
- height: number;
358
- width: number;
359
- }
360
- //#endregion
361
- //#region src/atmosphere/createCloudLayerTexture.d.ts
362
- export declare const createCloudLayerTexture: ({ height, width }: Pick<SpectralNoiseProfile, "height" | "width">) => DataTexture;
363
- //#endregion
364
- //#region src/models/atmosphere/CloudLayerTextureProfiles.d.ts
365
- export interface CloudLayerTextureProfiles {
366
- curl: SpectralNoiseProfile;
367
- density: SpectralNoiseProfile;
368
- normal: {
369
- bias: number[];
370
- height: SpectralNoiseProfile;
371
- };
372
- wisps: SpectralNoiseProfile;
373
- }
374
- //#endregion
375
- //#region src/atmosphere/createCloudLayerTextures.d.ts
376
- export declare const createCloudLayerTextures: ({ curl, density, normal, wisps }: CloudLayerTextureProfiles) => {
377
- curl: DataTexture;
378
- density: DataTexture;
379
- normal: DataTexture;
380
- wisps: DataTexture;
381
- };
382
- //#endregion
383
- //#region src/models/atmosphere/CloudLayerUniforms.d.ts
384
- export interface CloudLayerUniforms {
385
- center: UniformNode<"vec2", Vector2>;
386
- curl: TextureNode;
387
- curlAmplitude: UniformNode<"float", number>;
388
- curlSpeed: UniformNode<"float", number>;
389
- curlTiling: UniformNode<"float", number>;
390
- density: TextureNode;
391
- direction: UniformNode<"vec2", Vector2>;
392
- elapsedTime: UniformNode<"float", number>;
393
- height: UniformNode<"float", number>;
394
- lightDirection: UniformNode<"vec3", Vector3>;
395
- normal: TextureNode;
396
- normalYScale: UniformNode<"float", number>;
397
- opacity: UniformNode<"float", number>;
398
- profile: TextureNode;
399
- smoothness: UniformNode<"vec2", Vector2>;
400
- sunBrightness: UniformNode<"float", number>;
401
- sunRimLightRadius: UniformNode<"float", number>;
402
- tiling: UniformNode<"float", number>;
403
- turn: UniformNode<"float", number>;
404
- weather: UniformNode<"vec3", Vector3>;
405
- wisps: TextureNode;
406
- wispsCoverage: UniformNode<"float", number>;
407
- wispsElapsedTime: UniformNode<"float", number>;
408
- wispsOpacity: UniformNode<"float", number>;
409
- wispsTurn: UniformNode<"float", number>;
410
- }
411
- //#endregion
412
- //#region src/atmosphere/createCloudLayerUniforms.d.ts
413
- export declare const createCloudLayerUniforms: ({ center, turn, wispsTurn, ...profiles }: CloudLayerDome, textures: Record<"curl" | "density" | "normal" | "wisps", Texture>) => CloudLayerUniforms;
414
- //#endregion
415
- //#region src/atmosphere/createLightningBoltGeometry.d.ts
416
- export declare const createLightningBoltGeometry: ({ directions, indices, positions, sides }: LightningBolt) => BufferGeometry;
417
- //#endregion
418
- //#region src/atmosphere/createPrecipitationGeometry.d.ts
419
- export declare const createPrecipitationGeometry: (particleCount: number) => InstancedBufferGeometry;
420
- //#endregion
421
- //#region src/atmosphere/createPrecipitationUniforms.d.ts
422
- export declare const createPrecipitationUniforms: () => PrecipitationUniforms;
423
- //#endregion
424
- //#region src/atmosphere/createSkyGradientTexture.d.ts
425
- export declare const createSkyGradientTexture: ({ green, red }: SkyGradient) => DataTexture;
426
- //#endregion
427
- //#region src/atmosphere/createSkyState.d.ts
428
- export declare const createSkyState: () => SkyState;
429
- //#endregion
430
- //#region src/atmosphere/createSkyUniforms.d.ts
431
- export declare const createSkyUniforms: () => SkyUniforms;
432
- //#endregion
433
- //#region src/models/nodes/AnchoredCascadeShadowNode.d.ts
434
- export declare class AnchoredCascadeShadowNode extends CSMShadowNode {
435
- #private;
436
- anchor: Vector3;
437
- constructor(light: DirectionalLight, data: CSMShadowNodeData);
438
- override updateBefore(frame: NodeFrame): undefined;
439
- }
440
- //#endregion
441
- //#region src/models/atmosphere/SunLight.d.ts
442
- export interface SunLight {
443
- cascadedShadowNode: AnchoredCascadeShadowNode;
444
- light: DirectionalLight;
445
- }
446
- //#endregion
447
- //#region src/models/atmosphere/SunLightOptions.d.ts
448
- export interface SunLightOptions {
449
- cascadeCount: number;
450
- maxFar: number;
451
- shadowMapSize: number;
452
- }
453
- //#endregion
454
- //#region src/atmosphere/createSunLight.d.ts
455
- export declare const createSunLight: ({ cascadeCount, maxFar, shadowMapSize }: SunLightOptions) => SunLight;
456
- //#endregion
457
- //#region src/atmosphere/getCloudAtlasColumns.d.ts
458
- export declare const getCloudAtlasColumns: (spriteCount: number) => number;
459
- //#endregion
460
- //#region src/atmosphere/orderByViewDepth.d.ts
461
- export declare const orderByViewDepth: (places: readonly (readonly number[])[], { elements }: Matrix4, depths: Float64Array, order: Uint32Array) => boolean;
462
- //#endregion
463
- //#region src/models/atmosphere/CloudBandOptions.d.ts
464
- export interface CloudBandOptions {
465
- count: number;
466
- distanceRange: [number, number];
467
- heightRange: [number, number];
468
- seed: number;
469
- widthRange: [number, number];
470
- }
471
- //#endregion
472
- //#region src/atmosphere/placeCloudBand.d.ts
473
- export declare const placeCloudBand: ({ count, distanceRange: [near, far], heightRange: [low, high], seed, widthRange: [narrow, wide] }: CloudBandOptions, spriteCount: number) => CloudPlacement[];
474
- //#endregion
475
- //#region src/models/atmosphere/SkyKeyframe.d.ts
476
- export interface SkyKeyframe extends BaseSkyState {
477
- minutes: number;
478
- }
479
- //#endregion
480
- //#region src/atmosphere/sampleSkyState.d.ts
481
- export declare const sampleSkyState: (skyKeyframes: readonly SkyKeyframe[], minutes: number, tilt: number, skyState: SkyState) => SkyState;
482
- //#endregion
483
- //#region src/atmosphere/synthesizeCloudLayerTextures.d.ts
484
- export declare const synthesizeCloudLayerTextures: ({ curl, density, normal, wisps }: CloudLayerTextureProfiles, textures: Record<"curl" | "density" | "normal" | "wisps", DataTexture>) => Promise<void>;
485
- //#endregion
486
- //#region src/atmosphere/writeCloudLayerTexture.d.ts
487
- export declare const writeCloudLayerTexture: (texture: DataTexture, readTexel: (index: number) => readonly number[]) => void;
488
- //#endregion
489
- //#region src/models/audio/MusicNote.d.ts
490
- export interface MusicNote {
491
- duration: number;
492
- pitch: number;
493
- start: number;
494
- velocity: number;
495
- }
496
- //#endregion
497
- //#region src/models/audio/MusicSampleRange.d.ts
498
- export interface MusicSampleRange {
499
- highKey: number;
500
- highVelocity: number;
501
- lowKey: number;
502
- lowVelocity: number;
503
- }
504
- //#endregion
505
- //#region src/models/audio/MusicRecording.d.ts
506
- export interface MusicRecording extends MusicSampleRange {
507
- file: string;
508
- gain: number;
509
- keyCenter: number;
510
- tune: number;
511
- }
512
- //#endregion
513
- //#region src/models/audio/Instrument.d.ts
514
- export interface Instrument {
515
- attack: number;
516
- decay: number;
517
- harmonics: number[];
518
- level: number;
519
- noiseBands: number[];
520
- recordingLevel: number;
521
- recordings: MusicRecording[];
522
- release: number;
523
- sustain: number;
524
- tuning: number;
525
- }
526
- //#endregion
527
- //#region src/models/audio/MusicVoice.d.ts
528
- export interface MusicVoice {
529
- instrument: Instrument;
530
- notes: MusicNote[];
531
- }
532
- //#endregion
533
- //#region src/models/audio/ScheduledMusicNote.d.ts
534
- export interface ScheduledMusicNote {
535
- note: MusicNote;
536
- time: number;
537
- voice: MusicVoice;
538
- }
539
- //#endregion
540
- //#region src/models/audio/MusicSegment.d.ts
541
- export interface MusicSegment {
542
- duration: number;
543
- expression: number[];
544
- voices: MusicVoice[];
545
- volume: number;
546
- }
547
- //#endregion
548
- //#region src/models/audio/ScheduledMusicSegment.d.ts
549
- export interface ScheduledMusicSegment {
550
- segment: MusicSegment;
551
- start: number;
552
- }
553
- //#endregion
554
- //#region src/audio/collectMusicNotes.d.ts
555
- export declare const collectMusicNotes: ({ segment, start }: ScheduledMusicSegment, from: number, to: number) => ScheduledMusicNote[];
556
- //#endregion
557
- //#region src/models/audio/Music.d.ts
558
- export interface Music {
559
- isLooping: boolean;
560
- order: number[];
561
- segments: MusicSegment[];
562
- }
563
- //#endregion
564
- //#region src/audio/collectMusicSegments.d.ts
565
- export declare const collectMusicSegments: ({ isLooping, order, segments }: Music, from: number, to: number) => ScheduledMusicSegment[];
566
- //#endregion
567
- //#region src/audio/computeNoiseSamples.d.ts
568
- export declare const computeNoiseSamples: (noiseBands: readonly number[], sampleRate: number) => Float32Array;
569
- //#endregion
570
- //#region src/models/audio/SoundEffect.d.ts
571
- export interface SoundEffect {
572
- frameSeconds: number;
573
- leftLevels: number[][];
574
- rightLevels: number[][];
575
- sharedLevels: number[][];
576
- }
577
- //#endregion
578
- //#region src/audio/computeSoundEffectSamples.d.ts
579
- export declare const computeSoundEffectSamples: ({ frameSeconds, leftLevels, rightLevels, sharedLevels }: SoundEffect, sampleRate: number, seed?: number) => [Float32Array, Float32Array];
580
- //#endregion
581
- //#region src/audio/constants.d.ts
582
- export declare const MUSIC_LOOKAHEAD_SECONDS = 2;
583
- export declare const MUSIC_SCHEDULE_INTERVAL_MS = 500;
584
- export declare const RELEASE_TIME_CONSTANTS = 7;
585
- export declare const MUSIC_NOISE_LENGTH: number;
586
- export declare const MUSIC_NOISE_BAND_CENTRES: number[];
587
- export declare const MUSIC_EXPRESSION_WINDOW_SECONDS = 8;
588
- export declare const A4_PITCH = 69;
589
- export declare const A4_FREQUENCY = 440;
590
- export declare const MIDI_VELOCITY_MAX = 127;
591
- export declare const SOUND_EFFECT_BAND_EDGES: number[];
592
- export declare const SOUND_EFFECT_FRAME_LENGTH = 2048;
593
- //#endregion
594
- //#region src/audio/createInstrumentWave.d.ts
595
- export declare const createInstrumentWave: (context: BaseAudioContext, harmonics: number[]) => PeriodicWave;
596
- //#endregion
597
- //#region src/models/audio/MusicPlayer.d.ts
598
- export interface MusicPlayer {
599
- start: () => void;
600
- stop: () => void;
601
- }
602
- //#endregion
603
- //#region src/audio/createMusicPlayer.d.ts
604
- export declare const createMusicPlayer: (context: AudioContext, music: Music, recordingBufferMap: ReadonlyMap<string, AudioBuffer>, destination?: AudioNode) => MusicPlayer;
605
- //#endregion
606
- //#region src/audio/createNoiseBuffer.d.ts
607
- export declare const createNoiseBuffer: (context: BaseAudioContext, noiseBands: number[]) => AudioBuffer | undefined;
608
- //#endregion
609
- //#region src/audio/createSoundEffectBuffer.d.ts
610
- export declare const createSoundEffectBuffer: (context: BaseAudioContext, soundEffect: SoundEffect) => AudioBuffer;
611
- //#endregion
612
- //#region src/audio/getMusicRecordingGain.d.ts
613
- export declare const getMusicRecordingGain: ({ gain }: Pick<MusicRecording, "gain">, velocity: number) => number;
614
- //#endregion
615
- //#region src/audio/getMusicRecordingRate.d.ts
616
- export declare const getMusicRecordingRate: ({ keyCenter, tune }: Pick<MusicRecording, "keyCenter" | "tune">, pitch: number, tuning: number) => number;
617
- //#endregion
618
- //#region src/audio/getSoundEffectBandBins.d.ts
619
- export declare const getSoundEffectBandBins: (sampleRate: number) => (readonly [number, number])[];
620
- //#endregion
621
- //#region src/audio/renderMusicSegment.d.ts
622
- export declare const renderMusicSegment: (music: Music, segmentIndex: number, sampleRate: number, recordingBufferMap: ReadonlyMap<string, AudioBuffer>) => Promise<AudioBuffer>;
623
- //#endregion
624
- //#region src/audio/scheduleMusicExpression.d.ts
625
- export declare const scheduleMusicExpression: (gain: AudioParam, expression: number[], start: number) => void;
626
- //#endregion
627
- //#region src/audio/scheduleMusicNote.d.ts
628
- export declare const scheduleMusicNote: (context: BaseAudioContext, destination: AudioNode, wave: PeriodicWave, noiseBuffer: AudioBuffer | undefined, { attack, decay, level, release, sustain, tuning }: Instrument, { duration, pitch, velocity }: MusicNote, time: number) => void;
629
- //#endregion
630
- //#region src/audio/scheduleMusicRecording.d.ts
631
- export declare const scheduleMusicRecording: (context: BaseAudioContext, destination: AudioNode, recordingBufferMap: ReadonlyMap<string, AudioBuffer>, { recordingLevel, recordings, release, tuning }: Instrument, { duration, pitch, velocity }: MusicNote, time: number) => void;
632
- //#endregion
633
- //#region src/audio/selectMusicSample.d.ts
634
- export declare const selectMusicSample: <T extends MusicSampleRange>(samples: T[], pitch: number, velocity: number) => T | undefined;
635
- //#endregion
636
- //#region src/audio/transformFourier.d.ts
637
- export declare const transformFourier: (real: Float64Array, imaginary: Float64Array) => void;
638
- //#endregion
639
- //#region src/models/camera/FollowCameraSettings.d.ts
640
- export interface FollowCameraSettings {
641
- defaultDistance: number;
642
- horizontalSensitivity: number;
643
- verticalSensitivity: number;
644
- }
645
- //#endregion
646
- //#region src/camera/constants.d.ts
647
- export declare const FREE_CAMERA_BASE_SPEED = 8;
648
- export declare const FREE_CAMERA_SPEED_PER_HEIGHT = .5;
649
- export declare const FREE_CAMERA_CLEARANCE = 1.5;
650
- export declare const FREE_CAMERA_MAX_PITCH: number;
651
- export declare const FOLLOW_CAMERA_DEFAULT_SETTINGS: FollowCameraSettings;
652
- export declare const FOLLOW_CAMERA_NEUTRAL_SENSITIVITY = 3;
653
- export declare const FOLLOW_CAMERA_PIVOT_SHARE = .7;
654
- export declare const FOLLOW_CAMERA_FOV = 45;
655
- export declare const FOLLOW_CAMERA_MIN_PITCH: number;
656
- export declare const FOLLOW_CAMERA_MAX_PITCH: number;
657
- export declare const FOLLOW_CAMERA_MIN_DISTANCE = 1;
658
- export declare const FOLLOW_CAMERA_MAX_DISTANCE = 6;
659
- export declare const FOLLOW_CAMERA_DISTANCE_PER_ZOOM_STEP = .5;
660
- export declare const FOLLOW_CAMERA_EASE_OUT_SPEED = 4;
661
- export declare const FOLLOW_CAMERA_CLEARANCE = .2;
662
- export declare const FOLLOW_CAMERA_ARM_STEP = .25;
663
- //#endregion
664
- //#region src/models/input/InputAction.d.ts
665
- export declare enum InputAction {
666
- Aim = "Aim",
667
- Cancel = "Cancel",
668
- Confirm = "Confirm",
669
- Drop = "Drop",
670
- ElementalBurst = "ElementalBurst",
671
- ElementalSight = "ElementalSight",
672
- ElementalSkill = "ElementalSkill",
673
- HideInterface = "HideInterface",
674
- Interact = "Interact",
675
- Jump = "Jump",
676
- NormalAttack = "NormalAttack",
677
- OpenAdventurerHandbook = "OpenAdventurerHandbook",
678
- OpenBattlePass = "OpenBattlePass",
679
- OpenCharacter = "OpenCharacter",
680
- OpenChat = "OpenChat",
681
- OpenCoOp = "OpenCoOp",
682
- OpenEvents = "OpenEvents",
683
- OpenFriends = "OpenFriends",
684
- OpenInventory = "OpenInventory",
685
- OpenMap = "OpenMap",
686
- OpenPaimonMenu = "OpenPaimonMenu",
687
- OpenPartySetup = "OpenPartySetup",
688
- OpenQuests = "OpenQuests",
689
- OpenShortcutWheel = "OpenShortcutWheel",
690
- OpenWish = "OpenWish",
691
- QuestNavigation = "QuestNavigation",
692
- QuickUseGadget = "QuickUseGadget",
693
- ResetCamera = "ResetCamera",
694
- ShowCursor = "ShowCursor",
695
- Sprint = "Sprint",
696
- SwitchToPartyMember1 = "SwitchToPartyMember1",
697
- SwitchToPartyMember2 = "SwitchToPartyMember2",
698
- SwitchToPartyMember3 = "SwitchToPartyMember3",
699
- SwitchToPartyMember4 = "SwitchToPartyMember4",
700
- SwitchToPartyMemberAndBurst1 = "SwitchToPartyMemberAndBurst1",
701
- SwitchToPartyMemberAndBurst2 = "SwitchToPartyMemberAndBurst2",
702
- SwitchToPartyMemberAndBurst3 = "SwitchToPartyMemberAndBurst3",
703
- SwitchToPartyMemberAndBurst4 = "SwitchToPartyMemberAndBurst4",
704
- SwitchWalkRun = "SwitchWalkRun"
705
- }
706
- export declare const InputActions: readonly InputAction[];
707
- //#endregion
708
- //#region src/models/input/InputState.d.ts
709
- export interface InputState {
710
- heldActions: ReadonlySet<InputAction>;
711
- lookPitch: number;
712
- lookYaw: number;
713
- moveForward: number;
714
- moveRight: number;
715
- moveUp: number;
716
- pressedActions: ReadonlySet<InputAction>;
717
- zoomSteps: number;
718
- }
719
- //#endregion
720
- //#region src/models/camera/FollowCamera.d.ts
721
- export interface FollowCamera {
722
- follow: (pivot: Vector3, origin: Vector3, frameSeconds: number) => void;
723
- look: (input: InputState, facing: number) => void;
724
- reset: (facing: number) => void;
725
- readonly yaw: number;
726
- }
727
- //#endregion
728
- //#region src/models/collision/GroundSample.d.ts
729
- export interface GroundSample {
730
- height: number;
731
- normal: Vector3;
732
- }
733
- //#endregion
734
- //#region src/models/collision/GroundQuery.d.ts
735
- export interface GroundQuery {
736
- getGround: (x: number, z: number) => GroundSample;
737
- getWaterLevel: () => number;
738
- }
739
- //#endregion
740
- //#region src/models/collision/CapsulePush.d.ts
741
- export interface CapsulePush {
742
- depth: number;
743
- normal: Vector3;
744
- }
745
- //#endregion
746
- //#region src/models/collision/LandmarkCollider.d.ts
747
- export interface LandmarkCollider {
748
- castSphere: (origin: Vector3, direction: Vector3, distance: number, radius: number) => number;
749
- pushCapsule: (capsule: Capsule) => CapsulePush | undefined;
750
- syncLandmarks: (root: Object3D) => void;
751
- }
752
- //#endregion
753
- //#region src/models/camera/FollowCameraOptions.d.ts
754
- export interface FollowCameraOptions {
755
- camera: PerspectiveCamera;
756
- ground: GroundQuery;
757
- landmarkCollider: LandmarkCollider;
758
- settings: FollowCameraSettings;
759
- }
760
- //#endregion
761
- //#region src/camera/createFollowCamera.d.ts
762
- export declare const createFollowCamera: ({ camera, ground, landmarkCollider, settings }: FollowCameraOptions) => FollowCamera;
763
- //#endregion
764
- //#region src/models/camera/FreeCamera.d.ts
765
- export interface FreeCamera {
766
- look: (input: InputState) => void;
767
- step: (input: InputState, stepSeconds: number) => void;
768
- }
769
- //#endregion
770
- //#region src/models/camera/FreeCameraOptions.d.ts
771
- export interface FreeCameraOptions {
772
- camera: PerspectiveCamera;
773
- ground: GroundQuery;
774
- }
775
- //#endregion
776
- //#region src/camera/createFreeCamera.d.ts
777
- export declare const createFreeCamera: ({ camera, ground }: FreeCameraOptions) => FreeCamera;
778
- //#endregion
779
- //#region src/character/checkTransparentTexels.d.ts
780
- export declare const checkTransparentTexels: (image: ImageBitmap) => boolean;
781
- //#endregion
782
- //#region src/character/constants.d.ts
783
- export declare const PMX_UNIT_METRES = .08;
784
- export declare const SHARED_TOON_RAMP_SHADES: readonly number[];
785
- //#endregion
786
- //#region src/models/character/CharacterMaterialKind.d.ts
787
- export declare enum CharacterMaterialKind {
788
- Body = 0,
789
- Face = 1,
790
- Hair = 2
791
- }
792
- //#endregion
793
- //#region src/models/character/FaceDraw.d.ts
794
- export interface FaceDraw {
795
- flip: UniformNode<"float", number>;
796
- flipFactor: number;
797
- rotateOffset: number;
798
- threshold: UniformNode<"float", number>;
799
- }
800
- //#endregion
801
- //#region src/models/character/ShadingRegionColours.d.ts
802
- export type ShadingRegionColours = Record<"five" | "four" | "one" | "three" | "two", Vector3Tuple>;
803
- //#endregion
804
- //#region src/models/character/OutlineRegions.d.ts
805
- export interface OutlineRegions {
806
- colors: ShadingRegionColours;
807
- intensities: Record<keyof ShadingRegionColours, number>;
808
- }
809
- //#endregion
810
- //#region src/models/character/RampLayout.d.ts
811
- export declare enum RampLayout {
812
- Horizontal = 0,
813
- Vertical = 1
814
- }
815
- //#endregion
816
- //#region src/models/character/ShadingRegionToggles.d.ts
817
- export interface ShadingRegionToggles {
818
- five: boolean;
819
- four: boolean;
820
- three: boolean;
821
- two: boolean;
822
- }
823
- //#endregion
824
- //#region src/models/character/CharacterShadingInputs.d.ts
825
- export interface CharacterShadingInputs {
826
- brightness: number;
827
- color: Vector3Tuple;
828
- contrastScale: number;
829
- coolShadowMultiplyColors: ShadingRegionColours;
830
- coolShadowTone: number;
831
- desaturateScale: number;
832
- emissionColor: Vector3Tuple;
833
- emissionScaler: number;
834
- faceDraw: FaceDraw;
835
- faceMap?: Texture;
836
- faceSoftness: number;
837
- isCoolShadow: boolean;
838
- isEmissionFromAlpha: boolean;
839
- isLightMapAo: boolean;
840
- isOutlineVertexWeighted: boolean;
841
- isVertexAo: boolean;
842
- isVertexRampWidth: boolean;
843
- kind: CharacterMaterialKind;
844
- lightArea: number;
845
- lightMapTexture?: Texture;
846
- mainTexture?: Texture;
847
- metalDarkColor: Vector3Tuple;
848
- metalLightColor: Vector3Tuple;
849
- metalTexture?: Texture;
850
- outlineDepths: Vector3Tuple;
851
- outlineOffset?: {
852
- blockBChannel: number;
853
- size: number;
854
- };
855
- outlineRegions?: OutlineRegions;
856
- outlineScales: Vector3Tuple;
857
- rampLayout: RampLayout;
858
- rampTexture: Texture;
859
- rampWidth: number;
860
- regionTints: Record<"five" | "four" | "three" | "two", Vector3Tuple>;
861
- regionToggles: ShadingRegionToggles;
862
- shadowMultiplyColors: ShadingRegionColours;
863
- shininess: number;
864
- specularColor: Vector3Tuple;
865
- specularInShadow: number;
866
- specularMultiplier: number;
867
- vertexAo: number;
868
- vertexRampWidth: number;
869
- }
870
- //#endregion
871
- //#region src/models/character/PmxSphereMode.d.ts
872
- export declare enum PmxSphereMode {
873
- Disabled = 0,
874
- Multiply = 1,
875
- Add = 2,
876
- AdditionalUv = 3
877
- }
878
- //#endregion
879
- //#region src/models/character/PmxMaterial.d.ts
880
- export interface PmxMaterial {
881
- ambientColor: Vector3Tuple;
882
- diffuseColor: Vector4Tuple;
883
- edgeColor: Vector4Tuple;
884
- edgeSize: number;
885
- indexCount: number;
886
- isDoubleSided: boolean;
887
- isOutlined: boolean;
888
- isToonShared: boolean;
889
- name: string;
890
- specularColor: Vector3Tuple;
891
- specularity: number;
892
- sphereMode: PmxSphereMode;
893
- sphereTextureIndex: number;
894
- textureIndex: number;
895
- toonIndex: number;
896
- }
897
- //#endregion
898
- //#region src/models/character/CharacterMaterialOptions.d.ts
899
- export interface CharacterMaterialOptions {
900
- isTextureTransparent?: boolean;
901
- lightUniforms: LightUniforms;
902
- pmxMaterial: PmxMaterial;
903
- rampTexture: DataTexture;
904
- shadingInputs?: Partial<CharacterShadingInputs>;
905
- sphereTexture?: Texture;
906
- texture?: Texture;
907
- toonTexture?: Texture;
908
- }
909
- //#endregion
910
- //#region src/models/nodes/OutlineWidthKnots.d.ts
911
- export interface OutlineWidthKnots {
912
- depths: Vector3Tuple;
913
- scales: Vector3Tuple;
914
- }
915
- //#endregion
916
- //#region src/models/nodes/ToonEdge.d.ts
917
- export interface ToonEdge {
918
- color: Node<"vec4"> | Vector4Tuple;
919
- isVertexWeighted?: boolean;
920
- offset?: {
921
- blockBChannel: number;
922
- size: number;
923
- };
924
- size: number;
925
- widthKnots: OutlineWidthKnots;
926
- }
927
- //#endregion
928
- //#region src/models/nodes/ToonNodeMaterial.d.ts
929
- export declare class ToonNodeMaterial extends MeshToonNodeMaterial {
930
- edge?: ToonEdge;
931
- emissiveNode: Node | null;
932
- readonly isMeshToonMaterial: boolean;
933
- override readonly isMeshToonNodeMaterial: boolean;
934
- sphereMap?: Texture$1;
935
- constructor(parameters: MeshToonNodeMaterialParameters, isOutlined: boolean, edge?: ToonEdge);
936
- }
937
- //#endregion
938
- //#region src/character/createCharacterMaterial.d.ts
939
- export declare const createCharacterMaterial: ({ isTextureTransparent, lightUniforms, pmxMaterial: { diffuseColor: [red, green, blue, opacity], edgeColor, edgeSize, isDoubleSided, isOutlined, isToonShared, specularColor, specularity, sphereMode, toonIndex }, rampTexture, shadingInputs: gameShadingInputs, sphereTexture, texture: diffuseTexture, toonTexture }: CharacterMaterialOptions) => ToonNodeMaterial;
940
- //#endregion
941
- //#region src/character/createCharacterShadingInputs.d.ts
942
- export type CharacterShadingOverrides = Partial<CharacterShadingInputs> & {
943
- rampTexture: Texture;
944
- };
945
- export declare const createCharacterShadingInputs: (overrides: CharacterShadingOverrides) => CharacterShadingInputs;
946
- //#endregion
947
- //#region src/models/character/PmxBone.d.ts
948
- export interface PmxBone {
949
- name: string;
950
- parentIndex: number;
951
- position: Vector3Tuple;
952
- }
953
- //#endregion
954
- //#region src/models/character/PmxJointKind.d.ts
955
- export declare enum PmxJointKind {
956
- SpringSixDegreesOfFreedom = 0,
957
- SixDegreesOfFreedom = 1,
958
- PointToPoint = 2,
959
- ConeTwist = 3,
960
- Slider = 4,
961
- Hinge = 5
962
- }
963
- //#endregion
964
- //#region src/models/character/PmxJoint.d.ts
965
- export interface PmxJoint {
966
- firstRigidBodyIndex: number;
967
- kind: PmxJointKind;
968
- name: string;
969
- position: Vector3Tuple;
970
- rotation: Vector3Tuple;
971
- rotationMaximum: Vector3Tuple;
972
- rotationMinimum: Vector3Tuple;
973
- rotationSpring: Vector3Tuple;
974
- secondRigidBodyIndex: number;
975
- translationMaximum: Vector3Tuple;
976
- translationMinimum: Vector3Tuple;
977
- translationSpring: Vector3Tuple;
978
- }
979
- //#endregion
980
- //#region src/models/character/PmxMorphKind.d.ts
981
- export declare enum PmxMorphKind {
982
- Group = 0,
983
- Vertex = 1,
984
- Bone = 2,
985
- Uv = 3,
986
- AdditionalUv1 = 4,
987
- AdditionalUv2 = 5,
988
- AdditionalUv3 = 6,
989
- AdditionalUv4 = 7,
990
- Material = 8,
991
- Flip = 9,
992
- Impulse = 10
993
- }
994
- //#endregion
995
- //#region src/models/character/PmxMorph.d.ts
996
- export interface PmxMorph {
997
- indices: Uint32Array;
998
- kind: PmxMorphKind;
999
- name: string;
1000
- values: Float32Array;
1001
- }
1002
- //#endregion
1003
- //#region src/models/character/PmxPhysicsMode.d.ts
1004
- export declare enum PmxPhysicsMode {
1005
- FollowBone = 0,
1006
- Physics = 1,
1007
- PhysicsWithBone = 2
1008
- }
1009
- //#endregion
1010
- //#region src/models/character/PmxRigidBodyShape.d.ts
1011
- export declare enum PmxRigidBodyShape {
1012
- Sphere = 0,
1013
- Box = 1,
1014
- Capsule = 2
1015
- }
1016
- //#endregion
1017
- //#region src/models/character/PmxRigidBody.d.ts
1018
- export interface PmxRigidBody {
1019
- angularDamping: number;
1020
- boneIndex: number;
1021
- friction: number;
1022
- group: number;
1023
- linearDamping: number;
1024
- mass: number;
1025
- name: string;
1026
- nonCollidingGroups: number;
1027
- physicsMode: PmxPhysicsMode;
1028
- position: Vector3Tuple;
1029
- restitution: number;
1030
- rotation: Vector3Tuple;
1031
- shape: PmxRigidBodyShape;
1032
- size: Vector3Tuple;
1033
- }
1034
- //#endregion
1035
- //#region src/models/character/PmxVertices.d.ts
1036
- export interface PmxVertices {
1037
- normals: Float32Array;
1038
- positions: Float32Array;
1039
- skinIndices: Uint16Array;
1040
- skinWeights: Float32Array;
1041
- subUvs: Float32Array;
1042
- uvs: Float32Array;
1043
- }
1044
- //#endregion
1045
- //#region src/models/character/PmxModel.d.ts
1046
- export interface PmxModel {
1047
- bones: PmxBone[];
1048
- indices: Uint32Array;
1049
- joints: PmxJoint[];
1050
- materials: PmxMaterial[];
1051
- morphs: PmxMorph[];
1052
- name: string;
1053
- rigidBodies: PmxRigidBody[];
1054
- textures: string[];
1055
- vertices: PmxVertices;
1056
- }
1057
- //#endregion
1058
- //#region src/character/createPmxGeometry.d.ts
1059
- export declare const createPmxGeometry: ({ indices, materials, vertices: { normals, positions, skinIndices, skinWeights, subUvs, uvs } }: Pick<PmxModel, "indices" | "materials" | "vertices">) => BufferGeometry;
1060
- //#endregion
1061
- //#region src/character/createPmxMesh.d.ts
1062
- export declare const createPmxMesh: <TMaterial extends Material>(pmxModel: PmxModel, materials: TMaterial[]) => SkinnedMesh<BufferGeometry, TMaterial[]>;
1063
- //#endregion
1064
- //#region src/character/createPmxSkeleton.d.ts
1065
- export declare const createPmxSkeleton: (pmxBones: readonly PmxBone[]) => Skeleton;
1066
- //#endregion
1067
- //#region src/character/createPmxTexture.d.ts
1068
- export declare const createPmxTexture: (blob: Blob) => Promise<Texture>;
1069
- export declare const createPmxToonTexture: (blob: Blob) => Promise<Texture>;
1070
- //#endregion
1071
- //#region src/character/getSharedToonRamp.d.ts
1072
- export declare const getSharedToonRamp: (toonIndex: number) => DataTexture | undefined;
1073
- //#endregion
1074
- //#region src/character/parsePmx.d.ts
1075
- export declare const parsePmx: (buffer: ArrayBuffer) => PmxModel;
1076
- //#endregion
1077
- //#region src/models/character/PmxReader.d.ts
1078
- export declare class PmxReader {
1079
- #private;
1080
- readonly additionalVectorCount: number;
1081
- readonly boneIndexSize: number;
1082
- readonly materialIndexSize: number;
1083
- readonly morphIndexSize: number;
1084
- readonly rigidBodyIndexSize: number;
1085
- readonly textureIndexSize: number;
1086
- readonly vertexIndexSize: number;
1087
- constructor(buffer: ArrayBuffer);
1088
- readBoneIndex(): number;
1089
- readFloat32(): number;
1090
- readInt32(): number;
1091
- readMaterialIndex(): number;
1092
- readMirroredRotation(): Vector3Tuple;
1093
- readMirroredVector3(): Vector3Tuple;
1094
- readMirroredVector3Into(target: Float32Array, offset: number): void;
1095
- readMorphIndex(): number;
1096
- readRigidBodyIndex(): number;
1097
- readText(): string;
1098
- readTextureIndex(): number;
1099
- readUint8(): number;
1100
- readUint16(): number;
1101
- readVector3(): Vector3Tuple;
1102
- readVertexIndex(): number;
1103
- skip(byteCount: number): void;
1104
- }
1105
- //#endregion
1106
- //#region src/character/parsePmxBones.d.ts
1107
- export declare const parsePmxBones: (reader: PmxReader) => PmxBone[];
1108
- //#endregion
1109
- //#region src/character/parsePmxJoints.d.ts
1110
- export declare const parsePmxJoints: (reader: PmxReader) => PmxJoint[];
1111
- //#endregion
1112
- //#region src/character/parsePmxMaterials.d.ts
1113
- export declare const parsePmxMaterials: (reader: PmxReader) => PmxMaterial[];
1114
- //#endregion
1115
- //#region src/character/parsePmxMorphs.d.ts
1116
- export declare const parsePmxMorphs: (reader: PmxReader) => PmxMorph[];
1117
- //#endregion
1118
- //#region src/character/parsePmxRigidBodies.d.ts
1119
- export declare const parsePmxRigidBodies: (reader: PmxReader) => PmxRigidBody[];
1120
- //#endregion
1121
- //#region src/character/parsePmxVertices.d.ts
1122
- export declare const parsePmxVertices: (reader: PmxReader) => PmxVertices;
1123
- //#endregion
1124
- //#region src/character/pose/advanceStridePhase.d.ts
1125
- export declare const advanceStridePhase: (stridePhase: number, speed: number, strideMetres: number, delta: number) => number;
1126
- //#endregion
1127
- //#region src/models/locomotion/LocomotionState.d.ts
1128
- export declare enum LocomotionState {
1129
- Climb = "Climb",
1130
- ClimbJump = "ClimbJump",
1131
- Dash = "Dash",
1132
- Drown = "Drown",
1133
- Fall = "Fall",
1134
- Glide = "Glide",
1135
- Idle = "Idle",
1136
- Jump = "Jump",
1137
- Plunge = "Plunge",
1138
- Run = "Run",
1139
- Sprint = "Sprint",
1140
- Swim = "Swim",
1141
- SwimDash = "SwimDash",
1142
- Walk = "Walk"
1143
- }
1144
- //#endregion
1145
- //#region src/models/character/CharacterPoseInput.d.ts
1146
- export interface CharacterPoseInput {
1147
- elapsed: number;
1148
- state: LocomotionState;
1149
- stridePhase: number;
1150
- }
1151
- //#endregion
1152
- //#region src/models/character/MmdBoneName.d.ts
1153
- export declare enum MmdBoneName {
1154
- Center = "センター",
1155
- Head = "頭",
1156
- LeftAnkle = "左足首",
1157
- LeftArm = "左腕",
1158
- LeftElbow = "左ひじ",
1159
- LeftKnee = "左ひざ",
1160
- LeftLeg = "左足",
1161
- LeftShoulder = "左肩",
1162
- LeftWrist = "左手首",
1163
- Lower = "下半身",
1164
- Neck = "首",
1165
- RightAnkle = "右足首",
1166
- RightArm = "右腕",
1167
- RightElbow = "右ひじ",
1168
- RightKnee = "右ひざ",
1169
- RightLeg = "右足",
1170
- RightShoulder = "右肩",
1171
- RightWrist = "右手首",
1172
- Upper = "上半身",
1173
- Upper2 = "上半身2"
1174
- }
1175
- //#endregion
1176
- //#region src/models/character/CharacterPoseRotations.d.ts
1177
- export type CharacterPoseRotations = Record<MmdBoneName, Quaternion>;
1178
- //#endregion
1179
- //#region src/character/pose/computeCharacterPose.d.ts
1180
- export declare const computeCharacterPose: ({ elapsed, state, stridePhase }: CharacterPoseInput, rotations: CharacterPoseRotations) => void;
1181
- //#endregion
1182
- //#region src/character/pose/constants.d.ts
1183
- export declare const POSE_BREATH_SECONDS = 4;
1184
- export declare const POSE_CHEST_BREATH_RADIANS = .02;
1185
- export declare const POSE_SHOULDER_BREATH_RADIANS = .02;
1186
- export declare const POSE_ARM_LOWER_RADIANS = 1.2;
1187
- export declare const POSE_ARM_CHAINS: readonly {
1188
- arm: MmdBoneName;
1189
- elbow: MmdBoneName;
1190
- tDirection: Vector3Tuple;
1191
- }[];
1192
- export declare const POSE_ARM_BEND_RADIANS = .2;
1193
- export declare const POSE_CROSSFADE_SECONDS = .25;
1194
- export interface PoseGait {
1195
- armBendRadians: number;
1196
- armSwingRadians: number;
1197
- kneeBendRadians: number;
1198
- leanRadians: number;
1199
- legSwingRadians: number;
1200
- strideMetres: number;
1201
- }
1202
- export declare const POSE_GAITS: Partial<Record<LocomotionState, PoseGait>>;
1203
- export interface PoseAirStance {
1204
- armLowerRadians: number;
1205
- kneeBendRadians: number;
1206
- leanRadians: number;
1207
- }
1208
- export declare const POSE_AIR_STANCES: Partial<Record<LocomotionState, PoseAirStance>>;
1209
- export declare const MMD_BONE_NAME_MAP: Record<MmdBoneName, string>;
1210
- //#endregion
1211
- //#region src/character/pose/createCharacterPoseRotations.d.ts
1212
- export declare const createCharacterPoseRotations: () => CharacterPoseRotations;
1213
- //#endregion
1214
- //#region src/models/character/CharacterBoneNameMap.d.ts
1215
- export type CharacterBoneNameMap = Partial<Record<MmdBoneName, string>>;
1216
- //#endregion
1217
- //#region src/models/locomotion/Locomotion.d.ts
1218
- export interface Locomotion {
1219
- capsuleHeight: number;
1220
- capsuleRadius: number;
1221
- climbJumpHeight: number;
1222
- climbJumpSeconds: number;
1223
- climbSpeed: number;
1224
- dashSeconds: number;
1225
- dashSpeed: number;
1226
- drownSeconds: number;
1227
- glideForwardSpeed: number;
1228
- glideMinHeight: number;
1229
- glideSinkSpeed: number;
1230
- gravity: number;
1231
- jumpHeight: number;
1232
- maxFallSpeed: number;
1233
- maxWalkableSlope: number;
1234
- plungeSpeed: number;
1235
- runSpeed: number;
1236
- sprintSpeed: number;
1237
- stepHeight: number;
1238
- swimDashSpeed: number;
1239
- swimDepth: number;
1240
- swimSpeed: number;
1241
- walkSpeed: number;
1242
- }
1243
- //#endregion
1244
- //#region src/models/locomotion/LocomotionPhase.d.ts
1245
- export interface LocomotionPhase {
1246
- state: LocomotionState;
1247
- stateSeconds: number;
1248
- }
1249
- //#endregion
1250
- //#region src/character/pose/createCharacterPoser.d.ts
1251
- export interface CharacterPoser {
1252
- update: (update: CharacterPoseUpdate) => void;
1253
- }
1254
- export interface CharacterPoseUpdate {
1255
- delta: number;
1256
- locomotion: Locomotion;
1257
- phase: LocomotionPhase;
1258
- }
1259
- export declare const createCharacterPoser: (skinnedMesh: SkinnedMesh, boneNameMap?: CharacterBoneNameMap) => CharacterPoser;
1260
- //#endregion
1261
- //#region src/character/pose/findSkinnedMesh.d.ts
1262
- export declare const findSkinnedMesh: (object: Object3D) => SkinnedMesh | undefined;
1263
- //#endregion
1264
- //#region src/character/shading/constants.d.ts
1265
- export declare const REGION_FLOORS: {
1266
- readonly five: 0.6;
1267
- readonly four: 0.2;
1268
- readonly three: 0.4;
1269
- readonly two: 0.8;
1270
- };
1271
- export declare const RAMP_ROW_BASE = .05;
1272
- export declare const COOL_RAMP_ROW_BASE = .55;
1273
- export declare const RAMP_ROW_STEP = .1;
1274
- export declare const NEUTRAL_LIGHT_MAP_GREEN = .5;
1275
- export declare const EMISSION_ALPHA_FLOOR = .01;
1276
- export declare const TOON_LOW = .05;
1277
- export declare const TOON_HIGH = .95;
1278
- export declare const MINIMUM_RAMP_WIDTH_VERTEX = .01;
1279
- export declare const MINIMUM_OUTLINE_KNOT_SPAN = .001;
1280
- export declare const OUTLINE_PROJECTION_SCALE = 2.414;
1281
- export declare const OUTLINE_WIDTH_SCALE = .41425;
1282
- export declare const OUTLINE_MAIN_TEXTURE_SHARE = .2;
1283
- export declare const DESATURATION_WEIGHTS: readonly [number, number, number];
1284
- export declare const HALF_LAMBERT_SCALE = .4975;
1285
- export declare const HALF_LAMBERT_OFFSET = .5;
1286
- export declare const DEFAULT_LIGHT_AREA: number;
1287
- export declare const DEFAULT_RAMP_WIDTH: number;
1288
- export declare const MINIMUM_FACE_THRESHOLD = 1e-4;
1289
- export declare const MAXIMUM_FACE_THRESHOLD = .9999;
1290
- export declare const MAXIMUM_WINDOW_FLOOR = .9989;
1291
- export declare const FLAT_LIGHT_MAP: Readonly<[number, number, number, number]>;
1292
- //#endregion
1293
- //#region src/character/shading/createCharacterShadingNode.d.ts
1294
- export declare const createCharacterShadingNode: (inputs: CharacterShadingInputs, { lightColor, sunDirection }: Pick<LightUniforms, "lightColor" | "sunDirection">) => Node<"vec3">;
1295
- //#endregion
1296
- //#region src/character/shading/createFaceShadeNode.d.ts
1297
- export declare const createFaceShadeNode: (faceMap: Texture | undefined, softness: number, { flip, threshold }: FaceDraw) => Node<"float">;
1298
- //#endregion
1299
- //#region src/character/shading/createOutlineColorNode.d.ts
1300
- export declare const createOutlineColorNode: ({ color, contrastScale, desaturateScale, lightMapTexture, mainTexture, regionTints, regionToggles }: CharacterShadingInputs, { colors, intensities }: OutlineRegions) => Node<"vec3">;
1301
- //#endregion
1302
- //#region src/character/shading/createOutlineScaleNode.d.ts
1303
- export declare const createOutlineScaleNode: (depths: Vector3Tuple, scales: Vector3Tuple) => Node<"float">;
1304
- //#endregion
1305
- //#region src/character/shading/createRampColumnNode.d.ts
1306
- export declare const createRampColumnNode: (threshold: Node<"float">, lightArea: number, rampWidth: Node<"float">) => Node<"float">;
1307
- //#endregion
1308
- //#region src/character/shading/createRampUvNode.d.ts
1309
- export declare const createRampUvNode: (layout: RampLayout, column: Node<"float">, row: Node<"float">) => Node<"vec2">;
1310
- //#endregion
1311
- //#region src/character/shading/createShadingRegionNode.d.ts
1312
- export declare const createShadingRegionNode: (alpha: Node<"float">, toggles: ShadingRegionToggles) => Node<"float">;
1313
- //#endregion
1314
- //#region src/character/shading/createToneNode.d.ts
1315
- export declare const createToneNode: (colour: Node<"vec3">, desaturateScale: number, contrastScale: number) => Node<"vec3">;
1316
- //#endregion
1317
- //#region src/models/character/ToonThresholdNodeInputs.d.ts
1318
- export interface ToonThresholdNodeInputs {
1319
- isLightMapAo: boolean;
1320
- isVertexAo: boolean;
1321
- lightMapGreen: Node<"float">;
1322
- sunTerm: Node<"float">;
1323
- vertexAo: number;
1324
- }
1325
- //#endregion
1326
- //#region src/character/shading/createToonThresholdNode.d.ts
1327
- export declare const createToonThresholdNode: ({ isLightMapAo, isVertexAo, lightMapGreen, sunTerm, vertexAo }: ToonThresholdNodeInputs) => Node<"float">;
1328
- //#endregion
1329
- //#region src/character/shading/getDesaturatedColour.d.ts
1330
- export declare const getDesaturatedColour: (colour: Vector3, desaturateScale: number) => Vector3;
1331
- //#endregion
1332
- //#region src/character/shading/getOutlineDepth.d.ts
1333
- export declare const getOutlineDepth: (viewZ: number, projectionYScale: number) => number;
1334
- //#endregion
1335
- //#region src/character/shading/getOutlineScale.d.ts
1336
- export declare const getOutlineScale: (depth: number, knotDepths: Vector3, knotScales: Vector3) => number;
1337
- //#endregion
1338
- //#region src/character/shading/getRampColumn.d.ts
1339
- export declare const getRampColumn: (threshold: number, lightArea: number, rampWidth: number) => number;
1340
- //#endregion
1341
- //#region src/character/shading/getRampRow.d.ts
1342
- export declare const getRampRow: (region: number, isCoolShadow: boolean) => number;
1343
- //#endregion
1344
- //#region src/models/character/RampWidthInputs.d.ts
1345
- export interface RampWidthInputs {
1346
- isVertexRampWidth: boolean;
1347
- rampWidth: number;
1348
- vertexRampWidth: number;
1349
- }
1350
- //#endregion
1351
- //#region src/character/shading/getRampWidth.d.ts
1352
- export declare const getRampWidth: ({ isVertexRampWidth, rampWidth, vertexRampWidth }: RampWidthInputs) => number;
1353
- //#endregion
1354
- //#region src/character/shading/getShadingRegion.d.ts
1355
- export declare const getShadingRegion: (alpha: number, toggles: ShadingRegionToggles) => number;
1356
- //#endregion
1357
- //#region src/character/shading/getToneColour.d.ts
1358
- export declare const getToneColour: (colour: Vector3, desaturateScale: number, contrastScale: number) => Vector3;
1359
- //#endregion
1360
- //#region src/character/shading/getToonThreshold.d.ts
1361
- export interface ToonThresholdInputs {
1362
- isLightMapAo: boolean;
1363
- isVertexAo: boolean;
1364
- lightMapGreen: number;
1365
- sunTerm: number;
1366
- vertexAo: number;
1367
- }
1368
- export declare const getToonThreshold: ({ isLightMapAo, isVertexAo, lightMapGreen, sunTerm, vertexAo }: ToonThresholdInputs) => number;
1369
- //#endregion
1370
- //#region src/character/shading/selectRegionNode.d.ts
1371
- export declare const selectRegionNode: <TNodeType>(region: Node<"float">, toRegionNode: (regionName: keyof ShadingRegionColours) => Node<TNodeType>) => Node<TNodeType>;
1372
- //#endregion
1373
- //#region src/character/shading/updateFaceDraw.d.ts
1374
- export declare const createFaceDraw: ({ flipFactor, rotateOffset }?: Partial<Pick<FaceDraw, "flipFactor" | "rotateOffset">>) => FaceDraw;
1375
- export declare const updateFaceDraw: (faceDraw: FaceDraw, lightDirection: Vector3, rootRotation: Quaternion) => void;
1376
- //#endregion
1377
- //#region src/models/clock/GameClock.d.ts
1378
- export interface GameClock {
1379
- minutes: number;
1380
- minutesPerSecond: number;
1381
- }
1382
- //#endregion
1383
- //#region src/clock/advanceGameClock.d.ts
1384
- export declare const advanceGameClock: (gameClock: GameClock, deltaSeconds: number) => void;
1385
- //#endregion
1386
- //#region src/clock/constants.d.ts
1387
- export declare const MINUTES_PER_DAY = 1440;
1388
- export declare const GAME_MINUTES_PER_SECOND = 1;
1389
- //#endregion
1390
- //#region src/collision/constants.d.ts
1391
- export declare const GROUND_NORMAL_SPAN = .1;
1392
- export declare const SPHERE_CAST_STRIDE_SHARE = .5;
1393
- //#endregion
1394
- //#region src/collision/createGroundQuery.d.ts
1395
- export declare const createGroundQuery: (getHeight: (x: number, z: number) => number, waterLevel: number) => GroundQuery;
1396
- //#endregion
1397
- //#region src/collision/createLandmarkCollider.d.ts
1398
- export declare const createLandmarkCollider: () => LandmarkCollider;
1399
- //#endregion
1400
- //#region src/constants.d.ts
1401
- export declare const MAX_BYTE = 255;
1402
- //#endregion
1403
- //#region src/input/InputActionBindingMap.d.ts
1404
- export declare const InputActionBindingMap: Readonly<Record<InputAction, readonly (readonly string[])[]>>;
1405
- //#endregion
1406
- //#region src/models/input/GamepadButton.d.ts
1407
- export declare enum GamepadButton {
1408
- Back = "GamepadBack",
1409
- DirectionalPadDown = "GamepadDirectionalPadDown",
1410
- DirectionalPadLeft = "GamepadDirectionalPadLeft",
1411
- DirectionalPadRight = "GamepadDirectionalPadRight",
1412
- DirectionalPadUp = "GamepadDirectionalPadUp",
1413
- FaceBottom = "GamepadFaceBottom",
1414
- FaceLeft = "GamepadFaceLeft",
1415
- FaceRight = "GamepadFaceRight",
1416
- FaceTop = "GamepadFaceTop",
1417
- LeftBumper = "GamepadLeftBumper",
1418
- LeftStick = "GamepadLeftStick",
1419
- LeftTrigger = "GamepadLeftTrigger",
1420
- RightBumper = "GamepadRightBumper",
1421
- RightStick = "GamepadRightStick",
1422
- RightTrigger = "GamepadRightTrigger",
1423
- Start = "GamepadStart"
1424
- }
1425
- //#endregion
1426
- //#region src/models/input/MouseButton.d.ts
1427
- export declare enum MouseButton {
1428
- Auxiliary = "MouseAuxiliary",
1429
- Primary = "MousePrimary",
1430
- Secondary = "MouseSecondary"
1431
- }
1432
- //#endregion
1433
- //#region src/input/constants.d.ts
1434
- export declare const KEY_CODE_FORWARD = "KeyW";
1435
- export declare const KEY_CODE_BACKWARD = "KeyS";
1436
- export declare const KEY_CODE_LEFT = "KeyA";
1437
- export declare const KEY_CODE_RIGHT = "KeyD";
1438
- export declare const KEY_CODE_UP = "Space";
1439
- export declare const KEY_CODE_DOWN = "ShiftLeft";
1440
- export declare const FOCUS_KEY_CODES: readonly string[];
1441
- export declare const FIELD_SELECTOR = "input, select, textarea, [contenteditable=\"true\"]";
1442
- export declare const GAMEPAD_BUTTONS: readonly GamepadButton[];
1443
- export declare const MOUSE_BUTTONS: readonly MouseButton[];
1444
- export declare const MOUSE_LOOK_RADIANS_PER_PIXEL = .002;
1445
- export declare const MOUSE_LOOK_MAX_PIXELS_PER_EVENT: number;
1446
- export declare const GAMEPAD_LOOK_RADIANS_PER_SECOND = 2.5;
1447
- export declare const GAMEPAD_STICK_DEADZONE = .15;
1448
- //#endregion
1449
- //#region src/models/input/Input.d.ts
1450
- export interface Input {
1451
- dispose: () => void;
1452
- press: (code: string) => void;
1453
- readInput: (frameSeconds: number) => InputState;
1454
- release: (code: string) => void;
1455
- setTouchStick: (x: number, y: number) => void;
1456
- turn: (lookYaw: number, lookPitch: number) => void;
1457
- }
1458
- //#endregion
1459
- //#region src/input/createInput.d.ts
1460
- export declare const createInput: (target: Window) => Input;
1461
- //#endregion
1462
- //#region src/kits/architecture/createBoxesGeometry.d.ts
1463
- export declare const createBoxesGeometry: (boxes: readonly (readonly number[])[]) => BufferGeometry;
1464
- //#endregion
1465
- //#region src/models/kits/architecture/RoofKind.d.ts
1466
- export declare enum RoofKind {
1467
- Conical = "Conical",
1468
- Flat = "Flat"
1469
- }
1470
- //#endregion
1471
- //#region src/models/kits/architecture/BuildingOptions.d.ts
1472
- export interface BuildingOptions {
1473
- depth: number;
1474
- platformHeight: number;
1475
- roofHeight: number;
1476
- roofKind: RoofKind;
1477
- wallHeight: number;
1478
- wallThickness: number;
1479
- width: number;
1480
- }
1481
- //#endregion
1482
- //#region src/kits/architecture/createBuildingGeometry.d.ts
1483
- export declare const createBuildingGeometry: ({ depth, platformHeight, roofHeight, roofKind, wallHeight, wallThickness, width }: BuildingOptions) => BufferGeometry;
1484
- //#endregion
1485
- //#region src/models/kits/architecture/LatheSection.d.ts
1486
- export interface LatheSection {
1487
- bottomRadius: number;
1488
- height: number;
1489
- topRadius: number;
1490
- }
1491
- //#endregion
1492
- //#region src/models/kits/architecture/LatheStackOptions.d.ts
1493
- export interface LatheStackOptions {
1494
- isFaceted: boolean;
1495
- radialSegments: number;
1496
- sections: LatheSection[];
1497
- }
1498
- //#endregion
1499
- //#region src/kits/architecture/createLatheStackGeometry.d.ts
1500
- export declare const createLatheStackGeometry: ({ isFaceted, radialSegments, sections }: LatheStackOptions) => BufferGeometry;
1501
- //#endregion
1502
- //#region src/models/kits/architecture/PavingStoneShape.d.ts
1503
- export interface PavingStoneShape {
1504
- bottom: number;
1505
- radii: readonly number[];
1506
- top: number;
1507
- }
1508
- //#endregion
1509
- //#region src/models/kits/architecture/PavingStone.d.ts
1510
- export interface PavingStone {
1511
- position: readonly number[];
1512
- quaternion: readonly number[];
1513
- scale: readonly number[];
1514
- shape: PavingStoneShape;
1515
- }
1516
- //#endregion
1517
- //#region src/kits/architecture/createPavingGeometry.d.ts
1518
- export declare const createPavingGeometry: (stones: readonly PavingStone[]) => BufferGeometry;
1519
- //#endregion
1520
- //#region src/kits/architecture/createPavingStoneGeometry.d.ts
1521
- export declare const createPavingStoneGeometry: ({ bottom, radii, top }: PavingStoneShape) => BufferGeometry;
1522
- //#endregion
1523
- //#region src/models/kits/tree/LeafCards.d.ts
1524
- export interface LeafCards {
1525
- indices: Uint32Array;
1526
- normals: Float32Array;
1527
- positions: Float32Array;
1528
- uvs: Float32Array;
1529
- }
1530
- //#endregion
1531
- //#region src/kits/createIndexedGeometry.d.ts
1532
- export declare const createIndexedGeometry: ({ indices, normals, positions, uvs }: LeafCards) => BufferGeometry;
1533
- //#endregion
1534
- //#region src/kits/mergeGeometryParts.d.ts
1535
- export declare const mergeGeometryParts: (parts: BufferGeometry[]) => BufferGeometry;
1536
- //#endregion
1537
- //#region src/models/kits/statue/StatueSection.d.ts
1538
- export interface StatueSection {
1539
- centre: readonly number[];
1540
- colors: readonly number[];
1541
- height: number;
1542
- radii: readonly number[];
1543
- }
1544
- //#endregion
1545
- //#region src/models/kits/statue/StatueSurface.d.ts
1546
- export interface StatueSurface {
1547
- colors: Float32Array;
1548
- indices: Uint32Array;
1549
- positions: Float32Array;
1550
- }
1551
- //#endregion
1552
- //#region src/kits/statue/computeStatueSurface.d.ts
1553
- export declare const computeStatueSurface: (sections: readonly StatueSection[]) => StatueSurface;
1554
- //#endregion
1555
- //#region src/models/kits/statue/StatueStack.d.ts
1556
- export interface StatueStack {
1557
- position: readonly number[];
1558
- rotation: readonly number[];
1559
- sections: StatueSection[];
1560
- }
1561
- //#endregion
1562
- //#region src/models/kits/statue/StatuePart.d.ts
1563
- export interface StatuePart extends StatueStack {
1564
- part: string;
1565
- }
1566
- //#endregion
1567
- //#region src/kits/statue/createStatueGeometries.d.ts
1568
- export declare const createStatueGeometries: (parts: readonly StatuePart[]) => Record<string, BufferGeometry>;
1569
- //#endregion
1570
- //#region src/models/kits/tree/TreeCluster.d.ts
1571
- export interface TreeCluster {
1572
- leafArea: number;
1573
- radius: number;
1574
- x: number;
1575
- y: number;
1576
- z: number;
1577
- }
1578
- //#endregion
1579
- //#region src/models/kits/tree/TreeNormalField.d.ts
1580
- export interface TreeNormalField {
1581
- cellSize: number;
1582
- normals: readonly number[];
1583
- origin: readonly number[];
1584
- size: readonly number[];
1585
- }
1586
- //#endregion
1587
- //#region src/models/kits/tree/TreeTubePoint.d.ts
1588
- export interface TreeTubePoint {
1589
- radius: number;
1590
- x: number;
1591
- y: number;
1592
- z: number;
1593
- }
1594
- //#endregion
1595
- //#region src/models/kits/tree/TreeTube.d.ts
1596
- export type TreeTube = readonly [TreeTubePoint, TreeTubePoint, ...TreeTubePoint[]];
1597
- //#endregion
1598
- //#region src/models/kits/tree/TreeOptions.d.ts
1599
- export interface TreeOptions {
1600
- cardSize: number;
1601
- clusters: readonly TreeCluster[];
1602
- leafAreaScale: number;
1603
- limbs: readonly TreeTube[];
1604
- normalField?: TreeNormalField;
1605
- roots: readonly TreeTube[];
1606
- seed: number;
1607
- }
1608
- //#endregion
1609
- //#region src/kits/tree/computeLeafCards.d.ts
1610
- export declare const computeLeafCards: (clusters: readonly TreeCluster[], { cardSize, leafAreaScale, normalField, seed }: Pick<TreeOptions, "cardSize" | "leafAreaScale" | "normalField" | "seed">) => LeafCards;
1611
- //#endregion
1612
- //#region src/models/kits/tree/TreeTubes.d.ts
1613
- export interface TreeTubes {
1614
- indices: Uint32Array;
1615
- normals: Float32Array;
1616
- positions: Float32Array;
1617
- uvs: Float32Array;
1618
- }
1619
- //#endregion
1620
- //#region src/kits/tree/computeTreeTubes.d.ts
1621
- export declare const computeTreeTubes: (tubes: readonly TreeTube[]) => TreeTubes;
1622
- //#endregion
1623
- //#region src/models/kits/tree/TreeGeometry.d.ts
1624
- export interface TreeGeometry {
1625
- branchGeometry: BufferGeometry;
1626
- leafGeometry: BufferGeometry;
1627
- }
1628
- //#endregion
1629
- //#region src/kits/tree/createTreeGeometry.d.ts
1630
- export declare const createTreeGeometry: ({ limbs, roots, ...treeOptions }: TreeOptions) => TreeGeometry;
1631
- //#endregion
1632
- //#region src/kits/tree/sampleTreeNormalField.d.ts
1633
- export declare const sampleTreeNormalField: ({ cellSize, normals, origin, size }: TreeNormalField, position: [number, number, number]) => [number, number, number] | undefined;
1634
- //#endregion
1635
- //#region src/kits/writeQuadIndices.d.ts
1636
- export declare const writeQuadIndices: (indices: Uint32Array, indexStart: number, vertexStart: number) => void;
1637
- //#endregion
1638
- //#region src/models/locomotion/LocomotionContact.d.ts
1639
- export interface LocomotionContact {
1640
- isFacingWall: boolean;
1641
- isGrounded: boolean;
1642
- isHighAboveGround: boolean;
1643
- isInDeepWater: boolean;
1644
- isRising: boolean;
1645
- }
1646
- //#endregion
1647
- //#region src/models/locomotion/LocomotionInput.d.ts
1648
- export interface LocomotionInput {
1649
- isSprintHeld: boolean;
1650
- isWalking: boolean;
1651
- moveForward: number;
1652
- moveRight: number;
1653
- pressedActions: ReadonlySet<InputAction>;
1654
- }
1655
- //#endregion
1656
- //#region src/locomotion/computeLocomotionState.d.ts
1657
- export declare const computeLocomotionState: (phase: LocomotionPhase, input: LocomotionInput, contact: LocomotionContact, stamina: number, locomotion: Locomotion) => LocomotionState;
1658
- //#endregion
1659
- //#region src/locomotion/constants.d.ts
1660
- export declare const STAMINA_MAX = 100;
1661
- export declare const STAMINA_REFILL_PER_SECOND = 25;
1662
- export declare const STAMINA_REFILL_DELAY_SECONDS = 1.5;
1663
- export declare const DASH_STAMINA_COST = 18;
1664
- export declare const SPRINT_STAMINA_PER_SECOND = 18;
1665
- export declare const CLIMB_JUMP_STAMINA_COST = 25;
1666
- export declare const SWIM_STROKE_STAMINA_COST = 4;
1667
- export declare const SWIM_DASH_STAMINA_COST = 2;
1668
- export declare const SWIM_DASH_STAMINA_PER_SECOND = 10.2;
1669
- export declare const CLIMB_START_STAMINA = 5;
1670
- export declare const GLIDE_STAMINA_PER_SECOND = 3;
1671
- export declare const CLIMB_STAMINA_PER_SECOND = 2;
1672
- export declare const SWIM_STROKE_SECONDS = 1.67;
1673
- export declare const STAMINA_REFILL_STATES: readonly LocomotionState[];
1674
- export declare const AIR_LOCOMOTION_STATES: readonly LocomotionState[];
1675
- export declare const CLIMB_LOCOMOTION_STATES: readonly LocomotionState[];
1676
- export declare const WATER_LOCOMOTION_STATES: readonly LocomotionState[];
1677
- export declare const GROUND_LOCOMOTION_STATES: readonly LocomotionState[];
1678
- export declare const WALK_MOVE_MAGNITUDE = .5;
1679
- export declare const GROUND_CONTACT_DISTANCE = .05;
1680
- export declare const GROUND_PRESS_SPEED = 1;
1681
- export declare const WALL_PRESS_SPEED = 1;
1682
- export declare const WALL_PROBE_DISTANCE = .1;
1683
- export declare const STEEP_SLIDE_SPEED = 4;
1684
- export declare const CLIMB_REGRAB_SECONDS = .5;
1685
- //#endregion
1686
- //#region src/models/locomotion/Stamina.d.ts
1687
- export interface Stamina {
1688
- checkCanSpend: (amount: number) => boolean;
1689
- maximum: number;
1690
- refill: () => void;
1691
- spend: (amount: number) => void;
1692
- step: (phase: LocomotionPhase, isEntered: boolean, isMoving: boolean, stepSeconds: number) => void;
1693
- value: number;
1694
- }
1695
- //#endregion
1696
- //#region src/models/locomotion/CharacterController.d.ts
1697
- export interface CharacterController {
1698
- face: (facing: number) => void;
1699
- readonly facing: number;
1700
- readonly heldPresses: ReadonlySet<InputAction>;
1701
- holdPresses: (input: InputState) => void;
1702
- readonly phase: Readonly<LocomotionPhase>;
1703
- place: (position: Vector3, facing: number) => void;
1704
- readonly position: Vector3;
1705
- readonly previousPosition: Vector3;
1706
- readonly stamina: Stamina;
1707
- step: (input: InputState, cameraYaw: number, locomotion: Locomotion, stepSeconds: number) => void;
1708
- }
1709
- //#endregion
1710
- //#region src/models/locomotion/CharacterControllerOptions.d.ts
1711
- export interface CharacterControllerOptions {
1712
- getStaminaConsumptionMultiplier?: () => number;
1713
- ground: GroundQuery;
1714
- landmarkCollider: LandmarkCollider;
1715
- position: Vector3;
1716
- staminaMaximum: number;
1717
- }
1718
- //#endregion
1719
- //#region src/locomotion/createCharacterController.d.ts
1720
- export declare const createCharacterController: ({ getStaminaConsumptionMultiplier, ground, landmarkCollider, position, staminaMaximum }: CharacterControllerOptions) => CharacterController;
1721
- //#endregion
1722
- //#region src/locomotion/createStamina.d.ts
1723
- export declare const createStamina: (maximum: number, getStaminaConsumptionMultiplier?: () => number) => Stamina;
1724
- //#endregion
1725
- //#region src/materials/addSmoothLoop.d.ts
1726
- export declare const addSmoothLoop: (path: Path2D, points: readonly (readonly [number, number])[]) => void;
1727
- //#endregion
1728
- //#region src/models/materials/RampOptions.d.ts
1729
- export interface RampOptions {
1730
- resolution: number;
1731
- shade: number;
1732
- softness: number;
1733
- terminator: number;
1734
- }
1735
- //#endregion
1736
- //#region src/materials/computeRampValues.d.ts
1737
- export declare const computeRampValues: ({ resolution, shade, softness, terminator }: RampOptions) => Uint8Array;
1738
- //#endregion
1739
- //#region src/materials/createRampTexture.d.ts
1740
- export declare const createRampTexture: (rampOptions: RampOptions) => DataTexture;
1741
- //#endregion
1742
- //#region src/models/character/PmxBoneFlag.d.ts
1743
- export declare enum PmxBoneFlag {
1744
- IndexedTail = 1,
1745
- InverseKinematics = 32,
1746
- InheritRotation = 256,
1747
- InheritTranslation = 512,
1748
- FixedAxis = 1024,
1749
- LocalAxes = 2048,
1750
- ExternalParent = 8192
1751
- }
1752
- //#endregion
1753
- //#region src/models/character/PmxMaterialFlag.d.ts
1754
- export declare enum PmxMaterialFlag {
1755
- DoubleSided = 1,
1756
- Outlined = 16
1757
- }
1758
- //#endregion
1759
- //#region src/models/character/PmxTextEncoding.d.ts
1760
- export declare enum PmxTextEncoding {
1761
- Utf16LittleEndian = 0,
1762
- Utf8 = 1
1763
- }
1764
- //#endregion
1765
- //#region src/models/character/PmxWeightDeform.d.ts
1766
- export declare enum PmxWeightDeform {
1767
- OneBone = 0,
1768
- TwoBones = 1,
1769
- FourBones = 2,
1770
- Spherical = 3,
1771
- DualQuaternion = 4
1772
- }
1773
- //#endregion
1774
- //#region src/models/vegetation/Impostor.d.ts
1775
- export interface Impostor {
1776
- albedoTarget: RenderTarget;
1777
- bottom: number;
1778
- height: number;
1779
- normalTarget: RenderTarget;
1780
- width: number;
1781
- }
1782
- //#endregion
1783
- //#region src/models/nodes/ImpostorMaterialOptions.d.ts
1784
- export interface ImpostorMaterialOptions {
1785
- fade: Node<"float">;
1786
- impostor: Impostor;
1787
- lightUniforms: LightUniforms;
1788
- rampTexture: DataTexture;
1789
- }
1790
- //#endregion
1791
- //#region src/models/nodes/ObjectSurface.d.ts
1792
- export declare class ObjectSurface {
1793
- amplitudes: number[];
1794
- color: Color;
1795
- texelsPerMetre: number;
1796
- constructor(color: Color, amplitudes: number[], texelsPerMetre: number);
1797
- }
1798
- //#endregion
1799
- //#region src/models/wind/WindUniforms.d.ts
1800
- export interface WindUniforms {
1801
- direction: UniformNode<"vec2", Vector2>;
1802
- gustSpeed: UniformNode<"float", number>;
1803
- gustStrength: UniformNode<"float", number>;
1804
- gustWidth: UniformNode<"float", number>;
1805
- strength: UniformNode<"float", number>;
1806
- }
1807
- //#endregion
1808
- //#region src/models/nodes/PrecipitationMaterialOptions.d.ts
1809
- export interface PrecipitationMaterialOptions {
1810
- lightUniforms: LightUniforms;
1811
- precipitationUniforms: PrecipitationUniforms;
1812
- windUniforms: WindUniforms;
1813
- }
1814
- //#endregion
1815
- //#region src/models/nodes/SharedToonOutlinePassNode.d.ts
1816
- export declare class SharedToonOutlinePassNode extends ToonOutlinePassNode {
1817
- #private;
1818
- alphaNode: Node<"float">;
1819
- colorNode: Node<"vec3">;
1820
- thicknessNode: Node<"float">;
1821
- _getOutlineMaterial(originalMaterial: Material$1): NodeMaterial;
1822
- override compileAsync(renderer: Renderer): Promise<void>;
1823
- override updateBefore(frame: NodeFrame): boolean | undefined;
1824
- }
1825
- //#endregion
1826
- //#region src/models/vegetation/GroundCapture.d.ts
1827
- export interface GroundCapture {
1828
- camera: OrthographicCamera;
1829
- center: UniformNode<"vec2", Vector2>;
1830
- material: MeshBasicNodeMaterial;
1831
- renderTarget: RenderTarget;
1832
- size: number;
1833
- }
1834
- //#endregion
1835
- //#region src/models/water/WaterUniforms.d.ts
1836
- export interface WaterUniforms {
1837
- causticStrength: UniformNode<"float", number>;
1838
- deepColor: UniformNode<"color", Color>;
1839
- deepDepth: UniformNode<"float", number>;
1840
- foamColor: UniformNode<"color", Color>;
1841
- foamDepth: UniformNode<"float", number>;
1842
- level: UniformNode<"float", number>;
1843
- shallowColor: UniformNode<"color", Color>;
1844
- underwaterFogColor: UniformNode<"color", Color>;
1845
- underwaterFogDensity: UniformNode<"float", number>;
1846
- }
1847
- //#endregion
1848
- //#region src/models/nodes/SplashMaterialOptions.d.ts
1849
- export interface SplashMaterialOptions {
1850
- groundCapture: GroundCapture;
1851
- lightUniforms: LightUniforms;
1852
- precipitationUniforms: PrecipitationUniforms;
1853
- waterUniforms: WaterUniforms;
1854
- }
1855
- //#endregion
1856
- //#region src/models/nodes/StoneLight.d.ts
1857
- export interface StoneLight {
1858
- harmonics: (readonly number[])[];
1859
- hazeColor: readonly number[];
1860
- hazeScatterColor: readonly number[];
1861
- heightDarkening: number;
1862
- heightFade: readonly number[];
1863
- ramp: (readonly number[])[];
1864
- }
1865
- //#endregion
1866
- //#region src/models/nodes/StoneLightUniforms.d.ts
1867
- export interface StoneLightUniforms {
1868
- harmonics: UniformArrayNode<"vec3">;
1869
- hazeColor: UniformNode<"color", Color>;
1870
- hazeScatterColor: UniformNode<"color", Color>;
1871
- heightDarkening: UniformNode<"float", number>;
1872
- heightFade: UniformNode<"color", Color>;
1873
- ramp: DataTexture;
1874
- sunRadiance: UniformNode<"color", Color>;
1875
- }
1876
- //#endregion
1877
- //#region src/models/nodes/StoneLightingModel.d.ts
1878
- export declare class StoneLightingModel extends LightingModel {
1879
- readonly stoneLight: StoneLightUniforms;
1880
- constructor(stoneLight: StoneLightUniforms);
1881
- createDarkeningNode(): Node<"float">;
1882
- override direct({ lightColor, lightDirection, reflectedLight }: LightingModelDirectInput): void;
1883
- override indirect(builder: NodeBuilder): void;
1884
- }
1885
- //#endregion
1886
- //#region src/models/nodes/StoneMaterialOptions.d.ts
1887
- export interface StoneMaterialOptions {
1888
- albedo: string;
1889
- glowRange: number;
1890
- rimColor: readonly number[];
1891
- rimPower: number;
1892
- rimStrength: number;
1893
- smoothness: number;
1894
- specularColor: readonly number[];
1895
- }
1896
- //#endregion
1897
- //#region src/models/nodes/StoneNodeMaterial.d.ts
1898
- export declare class StoneNodeMaterial extends NodeMaterial {
1899
- emissiveNode: Node | null;
1900
- readonly stoneLight: StoneLightUniforms;
1901
- constructor(stoneLight: StoneLightUniforms);
1902
- override setupLightingModel(): StoneLightingModel;
1903
- }
1904
- //#endregion
1905
- //#region src/models/nodes/SurfaceDetail.d.ts
1906
- export interface SurfaceDetail {
1907
- bands: number[];
1908
- metresPerTexel: number;
1909
- variance: number;
1910
- }
1911
- //#endregion
1912
- //#region src/models/nodes/ToonMaterialOptions.d.ts
1913
- export interface ToonMaterialOptions {
1914
- color?: ColorRepresentation;
1915
- detail?: SurfaceDetail;
1916
- isObjectSurface?: boolean;
1917
- isOutlined?: boolean;
1918
- isVertexColors?: boolean;
1919
- lightUniforms: LightUniforms;
1920
- rampTexture: DataTexture;
1921
- }
1922
- //#endregion
1923
- //#region src/models/nodes/createOutlineMaterial.d.ts
1924
- export declare const createOutlineMaterial: (colorNode: Node<"vec4">, thicknessNode: Node<"float">) => NodeMaterial;
1925
- export declare const createGameOutlineMaterial: (colorNode: Node<"vec4">, widthNode: Node<"float">, offsetNode: Node<"float">) => NodeMaterial;
1926
- //#endregion
1927
- //#region src/models/nodes/getGameOutlineOffset.d.ts
1928
- export declare const getGameOutlineOffset: (viewPosition: Vector3, blue: number, blockBChannel: number, size: number) => Vector3;
1929
- //#endregion
1930
- //#region src/models/post/GradeOptions.d.ts
1931
- export interface GradeOptions {
1932
- contrast: number;
1933
- highlightTint: readonly [number, number, number];
1934
- saturation: number;
1935
- shadowTint: readonly [number, number, number];
1936
- size: number;
1937
- }
1938
- //#endregion
1939
- //#region src/models/post/PostPipeline.d.ts
1940
- export interface PostPipeline {
1941
- bloomNode?: BloomNode;
1942
- compileAsync: () => Promise<void>;
1943
- dispose: () => void;
1944
- godraysNode?: GodraysNode;
1945
- renderPipeline: RenderPipeline;
1946
- }
1947
- //#endregion
1948
- //#region src/models/post/SightUniforms.d.ts
1949
- export interface SightUniforms {
1950
- origin: UniformNode<"vec2", Vector2>;
1951
- radius: UniformNode<"float", number>;
1952
- strength: UniformNode<"float", number>;
1953
- }
1954
- //#endregion
1955
- //#region src/models/renderer/AntialiasingMode.d.ts
1956
- export declare enum AntialiasingMode {
1957
- Smaa = "Smaa",
1958
- Traa = "Traa"
1959
- }
1960
- //#endregion
1961
- //#region src/models/renderer/QualityTierSettings.d.ts
1962
- export interface QualityTierSettings {
1963
- antialiasingMode: AntialiasingMode;
1964
- cascadeCount: number;
1965
- godraysStepCount: number;
1966
- grassDensity: number;
1967
- isBloomEnabled: boolean;
1968
- isOcclusionEnabled: boolean;
1969
- maxPixelRatio: number;
1970
- shadowMapSize: number;
1971
- }
1972
- //#endregion
1973
- //#region src/models/post/PostPipelineOptions.d.ts
1974
- export interface PostPipelineOptions {
1975
- camera: Camera;
1976
- fogUniforms: FogUniforms;
1977
- godraysLight?: DirectionalLight;
1978
- gradeLutTexture?: Data3DTexture;
1979
- isBloomed?: boolean;
1980
- occlusionRadius?: number;
1981
- postUniforms: PostUniforms;
1982
- qualityTierSettings: QualityTierSettings;
1983
- renderer: Renderer;
1984
- scene: Scene;
1985
- sight?: {
1986
- litScene: Scene;
1987
- uniforms: SightUniforms;
1988
- };
1989
- stoneLight?: StoneLightUniforms;
1990
- }
1991
- //#endregion
1992
- //#region src/models/renderer/QualityTier.d.ts
1993
- export declare enum QualityTier {
1994
- High = "High",
1995
- Low = "Low",
1996
- Medium = "Medium"
1997
- }
1998
- //#endregion
1999
- //#region src/models/renderer/ScreenCamera.d.ts
2000
- export interface ScreenCamera {
2001
- aspect: number;
2002
- fov: number;
2003
- pitch: number;
2004
- yaw: number;
2005
- }
2006
- //#endregion
2007
- //#region src/models/scene/SceneMaterial.d.ts
2008
- export interface SceneMaterial {
2009
- colors: Record<string, [number, number, number, number]>;
2010
- floats: Record<string, number>;
2011
- keywords: string[];
2012
- name: string;
2013
- shader?: string;
2014
- textures: Record<string, {
2015
- name: string;
2016
- offset: [number, number];
2017
- scale: [number, number];
2018
- }>;
2019
- }
2020
- //#endregion
2021
- //#region src/models/scene/ScenePlacement.d.ts
2022
- export interface ScenePlacement {
2023
- materials: string[];
2024
- mesh: string;
2025
- position: [number, number, number];
2026
- rotation: [number, number, number, number];
2027
- scale: [number, number, number];
2028
- }
2029
- //#endregion
2030
- //#region src/models/scene/SceneLayout.d.ts
2031
- export interface SceneLayout {
2032
- materials: Record<string, SceneMaterial>;
2033
- placements: ScenePlacement[];
2034
- }
2035
- //#endregion
2036
- //#region src/models/simulation/FixedStepLoop.d.ts
2037
- export interface FixedStepLoop {
2038
- advance: (deltaSeconds: number) => void;
2039
- getStepShare: () => number;
2040
- }
2041
- //#endregion
2042
- //#region src/models/terrain/TerrainSelection.d.ts
2043
- export interface TerrainSelection {
2044
- count: number;
2045
- keys: Float64Array;
2046
- }
2047
- //#endregion
2048
- //#region src/models/streaming/TileStreamer.d.ts
2049
- export interface TileStreamer<TTile> {
2050
- dispose: () => void;
2051
- fail: (key: number) => boolean;
2052
- get: (key: number) => TTile | undefined;
2053
- has: (key: number) => boolean;
2054
- isSettled: (key: number) => boolean;
2055
- pendingKeys: () => number[];
2056
- receive: (key: number, tile: TTile) => void;
2057
- refresh: (checkIsChanged: (key: number) => boolean) => void;
2058
- update: (wanted: TerrainSelection, drawn: TerrainSelection, surrounding: TerrainSelection) => void;
2059
- }
2060
- //#endregion
2061
- //#region src/models/streaming/TileStreamerOptions.d.ts
2062
- export interface TileStreamerOptions<TTile> {
2063
- disposeTile: (tile: TTile) => void;
2064
- maxCachedCount: number;
2065
- maxPendingCount: number;
2066
- requestTile: (key: number) => void;
2067
- }
2068
- //#endregion
2069
- //#region src/models/terrain/TerrainBounds.d.ts
2070
- export interface TerrainBounds {
2071
- maxX: number;
2072
- maxZ: number;
2073
- minX: number;
2074
- minZ: number;
2075
- }
2076
- //#endregion
2077
- //#region src/models/terrain/TerrainRing.d.ts
2078
- export interface TerrainRing {
2079
- add: (tile: TerrainTile) => void;
2080
- dispose: () => void;
2081
- draw: (keys: readonly number[]) => void;
2082
- mesh: Mesh;
2083
- remove: (key: number) => void;
2084
- }
2085
- //#endregion
2086
- //#region src/models/terrain/TerrainTileArrays.d.ts
2087
- export type TerrainTileArrays = Pick<TerrainTile, "coarseColors" | "coarseNormals" | "coarsePositions" | "colors" | "normals" | "positions">;
2088
- //#endregion
2089
- //#region src/models/vegetation/GrassBlade.d.ts
2090
- export interface GrassBlade {
2091
- indices: Uint16Array;
2092
- positions: Float32Array;
2093
- }
2094
- //#endregion
2095
- //#region src/models/vegetation/GrassRing.d.ts
2096
- export interface GrassRing {
2097
- cellsPerSide: number;
2098
- fadeEnd: number;
2099
- fadeStart: number;
2100
- innerRadius: number;
2101
- scale: number;
2102
- spacing: number;
2103
- }
2104
- //#endregion
2105
- //#region src/models/vegetation/GrassOptions.d.ts
2106
- export interface GrassOptions {
2107
- bladeHeight: number;
2108
- bladeWidth: number;
2109
- cameraGround: UniformNode<"vec2", Vector2>;
2110
- density: UniformNode<"float", number>;
2111
- groundCapture: GroundCapture;
2112
- lightUniforms: LightUniforms;
2113
- rampTexture: DataTexture;
2114
- ring: GrassRing;
2115
- waterUniforms: Pick<WaterUniforms, "level">;
2116
- windUniforms: WindUniforms;
2117
- }
2118
- //#endregion
2119
- //#region src/models/vegetation/ImpostorPart.d.ts
2120
- export interface ImpostorPart {
2121
- color: ColorRepresentation;
2122
- geometry: BufferGeometry;
2123
- opacityNode?: Node<"float">;
2124
- }
2125
- //#endregion
2126
- //#region src/models/water/RiverCoursePoint.d.ts
2127
- export interface RiverCoursePoint {
2128
- level: number;
2129
- width: number;
2130
- x: number;
2131
- z: number;
2132
- }
2133
- //#endregion
2134
- //#region src/models/water/UnderwaterFogState.d.ts
2135
- export interface UnderwaterFogState {
2136
- aboveDensity: number;
2137
- aboveHeightFalloff: number;
2138
- aboveMaxOpacity: number;
2139
- aboveStartDistance: number;
2140
- isUnderwater: boolean;
2141
- underwaterDensity: number;
2142
- }
2143
- //#endregion
2144
- //#region src/models/water/WaterFlow.d.ts
2145
- export interface WaterFlow {
2146
- direction: UniformNode<"vec2", Vector2>;
2147
- speed: UniformNode<"float", number>;
2148
- }
2149
- //#endregion
2150
- //#region src/models/water/WaterfallSheet.d.ts
2151
- export interface WaterfallSheet {
2152
- across: Vector3;
2153
- drop: number;
2154
- lip: Vector3;
2155
- width: number;
2156
- }
2157
- //#endregion
2158
- //#region src/models/world/GroundPoint.d.ts
2159
- export interface GroundPoint {
2160
- x: number;
2161
- z: number;
2162
- }
2163
- //#endregion
2164
- //#region src/nodes/applyStoneLight.d.ts
2165
- export declare const applyStoneLight: ({ harmonics, hazeColor, hazeScatterColor, heightDarkening, heightFade, ramp }: StoneLight, { harmonics: harmonicsUniform, hazeColor: hazeColorUniform, hazeScatterColor: hazeScatterColorUniform, heightDarkening: heightDarkeningUniform, heightFade: heightFadeUniform, ramp: rampTexture, sunRadiance }: StoneLightUniforms, light: DirectionalLight) => void;
2166
- //#endregion
2167
- //#region src/nodes/computeStoneDarkening.d.ts
2168
- export declare const computeStoneDarkening: (height: number, heightDarkening: number) => number;
2169
- //#endregion
2170
- //#region src/nodes/computeStoneHarmonics.d.ts
2171
- export declare const computeStoneHarmonics: ([x, y, z]: readonly number[], harmonics: number[]) => void;
2172
- //#endregion
2173
- //#region src/nodes/computeStoneRampCoordinate.d.ts
2174
- export declare const computeStoneRampCoordinate: (facing: number, visibility: number) => number;
2175
- //#endregion
2176
- //#region src/nodes/computeSurfaceOctaves.d.ts
2177
- export interface SurfaceOctave {
2178
- amplitude: number;
2179
- frequency: number;
2180
- }
2181
- export declare const computeSurfaceOctaves: ({ bands, metresPerTexel, variance }: SurfaceDetail) => SurfaceOctave[];
2182
- //#endregion
2183
- //#region src/nodes/constants.d.ts
2184
- export declare const LEAST_DIVISOR = 1e-4;
2185
- export declare const STONE_SHADOW_EXPONENT = .2;
2186
- export declare const STONE_RAMP_KNOT_COUNT = 16;
2187
- export declare const STONE_HARMONIC_COUNT = 9;
2188
- export declare const STONE_MASK_OUTPUT = "stoneMask";
2189
- export declare const STONE_HEIGHT_FALLOFF = .05;
2190
- export declare const STONE_DARKENING_TOP = 20;
2191
- export declare const WET_DARKENING = .35;
2192
- export declare const WET_SHEEN_POWER = 32;
2193
- export declare const WET_SHEEN_STRENGTH = .25;
2194
- export declare const SURFACE_DETAIL_BAND_SIGMAS: number[];
2195
- export declare const SURFACE_OCTAVE_TEXEL_FREQUENCIES: number[];
2196
- export declare const SURFACE_DETAIL_RENDER_GAIN = 4;
2197
- export declare const OBJECT_SURFACE_KEY = "surface";
2198
- export declare const OBJECT_FADE_KEY = "fade";
2199
- export declare const LEAF_SHAPE_WIDTH = .8;
2200
- export declare const LEAF_SHAPE_KEPT_SHARE: number;
2201
- //#endregion
2202
- //#region src/nodes/createCausticsNode.d.ts
2203
- export declare const createCausticsNode: ({ lightColor }: Pick<LightUniforms, "lightColor">, { causticStrength, deepDepth, level }: Pick<WaterUniforms, "causticStrength" | "deepDepth" | "level">) => Node<"vec3">;
2204
- //#endregion
2205
- //#region src/nodes/createCloudLayerNode.d.ts
2206
- export declare const createCloudLayerNode: ({ center, curl, curlAmplitude, curlSpeed, curlTiling, density, direction: cloudDirection, elapsedTime, height: layerHeight, lightDirection, normal, normalYScale, opacity, profile, smoothness, sunBrightness, sunRimLightRadius, tiling, turn, weather, wisps, wispsCoverage, wispsElapsedTime, wispsOpacity, wispsTurn }: CloudLayerUniforms, { cloudCoverage, cloudFrontBackBlend, cloudLitBackColor, cloudLitColor, cloudShadeBackColor, cloudShadeColor, cloudSunBrighten, moonDirection, moonGlowColor, sunDirection, sunHaloColor, sunHaloSize }: SkyUniforms, direction: Node<"vec3">) => Node<"vec4">;
2207
- //#endregion
2208
- //#region src/nodes/createDitherFadeNode.d.ts
2209
- export declare const createDitherFadeNode: (visibility: Node<"float">) => Node<"bool">;
2210
- //#endregion
2211
- //#region src/nodes/createImpostorMaterial.d.ts
2212
- export declare const createImpostorMaterial: ({ fade, impostor, lightUniforms, rampTexture }: ImpostorMaterialOptions) => ToonNodeMaterial;
2213
- //#endregion
2214
- //#region src/nodes/createLeafMaterial.d.ts
2215
- export declare const createLeafMaterial: (toonMaterialOptions: ToonMaterialOptions, windUniforms?: WindUniforms) => ToonNodeMaterial;
2216
- //#endregion
2217
- //#region src/nodes/createLeafShapeNode.d.ts
2218
- export declare const createLeafShapeNode: () => Node<"float">;
2219
- //#endregion
2220
- //#region src/nodes/createLightUniforms.d.ts
2221
- export declare const createLightUniforms: () => LightUniforms;
2222
- //#endregion
2223
- //#region src/nodes/createLightningBoltMaterial.d.ts
2224
- export declare const createLightningBoltMaterial: (flash: UniformNode<"float", number>) => MeshBasicNodeMaterial;
2225
- //#endregion
2226
- //#region src/nodes/createObjectFadeNode.d.ts
2227
- export declare const createObjectFadeNode: () => Node<"float">;
2228
- //#endregion
2229
- //#region src/nodes/createObjectSurfaceNode.d.ts
2230
- export declare const createObjectSurfaceNode: () => Node<"vec3">;
2231
- //#endregion
2232
- //#region src/nodes/createPrecipitationMaterial.d.ts
2233
- export declare const createPrecipitationMaterial: ({ lightUniforms, precipitationUniforms, windUniforms }: PrecipitationMaterialOptions) => MeshBasicNodeMaterial;
2234
- //#endregion
2235
- //#region src/nodes/createRimNode.d.ts
2236
- export declare const createRimNode: ({ rimColor, rimStrength, sunDirection }: LightUniforms) => Node<"vec3">;
2237
- //#endregion
2238
- //#region src/nodes/createSkyColorNode.d.ts
2239
- export declare const createSkyColorNode: ({ frontBackBlend, haloColor, haloHeight, horizonBackColor, horizonBand, horizonColor, sunDirection, sunHaloColor, sunHaloSize, zenithBackColor, zenithColor }: SkyUniforms, gradient: Texture, direction: Node<"vec3">) => Node<"vec3">;
2240
- //#endregion
2241
- //#region src/nodes/createSkyNode.d.ts
2242
- export declare const createSkyNode: (uniforms: SkyUniforms, gradient: Texture, cloudLayer?: CloudLayerUniforms) => Node<"vec3">;
2243
- //#endregion
2244
- //#region src/nodes/createSplashMaterial.d.ts
2245
- export declare const createSplashMaterial: ({ groundCapture, lightUniforms, precipitationUniforms, waterUniforms }: SplashMaterialOptions) => MeshBasicNodeMaterial;
2246
- //#endregion
2247
- //#region src/nodes/createStoneGlowNode.d.ts
2248
- export declare const createStoneGlowNode: ({ glowRange, rimColor, rimPower, rimStrength }: Pick<StoneMaterialOptions, "glowRange" | "rimColor" | "rimPower" | "rimStrength">) => Node<"vec3">;
2249
- //#endregion
2250
- //#region src/nodes/createStoneLightUniforms.d.ts
2251
- export declare const createStoneLightUniforms: () => StoneLightUniforms;
2252
- //#endregion
2253
- //#region src/nodes/createStoneMaterial.d.ts
2254
- export declare const createStoneMaterial: (options: StoneMaterialOptions, stoneLight: StoneLightUniforms, glowNode?: Node<"vec3">) => StoneNodeMaterial;
2255
- //#endregion
2256
- //#region src/nodes/createSunVisibilityNode.d.ts
2257
- export declare const createSunVisibilityNode: (lightColor: Node, sunRadiance: UniformNode<"color", Color>) => Node<"float">;
2258
- //#endregion
2259
- //#region src/nodes/createSurfaceDetailNode.d.ts
2260
- export declare const createSurfaceDetailNode: (amplitudes: Node<"float">[], texelsPerMetre: Node<"float">) => Node<"float">;
2261
- //#endregion
2262
- //#region src/nodes/createToonMaterial.d.ts
2263
- export declare const createToonMaterial: ({ color, detail, isObjectSurface, isOutlined, isVertexColors, lightUniforms, rampTexture }: ToonMaterialOptions) => ToonNodeMaterial;
2264
- //#endregion
2265
- //#region src/nodes/createWaterMaterial.d.ts
2266
- export declare const createWaterMaterial: ({ lightColor, sunDirection }: Pick<LightUniforms, "lightColor" | "sunDirection">, { horizonColor, zenithColor }: Pick<SkyUniforms, "horizonColor" | "zenithColor">, { deepColor, deepDepth, foamColor, foamDepth, shallowColor }: WaterUniforms, { direction, speed }: WaterFlow, bendFoam?: Node<"float">) => MeshBasicNodeMaterial;
2267
- //#endregion
2268
- //#region src/nodes/createWaterfallMaterial.d.ts
2269
- export declare const createWaterfallMaterial: ({ foamColor }: Pick<WaterUniforms, "foamColor">) => MeshBasicNodeMaterial;
2270
- //#endregion
2271
- //#region src/nodes/createWetDarkeningNode.d.ts
2272
- export declare const createWetDarkeningNode: ({ wetness }: Pick<LightUniforms, "wetness">) => Node<"float">;
2273
- //#endregion
2274
- //#region src/nodes/createWetSheenNode.d.ts
2275
- export declare const createWetSheenNode: ({ lightColor, sunDirection, wetness }: LightUniforms) => Node<"vec3">;
2276
- //#endregion
2277
- //#region src/nodes/createWindNode.d.ts
2278
- export declare const createWindNode: ({ direction, gustSpeed, gustStrength, gustWidth, strength }: WindUniforms, groundPosition: Node<"vec2">) => Node<"vec2">;
2279
- //#endregion
2280
- //#region src/nodes/getCloudSunColors.d.ts
2281
- export declare const getCloudSunColors: ({ cloudFrontBackBlend, cloudLitBackColor, cloudLitColor, cloudShadeBackColor, cloudShadeColor }: Pick<SkyUniforms, "cloudFrontBackBlend" | "cloudLitBackColor" | "cloudLitColor" | "cloudShadeBackColor" | "cloudShadeColor">, sunCosine: Node<"float">) => {
2282
- lit: Node<"vec3">;
2283
- shade: Node<"vec3">;
2284
- };
2285
- //#endregion
2286
- //#region src/nodes/sampleGroundCapture.d.ts
2287
- export declare const sampleGroundCapture: (groundCapture: GroundCapture, ground: Node<"vec2">) => {
2288
- captured: Node<"vec4">;
2289
- isInsideCapture: Node<"float">;
2290
- };
2291
- //#endregion
2292
- //#region src/nodes/setObjectFade.d.ts
2293
- export declare const setObjectFade: (object: Object3D, fade: number) => void;
2294
- //#endregion
2295
- //#region src/nodes/setObjectSurface.d.ts
2296
- export declare const setObjectSurface: (object: Object3D, color: ColorRepresentation, detail?: SurfaceDetail) => void;
2297
- //#endregion
2298
- //#region src/noise/constants.d.ts
2299
- export declare const SPECTRAL_RADIAL_BIN_COUNT = 16;
2300
- export declare const SPECTRAL_ANGULAR_BIN_COUNT = 8;
2301
- //#endregion
2302
- //#region src/noise/createSimplexNoise.d.ts
2303
- export declare const createSimplexNoise: (seed: number) => ((x: number, y: number) => number);
2304
- //#endregion
2305
- //#region src/noise/getSpectralBin.d.ts
2306
- export declare const getSpectralBin: (column: number, row: number, width: number, height: number) => number | undefined;
2307
- //#endregion
2308
- //#region src/noise/synthesizeSpectralNoise.d.ts
2309
- export declare const synthesizeSpectralNoise: ({ channels, height, width }: SpectralNoiseProfile, random: () => number) => Float32Array[];
2310
- //#endregion
2311
- //#region src/noise/transformFourierGrid.d.ts
2312
- export declare const transformFourierGrid: (real: Float64Array, imaginary: Float64Array, width: number, height: number) => void;
2313
- //#endregion
2314
- //#region src/post/computeGradeLut.d.ts
2315
- export declare const computeGradeLut: ({ contrast, highlightTint, saturation, shadowTint, size }: GradeOptions) => Uint8Array;
2316
- //#endregion
2317
- //#region src/post/computeWhiteBalance.d.ts
2318
- export declare const computeWhiteBalance: ({ temperature, tint }: WhiteBalance, whiteBalance?: Matrix3) => Matrix3;
2319
- //#endregion
2320
- //#region src/post/createFogUniforms.d.ts
2321
- export declare const createFogUniforms: () => FogUniforms;
2322
- //#endregion
2323
- //#region src/post/createGodraysLight.d.ts
2324
- export declare const createGodraysLight: (shadowMapSize: number, halfExtent: number) => DirectionalLight;
2325
- //#endregion
2326
- //#region src/post/createGradeLutTexture.d.ts
2327
- export declare const createGradeLutTexture: (gradeOptions: GradeOptions) => Data3DTexture;
2328
- //#endregion
2329
- //#region src/post/createHeightFogNode.d.ts
2330
- export declare const createHeightFogNode: (colorNode: Node<"vec4">, depthNode: TextureNode, camera: Camera, { baseHeight, color, density, heightFalloff, maxOpacity, scatterColor, scatterDirection, scatterPower, scatterStrength, startDistance }: FogUniforms, stoneHaze?: Pick<StoneLightUniforms, "hazeColor" | "hazeScatterColor"> & {
2331
- maskNode: TextureNode;
2332
- }) => Node<"vec4">;
2333
- //#endregion
2334
- //#region src/post/createOcclusionNode.d.ts
2335
- export declare const createOcclusionNode: (depthNode: TextureNode, camera: Camera, radius: number) => GTAONode;
2336
- //#endregion
2337
- //#region src/post/createPostPipeline.d.ts
2338
- export declare const createPostPipeline: ({ camera, fogUniforms, godraysLight, gradeLutTexture, isBloomed, occlusionRadius, postUniforms: { godraysColor, gradeIntensity, outlineColor, outlineFadeDistance, outlineThickness, whiteBalance }, qualityTierSettings: { antialiasingMode, godraysStepCount, isBloomEnabled, isOcclusionEnabled }, renderer, scene, sight, stoneLight }: PostPipelineOptions) => PostPipeline;
2339
- //#endregion
2340
- //#region src/post/createPostUniforms.d.ts
2341
- export declare const createPostUniforms: () => PostUniforms;
2342
- //#endregion
2343
- //#region src/post/createSightNode.d.ts
2344
- export declare const createSightNode: (colorNode: Node<"vec4">, depthNode: TextureNode, camera: Camera, litPass: PassNode, { origin, radius, strength }: SightUniforms) => Node<"vec4">;
2345
- //#endregion
2346
- //#region src/post/createSightUniforms.d.ts
2347
- export declare const createSightUniforms: () => SightUniforms;
2348
- //#endregion
2349
- //#region src/post/toSceneColor.d.ts
2350
- export declare const toSceneColor: (displayColor: Color, sceneColor?: Color) => Color;
2351
- //#endregion
2352
- //#region src/post/toneMapGenshin.d.ts
2353
- export declare const toneMapGenshin: (sceneColor: readonly [number, number, number], toneMapped?: [number, number, number]) => [number, number, number];
2354
- //#endregion
2355
- //#region src/post/toneMapGenshinNode.d.ts
2356
- export declare const toneMapGenshinNode: (sceneColor: Node<"vec3">) => Node<"vec3">;
2357
- //#endregion
2358
- //#region src/renderer/QualityTierSettingsMap.d.ts
2359
- export declare const QualityTierSettingsMap: Readonly<Record<QualityTier, QualityTierSettings>>;
2360
- //#endregion
2361
- //#region src/renderer/attachInspector.d.ts
2362
- export declare const attachInspector: (renderer: Renderer) => Promise<Inspector>;
2363
- //#endregion
2364
- //#region src/renderer/constants.d.ts
2365
- export declare const GENSHIN_TONE_MAPPING: ToneMapping;
2366
- export declare const GENSHIN_TONE_CONTRAST = .5;
2367
- export declare const GENSHIN_TONE_EXPOSURE = 1;
2368
- export declare const TONE_CONTRAST_OFFSET = .01;
2369
- export declare const TONE_CURVE_LIFT = 1e-4;
2370
- export declare const TONE_CURVE_FLOOR: number;
2371
- //#endregion
2372
- //#region src/renderer/createGenshinRenderer.d.ts
2373
- export declare const createGenshinRenderer: (canvas: HTMLCanvasElement) => WebGPURenderer;
2374
- //#endregion
2375
- //#region src/renderer/createInstancedMesh.d.ts
2376
- export declare const createInstancedMesh: <TGeometry extends BufferGeometry, TMaterial extends Material | Material[]>(geometry: TGeometry, material: TMaterial, count: number) => InstancedMesh<TGeometry, TMaterial>;
2377
- //#endregion
2378
- //#region src/renderer/getScreenDirection.d.ts
2379
- export declare const getScreenDirection: ({ aspect, fov, pitch, yaw }: ScreenCamera, [x, y]: [number, number]) => Vector3;
2380
- //#endregion
2381
- //#region src/simulation/constants.d.ts
2382
- export declare const MAX_STEPS_PER_FRAME = 5;
2383
- //#endregion
2384
- //#region src/simulation/createFixedStepLoop.d.ts
2385
- export declare const createFixedStepLoop: (stepSeconds: number, step: () => void) => FixedStepLoop;
2386
- //#endregion
2387
- //#region src/streaming/constants.d.ts
2388
- export declare const MAX_TILE_ATTEMPTS = 3;
2389
- //#endregion
2390
- //#region src/streaming/createTileStreamer.d.ts
2391
- export declare const createTileStreamer: <TTile>({ disposeTile, maxCachedCount, maxPendingCount, requestTile }: TileStreamerOptions<TTile>) => TileStreamer<TTile>;
2392
- //#endregion
2393
- //#region src/terrain/TerrainFeatureKindBlendMap.d.ts
2394
- export declare const TerrainFeatureKindBlendMap: { [K in TerrainFeatureKind]: (feature: Extract<TerrainFeature, {
2395
- kind: K;
2396
- }>, x: number, z: number) => number; };
2397
- //#endregion
2398
- //#region src/terrain/blendGridNodes.d.ts
2399
- export declare const blendGridNodes: (values: readonly number[], sizeX: number, sizeZ: number, column: number, row: number) => number;
2400
- //#endregion
2401
- //#region src/terrain/checkTerrainBoundsOverlap.d.ts
2402
- export declare const checkTerrainBoundsOverlap: (first: TerrainBounds, second: TerrainBounds) => boolean;
2403
- //#endregion
2404
- //#region src/terrain/checkTerrainDrawsChanged.d.ts
2405
- export declare const checkTerrainDrawsChanged: ({ finestTileSize }: Pick<TerrainOptions, "finestTileSize">, previous: TerrainSelection, next: TerrainSelection, center: Vector3Like, halfSize: number) => boolean;
2406
- //#endregion
2407
- //#region src/terrain/checkTerrainTileCasts.d.ts
2408
- export declare const checkTerrainTileCasts: ({ finestRange }: Pick<TerrainOptions, "finestRange">, key: number, shadowReach: number) => boolean;
2409
- //#endregion
2410
- //#region src/terrain/computeTerrainIndices.d.ts
2411
- export declare const computeTerrainIndices: (cellsPerSide: number) => Uint16Array | Uint32Array;
2412
- //#endregion
2413
- //#region src/terrain/constants.d.ts
2414
- export declare const TILE_INDEX_OFFSET: number;
2415
- export declare const TILE_INDEX_SPAN: number;
2416
- export declare const TERRAIN_LAYER = 1;
2417
- export declare const TERRAIN_RING_INITIAL_TILE_COUNT = 64;
2418
- export declare const TERRAIN_CELL_SIZE = 64;
2419
- export declare const GAUSSIAN_REACH_WIDTHS = 3;
2420
- export declare const TERRAIN_HEIGHT_PADDING = 2;
2421
- //#endregion
2422
- //#region src/terrain/createGaussianHillsHeight.d.ts
2423
- export declare const createGaussianHillsHeight: ({ base, hills }: GaussianHills) => ((x: number, z: number) => number);
2424
- //#endregion
2425
- //#region src/terrain/createResidualHeight.d.ts
2426
- export declare const createResidualHeight: ({ amplitude, fade, octaves, scale, seed }: TerrainResidual) => ((x: number, z: number) => number);
2427
- //#endregion
2428
- //#region src/terrain/createTerrainFeaturesBlend.d.ts
2429
- export declare const createTerrainFeaturesBlend: (features: readonly TerrainFeature[]) => ((x: number, z: number) => number);
2430
- //#endregion
2431
- //#region src/terrain/createTerrainFeaturesHeight.d.ts
2432
- export declare const createTerrainFeaturesHeight: (features: readonly TerrainFeature[]) => ((x: number, z: number) => number);
2433
- //#endregion
2434
- //#region src/terrain/createTerrainMaterial.d.ts
2435
- export declare const createTerrainMaterial: (terrainOptions: Pick<TerrainOptions, "finestRange" | "finestTileSize" | "maxHeight" | "minHeight">, eye: UniformNode<"vec3", Vector3>, toonMaterialOptions: Pick<ToonMaterialOptions, "lightUniforms" | "rampTexture">, waterUniforms?: WaterUniforms) => ToonNodeMaterial;
2436
- //#endregion
2437
- //#region src/terrain/createTerrainRing.d.ts
2438
- export declare const createTerrainRing: ({ cellsPerSide, finestTileSize }: Pick<TerrainOptions, "cellsPerSide" | "finestTileSize">, tileIndices: Uint16Array | Uint32Array, material: Material) => TerrainRing;
2439
- //#endregion
2440
- //#region src/terrain/createTerrainSelection.d.ts
2441
- export declare const createTerrainSelection: (capacity: number) => TerrainSelection;
2442
- //#endregion
2443
- //#region src/terrain/createTerrainTileGeometry.d.ts
2444
- export declare const createTerrainTileGeometry: ({ coarseColors, coarseNormals, coarsePositions, colors, normals, positions }: TerrainTileArrays, index: BufferAttribute, boundingBox: Box3) => BufferGeometry;
2445
- //#endregion
2446
- //#region src/terrain/fileByCell.d.ts
2447
- export declare const fileByCell: <T>(items: readonly T[], getBounds: (item: T) => TerrainBounds) => ((x: number, z: number) => readonly T[]);
2448
- //#endregion
2449
- //#region src/terrain/getCliffBlend.d.ts
2450
- export declare const getCliffBlend: (feature: CliffFeature, x: number, z: number) => number;
2451
- //#endregion
2452
- //#region src/terrain/getGaussianHillBlend.d.ts
2453
- export declare const getGaussianHillBlend: ({ width, x: hillX, z: hillZ }: Pick<GaussianHill, "width" | "x" | "z">, x: number, z: number) => number;
2454
- //#endregion
2455
- //#region src/terrain/getParentTerrainTileKey.d.ts
2456
- export declare const getParentTerrainTileKey: (key: number) => number;
2457
- //#endregion
2458
- //#region src/terrain/getPlateauBlend.d.ts
2459
- export declare const getPlateauBlend: (feature: PlateauFeature, x: number, z: number) => number;
2460
- //#endregion
2461
- //#region src/terrain/getRidgeBlend.d.ts
2462
- export declare const getRidgeBlend: (feature: RidgeFeature, x: number, z: number) => number;
2463
- //#endregion
2464
- //#region src/terrain/getSegmentBounds.d.ts
2465
- export declare const getSegmentBounds: (startX: number, startZ: number, endX: number, endZ: number, reach: number) => TerrainBounds;
2466
- //#endregion
2467
- //#region src/terrain/getTerrainFeatureBounds.d.ts
2468
- export declare const getTerrainFeatureBounds: (feature: TerrainFeature) => TerrainBounds;
2469
- //#endregion
2470
- //#region src/terrain/getTerrainMorphStart.d.ts
2471
- export declare const getTerrainMorphStart: ({ finestRange, finestTileSize }: Pick<TerrainOptions, "finestRange" | "finestTileSize">) => number;
2472
- //#endregion
2473
- //#region src/terrain/getTerrainOverlayBounds.d.ts
2474
- export declare const getTerrainOverlayBounds: (shape: TerrainShape) => TerrainBounds;
2475
- //#endregion
2476
- //#region src/terrain/getTerrainShapeLevel.d.ts
2477
- export declare const getTerrainShapeLevel: ({ base, hills }: GaussianHills, baseUnder: number) => PlateauFeature | undefined;
2478
- //#endregion
2479
- //#region src/terrain/getTerrainTileBounds.d.ts
2480
- export declare const getTerrainTileBounds: (key: number, finestTileSize: number, cellsPerSide: number) => TerrainBounds;
2481
- //#endregion
2482
- //#region src/terrain/getTerrainTileKey.d.ts
2483
- export declare const getTerrainTileKey: (level: number, column: number, row: number) => number;
2484
- //#endregion
2485
- //#region src/terrain/measureSegment.d.ts
2486
- export declare const measureSegment: ({ endX, endZ, startX, startZ }: Pick<RidgeFeature, "endX" | "endZ" | "startX" | "startZ">, x: number, z: number) => Float64Array;
2487
- //#endregion
2488
- //#region src/terrain/resolveTerrainDraws.d.ts
2489
- export declare const resolveTerrainDraws: ({ levelCount }: Pick<TerrainOptions, "levelCount">, wanted: TerrainSelection, checkTileLoaded: (key: number) => boolean, draws: TerrainSelection) => TerrainSelection;
2490
- //#endregion
2491
- //#region src/terrain/sampleGroundLayerField.d.ts
2492
- export declare const sampleGroundLayerField: ({ cellSize, layers, origin, size }: GroundLayerField, x: number, z: number, weights: Record<GroundLayer, number>) => void;
2493
- //#endregion
2494
- //#region src/terrain/sampleTerrainResidualFade.d.ts
2495
- export declare const sampleTerrainResidualFade: ({ cellSize, clearings, origin, size, weights }: TerrainResidualFade, x: number, z: number) => number;
2496
- //#endregion
2497
- //#region src/terrain/selectTerrainTiles.d.ts
2498
- export declare const selectTerrainTiles: (terrainOptions: TerrainOptions, eye: Vector3Like, frustum: Frustum | undefined, selection: TerrainSelection) => TerrainSelection;
2499
- //#endregion
2500
- //#region src/terrain/writeTerrainRingIndices.d.ts
2501
- export declare const writeTerrainRingIndices: (ringIndices: Uint32Array, tileIndices: Uint16Array | Uint32Array, drawnOrdinals: readonly number[], vertexCount: number) => number;
2502
- //#endregion
2503
- //#region src/terrain/writeTerrainRingTile.d.ts
2504
- export declare const writeTerrainRingTile: (ring: TerrainTileArrays, base: number, tile: TerrainTile, finestTileSize: number) => void;
2505
- //#endregion
2506
- //#region src/vegetation/bakeImpostor.d.ts
2507
- export declare const bakeImpostor: (renderer: Renderer, parts: readonly ImpostorPart[], resolution: number) => Impostor;
2508
- //#endregion
2509
- //#region src/vegetation/computeGrassBlade.d.ts
2510
- export declare const computeGrassBlade: (segmentCount: number) => GrassBlade;
2511
- //#endregion
2512
- //#region src/vegetation/constants.d.ts
2513
- export declare const IMPOSTOR_RESOLUTION = 256;
2514
- export declare const IMPOSTOR_SWITCH_HEIGHTS = 10;
2515
- export declare const IMPOSTOR_CROSSFADE_SHARE = .1;
2516
- export declare const FLOWER_BEND_PER_WIND = .12;
2517
- export declare const FLOWER_MATRIX_ATTRIBUTE_NAMES: readonly ["flowerMatrix0", "flowerMatrix1", "flowerMatrix2", "flowerMatrix3"];
2518
- export declare const FLOWER_COLOR_ATTRIBUTE_NAME = "flowerColor";
2519
- //#endregion
2520
- //#region src/vegetation/createFlowerGeometry.d.ts
2521
- export declare const createFlowerGeometry: () => BufferGeometry;
2522
- //#endregion
2523
- //#region src/vegetation/createFlowerMaterial.d.ts
2524
- export declare const createFlowerMaterial: (toonMaterialOptions: Pick<ToonMaterialOptions, "lightUniforms" | "rampTexture">, windUniforms: WindUniforms) => ToonNodeMaterial;
2525
- //#endregion
2526
- //#region src/vegetation/createFlowerTileGeometry.d.ts
2527
- export declare const createFlowerTileGeometry: (matrices: Float32Array, colors: Float32Array) => InstancedBufferGeometry;
2528
- //#endregion
2529
- //#region src/vegetation/createGrassGeometry.d.ts
2530
- export declare const createGrassGeometry: (segmentCount: number, bladeCount: number) => InstancedBufferGeometry;
2531
- //#endregion
2532
- //#region src/vegetation/createGrassMaterial.d.ts
2533
- export declare const createGrassMaterial: ({ bladeHeight, bladeWidth, cameraGround, density, groundCapture, lightUniforms, rampTexture, ring, waterUniforms, windUniforms }: GrassOptions) => ToonNodeMaterial;
2534
- //#endregion
2535
- //#region src/vegetation/createGroundCapture.d.ts
2536
- export declare const createGroundCapture: (size: number, resolution: number) => GroundCapture;
2537
- //#endregion
2538
- //#region src/vegetation/renderGroundCapture.d.ts
2539
- export declare const renderGroundCapture: (renderer: Renderer, scene: Scene, { camera, center, material, renderTarget }: GroundCapture, { maxHeight }: Pick<TerrainOptions, "maxHeight">, worldCenter: Vector3Like, origin: Vector3Like) => void;
2540
- //#endregion
2541
- //#region src/water/constants.d.ts
2542
- export declare const RIVER_BEND_FOAM_ATTRIBUTE = "bendFoam";
2543
- export declare const BEND_FOAM_FULL_RADIUS_WIDTHS = 2;
2544
- //#endregion
2545
- //#region src/water/createRiverGeometry.d.ts
2546
- export declare const createRiverGeometry: (course: readonly RiverCoursePoint[]) => BufferGeometry;
2547
- //#endregion
2548
- //#region src/water/createUnderwaterFogState.d.ts
2549
- export declare const createUnderwaterFogState: () => UnderwaterFogState;
2550
- //#endregion
2551
- //#region src/water/createWaterFlowUniforms.d.ts
2552
- export declare const createWaterFlowUniforms: () => WaterFlow;
2553
- //#endregion
2554
- //#region src/water/createWaterUniforms.d.ts
2555
- export declare const createWaterUniforms: () => WaterUniforms;
2556
- //#endregion
2557
- //#region src/water/createWaterfallGeometry.d.ts
2558
- export declare const createWaterfallGeometry: ({ across, drop, lip, width }: WaterfallSheet) => BufferGeometry;
2559
- //#endregion
2560
- //#region src/water/updateUnderwaterFog.d.ts
2561
- export declare const updateUnderwaterFog: (eyeHeight: number, { level, underwaterFogColor, underwaterFogDensity }: Pick<WaterUniforms, "level" | "underwaterFogColor" | "underwaterFogDensity">, { color, density, heightFalloff, maxOpacity, startDistance }: FogUniforms, underwaterFogState: UnderwaterFogState) => void;
2562
- //#endregion
2563
- //#region src/wind/createWindUniforms.d.ts
2564
- export declare const createWindUniforms: () => WindUniforms;
2565
- //#endregion
2566
- //#region src/world/computeOriginShift.d.ts
2567
- export declare const computeOriginShift: (cameraPosition: Vector3, threshold: number, step: number, shift: Vector3) => boolean;
2568
- //#endregion
2569
- //#region src/world/computeOutlineDistance.d.ts
2570
- export declare const computeOutlineDistance: (outline: readonly GroundPoint[], x: number, z: number) => number;
2571
- //#endregion
2572
- export { CliffFeature, GaussianHill, GaussianHills, GroundBand, GroundLayer, GroundLayerColors, GroundLayerField, GroundLayers, GroundPaint, GroundPathSegment, PlateauFeature, RidgeFeature, ScatterOptions, TerrainFeature, TerrainFeatureKind, TerrainOptions, TerrainResidual, TerrainResidualClearing, TerrainResidualFade, TerrainShape, TerrainTile, TerrainTileOptions, computeScatterPoints, computeTerrainTile, createGroundLayerWeights, createGroundPaintColor, createSeededRandom, createTerrainShapeHeight, getTerrainTileColumn, getTerrainTileLevel, getTerrainTileRow };