@3driseai/3drise-core 1.0.19 → 1.0.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/animations/index.d.ts +2 -0
- package/dist/animations/index.d.ts.map +1 -0
- package/dist/animations/index.js +1 -0
- package/dist/animations/trackGenerators.d.ts +140 -0
- package/dist/animations/trackGenerators.d.ts.map +1 -0
- package/dist/animations/trackGenerators.js +443 -0
- package/dist/autoAnimate/bounds.d.ts +7 -0
- package/dist/autoAnimate/bounds.d.ts.map +1 -0
- package/dist/autoAnimate/bounds.js +23 -0
- package/dist/autoAnimate/composer.d.ts +30 -0
- package/dist/autoAnimate/composer.d.ts.map +1 -0
- package/dist/autoAnimate/composer.js +251 -0
- package/dist/autoAnimate/describeScene.d.ts +105 -0
- package/dist/autoAnimate/describeScene.d.ts.map +1 -0
- package/dist/autoAnimate/describeScene.js +165 -0
- package/dist/autoAnimate/draft.d.ts +59 -0
- package/dist/autoAnimate/draft.d.ts.map +1 -0
- package/dist/autoAnimate/draft.js +2 -0
- package/dist/autoAnimate/index.d.ts +14 -0
- package/dist/autoAnimate/index.d.ts.map +1 -0
- package/dist/autoAnimate/index.js +9 -0
- package/dist/autoAnimate/recipes.d.ts +87 -0
- package/dist/autoAnimate/recipes.d.ts.map +1 -0
- package/dist/autoAnimate/recipes.js +224 -0
- package/dist/autoAnimate/rng.d.ts +10 -0
- package/dist/autoAnimate/rng.d.ts.map +1 -0
- package/dist/autoAnimate/rng.js +16 -0
- package/dist/autoAnimate/sceneAnalyzer.d.ts +7 -0
- package/dist/autoAnimate/sceneAnalyzer.d.ts.map +1 -0
- package/dist/autoAnimate/sceneAnalyzer.js +291 -0
- package/dist/autoAnimate/types.d.ts +124 -0
- package/dist/autoAnimate/types.d.ts.map +1 -0
- package/dist/autoAnimate/types.js +1 -0
- package/dist/autoAnimate/validator.d.ts +10 -0
- package/dist/autoAnimate/validator.d.ts.map +1 -0
- package/dist/autoAnimate/validator.js +59 -0
- package/dist/data/effectsDefaults.d.ts +4 -0
- package/dist/data/effectsDefaults.d.ts.map +1 -1
- package/dist/data/effectsDefaults.js +393 -2
- package/dist/data/gridsDefaults.d.ts +5 -0
- package/dist/data/gridsDefaults.d.ts.map +1 -0
- package/dist/data/gridsDefaults.js +290 -0
- package/dist/data/index.d.ts +1 -0
- package/dist/data/index.d.ts.map +1 -1
- package/dist/data/index.js +1 -0
- package/dist/data/particlesDefaults.d.ts +3 -1
- package/dist/data/particlesDefaults.d.ts.map +1 -1
- package/dist/data/particlesDefaults.js +78 -0
- package/dist/environment/cloudConfigs.d.ts +313 -0
- package/dist/environment/cloudConfigs.d.ts.map +1 -0
- package/dist/environment/cloudConfigs.js +342 -0
- package/dist/environment/index.d.ts +5 -0
- package/dist/environment/index.d.ts.map +1 -0
- package/dist/environment/index.js +6 -0
- package/dist/environment/landscapeConfigs.d.ts +220 -0
- package/dist/environment/landscapeConfigs.d.ts.map +1 -0
- package/dist/environment/landscapeConfigs.js +256 -0
- package/dist/environment/oceanConfigs.d.ts +293 -0
- package/dist/environment/oceanConfigs.d.ts.map +1 -0
- package/dist/environment/oceanConfigs.js +380 -0
- package/dist/environment/terrainConfigs.d.ts +254 -0
- package/dist/environment/terrainConfigs.d.ts.map +1 -0
- package/dist/environment/terrainConfigs.js +292 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/properties/index.d.ts +4 -0
- package/dist/properties/index.d.ts.map +1 -0
- package/dist/properties/index.js +3 -0
- package/dist/properties/registry.d.ts +44 -0
- package/dist/properties/registry.d.ts.map +1 -0
- package/dist/properties/registry.js +343 -0
- package/dist/properties/tables/effectsProperties.d.ts +40 -0
- package/dist/properties/tables/effectsProperties.d.ts.map +1 -0
- package/dist/properties/tables/effectsProperties.js +512 -0
- package/dist/properties/tables/geometryProperties.d.ts +38 -0
- package/dist/properties/tables/geometryProperties.d.ts.map +1 -0
- package/dist/properties/tables/geometryProperties.js +91 -0
- package/dist/properties/tables/getPropertyConfig.d.ts +3 -0
- package/dist/properties/tables/getPropertyConfig.d.ts.map +1 -0
- package/dist/properties/tables/getPropertyConfig.js +16 -0
- package/dist/properties/tables/gridProperties.d.ts +6 -0
- package/dist/properties/tables/gridProperties.d.ts.map +1 -0
- package/dist/properties/tables/gridProperties.js +121 -0
- package/dist/properties/tables/index.d.ts +9 -0
- package/dist/properties/tables/index.d.ts.map +1 -0
- package/dist/properties/tables/index.js +8 -0
- package/dist/properties/tables/lightProperties.d.ts +14 -0
- package/dist/properties/tables/lightProperties.d.ts.map +1 -0
- package/dist/properties/tables/lightProperties.js +263 -0
- package/dist/properties/tables/materialBounds.d.ts +33 -0
- package/dist/properties/tables/materialBounds.d.ts.map +1 -0
- package/dist/properties/tables/materialBounds.js +180 -0
- package/dist/properties/tables/optionalProperties.d.ts +83 -0
- package/dist/properties/tables/optionalProperties.d.ts.map +1 -0
- package/dist/properties/tables/optionalProperties.js +710 -0
- package/dist/properties/tables/particlesProperties.d.ts +17 -0
- package/dist/properties/tables/particlesProperties.d.ts.map +1 -0
- package/dist/properties/tables/particlesProperties.js +334 -0
- package/dist/properties/types.d.ts +43 -0
- package/dist/properties/types.d.ts.map +1 -0
- package/dist/properties/types.js +12 -0
- package/dist/services/ShadersLibrary.d.ts +1 -1
- package/dist/services/ShadersLibrary.d.ts.map +1 -1
- package/dist/shaders/WallpaperGridMaterial.d.ts.map +1 -1
- package/dist/shaders/WallpaperGridMaterial.js +6 -1
- package/dist/three/GalleryLayoutV.d.ts.map +1 -1
- package/dist/three/GalleryLayoutV.js +0 -10
- package/dist/three/SceneBuilderV.d.ts.map +1 -1
- package/dist/three/SceneBuilderV.js +1 -7
- package/dist/types/generativeEffects.d.ts +0 -4
- package/dist/types/generativeEffects.d.ts.map +1 -1
- package/dist/types/generativeParticles.d.ts +175 -2
- package/dist/types/generativeParticles.d.ts.map +1 -1
- package/dist/types/objectSettings.d.ts +45 -4
- package/dist/types/objectSettings.d.ts.map +1 -1
- package/dist/types/scene3d.d.ts +3 -3
- package/dist/types/scene3d.d.ts.map +1 -1
- package/dist/utils/generativeAnimatable.d.ts +1 -1
- package/dist/utils/generativeAnimatable.d.ts.map +1 -1
- package/dist/utils/generativeAnimatable.js +7 -1
- package/dist/utils/getAnimatableProperties.d.ts +12 -1
- package/dist/utils/getAnimatableProperties.d.ts.map +1 -1
- package/dist/utils/getAnimatableProperties.js +35 -138
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +1 -0
- package/dist/utils/objectEffects.d.ts +6 -0
- package/dist/utils/objectEffects.d.ts.map +1 -0
- package/dist/utils/objectEffects.js +5 -0
- package/package.json +1 -1
|
@@ -0,0 +1,292 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Config shapes for the procedural terrain system that lives in this package.
|
|
3
|
+
*
|
|
4
|
+
* Declared locally rather than in `@3driseai/3drise-core`, alongside
|
|
5
|
+
* `cloudConfigs.ts` and `gridConfigs.ts`, because the material and the renderer
|
|
6
|
+
* are here and nothing outside the viewer needs to construct these by hand.
|
|
7
|
+
*
|
|
8
|
+
* Core's `TerrainSettings` is the retired flat shape (`visible` +
|
|
9
|
+
* `displacementScale`) and is deliberately left alone: a saved project still
|
|
10
|
+
* carries it, and `normalizeTerrain` below is what turns one into nothing rather
|
|
11
|
+
* than into a mountain range the scene was never authored with.
|
|
12
|
+
*
|
|
13
|
+
* A terrain is ONE landform model with per-type shaping, not four renderers —
|
|
14
|
+
* the same way three of the four cloud types share one marcher. What separates
|
|
15
|
+
* mountains from dunes is the operator applied to the fBm and the numbers around
|
|
16
|
+
* it, so the type is a config field the shader branches on.
|
|
17
|
+
*/
|
|
18
|
+
// -----------------------------------------------------------------------------
|
|
19
|
+
// Defaults
|
|
20
|
+
// -----------------------------------------------------------------------------
|
|
21
|
+
const surfaceBase = {
|
|
22
|
+
elevation: 1200,
|
|
23
|
+
seaLevel: 0,
|
|
24
|
+
featureSize: 2600,
|
|
25
|
+
octaves: 9,
|
|
26
|
+
lacunarity: 2.06,
|
|
27
|
+
gain: 0.52,
|
|
28
|
+
ridgeSharpness: 0.62,
|
|
29
|
+
warpStrength: 0.28,
|
|
30
|
+
warpSize: 0.6,
|
|
31
|
+
erosion: 0.7,
|
|
32
|
+
terraces: 0,
|
|
33
|
+
terraceSharpness: 0.6,
|
|
34
|
+
bearing: 78,
|
|
35
|
+
duneWavelength: 320,
|
|
36
|
+
duneAsymmetry: 0.6,
|
|
37
|
+
plateau: 0,
|
|
38
|
+
valleyDepth: 0,
|
|
39
|
+
valleyWidth: 0.25,
|
|
40
|
+
lowColor: '#4a4636',
|
|
41
|
+
midColor: '#6b6248',
|
|
42
|
+
rockColor: '#6a6259',
|
|
43
|
+
peakColor: '#eef1f6',
|
|
44
|
+
slopeRockStart: 0.35,
|
|
45
|
+
slopeRockEnd: 0.62,
|
|
46
|
+
peakLevel: 0.62,
|
|
47
|
+
peakBlend: 0.12,
|
|
48
|
+
peakSlopeFalloff: 1.4,
|
|
49
|
+
macroVariation: 0.22,
|
|
50
|
+
macroSize: 2400,
|
|
51
|
+
detailStrength: 0.45,
|
|
52
|
+
detailSize: 9,
|
|
53
|
+
roughness: 0.82,
|
|
54
|
+
specular: 0.06,
|
|
55
|
+
ambient: 1,
|
|
56
|
+
bounce: 0.35,
|
|
57
|
+
sunShadow: 1,
|
|
58
|
+
shadowSoftness: 12,
|
|
59
|
+
aerialPerspective: 0.00007,
|
|
60
|
+
};
|
|
61
|
+
export const defaultMountainsConfig = {
|
|
62
|
+
...surfaceBase,
|
|
63
|
+
type: 'terrain',
|
|
64
|
+
terrainType: 'mountains',
|
|
65
|
+
preset: '',
|
|
66
|
+
enabled: true,
|
|
67
|
+
};
|
|
68
|
+
export const defaultHillsConfig = {
|
|
69
|
+
...surfaceBase,
|
|
70
|
+
type: 'terrain',
|
|
71
|
+
terrainType: 'hills',
|
|
72
|
+
preset: '',
|
|
73
|
+
enabled: true,
|
|
74
|
+
elevation: 300,
|
|
75
|
+
featureSize: 2200,
|
|
76
|
+
octaves: 8,
|
|
77
|
+
gain: 0.46,
|
|
78
|
+
ridgeSharpness: 0.05,
|
|
79
|
+
warpStrength: 0.35,
|
|
80
|
+
erosion: 0.45,
|
|
81
|
+
lowColor: '#3f5326',
|
|
82
|
+
midColor: '#55663a',
|
|
83
|
+
rockColor: '#7a7266',
|
|
84
|
+
peakColor: '#8d9a6a',
|
|
85
|
+
slopeRockStart: 0.5,
|
|
86
|
+
slopeRockEnd: 0.78,
|
|
87
|
+
peakLevel: 0.78,
|
|
88
|
+
peakBlend: 0.2,
|
|
89
|
+
macroVariation: 0.3,
|
|
90
|
+
macroSize: 1400,
|
|
91
|
+
detailStrength: 0.5,
|
|
92
|
+
detailSize: 6,
|
|
93
|
+
roughness: 0.9,
|
|
94
|
+
specular: 0.03,
|
|
95
|
+
aerialPerspective: 0.00009,
|
|
96
|
+
};
|
|
97
|
+
export const defaultDunesConfig = {
|
|
98
|
+
...surfaceBase,
|
|
99
|
+
type: 'terrain',
|
|
100
|
+
terrainType: 'dunes',
|
|
101
|
+
preset: '',
|
|
102
|
+
enabled: true,
|
|
103
|
+
elevation: 150,
|
|
104
|
+
featureSize: 3000,
|
|
105
|
+
octaves: 6,
|
|
106
|
+
gain: 0.42,
|
|
107
|
+
ridgeSharpness: 0.15,
|
|
108
|
+
warpStrength: 0.2,
|
|
109
|
+
warpSize: 0.8,
|
|
110
|
+
erosion: 0.2,
|
|
111
|
+
duneWavelength: 340,
|
|
112
|
+
duneAsymmetry: 0.62,
|
|
113
|
+
lowColor: '#b08a53',
|
|
114
|
+
midColor: '#d6b077',
|
|
115
|
+
rockColor: '#9c7a4c',
|
|
116
|
+
peakColor: '#f0dcb4',
|
|
117
|
+
slopeRockStart: 0.62,
|
|
118
|
+
slopeRockEnd: 0.9,
|
|
119
|
+
peakLevel: 0.7,
|
|
120
|
+
peakBlend: 0.24,
|
|
121
|
+
peakSlopeFalloff: 0.6,
|
|
122
|
+
macroVariation: 0.14,
|
|
123
|
+
macroSize: 3600,
|
|
124
|
+
detailStrength: 0.3,
|
|
125
|
+
detailSize: 3.5,
|
|
126
|
+
roughness: 0.55,
|
|
127
|
+
specular: 0.16,
|
|
128
|
+
ambient: 1.1,
|
|
129
|
+
bounce: 0.55,
|
|
130
|
+
shadowSoftness: 22,
|
|
131
|
+
aerialPerspective: 0.00008,
|
|
132
|
+
};
|
|
133
|
+
export const defaultCanyonConfig = {
|
|
134
|
+
...surfaceBase,
|
|
135
|
+
type: 'terrain',
|
|
136
|
+
terrainType: 'canyon',
|
|
137
|
+
preset: '',
|
|
138
|
+
enabled: true,
|
|
139
|
+
elevation: 700,
|
|
140
|
+
featureSize: 2600,
|
|
141
|
+
octaves: 8,
|
|
142
|
+
gain: 0.48,
|
|
143
|
+
ridgeSharpness: 0.3,
|
|
144
|
+
warpStrength: 0.18,
|
|
145
|
+
erosion: 0.85,
|
|
146
|
+
terraces: 14,
|
|
147
|
+
terraceSharpness: 0.72,
|
|
148
|
+
plateau: 0.55,
|
|
149
|
+
valleyDepth: 0.8,
|
|
150
|
+
valleyWidth: 0.22,
|
|
151
|
+
lowColor: '#7a4a30',
|
|
152
|
+
midColor: '#a4643c',
|
|
153
|
+
rockColor: '#c07a4a',
|
|
154
|
+
peakColor: '#d9a877',
|
|
155
|
+
slopeRockStart: 0.28,
|
|
156
|
+
slopeRockEnd: 0.5,
|
|
157
|
+
peakLevel: 0.72,
|
|
158
|
+
peakBlend: 0.08,
|
|
159
|
+
peakSlopeFalloff: 0.9,
|
|
160
|
+
macroVariation: 0.26,
|
|
161
|
+
macroSize: 1800,
|
|
162
|
+
detailStrength: 0.4,
|
|
163
|
+
detailSize: 7,
|
|
164
|
+
roughness: 0.86,
|
|
165
|
+
specular: 0.05,
|
|
166
|
+
shadowSoftness: 8,
|
|
167
|
+
aerialPerspective: 0.000075,
|
|
168
|
+
};
|
|
169
|
+
export const defaultTerrainQuality = {
|
|
170
|
+
levels: 9,
|
|
171
|
+
segments: 128,
|
|
172
|
+
cellSize: 2,
|
|
173
|
+
curvature: 1 / (2 * 6371000),
|
|
174
|
+
shadowSteps: 12,
|
|
175
|
+
shadowDistance: 5000,
|
|
176
|
+
detailFadeDistance: 1200,
|
|
177
|
+
receiveShadows: true,
|
|
178
|
+
exposure: 1,
|
|
179
|
+
wireframe: false,
|
|
180
|
+
};
|
|
181
|
+
/** Per-type defaults, for the controller's type switcher. */
|
|
182
|
+
export const TERRAIN_DEFAULTS = {
|
|
183
|
+
mountains: defaultMountainsConfig,
|
|
184
|
+
dunes: defaultDunesConfig,
|
|
185
|
+
hills: defaultHillsConfig,
|
|
186
|
+
canyon: defaultCanyonConfig,
|
|
187
|
+
};
|
|
188
|
+
export const TERRAIN_SCHEMA = [
|
|
189
|
+
{ key: 'elevation', animatable: false, label: 'Elevation', group: 'form', min: 5, max: 6000, step: 5, unit: 'm', description: 'Peak height above sea level. Every height-keyed splat threshold is a fraction of this, so raising it does not move the snow line.' },
|
|
190
|
+
{ key: 'seaLevel', animatable: false, label: 'Sea level', group: 'form', min: -2000, max: 2000, step: 5, unit: 'm', description: 'World Y the terrain is built around — where flat ground sits, and where a placed object meets it.' },
|
|
191
|
+
{ key: 'featureSize', animatable: false, label: 'Feature size', group: 'form', min: 200, max: 40000, step: 50, unit: 'm', description: 'Horizontal size of the primary landform. The one knob that decides whether this reads as a mountain range or a gravel pile.' },
|
|
192
|
+
{ key: 'octaves', animatable: false, label: 'Octaves', group: 'form', min: 3, max: 12, step: 1, description: 'fBm detail levels. Past ~10 the extra octaves are finer than the closest clipmap cell and only cost; distant rings drop them automatically.' },
|
|
193
|
+
{ key: 'lacunarity', animatable: false, label: 'Lacunarity', group: 'form', min: 1.7, max: 2.6, step: 0.01, advanced: true, description: 'Frequency step per octave. Slightly off 2.0 breaks the grid alignment that otherwise shows as a faint square lattice.' },
|
|
194
|
+
{ key: 'gain', animatable: false, label: 'Gain', group: 'form', min: 0.25, max: 0.72, step: 0.005, description: 'Amplitude step per octave. Below 0.5 smooth and rolling, above it jagged and fractal.' },
|
|
195
|
+
{ key: 'ridgeSharpness', animatable: false, label: 'Ridge sharpness', group: 'form', min: 0, max: 1, step: 0.005, description: '0 gives rounded billow hills, 1 knife ridges. The strongest single cue between a mountain and a dune field.' },
|
|
196
|
+
{ key: 'warpStrength', animatable: false, label: 'Domain warp', group: 'form', min: 0, max: 1, step: 0.005, description: 'Bends ridge lines into curved, branching shapes. At 0 the silhouette reads as noise rather than landscape.' },
|
|
197
|
+
{ key: 'warpSize', animatable: false, label: 'Warp size', group: 'form', min: 0.1, max: 2, step: 0.01, advanced: true, description: 'Scale of the warp field relative to feature size. Above ~1 it drifts the terrain instead of bending it.' },
|
|
198
|
+
{ key: 'erosion', animatable: false, label: 'Erosion', group: 'form', min: 0, max: 1, step: 0.005, description: 'Damps octaves where slope is already steep — flattens valley floors, sharpens flanks. The cheapest approximation of erosion there is.' },
|
|
199
|
+
{ key: 'terraces', animatable: false, label: 'Strata', group: 'form', min: 0, max: 40, step: 1, types: ['canyon', 'mountains'], description: 'Sedimentary banding step count. 0 is off. Most of what makes a mesa read as a mesa.' },
|
|
200
|
+
{ key: 'terraceSharpness', animatable: false, label: 'Strata hardness', group: 'form', min: 0, max: 1, step: 0.01, types: ['canyon', 'mountains'], description: '0 is a smooth ramp between bands, 1 a near-vertical riser.' },
|
|
201
|
+
{ key: 'plateau', animatable: false, label: 'Plateau', group: 'form', min: 0, max: 1, step: 0.005, types: ['canyon'], description: 'Fraction of the height range flattened into mesa tops.' },
|
|
202
|
+
{ key: 'valleyDepth', animatable: false, label: 'Incision depth', group: 'form', min: 0, max: 1.5, step: 0.005, types: ['canyon'], description: 'Depth of the carved channel network as a fraction of elevation. At 0 the mesas have nothing between them.' },
|
|
203
|
+
{ key: 'valleyWidth', animatable: false, label: 'Incision width', group: 'form', min: 0.03, max: 1, step: 0.005, types: ['canyon'], description: 'Narrow cuts slot canyons; wide ones cut broad washes.' },
|
|
204
|
+
{ key: 'bearing', animatable: false, label: 'Wind bearing', group: 'form', min: 0, max: 360, step: 1, unit: 'deg', types: ['dunes'], description: 'Dunes are transverse to the wind, so this rotates the whole crest train.' },
|
|
205
|
+
{ key: 'duneWavelength', animatable: false, label: 'Dune wavelength', group: 'form', min: 40, max: 2000, step: 5, unit: 'm', types: ['dunes'], description: 'Crest-to-crest distance of the dune train.' },
|
|
206
|
+
{ key: 'duneAsymmetry', animatable: false, label: 'Slip face', group: 'form', min: 0, max: 1, step: 0.005, types: ['dunes'], description: 'Lee-slope steepening. At 0 the dunes are sine waves; real ones have a long windward ramp and a short face at the angle of repose.' },
|
|
207
|
+
{ key: 'slopeRockStart', animatable: false, label: 'Rock from slope', group: 'surface', min: 0, max: 1, step: 0.005, description: 'Slope at which rock starts showing through. Splatting rock by slope rather than height is what makes a cliff read as a cliff at any altitude.' },
|
|
208
|
+
{ key: 'slopeRockEnd', animatable: false, label: 'Bare rock at slope', group: 'surface', min: 0, max: 1, step: 0.005, description: 'Slope at which the surface is fully bare rock.' },
|
|
209
|
+
{ key: 'peakLevel', animatable: false, label: 'Peak line', group: 'surface', min: 0, max: 1, step: 0.005, description: 'Height fraction where the peak layer (snow, salt, bleached stone) begins.' },
|
|
210
|
+
{ key: 'peakBlend', animatable: false, label: 'Peak blend', group: 'surface', min: 0.01, max: 0.5, step: 0.005, description: 'Width of that transition. A hard line is physically right for temperature but reads as a decal.' },
|
|
211
|
+
{ key: 'peakSlopeFalloff', animatable: false, label: 'Peak slope falloff', group: 'surface', min: 0, max: 3, step: 0.01, description: 'Peak coverage lost per unit slope. Snow does not sit on a vertical face; without this a summit looks dipped in paint.' },
|
|
212
|
+
{ key: 'macroVariation', animatable: false, label: 'Macro variation', group: 'surface', min: 0, max: 1, step: 0.005, description: 'Large-scale albedo break-up. Without it a splat layer is one flat colour across kilometres and reads as untextured.' },
|
|
213
|
+
{ key: 'macroSize', animatable: false, label: 'Macro size', group: 'surface', min: 200, max: 12000, step: 50, unit: 'm', description: 'Size of that variation.' },
|
|
214
|
+
{ key: 'detailStrength', animatable: false, label: 'Detail bump', group: 'surface', min: 0, max: 1.5, step: 0.005, description: 'High-frequency normal detail added per fragment — bumps far below the mesh resolution.' },
|
|
215
|
+
{ key: 'detailSize', animatable: false, label: 'Detail size', group: 'surface', min: 0.5, max: 60, step: 0.25, unit: 'm', description: 'Size of that detail. Below about a metre it aliases before it fades.' },
|
|
216
|
+
{ key: 'roughness', label: 'Roughness', group: 'surface', min: 0.05, max: 1, step: 0.005, description: 'Widens the specular lobe. Rock is nearly matte; wet sand and snow are not.' },
|
|
217
|
+
{ key: 'specular', label: 'Specular', group: 'surface', min: 0, max: 1, step: 0.005, description: 'Specular strength. The grazing sheen on sand at low sun comes from here.' },
|
|
218
|
+
{ key: 'ambient', label: 'Ambient', group: 'lighting', min: 0, max: 3, step: 0.01, description: 'Sky-dome fill, taken from the same atmosphere the sky and clouds use, so it darkens and warms as the sun sets instead of freezing.' },
|
|
219
|
+
{ key: 'bounce', label: 'Ground bounce', group: 'lighting', min: 0, max: 2, step: 0.01, description: 'Fill on downward-facing surfaces, tinted by the low colour. Keeps overhangs and north faces off pure black.' },
|
|
220
|
+
{ key: 'sunShadow', label: 'Self shadow', group: 'lighting', min: 0, max: 1, step: 0.01, description: 'Strength of the analytic shadow marched down the sun vector. This is what puts a mountain shadow in its own valley, with no shadow-map resolution to run out of.' },
|
|
221
|
+
{ key: 'shadowSoftness', animatable: false, label: 'Shadow softness', group: 'lighting', min: 1, max: 60, step: 0.5, description: 'Penumbra width of that shadow. Larger reads as a hazier day.' },
|
|
222
|
+
{ key: 'aerialPerspective', label: 'Aerial perspective', group: 'lighting', min: 0, max: 0.0004, step: 0.000002, unit: '1/m', description: 'Rate distant terrain fades into the sky behind it. The main cue for how large the landscape reads, and what makes the horizon a horizon rather than a cut-out.' },
|
|
223
|
+
];
|
|
224
|
+
export const TERRAIN_QUALITY_SCHEMA = [
|
|
225
|
+
{ key: 'levels', label: 'Clipmap levels', group: 'quality', min: 2, max: 12, step: 1, description: 'Each ring doubles its cell size, so visible radius is roughly cellSize x segments x 2^(levels-1). 9 levels of 192 at 2 m reaches ~98 km, which is past where haze has dissolved the ground.' },
|
|
226
|
+
{ key: 'segments', label: 'Ring resolution', group: 'quality', min: 32, max: 320, step: 8, description: 'Grid resolution per ring side, and the one knob that sets how polygonal the terrain looks: a clipmap triangle subtends about 2/segments radians whatever the distance, so 192 is roughly 12 px at 1080p. Vertex cost is levels x segments^2 x 0.75, since every ring above the first is hollow.' },
|
|
227
|
+
{ key: 'cellSize', label: 'Cell size', group: 'quality', min: 0.25, max: 32, step: 0.25, unit: 'm', description: 'Finest cell, at the camera. Lower it for a walkable scene, raise it for a flyover.' },
|
|
228
|
+
{ key: 'shadowSteps', label: 'Shadow steps', group: 'quality', min: 0, max: 48, step: 1, description: 'Steps in the analytic sun-shadow march, nearest the camera. 0 disables terrain self-shadowing entirely, which is the single biggest thing you can turn off; below ~12 long shadows at low sun start to leak.' },
|
|
229
|
+
{ key: 'shadowDistance', label: 'Shadow distance', group: 'quality', min: 0, max: 40000, step: 100, unit: 'm', description: 'Range over which the self-shadow fades out. The march runs per vertex, so lowering this drops whole clipmap rings out of it — the cheapest quality dial there is after turning shadows off.' },
|
|
230
|
+
{ key: 'detailFadeDistance', label: 'Detail fade distance', group: 'quality', min: 50, max: 8000, step: 25, unit: 'm', description: 'Distance over which fragment-stage bump fades out. Removes far-field shimmer and buys back most of its own cost.' },
|
|
231
|
+
{ key: 'curvature', label: 'Planetary curvature', group: 'quality', min: 0, max: 0.0000012, step: 0.00000001, advanced: true, description: '1/(2R). Drops the surface with the square of distance so it meets a real horizon. Zero gives a flat world, which at these extents looks wrong long before it looks flat.' },
|
|
232
|
+
{ key: 'exposure', label: 'Exposure', group: 'quality', min: 0.2, max: 4, step: 0.01, description: 'Radiance scale, so terrain matches the sky and clouds whether or not the cloud composite is what tonemaps the frame.' },
|
|
233
|
+
];
|
|
234
|
+
export const defaultProceduralTerrainSettings = {
|
|
235
|
+
id: '3drise-terrain',
|
|
236
|
+
type: 'terrain',
|
|
237
|
+
config: { ...defaultHillsConfig, enabled: false },
|
|
238
|
+
quality: { ...defaultTerrainQuality },
|
|
239
|
+
};
|
|
240
|
+
// =============================================================================
|
|
241
|
+
// Normalisation
|
|
242
|
+
// =============================================================================
|
|
243
|
+
//
|
|
244
|
+
// A published scene loads whatever was in the database the day it was saved, and
|
|
245
|
+
// a scene saved before this system existed carries core's flat TerrainSettings
|
|
246
|
+
// (`visible` + `displacementScale`) under the same key. Reading that straight
|
|
247
|
+
// into the renderer is how an embed dies: the clipmap sizes its rings from
|
|
248
|
+
// `quality.segments` on its first frame.
|
|
249
|
+
//
|
|
250
|
+
// Each block merges over its own defaults SEPARATELY, not through one merge over
|
|
251
|
+
// the settings object, so a quality edit does not hand the surface a new config
|
|
252
|
+
// object and rebuild the clipmap geometry.
|
|
253
|
+
const TERRAIN_TYPES = ['mountains', 'dunes', 'hills', 'canyon'];
|
|
254
|
+
const isRecord = (v) => typeof v === 'object' && v !== null;
|
|
255
|
+
/**
|
|
256
|
+
* Surface block merged over its type's defaults, or null when there is nothing to
|
|
257
|
+
* render — including the retired flat shape, which has no `config` and must draw
|
|
258
|
+
* nothing rather than a landscape the project was never authored with.
|
|
259
|
+
*
|
|
260
|
+
* An unknown or missing `terrainType` falls back to hills rather than rendering
|
|
261
|
+
* nothing: a scene that says `enabled: true` should show ground.
|
|
262
|
+
*/
|
|
263
|
+
export function normalizeTerrain(raw) {
|
|
264
|
+
if (!isRecord(raw))
|
|
265
|
+
return null;
|
|
266
|
+
const terrainType = TERRAIN_TYPES.includes(raw.terrainType)
|
|
267
|
+
? raw.terrainType
|
|
268
|
+
: 'hills';
|
|
269
|
+
return {
|
|
270
|
+
...TERRAIN_DEFAULTS[terrainType],
|
|
271
|
+
...raw,
|
|
272
|
+
type: 'terrain',
|
|
273
|
+
terrainType,
|
|
274
|
+
};
|
|
275
|
+
}
|
|
276
|
+
export function normalizeTerrainQuality(raw) {
|
|
277
|
+
return { ...defaultTerrainQuality, ...(isRecord(raw) ? raw : {}) };
|
|
278
|
+
}
|
|
279
|
+
/**
|
|
280
|
+
* A whole settings blob, from a project of any age. The flat legacy shape has no
|
|
281
|
+
* `config`, so it normalises to a disabled terrain rather than to a default one.
|
|
282
|
+
*/
|
|
283
|
+
export function normalizeTerrainSettings(raw) {
|
|
284
|
+
const source = isRecord(raw) ? raw : {};
|
|
285
|
+
const config = normalizeTerrain(source.config);
|
|
286
|
+
return {
|
|
287
|
+
id: typeof source.id === 'string' ? source.id : defaultProceduralTerrainSettings.id,
|
|
288
|
+
type: 'terrain',
|
|
289
|
+
config: config ?? { ...defaultHillsConfig, enabled: false },
|
|
290
|
+
quality: normalizeTerrainQuality(source.quality),
|
|
291
|
+
};
|
|
292
|
+
}
|
package/dist/index.d.ts
CHANGED
|
@@ -28,6 +28,10 @@ export * from './services/index';
|
|
|
28
28
|
export * from './data/index';
|
|
29
29
|
export * from './constants/index';
|
|
30
30
|
export * from './shaders/index';
|
|
31
|
+
export * from './autoAnimate/index';
|
|
32
|
+
export * from './animations/index';
|
|
33
|
+
export * from './environment/index';
|
|
34
|
+
export * from './properties/index';
|
|
31
35
|
export { LightsManagerV } from './three/LightsManagerV';
|
|
32
36
|
export { FrameV } from './three/FrameV';
|
|
33
37
|
export { ImageGeometryV } from './three/ImageGeometryV';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEpD,YAAY,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAEpE,YAAY,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEtD,YAAY,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEtD,YAAY,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEtD,YAAY,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAElE,YAAY,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAE/G,YAAY,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAE9D,YAAY,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAElD,YAAY,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEpD,YAAY,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAE5D,YAAY,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEtD,YAAY,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAE5D,YAAY,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,YAAY,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEtD,YAAY,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEpD,YAAY,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAEpE,YAAY,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAE5D,YAAY,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AAE9E,YAAY,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAElD,YAAY,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAElE,YAAY,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,+BAA+B,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAElG,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -7,6 +7,10 @@ export * from './services/index.js';
|
|
|
7
7
|
export * from './data/index.js';
|
|
8
8
|
export * from './constants/index.js';
|
|
9
9
|
export * from './shaders/index.js';
|
|
10
|
+
export * from './autoAnimate/index.js';
|
|
11
|
+
export * from './animations/index.js';
|
|
12
|
+
export * from './environment/index.js';
|
|
13
|
+
export * from './properties/index.js';
|
|
10
14
|
// Three.js vanilla classes
|
|
11
15
|
export { LightsManagerV } from './three/LightsManagerV.js';
|
|
12
16
|
export { FrameV } from './three/FrameV.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/properties/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { type OptionalProperty } from './tables/optionalProperties';
|
|
2
|
+
import type { DescribedProperty, PropertyDomain, PropertyElement, PropertyKind, PropertySpec } from './types';
|
|
3
|
+
/** Rain object knobs driven per frame. */
|
|
4
|
+
export declare const RAIN_ANIMATABLE_KEYS: readonly ["color", "size", "opacity", "speed", "windStrength", "windDirection", "turbulence"];
|
|
5
|
+
/**
|
|
6
|
+
* Objects that own their shader: their materialSettings (if any) never reach the
|
|
7
|
+
* renderer, so they have no material properties. They animate through config.
|
|
8
|
+
*/
|
|
9
|
+
export declare const SELF_MANAGED_MATERIAL_TYPES: Set<string>;
|
|
10
|
+
/** camelCase → "Title Case" (same as toAnimatableLabel). */
|
|
11
|
+
export declare const propertyLabel: (key: string) => string;
|
|
12
|
+
export declare function getSettingAtPath(obj: unknown, path: string): unknown;
|
|
13
|
+
/** Kind of a value found on settings (material keys and table-only knobs have no spec to say). */
|
|
14
|
+
export declare function kindOfValue(key: string, v: unknown): PropertyKind | null;
|
|
15
|
+
/**
|
|
16
|
+
* Controller rows → specs, for panels whose element is not in the registry's
|
|
17
|
+
* element list (stars, fog, rain environment, gallery…). Numbers / colours count
|
|
18
|
+
* as animatable unless the row says otherwise; panels ignore the flag.
|
|
19
|
+
*/
|
|
20
|
+
export declare function toPropertySpecs(list: OptionalProperty[], prefix?: string, domain?: PropertyDomain): PropertySpec[];
|
|
21
|
+
/** Every property that applies to this element (structural and animatable). */
|
|
22
|
+
export declare function getPropertySpecs(element: PropertyElement, settings: any): PropertySpec[];
|
|
23
|
+
/**
|
|
24
|
+
* The property's layer is on: a hidden layer's knobs change nothing, so nothing
|
|
25
|
+
* offers them for animation (edges switched off, cloud deck / cirrus disabled).
|
|
26
|
+
*/
|
|
27
|
+
export declare function isPropertyLive(element: PropertyElement, spec: PropertySpec, settings: any): boolean;
|
|
28
|
+
/** Properties that can be driven per frame on this element right now. */
|
|
29
|
+
export declare function getAnimatableSpecs(element: PropertyElement, settings: any): PropertySpec[];
|
|
30
|
+
/**
|
|
31
|
+
* Object config families the animation timeline keys. The V2 applier drives
|
|
32
|
+
* `config.*` through the object's live config handle, which these four register;
|
|
33
|
+
* rain and the legacy cloud object have per-frame knobs for the keyframe /
|
|
34
|
+
* mouse-move systems only.
|
|
35
|
+
*/
|
|
36
|
+
export declare const TRACK_CONFIG_DOMAINS: ReadonlySet<PropertyDomain>;
|
|
37
|
+
/** What an animation clip can key on this element (timeline track picker, AI clips). */
|
|
38
|
+
export declare function getTrackSpecs(element: PropertyElement, settings: any): PropertySpec[];
|
|
39
|
+
export declare function getPropertySpec(element: PropertyElement, settings: any, key: string): PropertySpec | undefined;
|
|
40
|
+
/** Specs with the element's current values. */
|
|
41
|
+
export declare function describeProperties(element: PropertyElement, settings: any): DescribedProperty[];
|
|
42
|
+
/** The registry element for an animation / timeline state: env keys and camera as-is, anything else is an object id. */
|
|
43
|
+
export declare const elementOfState: (state: string) => PropertyElement;
|
|
44
|
+
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/properties/registry.ts"],"names":[],"mappings":"AA8CA,OAAO,EACH,KAAK,gBAAgB,EAMxB,MAAM,6BAA6B,CAAC;AAOrC,OAAO,KAAK,EACR,iBAAiB,EAAE,cAAc,EAAE,eAAe,EAAE,YAAY,EAAkB,YAAY,EACjG,MAAM,SAAS,CAAC;AAMjB,0CAA0C;AAC1C,eAAO,MAAM,oBAAoB,+FAAgG,CAAC;AAUlI;;;GAGG;AACH,eAAO,MAAM,2BAA2B,aAAoD,CAAC;AAmB7F,4DAA4D;AAC5D,eAAO,MAAM,aAAa,GAAI,KAAK,MAAM,KAAG,MACiC,CAAC;AAE9E,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAOpE;AAID,kGAAkG;AAClG,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,GAAG,YAAY,GAAG,IAAI,CAaxE;AAgCD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,gBAAgB,EAAE,EAAE,MAAM,SAAK,EAAE,MAAM,GAAE,cAAyB,GAAG,YAAY,EAAE,CAExH;AAuLD,+EAA+E;AAC/E,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,GAAG,GAAG,YAAY,EAAE,CAIxF;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,GAAG,GAAG,OAAO,CAInG;AAED,yEAAyE;AACzE,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,GAAG,GAAG,YAAY,EAAE,CAE1F;AAED;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,EAAE,WAAW,CAAC,cAAc,CAAqE,CAAC;AAEnI,wFAAwF;AACxF,wBAAgB,aAAa,CAAC,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,GAAG,GAAG,YAAY,EAAE,CAIrF;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAE9G;AAED,+CAA+C;AAC/C,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,GAAG,GAAG,iBAAiB,EAAE,CAE/F;AAED,wHAAwH;AACxH,eAAO,MAAM,cAAc,GAAI,OAAO,MAAM,KAAG,eAC+E,CAAC"}
|