genshin-engine 4.2.0 → 4.3.1
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/README.md +1 -1
- package/dist/index.d.ts +2775 -0
- package/dist/index.js +6705 -0
- package/dist/terrainWorker-CLOYYKT1.d.ts +207 -0
- package/dist/terrainWorker-DZ04cA3m.js +520 -0
- package/dist/terrainWorker.d.ts +2 -0
- package/dist/terrainWorker.js +1 -0
- package/package.json +5 -10
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,2775 @@
|
|
|
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 };
|