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