@3driseai/3drise-core 1.0.28 → 1.0.30
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/autoAnimate/describeScene.js +1 -1
- package/dist/catalog/catalogInfo.d.ts.map +1 -1
- package/dist/catalog/catalogInfo.js +38 -19
- package/dist/catalog/objectCatalog.d.ts.map +1 -1
- package/dist/catalog/objectCatalog.js +6 -2
- package/dist/data/galleryDefaults.d.ts +14 -0
- package/dist/data/galleryDefaults.d.ts.map +1 -0
- package/dist/data/galleryDefaults.js +500 -0
- package/dist/data/imageDefaults.d.ts +10 -0
- package/dist/data/imageDefaults.d.ts.map +1 -0
- package/dist/data/imageDefaults.js +212 -0
- package/dist/data/index.d.ts +2 -0
- package/dist/data/index.d.ts.map +1 -1
- package/dist/data/index.js +2 -0
- package/dist/properties/registry.d.ts +6 -2
- package/dist/properties/registry.d.ts.map +1 -1
- package/dist/properties/registry.js +20 -5
- package/dist/properties/tables/galleryProperties.d.ts +5 -0
- package/dist/properties/tables/galleryProperties.d.ts.map +1 -0
- package/dist/properties/tables/galleryProperties.js +659 -0
- package/dist/properties/tables/imageProperties.d.ts +4 -0
- package/dist/properties/tables/imageProperties.d.ts.map +1 -0
- package/dist/properties/tables/imageProperties.js +231 -0
- package/dist/properties/tables/index.d.ts +2 -0
- package/dist/properties/tables/index.d.ts.map +1 -1
- package/dist/properties/tables/index.js +2 -0
- package/dist/properties/tables/optionalProperties.d.ts +1 -0
- package/dist/properties/tables/optionalProperties.d.ts.map +1 -1
- package/dist/properties/tables/optionalProperties.js +1 -1
- package/dist/properties/types.d.ts +1 -1
- package/dist/properties/types.d.ts.map +1 -1
- package/dist/types/commands.d.ts +10 -1
- package/dist/types/commands.d.ts.map +1 -1
- package/dist/types/galleryObjects.d.ts +1317 -0
- package/dist/types/galleryObjects.d.ts.map +1 -0
- package/dist/types/galleryObjects.js +15 -0
- package/dist/types/imageObjects.d.ts +361 -0
- package/dist/types/imageObjects.d.ts.map +1 -0
- package/dist/types/imageObjects.js +17 -0
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/objectSettings.d.ts +16 -0
- package/dist/types/objectSettings.d.ts.map +1 -1
- package/dist/types/scene3d.d.ts +1 -1
- package/dist/types/scene3d.d.ts.map +1 -1
- package/dist/utils/galleryMigration.d.ts +3 -0
- package/dist/utils/galleryMigration.d.ts.map +1 -0
- package/dist/utils/galleryMigration.js +17 -0
- package/dist/utils/generativeAnimatable.d.ts +1 -1
- package/dist/utils/generativeAnimatable.d.ts.map +1 -1
- package/dist/utils/generativeAnimatable.js +6 -0
- package/dist/utils/getAnimatableProperties.d.ts +1 -1
- package/dist/utils/getAnimatableProperties.d.ts.map +1 -1
- package/dist/utils/getAnimatableProperties.js +1 -1
- package/dist/utils/imageMigration.d.ts +3 -0
- package/dist/utils/imageMigration.d.ts.map +1 -0
- package/dist/utils/imageMigration.js +18 -0
- package/dist/utils/index.d.ts +2 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +2 -0
- package/dist/utils/objectMigration.d.ts.map +1 -1
- package/dist/utils/objectMigration.js +3 -1
- package/package.json +1 -1
|
@@ -0,0 +1,212 @@
|
|
|
1
|
+
// =============================================================================
|
|
2
|
+
// IMAGE OBJECTS — defaults, labels, animatable knobs
|
|
3
|
+
// =============================================================================
|
|
4
|
+
//
|
|
5
|
+
// The animatable list of each variant is what its push point applies per frame
|
|
6
|
+
// (applyConfig): numbers and colours of the motion and the look. Structural knobs
|
|
7
|
+
// (imageUrls, tilings, seeds), switches, selects and the timings (duration, interval)
|
|
8
|
+
// are never listed.
|
|
9
|
+
//
|
|
10
|
+
export const DEFAULT_IMAGE_OBJECTS = {
|
|
11
|
+
shards: { type: 'shards', enabled: true, imageUrls: [], interval: 5, intensity: 1, opacity: 1, pointerMode: 'tilt', pointerStrength: 1, pointerRadius: 0.6, pointerColor: '#9ad7ff', cols: 40, rows: 25, tiling: 0.35, aspect: 0, seed: 7, duration: 1.6, spread: 0.5, order: 'sweep', sweepAngle: 0, delayJitter: 0.15, lift: 0.35, drift: 0.08, spin: 0.6, breathe: 0.5, kenBurns: 0.5, seams: 0.12, rim: 0.8, edgeColor: '#0b0d12', rimColor: '#ffd9a6', backColor: '#101218' },
|
|
12
|
+
projector: { type: 'projector', enabled: true, imageUrls: [], interval: 5, duration: 1.8, aspect: 0, breathe: 0.5, intensity: 1, opacity: 1, pointerStrength: 1, pointerRadius: 0.5, pointerColor: '#ffd9a6', pointerMode: 'stir', dustCount: 500, throw: 2.4, lensHeight: 1.3, haze: 0.6, dust: 0.5, dustDrift: 0.5, defocus: 0.8, hunt: 0.5, vignette: 0.35, flicker: 0.15, lampColor: '#fff3e2', screenGain: 1 },
|
|
13
|
+
relief: { type: 'relief', enabled: true, imageUrls: [], interval: 5, duration: 1.8, aspect: 0, breathe: 0.5, intensity: 1, opacity: 1, pointerStrength: 1, pointerRadius: 0.6, pointerColor: '#ffffff', pointerMode: 'press', detail: 256, depth: 1, crest: 0.7, spread: 0.45, sweepAngle: 0, roughness: 0.62, paperColor: '#e9e4da', selfLight: 0.12 },
|
|
14
|
+
pinscreen: { type: 'pinscreen', enabled: true, imageUrls: [], interval: 5, duration: 2.2, aspect: 0, breathe: 0.5, intensity: 1, opacity: 1, pointerStrength: 1, pointerRadius: 0.6, pointerColor: '#ffffff', pointerMode: 'press', cols: 110, depth: 1, dip: 0.85, spread: 0.55, sweepAngle: 0, pinSize: 0.86, metal: 0.6, roughness: 0.32, selfLight: 0.15, pinColor: '#9aa0a8', plateColor: '#0c0d10' },
|
|
15
|
+
prism: { type: 'prism', enabled: true, imageUrls: [], interval: 5, duration: 2, aspect: 0, breathe: 0.5, intensity: 1, opacity: 1, pointerStrength: 1, pointerRadius: 0.6, pointerColor: '#ffffff', pointerMode: 'tilt', count: 56, vertical: true, spread: 0.6, sweepAngle: 0, settle: 0.5, gap: 0.03, roughness: 0.45, slatColor: '#15171c', selfLight: 0.1 },
|
|
16
|
+
lenticular: { type: 'lenticular', enabled: true, imageUrls: [], interval: 5, duration: 1.6, aspect: 0, breathe: 0.5, intensity: 1, opacity: 1, pointerStrength: 1, pointerRadius: 0.6, pointerColor: '#ffffff', pointerMode: 'peek', lenses: 110, thickness: 1.1, sharpness: 0.55, ghost: 0.35, ridge: 0.5, spread: 0.5, sweepAngle: 0, roughness: 0.55, gloss: 0.12, selfLight: 0.1 },
|
|
17
|
+
frost: { type: 'frost', enabled: true, imageUrls: [], interval: 5, duration: 2.6, aspect: 0, breathe: 0.5, intensity: 1, opacity: 1, pointerStrength: 1, pointerRadius: 0.22, pointerColor: '#ffffff', pointerMode: 'fog', gap: 0.06, frost: 0.75, whiteness: 0.25, feather: 0.6, rim: 0.25, refrost: 3, frostColor: '#eef3f8', selfLight: 0.12 },
|
|
18
|
+
roll: { type: 'roll', enabled: true, imageUrls: [], interval: 5, duration: 2.2, aspect: 0, breathe: 0.5, intensity: 1, opacity: 1, pointerStrength: 1, pointerRadius: 0.6, pointerColor: '#ffffff', pointerMode: 'lift', detail: 220, rollSize: 0.7, sweepAngle: 0, skew: 0.12, roughness: 0.7, paperColor: '#efebe3', selfLight: 0.1 },
|
|
19
|
+
contour: { type: 'contour', enabled: true, imageUrls: [], interval: 5, duration: 2.8, aspect: 0, breathe: 0.5, intensity: 1, opacity: 1, pointerStrength: 1, pointerRadius: 0.6, pointerColor: '#9ad7ff', pointerMode: 'open', levels: 26, lineWidth: 0.9, depth: 1, open: 0.95, smoothing: 3.2, idleLines: 0.04, tint: 0.35, spread: 1, sweepAngle: 0, lineColor: '#cfe6ff' },
|
|
20
|
+
engraving: { type: 'engraving', enabled: true, imageUrls: [], interval: 5, duration: 2.4, aspect: 0, breathe: 0.5, intensity: 1, opacity: 1, pointerStrength: 1, pointerRadius: 0.6, pointerColor: '#ffffff', pointerMode: 'comb', cols: 160, length: 2.3, weight: 0.85, relief: 1, hatch: 35, lift: 1, flow: 3.2, fill: 0.12, tint: 0.6, spread: 0.6, sweepAngle: 0, plateColor: '#ece6d9', inkColor: '#1a1c22' },
|
|
21
|
+
};
|
|
22
|
+
export const IMAGE_OBJECT_LABELS = {
|
|
23
|
+
shards: 'Shards',
|
|
24
|
+
projector: 'Projector',
|
|
25
|
+
relief: 'Relief',
|
|
26
|
+
pinscreen: 'Pinscreen',
|
|
27
|
+
prism: 'Prism',
|
|
28
|
+
lenticular: 'Lenticular',
|
|
29
|
+
frost: 'Frost',
|
|
30
|
+
roll: 'Roll',
|
|
31
|
+
contour: 'Contour',
|
|
32
|
+
engraving: 'Engraving',
|
|
33
|
+
};
|
|
34
|
+
export const IMAGE_OBJECTS_ANIMATABLE = {
|
|
35
|
+
shards: [
|
|
36
|
+
{ value: 'spread', label: 'Spread' },
|
|
37
|
+
{ value: 'delayJitter', label: 'Delay jitter' },
|
|
38
|
+
{ value: 'lift', label: 'Lift' },
|
|
39
|
+
{ value: 'drift', label: 'Drift' },
|
|
40
|
+
{ value: 'spin', label: 'Spin' },
|
|
41
|
+
{ value: 'breathe', label: 'Breathe' },
|
|
42
|
+
{ value: 'seams', label: 'Seams' },
|
|
43
|
+
{ value: 'rim', label: 'Rim light' },
|
|
44
|
+
{ value: 'intensity', label: 'Intensity' },
|
|
45
|
+
{ value: 'opacity', label: 'Opacity' },
|
|
46
|
+
{ value: 'sweepAngle', label: 'Sweep angle' },
|
|
47
|
+
{ value: 'edgeColor', label: 'Seam colour' },
|
|
48
|
+
{ value: 'rimColor', label: 'Rim colour' },
|
|
49
|
+
{ value: 'backColor', label: 'Backing colour' },
|
|
50
|
+
{ value: 'pointerColor', label: 'Pointer colour' },
|
|
51
|
+
{ value: 'pointerStrength', label: 'Pointer strength' },
|
|
52
|
+
{ value: 'pointerRadius', label: 'Pointer radius' },
|
|
53
|
+
],
|
|
54
|
+
projector: [
|
|
55
|
+
{ value: 'throw', label: 'Throw' },
|
|
56
|
+
{ value: 'lensHeight', label: 'Lens height' },
|
|
57
|
+
{ value: 'haze', label: 'Haze' },
|
|
58
|
+
{ value: 'dust', label: 'Dust' },
|
|
59
|
+
{ value: 'dustDrift', label: 'Dust drift' },
|
|
60
|
+
{ value: 'defocus', label: 'Defocus' },
|
|
61
|
+
{ value: 'hunt', label: 'Hunt' },
|
|
62
|
+
{ value: 'vignette', label: 'Vignette' },
|
|
63
|
+
{ value: 'flicker', label: 'Flicker' },
|
|
64
|
+
{ value: 'screenGain', label: 'Screen gain' },
|
|
65
|
+
{ value: 'breathe', label: 'Breathe' },
|
|
66
|
+
{ value: 'intensity', label: 'Intensity' },
|
|
67
|
+
{ value: 'opacity', label: 'Opacity' },
|
|
68
|
+
{ value: 'pointerStrength', label: 'Pointer strength' },
|
|
69
|
+
{ value: 'pointerRadius', label: 'Pointer radius' },
|
|
70
|
+
{ value: 'lampColor', label: 'Lamp colour' },
|
|
71
|
+
{ value: 'pointerColor', label: 'Pointer colour' },
|
|
72
|
+
],
|
|
73
|
+
relief: [
|
|
74
|
+
{ value: 'depth', label: 'Depth' },
|
|
75
|
+
{ value: 'crest', label: 'Crest' },
|
|
76
|
+
{ value: 'spread', label: 'Spread' },
|
|
77
|
+
{ value: 'sweepAngle', label: 'Sweep angle' },
|
|
78
|
+
{ value: 'roughness', label: 'Roughness' },
|
|
79
|
+
{ value: 'selfLight', label: 'Self light' },
|
|
80
|
+
{ value: 'breathe', label: 'Breathe' },
|
|
81
|
+
{ value: 'intensity', label: 'Intensity' },
|
|
82
|
+
{ value: 'opacity', label: 'Opacity' },
|
|
83
|
+
{ value: 'pointerStrength', label: 'Pointer strength' },
|
|
84
|
+
{ value: 'pointerRadius', label: 'Pointer radius' },
|
|
85
|
+
{ value: 'paperColor', label: 'Paper colour' },
|
|
86
|
+
{ value: 'pointerColor', label: 'Pointer colour' },
|
|
87
|
+
],
|
|
88
|
+
pinscreen: [
|
|
89
|
+
{ value: 'depth', label: 'Depth' },
|
|
90
|
+
{ value: 'dip', label: 'Dip' },
|
|
91
|
+
{ value: 'spread', label: 'Spread' },
|
|
92
|
+
{ value: 'sweepAngle', label: 'Sweep angle' },
|
|
93
|
+
{ value: 'pinSize', label: 'Head size' },
|
|
94
|
+
{ value: 'metal', label: 'Metal' },
|
|
95
|
+
{ value: 'roughness', label: 'Roughness' },
|
|
96
|
+
{ value: 'selfLight', label: 'Self light' },
|
|
97
|
+
{ value: 'breathe', label: 'Breathe' },
|
|
98
|
+
{ value: 'intensity', label: 'Intensity' },
|
|
99
|
+
{ value: 'opacity', label: 'Opacity' },
|
|
100
|
+
{ value: 'pointerStrength', label: 'Pointer strength' },
|
|
101
|
+
{ value: 'pointerRadius', label: 'Pointer radius' },
|
|
102
|
+
{ value: 'pinColor', label: 'Pin colour' },
|
|
103
|
+
{ value: 'plateColor', label: 'Plate colour' },
|
|
104
|
+
{ value: 'pointerColor', label: 'Pointer colour' },
|
|
105
|
+
],
|
|
106
|
+
prism: [
|
|
107
|
+
{ value: 'spread', label: 'Spread' },
|
|
108
|
+
{ value: 'sweepAngle', label: 'Sweep angle' },
|
|
109
|
+
{ value: 'settle', label: 'Settle' },
|
|
110
|
+
{ value: 'gap', label: 'Gap' },
|
|
111
|
+
{ value: 'roughness', label: 'Roughness' },
|
|
112
|
+
{ value: 'selfLight', label: 'Self light' },
|
|
113
|
+
{ value: 'breathe', label: 'Breathe' },
|
|
114
|
+
{ value: 'intensity', label: 'Intensity' },
|
|
115
|
+
{ value: 'opacity', label: 'Opacity' },
|
|
116
|
+
{ value: 'pointerStrength', label: 'Pointer strength' },
|
|
117
|
+
{ value: 'pointerRadius', label: 'Pointer radius' },
|
|
118
|
+
{ value: 'slatColor', label: 'Slat colour' },
|
|
119
|
+
{ value: 'pointerColor', label: 'Pointer colour' },
|
|
120
|
+
],
|
|
121
|
+
lenticular: [
|
|
122
|
+
{ value: 'lenses', label: 'Lenses' },
|
|
123
|
+
{ value: 'thickness', label: 'Thickness' },
|
|
124
|
+
{ value: 'sharpness', label: 'Sharpness' },
|
|
125
|
+
{ value: 'ghost', label: 'Ghost' },
|
|
126
|
+
{ value: 'ridge', label: 'Ridge' },
|
|
127
|
+
{ value: 'spread', label: 'Spread' },
|
|
128
|
+
{ value: 'sweepAngle', label: 'Sweep angle' },
|
|
129
|
+
{ value: 'roughness', label: 'Roughness' },
|
|
130
|
+
{ value: 'gloss', label: 'Gloss' },
|
|
131
|
+
{ value: 'selfLight', label: 'Self light' },
|
|
132
|
+
{ value: 'breathe', label: 'Breathe' },
|
|
133
|
+
{ value: 'intensity', label: 'Intensity' },
|
|
134
|
+
{ value: 'opacity', label: 'Opacity' },
|
|
135
|
+
{ value: 'pointerStrength', label: 'Pointer strength' },
|
|
136
|
+
{ value: 'pointerRadius', label: 'Pointer radius' },
|
|
137
|
+
{ value: 'pointerColor', label: 'Pointer colour' },
|
|
138
|
+
],
|
|
139
|
+
frost: [
|
|
140
|
+
{ value: 'gap', label: 'Gap' },
|
|
141
|
+
{ value: 'frost', label: 'Frost' },
|
|
142
|
+
{ value: 'whiteness', label: 'Whiteness' },
|
|
143
|
+
{ value: 'feather', label: 'Feather' },
|
|
144
|
+
{ value: 'rim', label: 'Rim' },
|
|
145
|
+
{ value: 'refrost', label: 'Refrost' },
|
|
146
|
+
{ value: 'selfLight', label: 'Self light' },
|
|
147
|
+
{ value: 'breathe', label: 'Breathe' },
|
|
148
|
+
{ value: 'intensity', label: 'Intensity' },
|
|
149
|
+
{ value: 'opacity', label: 'Opacity' },
|
|
150
|
+
{ value: 'pointerStrength', label: 'Pointer strength' },
|
|
151
|
+
{ value: 'pointerRadius', label: 'Pointer radius' },
|
|
152
|
+
{ value: 'frostColor', label: 'Frost colour' },
|
|
153
|
+
{ value: 'pointerColor', label: 'Pointer colour' },
|
|
154
|
+
],
|
|
155
|
+
roll: [
|
|
156
|
+
{ value: 'rollSize', label: 'Roll size' },
|
|
157
|
+
{ value: 'sweepAngle', label: 'Sweep angle' },
|
|
158
|
+
{ value: 'skew', label: 'Skew' },
|
|
159
|
+
{ value: 'roughness', label: 'Roughness' },
|
|
160
|
+
{ value: 'selfLight', label: 'Self light' },
|
|
161
|
+
{ value: 'breathe', label: 'Breathe' },
|
|
162
|
+
{ value: 'intensity', label: 'Intensity' },
|
|
163
|
+
{ value: 'opacity', label: 'Opacity' },
|
|
164
|
+
{ value: 'pointerStrength', label: 'Pointer strength' },
|
|
165
|
+
{ value: 'pointerRadius', label: 'Pointer radius' },
|
|
166
|
+
{ value: 'paperColor', label: 'Paper colour' },
|
|
167
|
+
{ value: 'pointerColor', label: 'Pointer colour' },
|
|
168
|
+
],
|
|
169
|
+
contour: [
|
|
170
|
+
{ value: 'levels', label: 'Levels' },
|
|
171
|
+
{ value: 'lineWidth', label: 'Line width' },
|
|
172
|
+
{ value: 'depth', label: 'Depth' },
|
|
173
|
+
{ value: 'open', label: 'Open' },
|
|
174
|
+
{ value: 'smoothing', label: 'Smoothing' },
|
|
175
|
+
{ value: 'idleLines', label: 'Idle lines' },
|
|
176
|
+
{ value: 'tint', label: 'Tint' },
|
|
177
|
+
{ value: 'spread', label: 'Spread' },
|
|
178
|
+
{ value: 'sweepAngle', label: 'Sweep angle' },
|
|
179
|
+
{ value: 'breathe', label: 'Breathe' },
|
|
180
|
+
{ value: 'intensity', label: 'Intensity' },
|
|
181
|
+
{ value: 'opacity', label: 'Opacity' },
|
|
182
|
+
{ value: 'pointerStrength', label: 'Pointer strength' },
|
|
183
|
+
{ value: 'pointerRadius', label: 'Pointer radius' },
|
|
184
|
+
{ value: 'lineColor', label: 'Line colour' },
|
|
185
|
+
{ value: 'pointerColor', label: 'Pointer colour' },
|
|
186
|
+
],
|
|
187
|
+
engraving: [
|
|
188
|
+
{ value: 'length', label: 'Length' },
|
|
189
|
+
{ value: 'weight', label: 'Weight' },
|
|
190
|
+
{ value: 'relief', label: 'Relief' },
|
|
191
|
+
{ value: 'hatch', label: 'Hatch' },
|
|
192
|
+
{ value: 'lift', label: 'Lift' },
|
|
193
|
+
{ value: 'flow', label: 'Flow' },
|
|
194
|
+
{ value: 'fill', label: 'Fill' },
|
|
195
|
+
{ value: 'tint', label: 'Tint' },
|
|
196
|
+
{ value: 'spread', label: 'Spread' },
|
|
197
|
+
{ value: 'sweepAngle', label: 'Sweep angle' },
|
|
198
|
+
{ value: 'breathe', label: 'Breathe' },
|
|
199
|
+
{ value: 'intensity', label: 'Intensity' },
|
|
200
|
+
{ value: 'opacity', label: 'Opacity' },
|
|
201
|
+
{ value: 'pointerStrength', label: 'Pointer strength' },
|
|
202
|
+
{ value: 'pointerRadius', label: 'Pointer radius' },
|
|
203
|
+
{ value: 'plateColor', label: 'Plate colour' },
|
|
204
|
+
{ value: 'inkColor', label: 'Ink colour' },
|
|
205
|
+
{ value: 'pointerColor', label: 'Pointer colour' },
|
|
206
|
+
],
|
|
207
|
+
};
|
|
208
|
+
/** True when the config is one of the image variants (type 'image', config.type set). */
|
|
209
|
+
export function isImageObjectConfig(config) {
|
|
210
|
+
const t = config?.type;
|
|
211
|
+
return typeof t === 'string' && Object.prototype.hasOwnProperty.call(DEFAULT_IMAGE_OBJECTS, t);
|
|
212
|
+
}
|
package/dist/data/index.d.ts
CHANGED
|
@@ -11,6 +11,8 @@ export * from './environmentDefaults';
|
|
|
11
11
|
export * from './spaceDefaults';
|
|
12
12
|
export * from './landDefaults';
|
|
13
13
|
export * from './textDefaults';
|
|
14
|
+
export * from './imageDefaults';
|
|
15
|
+
export * from './galleryDefaults';
|
|
14
16
|
export * from './shadowDefaults';
|
|
15
17
|
export * from './lightShadowDefaults';
|
|
16
18
|
export * from './defaults';
|
package/dist/data/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/data/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAC7D,cAAc,qBAAqB,CAAC;AACpC,cAAc,SAAS,CAAC;AACxB,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/data/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAC7D,cAAc,qBAAqB,CAAC;AACpC,cAAc,SAAS,CAAC;AACxB,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC"}
|
package/dist/data/index.js
CHANGED
|
@@ -11,6 +11,8 @@ export * from './environmentDefaults.js';
|
|
|
11
11
|
export * from './spaceDefaults.js';
|
|
12
12
|
export * from './landDefaults.js';
|
|
13
13
|
export * from './textDefaults.js';
|
|
14
|
+
export * from './imageDefaults.js';
|
|
15
|
+
export * from './galleryDefaults.js';
|
|
14
16
|
export * from './shadowDefaults.js';
|
|
15
17
|
export * from './lightShadowDefaults.js';
|
|
16
18
|
export * from './defaults.js';
|
|
@@ -7,7 +7,11 @@ export declare const RAIN_ANIMATABLE_KEYS: readonly ["color", "size", "opacity",
|
|
|
7
7
|
* renderer, so they have no material properties. They animate through config.
|
|
8
8
|
*/
|
|
9
9
|
export declare const SELF_MANAGED_MATERIAL_TYPES: Set<string>;
|
|
10
|
-
/**
|
|
10
|
+
/**
|
|
11
|
+
* True when the object draws with its own shaders (the object types above), or a gallery variant that does: the
|
|
12
|
+
* layout gallery's frames take a material, so gallery is decided per object (config.type, galleryTakesMaterial).
|
|
13
|
+
* Such an object gets no material specs.
|
|
14
|
+
*/
|
|
11
15
|
export declare const selfManagesMaterial: (obj: {
|
|
12
16
|
type?: string;
|
|
13
17
|
config?: unknown;
|
|
@@ -34,7 +38,7 @@ export declare function isPropertyLive(element: PropertyElement, spec: PropertyS
|
|
|
34
38
|
export declare function getAnimatableSpecs(element: PropertyElement, settings: any): PropertySpec[];
|
|
35
39
|
/**
|
|
36
40
|
* Object config families the animation timeline keys. The V2 applier drives
|
|
37
|
-
* `config.*` through the object's live config handle, which these
|
|
41
|
+
* `config.*` through the object's live config handle, which these nine register;
|
|
38
42
|
* rain and the legacy cloud object have per-frame knobs for the keyframe /
|
|
39
43
|
* mouse-move systems only.
|
|
40
44
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/properties/registry.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/properties/registry.ts"],"names":[],"mappings":"AA4DA,OAAO,EACH,KAAK,gBAAgB,EAMxB,MAAM,6BAA6B,CAAC;AAarC,OAAO,KAAK,EACR,iBAAiB,EAAE,cAAc,EAAE,eAAe,EAAE,YAAY,EAAkB,YAAY,EACjG,MAAM,SAAS,CAAC;AAMjB,0CAA0C;AAC1C,eAAO,MAAM,oBAAoB,+FAAgG,CAAC;AAWlI;;;GAGG;AACH,eAAO,MAAM,2BAA2B,aAAqG,CAAC;AAE9I;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,GAAI,KAAK;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,GAAG,SAAS,KAAG,OACsE,CAAC;AAmBzK,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,CAcxE;AAkCD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,gBAAgB,EAAE,EAAE,MAAM,SAAK,EAAE,MAAM,GAAE,cAAyB,GAAG,YAAY,EAAE,CAExH;AA2OD,+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,CAUnG;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,CAAiI,CAAC;AAE/L,wFAAwF;AACxF,wBAAgB,aAAa,CAAC,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,GAAG,GAAG,YAAY,EAAE,CAIrF;AAgBD;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,GAAG,GAAG,YAAY,EAAE,CAG7F;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"}
|
|
@@ -7,6 +7,8 @@ import { ENVIRONMENT_OBJECTS_ANIMATABLE } from '../data/environmentDefaults.js';
|
|
|
7
7
|
import { LAND_OBJECTS_ANIMATABLE } from '../data/landDefaults.js';
|
|
8
8
|
import { SPACE_OBJECTS_ANIMATABLE } from '../data/spaceDefaults.js';
|
|
9
9
|
import { TEXT_OBJECTS_ANIMATABLE } from '../data/textDefaults.js';
|
|
10
|
+
import { IMAGE_OBJECTS_ANIMATABLE } from '../data/imageDefaults.js';
|
|
11
|
+
import { GALLERY_OBJECTS_ANIMATABLE, isGalleryObjectConfig, galleryTakesMaterial } from '../data/galleryDefaults.js';
|
|
10
12
|
import { CLOUD_ANIMATABLE_PROPERTIES } from '../environment/cloudConfigs.js';
|
|
11
13
|
import { skyOptionalProperties, skyStarsOptionalProperties, cloudDeckOptionalProperties, cirrusOptionalProperties, thunderOptionalProperties, oceanSurfaceOptionalProperties, terrainOptionalProperties, rainOptionalProperties, cloudsOptionalProperties, plainOptionalProperties, pathOptionalProperties, edgesOptionalProperties, } from './tables/optionalProperties.js';
|
|
12
14
|
import { SHAPE_CONTROLS, MODE_CONTROLS } from './tables/geometryProperties.js';
|
|
@@ -18,6 +20,8 @@ import { ENVIRONMENT_PROPERTIES } from './tables/environmentProperties.js';
|
|
|
18
20
|
import { LAND_PROPERTIES } from './tables/landProperties.js';
|
|
19
21
|
import { SPACE_PROPERTIES } from './tables/spaceProperties.js';
|
|
20
22
|
import { TEXT_PROPERTIES } from './tables/textProperties.js';
|
|
23
|
+
import { IMAGE_PROPERTIES } from './tables/imageProperties.js';
|
|
24
|
+
import { GALLERY_PROPERTIES } from './tables/galleryProperties.js';
|
|
21
25
|
import { MATERIAL_PROPERTY_BOUNDS } from './tables/materialBounds.js';
|
|
22
26
|
// =============================================================================
|
|
23
27
|
// Data owned here (was inline in getAnimatableProperties / the timeline)
|
|
@@ -36,9 +40,13 @@ const MATERIAL_STRUCTURAL = new Set([
|
|
|
36
40
|
* Objects that own their shader: their materialSettings (if any) never reach the
|
|
37
41
|
* renderer, so they have no material properties. They animate through config.
|
|
38
42
|
*/
|
|
39
|
-
export const SELF_MANAGED_MATERIAL_TYPES = new Set(['effect', 'grid', 'light', 'particles', 'environment', 'space', 'land', 'text']);
|
|
40
|
-
/**
|
|
41
|
-
|
|
43
|
+
export const SELF_MANAGED_MATERIAL_TYPES = new Set(['effect', 'grid', 'light', 'particles', 'environment', 'space', 'land', 'text', 'image']);
|
|
44
|
+
/**
|
|
45
|
+
* True when the object draws with its own shaders (the object types above), or a gallery variant that does: the
|
|
46
|
+
* layout gallery's frames take a material, so gallery is decided per object (config.type, galleryTakesMaterial).
|
|
47
|
+
* Such an object gets no material specs.
|
|
48
|
+
*/
|
|
49
|
+
export const selfManagesMaterial = (obj) => !!obj && (SELF_MANAGED_MATERIAL_TYPES.has(obj.type) || (obj.type === 'gallery' && isGalleryObjectConfig(obj.config) && !galleryTakesMaterial(obj.config)));
|
|
42
50
|
const CAMERA_SPECS = [
|
|
43
51
|
{ key: 'position', name: 'position', label: 'Position', kind: 'vec3', domain: 'camera', animatable: true },
|
|
44
52
|
{ key: 'controls.target', name: 'target', label: 'Target', kind: 'vec3', domain: 'camera', animatable: true },
|
|
@@ -226,6 +234,8 @@ function familyOf(obj) {
|
|
|
226
234
|
const space = () => ({ domain: 'space', list: SPACE_PROPERTIES[t] ?? [], animatable: tableOf(SPACE_OBJECTS_ANIMATABLE[t]) });
|
|
227
235
|
const land = () => ({ domain: 'land', list: LAND_PROPERTIES[t] ?? [], animatable: tableOf(LAND_OBJECTS_ANIMATABLE[t]) });
|
|
228
236
|
const text = () => ({ domain: 'text', list: TEXT_PROPERTIES[t] ?? [], animatable: tableOf(TEXT_OBJECTS_ANIMATABLE[t]) });
|
|
237
|
+
const image = () => ({ domain: 'image', list: IMAGE_PROPERTIES[t] ?? [], animatable: tableOf(IMAGE_OBJECTS_ANIMATABLE[t]) });
|
|
238
|
+
const gallery = () => ({ domain: 'gallery', list: GALLERY_PROPERTIES[t] ?? [], animatable: tableOf(GALLERY_OBJECTS_ANIMATABLE[t]) });
|
|
229
239
|
// Environment elements seen through the object view, so the Animation and
|
|
230
240
|
// MouseMove panels (getAnimatableProperties) work on them like on any object.
|
|
231
241
|
// The sky is flat — no config block — so it is keyed before the config.type gate.
|
|
@@ -256,6 +266,11 @@ function familyOf(obj) {
|
|
|
256
266
|
// Text looks only under the text object type (plain, handwriting, …).
|
|
257
267
|
if (type === 'text' && TEXT_OBJECTS_ANIMATABLE[t])
|
|
258
268
|
return text();
|
|
269
|
+
if (type === 'image' && IMAGE_OBJECTS_ANIMATABLE[t])
|
|
270
|
+
return image();
|
|
271
|
+
// Gallery variants only under the gallery object type (layout, carousel, …).
|
|
272
|
+
if (type === 'gallery' && GALLERY_OBJECTS_ANIMATABLE[t])
|
|
273
|
+
return gallery();
|
|
259
274
|
if (t === 'rain')
|
|
260
275
|
return { domain: 'rain', list: rainOptionalProperties, animatable: new Map(RAIN_ANIMATABLE_KEYS.map(k => [k, propertyLabel(k)])) };
|
|
261
276
|
if (t === 'clouds')
|
|
@@ -394,11 +409,11 @@ export function getAnimatableSpecs(element, settings) {
|
|
|
394
409
|
}
|
|
395
410
|
/**
|
|
396
411
|
* Object config families the animation timeline keys. The V2 applier drives
|
|
397
|
-
* `config.*` through the object's live config handle, which these
|
|
412
|
+
* `config.*` through the object's live config handle, which these nine register;
|
|
398
413
|
* rain and the legacy cloud object have per-frame knobs for the keyframe /
|
|
399
414
|
* mouse-move systems only.
|
|
400
415
|
*/
|
|
401
|
-
export const TRACK_CONFIG_DOMAINS = new Set(['light', 'particles', 'effect', 'grid', 'environment', 'space', 'land', 'text']);
|
|
416
|
+
export const TRACK_CONFIG_DOMAINS = new Set(['light', 'particles', 'effect', 'grid', 'environment', 'space', 'land', 'text', 'image', 'gallery']);
|
|
402
417
|
/** What an animation clip can key on this element (timeline track picker, AI clips). */
|
|
403
418
|
export function getTrackSpecs(element, settings) {
|
|
404
419
|
const specs = getAnimatableSpecs(element, settings);
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { OptionalProperty } from './optionalProperties';
|
|
2
|
+
import type { GalleryObjectType } from '../../types/galleryObjects';
|
|
3
|
+
export declare const layoutGalleryProperties: OptionalProperty[];
|
|
4
|
+
export declare const GALLERY_PROPERTIES: Record<GalleryObjectType, OptionalProperty[]>;
|
|
5
|
+
//# sourceMappingURL=galleryProperties.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"galleryProperties.d.ts","sourceRoot":"","sources":["../../../src/properties/tables/galleryProperties.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAG7D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAUpE,eAAO,MAAM,uBAAuB,EAAE,gBAAgB,EAMrD,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,iBAAiB,EAAE,gBAAgB,EAAE,CAmoB5E,CAAC"}
|