@3driseai/3drise-core 1.0.18 → 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/AnimationsManager.d.ts +6 -106
- package/dist/services/AnimationsManager.d.ts.map +1 -1
- package/dist/services/AnimationsManager.js +5 -391
- package/dist/services/SceneActions.d.ts +17 -3
- package/dist/services/SceneActions.d.ts.map +1 -1
- package/dist/services/SceneActions.js +12 -8
- package/dist/services/ShadersLibrary.d.ts +1 -1
- package/dist/services/ShadersLibrary.d.ts.map +1 -1
- package/dist/services/index.d.ts +1 -2
- package/dist/services/index.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/actions.d.ts +8 -1
- package/dist/types/actions.d.ts.map +1 -1
- package/dist/types/actions.js +0 -4
- package/dist/types/animations.d.ts +0 -51
- package/dist/types/animations.d.ts.map +1 -1
- 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 +96 -17
- 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/types/types.d.ts +3 -2
- package/dist/types/types.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,17 @@
|
|
|
1
|
+
import type { OptionalProperty } from './optionalProperties';
|
|
2
|
+
import type { GenerativeParticlesType } from '../../types/generativeParticles';
|
|
3
|
+
export declare const tidalStreamParticlesProperties: OptionalProperty[];
|
|
4
|
+
export declare const brownianDustParticlesProperties: OptionalProperty[];
|
|
5
|
+
export declare const bioluminescentWakeParticlesProperties: OptionalProperty[];
|
|
6
|
+
export declare const electronOrbitalsParticlesProperties: OptionalProperty[];
|
|
7
|
+
export declare const grinderSparksParticlesProperties: OptionalProperty[];
|
|
8
|
+
export declare const chladniSandParticlesProperties: OptionalProperty[];
|
|
9
|
+
export declare const faradayPowderParticlesProperties: OptionalProperty[];
|
|
10
|
+
export declare const neonRainParticlesProperties: OptionalProperty[];
|
|
11
|
+
export declare const magneticBottleParticlesProperties: OptionalProperty[];
|
|
12
|
+
export declare const shapeBurstParticlesProperties: OptionalProperty[];
|
|
13
|
+
export declare const shapeFlowParticlesProperties: OptionalProperty[];
|
|
14
|
+
export declare const PARTICLE_SHAPE_TYPE_LABELS: Record<string, string>;
|
|
15
|
+
export declare const PARTICLE_SHAPE_PARAMS: Record<string, OptionalProperty>;
|
|
16
|
+
export declare const PARTICLES_PROPERTIES: Record<GenerativeParticlesType, OptionalProperty[]>;
|
|
17
|
+
//# sourceMappingURL=particlesProperties.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"particlesProperties.d.ts","sourceRoot":"","sources":["../../../src/properties/tables/particlesProperties.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAQ/E,eAAO,MAAM,8BAA8B,EAAE,gBAAgB,EA0B5D,CAAC;AAEF,eAAO,MAAM,+BAA+B,EAAE,gBAAgB,EAyB7D,CAAC;AAEF,eAAO,MAAM,qCAAqC,EAAE,gBAAgB,EA0BnE,CAAC;AAEF,eAAO,MAAM,mCAAmC,EAAE,gBAAgB,EA0BjE,CAAC;AAEF,eAAO,MAAM,gCAAgC,EAAE,gBAAgB,EA0B9D,CAAC;AAEF,eAAO,MAAM,8BAA8B,EAAE,gBAAgB,EAyB5D,CAAC;AAEF,eAAO,MAAM,gCAAgC,EAAE,gBAAgB,EA0B9D,CAAC;AAEF,eAAO,MAAM,2BAA2B,EAAE,gBAAgB,EA0BzD,CAAC;AAEF,eAAO,MAAM,iCAAiC,EAAE,gBAAgB,EAwB/D,CAAC;AAEF,eAAO,MAAM,6BAA6B,EAAE,gBAAgB,EA0B3D,CAAC;AAEF,eAAO,MAAM,4BAA4B,EAAE,gBAAgB,EA0B1D,CAAC;AAIF,eAAO,MAAM,0BAA0B,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAG7D,CAAC;AACF,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAgBlE,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,uBAAuB,EAAE,gBAAgB,EAAE,CAYpF,CAAC"}
|
|
@@ -0,0 +1,334 @@
|
|
|
1
|
+
// =============================================================================
|
|
2
|
+
// GENERATIVE PARTICLES OPTIONAL PROPERTIES
|
|
3
|
+
// The configurable inputs for each generative particle object (type 'particles').
|
|
4
|
+
// Order: base, variant, mouse (pointer*), trails (trail*). Selects carry optionLabels.
|
|
5
|
+
// =============================================================================
|
|
6
|
+
export const tidalStreamParticlesProperties = [
|
|
7
|
+
{ name: 'intensity', description: 'Overall brightness', type: 'number', min: 0, max: 3, step: 0.01 },
|
|
8
|
+
{ name: 'speed', description: 'Simulation time scale', type: 'number', min: 0, max: 3, step: 0.01 },
|
|
9
|
+
{ name: 'opacity', description: 'Overall opacity', type: 'number', min: 0, max: 1, step: 0.01 },
|
|
10
|
+
{ name: 'size', description: 'World size of the object (units)', type: 'number', min: 0.2, max: 4, step: 0.01 },
|
|
11
|
+
{ name: 'color', description: 'Blue-shift tint (stars moving toward the camera)', type: 'color' },
|
|
12
|
+
{ name: 'particleCount', description: 'Stars in the satellites and their streams (CPU simulated)', type: 'number', min: 3000, max: 40000, step: 1000 },
|
|
13
|
+
{ name: 'satelliteCount', description: 'Dwarf galaxies being torn apart: arcs, radial shells, a polar ring', type: 'number', min: 1, max: 3, step: 1 },
|
|
14
|
+
{ name: 'satelliteMass', description: 'Dwarf mass: heavier dwarfs hold their stars longer', type: 'number', min: 0.0001, max: 0.003, step: 0.0001 },
|
|
15
|
+
{ name: 'orbitEccentricity', description: 'Elongation of the main dwarf’s orbit (the others are set relative to it)', type: 'number', min: 0, max: 0.8, step: 0.01 },
|
|
16
|
+
{ name: 'streamAge', description: 'Orbits already completed when the object appears', type: 'number', min: 0, max: 5, step: 0.1 },
|
|
17
|
+
{ name: 'dopplerScale', description: 'Strength of the Doppler shift', type: 'number', min: 0, max: 6, step: 0.1 },
|
|
18
|
+
{ name: 'redshiftColor', description: 'Red-shift tint (stars moving away from the camera)', type: 'color' },
|
|
19
|
+
{ name: 'discStars', description: 'Stars in the host spiral galaxy (GPU, analytic)', type: 'number', min: 0, max: 200000, step: 5000 },
|
|
20
|
+
{ name: 'armCount', description: 'Spiral arms of the density wave', type: 'number', min: 1, max: 4, step: 1 },
|
|
21
|
+
{ name: 'nebulaColor', description: 'Emission nebulae along the arm crests (H-alpha)', type: 'color' },
|
|
22
|
+
{ name: 'starSize', description: 'Star sprite size', type: 'number', min: 0.2, max: 3, step: 0.01 },
|
|
23
|
+
{ name: 'pointerMode', description: 'What the cursor is: off, a dark subhalo, a spinning black hole, or a spectroscope loupe', type: 'select', options: ['none', 'subhalo', 'blackHole', 'spectroscope'], optionLabels: ['Off', 'Dark subhalo', 'Spinning black hole', 'Spectroscope'] },
|
|
24
|
+
{ name: 'pointerStrength', description: 'Mass / spin / magnification of the cursor (0 = no interaction)', type: 'number', min: 0, max: 3, step: 0.01 },
|
|
25
|
+
{ name: 'pointerRadius', description: 'Einstein radius, horizon size or loupe size', type: 'number', min: 0.2, max: 3, step: 0.01 },
|
|
26
|
+
{ name: 'pointerColor', description: 'Colour of the photon ring / loupe reticle', type: 'color' },
|
|
27
|
+
{ name: 'trailMode', description: 'Long exposure, comet tails or stardust afterglow', type: 'select', options: ['none', 'streak', 'comet', 'echo'], optionLabels: ['Off', 'Long exposure', 'Comet tails', 'Stardust'] },
|
|
28
|
+
{ name: 'trailLength', description: 'Trail duration in seconds', type: 'number', min: 0.2, max: 6, step: 0.05 },
|
|
29
|
+
{ name: 'trailOpacity', description: 'Trail brightness', type: 'number', min: 0, max: 1, step: 0.01 },
|
|
30
|
+
{ name: 'trailColor', description: 'Colour trails cool toward', type: 'color' },
|
|
31
|
+
{ name: 'trailShare', description: 'Fraction of stars that leave trails', type: 'number', min: 0.02, max: 1, step: 0.01 },
|
|
32
|
+
];
|
|
33
|
+
export const brownianDustParticlesProperties = [
|
|
34
|
+
{ name: 'intensity', description: 'Overall brightness', type: 'number', min: 0, max: 3, step: 0.01 },
|
|
35
|
+
{ name: 'speed', description: 'Simulation time scale', type: 'number', min: 0, max: 3, step: 0.01 },
|
|
36
|
+
{ name: 'opacity', description: 'Overall opacity', type: 'number', min: 0, max: 1, step: 0.01 },
|
|
37
|
+
{ name: 'size', description: 'World size of the object (units)', type: 'number', min: 0.2, max: 4, step: 0.01 },
|
|
38
|
+
{ name: 'color', description: 'Sunlight colour', type: 'color' },
|
|
39
|
+
{ name: 'particleCount', description: 'Dust motes (CPU simulated)', type: 'number', min: 1000, max: 20000, step: 500 },
|
|
40
|
+
{ name: 'temperature', description: 'Air temperature: strength of the Brownian jitter', type: 'number', min: 0, max: 4, step: 0.01 },
|
|
41
|
+
{ name: 'turbulence', description: 'Strength of the slow turbulent air currents', type: 'number', min: 0, max: 4, step: 0.01 },
|
|
42
|
+
{ name: 'beamAngle', description: 'Sun elevation in degrees', type: 'number', min: 10, max: 80, step: 0.5 },
|
|
43
|
+
{ name: 'beamWidth', description: 'Width of the window', type: 'number', min: 0.1, max: 0.7, step: 0.01 },
|
|
44
|
+
{ name: 'windowPanes', description: 'Window columns: mullions cast shadow lines through the beam', type: 'number', min: 1, max: 5, step: 1 },
|
|
45
|
+
{ name: 'anisotropy', description: 'Forward-scattering strength g of the dust (Henyey–Greenstein)', type: 'number', min: 0, max: 0.95, step: 0.01 },
|
|
46
|
+
{ name: 'hazeDensity', description: 'Density of the fine haze that makes the light shaft visible', type: 'number', min: 0, max: 2, step: 0.01 },
|
|
47
|
+
{ name: 'aperture', description: 'Lens aperture: out-of-focus motes become bokeh discs (0 = pinhole)', type: 'number', min: 0, max: 2, step: 0.01 },
|
|
48
|
+
{ name: 'ambientColor', description: 'Skylight tint of motes outside the beam', type: 'color' },
|
|
49
|
+
{ name: 'pointerMode', description: 'What the cursor is: off, a hand in the air, a torch, or a charged rod', type: 'select', options: ['none', 'hand', 'torch', 'charge'], optionLabels: ['Off', 'Hand', 'Torch', 'Charged rod'] },
|
|
50
|
+
{ name: 'pointerStrength', description: 'Strength of the air push / light / charge (0 = no interaction)', type: 'number', min: 0, max: 3, step: 0.01 },
|
|
51
|
+
{ name: 'pointerRadius', description: 'Size of the hand, reach of the light, or reach of the charge', type: 'number', min: 0.2, max: 3, step: 0.01 },
|
|
52
|
+
{ name: 'pointerColor', description: 'Torch light colour / corona glow colour', type: 'color' },
|
|
53
|
+
{ name: 'trailMode', description: 'Shutter drag, swirl threads or afterglow', type: 'select', options: ['none', 'streak', 'comet', 'echo'], optionLabels: ['Off', 'Shutter drag', 'Swirl threads', 'Afterglow'] },
|
|
54
|
+
{ name: 'trailLength', description: 'Trail duration in seconds', type: 'number', min: 0.2, max: 6, step: 0.05 },
|
|
55
|
+
{ name: 'trailOpacity', description: 'Trail brightness', type: 'number', min: 0, max: 1, step: 0.01 },
|
|
56
|
+
{ name: 'trailColor', description: 'Colour trails cool toward', type: 'color' },
|
|
57
|
+
{ name: 'trailShare', description: 'Fraction of motes that leave trails', type: 'number', min: 0.02, max: 1, step: 0.01 },
|
|
58
|
+
];
|
|
59
|
+
export const bioluminescentWakeParticlesProperties = [
|
|
60
|
+
{ name: 'intensity', description: 'Overall brightness', type: 'number', min: 0, max: 3, step: 0.01 },
|
|
61
|
+
{ name: 'speed', description: 'Simulation time scale', type: 'number', min: 0, max: 3, step: 0.01 },
|
|
62
|
+
{ name: 'opacity', description: 'Overall opacity', type: 'number', min: 0, max: 1, step: 0.01 },
|
|
63
|
+
{ name: 'size', description: 'World size of the object (units)', type: 'number', min: 0.2, max: 4, step: 0.01 },
|
|
64
|
+
{ name: 'color', description: 'Luminescence colour (luciferin blue)', type: 'color' },
|
|
65
|
+
{ name: 'particleCount', description: 'Plankton cells (CPU simulated)', type: 'number', min: 4000, max: 60000, step: 1000 },
|
|
66
|
+
{ name: 'swellHeight', description: 'Swell amplitude: bigger waves shear the surface and light the crests', type: 'number', min: 0, max: 3, step: 0.01 },
|
|
67
|
+
{ name: 'current', description: 'Drift speed of the water', type: 'number', min: 0, max: 2, step: 0.01 },
|
|
68
|
+
{ name: 'sensitivity', description: 'How easily cells flash (lower thresholds)', type: 'number', min: 0.2, max: 4, step: 0.01 },
|
|
69
|
+
{ name: 'recovery', description: 'Seconds a cell needs to recharge after flashing', type: 'number', min: 0.5, max: 30, step: 0.1 },
|
|
70
|
+
{ name: 'glowTime', description: 'Flash duration', type: 'number', min: 0.3, max: 4, step: 0.01 },
|
|
71
|
+
{ name: 'waterClarity', description: 'How far light travels in the water before it is absorbed', type: 'number', min: 0.2, max: 3, step: 0.01 },
|
|
72
|
+
{ name: 'deepColor', description: 'Colour light shifts toward when it comes from deeper water', type: 'color' },
|
|
73
|
+
{ name: 'moonlight', description: 'Moon glitter on the surface (0 = none)', type: 'number', min: 0, max: 2, step: 0.01 },
|
|
74
|
+
{ name: 'seed', description: 'Layout seed: a different arrangement with the same character', type: 'number', min: 1, max: 999, step: 1 },
|
|
75
|
+
{ name: 'quality', description: 'Detail level: scales particle counts and trail caps', type: 'select', options: ['low', 'medium', 'high'], optionLabels: ['Low', 'Medium', 'High'] },
|
|
76
|
+
{ name: 'pointerMode', description: 'What the cursor is: off, a hand in the water, falling pebbles, or a fish that hunts it', type: 'select', options: ['none', 'hand', 'pebble', 'fish'], optionLabels: ['Off', 'Hand', 'Pebbles', 'Hunting fish'] },
|
|
77
|
+
{ name: 'pointerStrength', description: 'Stroke force / pebble size / fish speed (0 = no interaction)', type: 'number', min: 0, max: 3, step: 0.01 },
|
|
78
|
+
{ name: 'pointerRadius', description: 'Size of the hand, the pebbles or the fish', type: 'number', min: 0.2, max: 3, step: 0.01 },
|
|
79
|
+
{ name: 'pointerColor', description: 'Splash colour', type: 'color' },
|
|
80
|
+
{ name: 'trailMode', description: 'Long exposure, glow threads or afterglow', type: 'select', options: ['none', 'streak', 'comet', 'echo'], optionLabels: ['Off', 'Long exposure', 'Glow threads', 'Afterglow'] },
|
|
81
|
+
{ name: 'trailLength', description: 'Trail duration in seconds', type: 'number', min: 0.2, max: 6, step: 0.05 },
|
|
82
|
+
{ name: 'trailOpacity', description: 'Trail brightness', type: 'number', min: 0, max: 1, step: 0.01 },
|
|
83
|
+
{ name: 'trailColor', description: 'Colour trails cool toward', type: 'color' },
|
|
84
|
+
{ name: 'trailShare', description: 'Fraction of cells that can leave trails', type: 'number', min: 0.02, max: 1, step: 0.01 },
|
|
85
|
+
];
|
|
86
|
+
export const electronOrbitalsParticlesProperties = [
|
|
87
|
+
{ name: 'intensity', description: 'Overall brightness', type: 'number', min: 0, max: 3, step: 0.01 },
|
|
88
|
+
{ name: 'speed', description: 'Simulation time scale', type: 'number', min: 0, max: 3, step: 0.01 },
|
|
89
|
+
{ name: 'opacity', description: 'Overall opacity', type: 'number', min: 0, max: 1, step: 0.01 },
|
|
90
|
+
{ name: 'size', description: 'World size of the object (units)', type: 'number', min: 0.2, max: 4, step: 0.01 },
|
|
91
|
+
{ name: 'color', description: 'Colour at phase 0', type: 'color' },
|
|
92
|
+
{ name: 'particleCount', description: 'Bohmian particles (CPU simulated)', type: 'number', min: 2000, max: 60000, step: 1000 },
|
|
93
|
+
{ name: 'stateA', description: 'First orbital (n, l, m)', type: 'select', options: ['1s', '2s', '2p0', '2p+1', '3s', '3p0', '3p+1', '3d0', '3d+1', '3d+2', '4s', '4p+1', '4d+1', '4d+2', '4f0', '4f+1', '4f+2', '4f+3'], optionLabels: ['1s (m = )', '2s (m = )', '2p (m = 0)', '2p (m = +1)', '3s (m = )', '3p (m = 0)', '3p (m = +1)', '3d (m = 0)', '3d (m = +1)', '3d (m = +2)', '4s (m = )', '4p (m = +1)', '4d (m = +1)', '4d (m = +2)', '4f (m = 0)', '4f (m = +1)', '4f (m = +2)', '4f (m = +3)'] },
|
|
94
|
+
{ name: 'stateB', description: 'Second orbital (n, l, m)', type: 'select', options: ['1s', '2s', '2p0', '2p+1', '3s', '3p0', '3p+1', '3d0', '3d+1', '3d+2', '4s', '4p+1', '4d+1', '4d+2', '4f0', '4f+1', '4f+2', '4f+3'], optionLabels: ['1s (m = )', '2s (m = )', '2p (m = 0)', '2p (m = +1)', '3s (m = )', '3p (m = 0)', '3p (m = +1)', '3d (m = 0)', '3d (m = +1)', '3d (m = +2)', '4s (m = )', '4p (m = +1)', '4d (m = +1)', '4d (m = +2)', '4f (m = 0)', '4f (m = +1)', '4f (m = +2)', '4f (m = +3)'] },
|
|
95
|
+
{ name: 'mix', description: 'Share of the second orbital in the superposition', type: 'number', min: 0, max: 1, step: 0.01 },
|
|
96
|
+
{ name: 'timeScale', description: 'Atomic time per second: speed of the breathing and circulation', type: 'number', min: 0, max: 4, step: 0.01 },
|
|
97
|
+
{ name: 'phaseColor', description: 'Colour at phase pi (the cycle runs through both colours)', type: 'color' },
|
|
98
|
+
{ name: 'cloudDensity', description: 'Brightness of the |psi|^2 probability haze', type: 'number', min: 0, max: 2, step: 0.01 },
|
|
99
|
+
{ name: 'phaseFronts', description: 'Glow of the wavefronts (surfaces of constant phase) inside the cloud', type: 'number', min: 0, max: 3, step: 0.01 },
|
|
100
|
+
{ name: 'pointSize', description: 'Particle size', type: 'number', min: 0.3, max: 3, step: 0.01 },
|
|
101
|
+
{ name: 'seed', description: 'Layout seed: a different arrangement with the same character', type: 'number', min: 1, max: 999, step: 1 },
|
|
102
|
+
{ name: 'quality', description: 'Detail level: scales particle counts and trail caps', type: 'select', options: ['low', 'medium', 'high'], optionLabels: ['Low', 'Medium', 'High'] },
|
|
103
|
+
{ name: 'pointerMode', description: 'What the cursor is: off, a resonant photon source, a magnet, or a position detector', type: 'select', options: ['none', 'photon', 'magnet', 'measure'], optionLabels: ['Off', 'Photon', 'Magnet', 'Detector'] },
|
|
104
|
+
{ name: 'pointerStrength', description: 'Drive strength / field strength / detector efficiency (0 = no interaction)', type: 'number', min: 0, max: 3, step: 0.01 },
|
|
105
|
+
{ name: 'pointerRadius', description: 'Reach of the light, or the detector window size', type: 'number', min: 0.2, max: 3, step: 0.01 },
|
|
106
|
+
{ name: 'pointerColor', description: 'Colour of emitted photons and detector clicks', type: 'color' },
|
|
107
|
+
{ name: 'trailMode', description: 'Long exposure, Bohm trajectories or afterglow', type: 'select', options: ['none', 'streak', 'comet', 'echo'], optionLabels: ['Off', 'Long exposure', 'Bohm trajectories', 'Afterglow'] },
|
|
108
|
+
{ name: 'trailLength', description: 'Trail duration in seconds', type: 'number', min: 0.2, max: 6, step: 0.05 },
|
|
109
|
+
{ name: 'trailOpacity', description: 'Trail brightness', type: 'number', min: 0, max: 1, step: 0.01 },
|
|
110
|
+
{ name: 'trailColor', description: 'Colour trails cool toward', type: 'color' },
|
|
111
|
+
{ name: 'trailShare', description: 'Fraction of particles that leave trails', type: 'number', min: 0.02, max: 1, step: 0.01 },
|
|
112
|
+
];
|
|
113
|
+
export const grinderSparksParticlesProperties = [
|
|
114
|
+
{ name: 'intensity', description: 'Overall brightness', type: 'number', min: 0, max: 3, step: 0.01 },
|
|
115
|
+
{ name: 'speed', description: 'Simulation time scale', type: 'number', min: 0, max: 3, step: 0.01 },
|
|
116
|
+
{ name: 'opacity', description: 'Overall opacity', type: 'number', min: 0, max: 1, step: 0.01 },
|
|
117
|
+
{ name: 'size', description: 'World size of the object (units)', type: 'number', min: 0.2, max: 4, step: 0.01 },
|
|
118
|
+
{ name: 'color', description: 'Tint of the hottest sparks', type: 'color' },
|
|
119
|
+
{ name: 'particleCount', description: 'Spark pool size (CPU simulated)', type: 'number', min: 1000, max: 20000, step: 500 },
|
|
120
|
+
{ name: 'sparkRate', description: 'Sparks per second', type: 'number', min: 0, max: 3, step: 0.01 },
|
|
121
|
+
{ name: 'wheelSpeed', description: 'Rim speed in m/s: launch speed of the sparks', type: 'number', min: 10, max: 80, step: 0.5 },
|
|
122
|
+
{ name: 'sprayAngle', description: 'Fan spread in degrees', type: 'number', min: 2, max: 40, step: 0.5 },
|
|
123
|
+
{ name: 'carbon', description: 'Carbon content: how often sparks burst into stars (spark test)', type: 'number', min: 0, max: 1, step: 0.01 },
|
|
124
|
+
{ name: 'temperature', description: 'Launch temperature in kelvin', type: 'number', min: 1400, max: 2600, step: 10 },
|
|
125
|
+
{ name: 'exposure', description: 'Camera exposure: how long cooling sparks stay visible', type: 'number', min: 0.3, max: 3, step: 0.01 },
|
|
126
|
+
{ name: 'floorReflect', description: 'Floor reflection strength (0 = matte)', type: 'number', min: 0, max: 1, step: 0.01 },
|
|
127
|
+
{ name: 'emberColor', description: 'Tint of the coolest, dull-red sparks', type: 'color' },
|
|
128
|
+
{ name: 'seed', description: 'Layout seed: a different arrangement with the same character', type: 'number', min: 1, max: 999, step: 1 },
|
|
129
|
+
{ name: 'quality', description: 'Detail level: scales particle counts and trail caps', type: 'select', options: ['low', 'medium', 'high'], optionLabels: ['Low', 'Medium', 'High'] },
|
|
130
|
+
{ name: 'pointerMode', description: 'What the cursor does: off, moves the grinder, aims the spray, or sweeps the air through the sparks', type: 'select', options: ['none', 'wheel', 'aim', 'sweep'], optionLabels: ['Off', 'Move the grinder', 'Aim the spray', 'Air sweep'] },
|
|
131
|
+
{ name: 'pointerStrength', description: 'Grinding pressure / aim pressure / strength of the air sweep (0 = no interaction)', type: 'number', min: 0, max: 3, step: 0.01 },
|
|
132
|
+
{ name: 'pointerRadius', description: 'Size of the air sweep', type: 'number', min: 0.2, max: 3, step: 0.01 },
|
|
133
|
+
{ name: 'pointerColor', description: 'Tint of the oxygen flare in the air sweep', type: 'color' },
|
|
134
|
+
{ name: 'trailMode', description: 'Long exposure, tracer arcs or smoulder', type: 'select', options: ['none', 'streak', 'comet', 'echo'], optionLabels: ['Off', 'Long exposure', 'Tracer arcs', 'Smoulder'] },
|
|
135
|
+
{ name: 'trailLength', description: 'Shutter: length of the streaks', type: 'number', min: 0.2, max: 6, step: 0.05 },
|
|
136
|
+
{ name: 'trailOpacity', description: 'Trail brightness', type: 'number', min: 0, max: 1, step: 0.01 },
|
|
137
|
+
{ name: 'trailColor', description: 'Colour trails cool toward', type: 'color' },
|
|
138
|
+
{ name: 'trailShare', description: 'Fraction of sparks that leave trails', type: 'number', min: 0.02, max: 1, step: 0.01 },
|
|
139
|
+
];
|
|
140
|
+
export const chladniSandParticlesProperties = [
|
|
141
|
+
{ name: 'intensity', description: 'Overall brightness', type: 'number', min: 0, max: 3, step: 0.01 },
|
|
142
|
+
{ name: 'speed', description: 'Simulation time scale', type: 'number', min: 0, max: 3, step: 0.01 },
|
|
143
|
+
{ name: 'opacity', description: 'Overall opacity', type: 'number', min: 0, max: 1, step: 0.01 },
|
|
144
|
+
{ name: 'size', description: 'World size of the object (units)', type: 'number', min: 0.2, max: 4, step: 0.01 },
|
|
145
|
+
{ name: 'color', description: 'Sand colour', type: 'color' },
|
|
146
|
+
{ name: 'particleCount', description: 'Sand grains (CPU simulated)', type: 'number', min: 4000, max: 60000, step: 1000 },
|
|
147
|
+
{ name: 'frequency', description: 'Drive frequency (mode number): each value rings a different figure', type: 'number', min: 1.5, max: 10, step: 0.01 },
|
|
148
|
+
{ name: 'sweep', description: 'Slow glide of the drive frequency through neighbouring resonances (octaves; 0 = hold)', type: 'number', min: 0, max: 1, step: 0.01 },
|
|
149
|
+
{ name: 'damping', description: 'Resonance width: low = sharp, pure figures; high = blended figures', type: 'number', min: 0.01, max: 0.3, step: 0.001 },
|
|
150
|
+
{ name: 'amplitude', description: 'Drive strength: thinner or thicker nodal lines, livelier hops', type: 'number', min: 0, max: 3, step: 0.01 },
|
|
151
|
+
{ name: 'hopColor', description: 'Colour of grains in flight, catching the light', type: 'color' },
|
|
152
|
+
{ name: 'lightAngle', description: 'Elevation of the raking light in degrees: low = strong relief', type: 'number', min: 5, max: 70, step: 0.5 },
|
|
153
|
+
{ name: 'grainSize', description: 'Grain sprite size', type: 'number', min: 0.3, max: 3, step: 0.01 },
|
|
154
|
+
{ name: 'seed', description: 'Layout seed: a different arrangement with the same character', type: 'number', min: 1, max: 999, step: 1 },
|
|
155
|
+
{ name: 'quality', description: 'Detail level: scales particle counts and trail caps', type: 'select', options: ['low', 'medium', 'high'], optionLabels: ['Low', 'Medium', 'High'] },
|
|
156
|
+
{ name: 'pointerMode', description: 'What the cursor does: off, bows the plate edge, touches it with a finger, or taps it', type: 'select', options: ['none', 'bow', 'finger', 'tap'], optionLabels: ['Off', 'Violin bow', 'Finger', 'Tap'] },
|
|
157
|
+
{ name: 'pointerStrength', description: 'Bow pressure / finger pressure / tap force (0 = no interaction)', type: 'number', min: 0, max: 3, step: 0.01 },
|
|
158
|
+
{ name: 'pointerRadius', description: 'Bow width / fingertip size / tap size', type: 'number', min: 0.2, max: 3, step: 0.01 },
|
|
159
|
+
{ name: 'pointerColor', description: 'Rosin dust colour', type: 'color' },
|
|
160
|
+
{ name: 'trailMode', description: 'Long exposure, migration paths or dust haze', type: 'select', options: ['none', 'streak', 'comet', 'echo'], optionLabels: ['Off', 'Long exposure', 'Migration paths', 'Dust haze'] },
|
|
161
|
+
{ name: 'trailLength', description: 'Trail duration in seconds', type: 'number', min: 0.2, max: 6, step: 0.05 },
|
|
162
|
+
{ name: 'trailOpacity', description: 'Trail brightness', type: 'number', min: 0, max: 1, step: 0.01 },
|
|
163
|
+
{ name: 'trailColor', description: 'Colour trails cool toward', type: 'color' },
|
|
164
|
+
{ name: 'trailShare', description: 'Fraction of grains that leave trails', type: 'number', min: 0.02, max: 1, step: 0.01 },
|
|
165
|
+
];
|
|
166
|
+
export const faradayPowderParticlesProperties = [
|
|
167
|
+
{ name: 'intensity', description: 'Overall brightness', type: 'number', min: 0, max: 3, step: 0.01 },
|
|
168
|
+
{ name: 'speed', description: 'Simulation time scale', type: 'number', min: 0, max: 3, step: 0.01 },
|
|
169
|
+
{ name: 'opacity', description: 'Overall opacity', type: 'number', min: 0, max: 1, step: 0.01 },
|
|
170
|
+
{ name: 'size', description: 'World size of the object (units)', type: 'number', min: 0.2, max: 4, step: 0.01 },
|
|
171
|
+
{ name: 'color', description: 'Powder colour at rest (the ember)', type: 'color' },
|
|
172
|
+
{ name: 'particleCount', description: 'Powder particles (CPU simulated)', type: 'number', min: 2000, max: 40000, step: 500 },
|
|
173
|
+
{ name: 'frequency', description: 'Drive frequency (mode number): each value rings a different figure', type: 'number', min: 1.5, max: 10, step: 0.01 },
|
|
174
|
+
{ name: 'sweep', description: 'Slow glide of the drive frequency through neighbouring resonances (octaves; 0 = hold)', type: 'number', min: 0, max: 1, step: 0.01 },
|
|
175
|
+
{ name: 'damping', description: 'Resonance width: low = sharp, pure figures; high = blended figures', type: 'number', min: 0.01, max: 0.3, step: 0.001 },
|
|
176
|
+
{ name: 'amplitude', description: 'Drive strength: how hard the plate shakes the powder', type: 'number', min: 0, max: 3, step: 0.01 },
|
|
177
|
+
{ name: 'glowColor', description: 'Colour of powder churning in the strongest antinodes', type: 'color' },
|
|
178
|
+
{ name: 'hover', description: 'How high the heaps float above the plate', type: 'number', min: 0, max: 3, step: 0.01 },
|
|
179
|
+
{ name: 'swirl', description: 'Spin of the heaps (acoustic streaming cells)', type: 'number', min: 0, max: 3, step: 0.01 },
|
|
180
|
+
{ name: 'puffSize', description: 'Powder puff size', type: 'number', min: 0.3, max: 3, step: 0.01 },
|
|
181
|
+
{ name: 'seed', description: 'Layout seed: a different arrangement with the same character', type: 'number', min: 1, max: 999, step: 1 },
|
|
182
|
+
{ name: 'quality', description: 'Detail level: scales particle counts and trail caps', type: 'select', options: ['low', 'medium', 'high'], optionLabels: ['Low', 'Medium', 'High'] },
|
|
183
|
+
{ name: 'pointerMode', description: 'What the cursor does: off, bows the plate edge, touches it with a finger, or taps it', type: 'select', options: ['none', 'bow', 'finger', 'tap'], optionLabels: ['Off', 'Violin bow', 'Finger', 'Tap'] },
|
|
184
|
+
{ name: 'pointerStrength', description: 'Bow pressure / finger pressure / tap force (0 = no interaction)', type: 'number', min: 0, max: 3, step: 0.01 },
|
|
185
|
+
{ name: 'pointerRadius', description: 'Bow width / fingertip size / tap size', type: 'number', min: 0.2, max: 3, step: 0.01 },
|
|
186
|
+
{ name: 'pointerColor', description: 'Rosin dust colour', type: 'color' },
|
|
187
|
+
{ name: 'trailMode', description: 'Long exposure, swirl threads or smoke haze', type: 'select', options: ['none', 'streak', 'comet', 'echo'], optionLabels: ['Off', 'Long exposure', 'Swirl threads', 'Smoke haze'] },
|
|
188
|
+
{ name: 'trailLength', description: 'Trail duration in seconds', type: 'number', min: 0.2, max: 6, step: 0.05 },
|
|
189
|
+
{ name: 'trailOpacity', description: 'Trail brightness', type: 'number', min: 0, max: 1, step: 0.01 },
|
|
190
|
+
{ name: 'trailColor', description: 'Colour trails cool toward', type: 'color' },
|
|
191
|
+
{ name: 'trailShare', description: 'Fraction of powder that leaves trails', type: 'number', min: 0.02, max: 1, step: 0.01 },
|
|
192
|
+
];
|
|
193
|
+
export const neonRainParticlesProperties = [
|
|
194
|
+
{ name: 'intensity', description: 'Overall brightness', type: 'number', min: 0, max: 3, step: 0.01 },
|
|
195
|
+
{ name: 'speed', description: 'Simulation time scale', type: 'number', min: 0, max: 3, step: 0.01 },
|
|
196
|
+
{ name: 'opacity', description: 'Overall opacity', type: 'number', min: 0, max: 1, step: 0.01 },
|
|
197
|
+
{ name: 'size', description: 'World size of the object (units)', type: 'number', min: 0.2, max: 4, step: 0.01 },
|
|
198
|
+
{ name: 'color', description: 'First neon light colour', type: 'color' },
|
|
199
|
+
{ name: 'particleCount', description: 'Raindrop pool (CPU simulated; splash droplets come on top)', type: 'number', min: 1000, max: 20000, step: 500 },
|
|
200
|
+
{ name: 'rainRate', description: 'Rain rate in mm/h: more drops, and bigger ones', type: 'number', min: 1, max: 80, step: 0.5 },
|
|
201
|
+
{ name: 'windSpeed', description: 'Breeze across the street in m/s (negative = from the other side)', type: 'number', min: -6, max: 6, step: 0.05 },
|
|
202
|
+
{ name: 'gustiness', description: 'Strength of the gust fronts that sweep sheets of rain through', type: 'number', min: 0, max: 2, step: 0.01 },
|
|
203
|
+
{ name: 'neonColor2', description: 'Second neon light colour', type: 'color' },
|
|
204
|
+
{ name: 'lampColor', description: 'Sodium streetlamp light from above', type: 'color' },
|
|
205
|
+
{ name: 'neonLight', description: 'Strength of the neon light falling on the rain (the lights themselves stay off-screen)', type: 'number', min: 0, max: 2, step: 0.01 },
|
|
206
|
+
{ name: 'aperture', description: 'Lens aperture: out-of-focus drops become bokeh discs (0 = pinhole)', type: 'number', min: 0, max: 2, step: 0.01 },
|
|
207
|
+
{ name: 'dropSize', description: 'Drop sprite size', type: 'number', min: 0.3, max: 3, step: 0.01 },
|
|
208
|
+
{ name: 'seed', description: 'Layout seed: a different arrangement with the same character', type: 'number', min: 1, max: 999, step: 1 },
|
|
209
|
+
{ name: 'quality', description: 'Detail level: scales particle counts and trail caps', type: 'select', options: ['low', 'medium', 'high'], optionLabels: ['Low', 'Medium', 'High'] },
|
|
210
|
+
{ name: 'pointerMode', description: 'What the cursor is: off, an umbrella, a gust of wind, or an oncoming headlight', type: 'select', options: ['none', 'umbrella', 'gust', 'headlight'], optionLabels: ['Off', 'Umbrella', 'Gust', 'Headlight'] },
|
|
211
|
+
{ name: 'pointerStrength', description: 'Umbrella size / gust force / headlight power (0 = no interaction)', type: 'number', min: 0, max: 3, step: 0.01 },
|
|
212
|
+
{ name: 'pointerRadius', description: 'Umbrella radius / gust size / beam width', type: 'number', min: 0.2, max: 3, step: 0.01 },
|
|
213
|
+
{ name: 'pointerColor', description: 'Headlight colour, and the tint of canopy splashes', type: 'color' },
|
|
214
|
+
{ name: 'trailMode', description: 'Shutter streaks, wet threads or splash afterglow', type: 'select', options: ['none', 'streak', 'comet', 'echo'], optionLabels: ['Off', 'Shutter streaks', 'Wet threads', 'Splash afterglow'] },
|
|
215
|
+
{ name: 'trailLength', description: 'Shutter: length of the streaks', type: 'number', min: 0.2, max: 6, step: 0.05 },
|
|
216
|
+
{ name: 'trailOpacity', description: 'Trail brightness', type: 'number', min: 0, max: 1, step: 0.01 },
|
|
217
|
+
{ name: 'trailColor', description: 'Colour trails cool toward', type: 'color' },
|
|
218
|
+
{ name: 'trailShare', description: 'Fraction of drops that leave trails', type: 'number', min: 0.02, max: 1, step: 0.01 },
|
|
219
|
+
];
|
|
220
|
+
export const magneticBottleParticlesProperties = [
|
|
221
|
+
{ name: 'intensity', description: 'Overall brightness', type: 'number', min: 0, max: 3, step: 0.01 },
|
|
222
|
+
{ name: 'speed', description: 'Simulation time scale', type: 'number', min: 0, max: 3, step: 0.01 },
|
|
223
|
+
{ name: 'opacity', description: 'Overall opacity', type: 'number', min: 0, max: 1, step: 0.01 },
|
|
224
|
+
{ name: 'size', description: 'World size of the object (units)', type: 'number', min: 0.2, max: 4, step: 0.01 },
|
|
225
|
+
{ name: 'color', description: 'Colour of the positive family', type: 'color' },
|
|
226
|
+
{ name: 'particleCount', description: 'Particles on the surface (each draws one woven line)', type: 'number', min: 4, max: 200, step: 1 },
|
|
227
|
+
{ name: 'windings', description: 'Field strength: turns per unit climb (denser weave)', type: 'number', min: 0.2, max: 5, step: 0.01 },
|
|
228
|
+
{ name: 'pitchSpread', description: 'Spread of pitch angles: how far up the shape the orbits reach before they mirror', type: 'number', min: 0, max: 1, step: 0.01 },
|
|
229
|
+
{ name: 'lineLife', description: 'Seconds a drawn line lingers', type: 'number', min: 0.5, max: 20, step: 0.1 },
|
|
230
|
+
{ name: 'lineDensity', description: 'Points per unit of line', type: 'number', min: 0.3, max: 3, step: 0.01 },
|
|
231
|
+
{ name: 'counterColor', description: 'Colour of the negative (counter-rotating) family', type: 'color' },
|
|
232
|
+
{ name: 'glow', description: 'Brightness of the mirror rings and heads', type: 'number', min: 0, max: 3, step: 0.01 },
|
|
233
|
+
{ name: 'seed', description: 'Layout seed: a different arrangement with the same character', type: 'number', min: 1, max: 999, step: 1 },
|
|
234
|
+
{ name: 'quality', description: 'Detail level: scales particle counts and trail caps', type: 'select', options: ['low', 'medium', 'high'], optionLabels: ['Low', 'Medium', 'High'] },
|
|
235
|
+
{ name: 'pointerMode', description: 'What the cursor is: off, a magnet (pinch), an electric field (drift) or an RF antenna (heat)', type: 'select', options: ['none', 'pinch', 'drift', 'heat'], optionLabels: ['Off', 'Pinch', 'Drift', 'Heat'] },
|
|
236
|
+
{ name: 'pointerStrength', description: 'Field / drift / heating strength (0 = no interaction)', type: 'number', min: 0, max: 3, step: 0.01 },
|
|
237
|
+
{ name: 'pointerRadius', description: 'Reach of the cursor', type: 'number', min: 0.2, max: 3, step: 0.01 },
|
|
238
|
+
{ name: 'pointerColor', description: 'Colour of heated particles', type: 'color' },
|
|
239
|
+
{ name: 'trailMode', description: 'Motion blur, gyro tails or afterglow', type: 'select', options: ['none', 'streak', 'comet', 'echo'], optionLabels: ['Off', 'Motion blur', 'Gyro tails', 'Afterglow'] },
|
|
240
|
+
{ name: 'trailLength', description: 'Trail duration in seconds', type: 'number', min: 0.2, max: 6, step: 0.05 },
|
|
241
|
+
{ name: 'trailOpacity', description: 'Trail brightness', type: 'number', min: 0, max: 1, step: 0.01 },
|
|
242
|
+
{ name: 'trailColor', description: 'Colour the tails fade into, from the family colour at the head', type: 'color' },
|
|
243
|
+
{ name: 'trailShare', description: 'Fraction of particles that leave trails', type: 'number', min: 0.02, max: 1, step: 0.01 },
|
|
244
|
+
];
|
|
245
|
+
export const shapeBurstParticlesProperties = [
|
|
246
|
+
{ name: 'intensity', description: 'Overall brightness', type: 'number', min: 0, max: 3, step: 0.01 },
|
|
247
|
+
{ name: 'speed', description: 'Simulation time scale', type: 'number', min: 0, max: 3, step: 0.01 },
|
|
248
|
+
{ name: 'opacity', description: 'Overall opacity', type: 'number', min: 0, max: 1, step: 0.01 },
|
|
249
|
+
{ name: 'size', description: 'World size of the object (units)', type: 'number', min: 0.2, max: 4, step: 0.01 },
|
|
250
|
+
{ name: 'color', description: 'Colour of the positive family once it has landed', type: 'color' },
|
|
251
|
+
{ name: 'particleCount', description: 'Particles per burst', type: 'number', min: 60, max: 3000, step: 10 },
|
|
252
|
+
{ name: 'interval', description: 'Seconds between bursts', type: 'number', min: 0.6, max: 8, step: 0.05 },
|
|
253
|
+
{ name: 'formSpeed', description: 'Drag rate: how fast the burst settles into the shape', type: 'number', min: 0.5, max: 8, step: 0.01 },
|
|
254
|
+
{ name: 'fieldStrength', description: 'Magnetic field: how far the paths curl on the way out', type: 'number', min: 0, max: 3, step: 0.01 },
|
|
255
|
+
{ name: 'holdTime', description: 'Seconds the shape holds before it dissolves', type: 'number', min: 0, max: 6, step: 0.05 },
|
|
256
|
+
{ name: 'dissolve', description: 'Outward drift while the shape fades', type: 'number', min: 0, max: 1, step: 0.01 },
|
|
257
|
+
{ name: 'counterColor', description: 'Colour of the negative family once it has landed', type: 'color' },
|
|
258
|
+
{ name: 'heatColor', description: 'White-hot colour at launch', type: 'color' },
|
|
259
|
+
{ name: 'headSize', description: 'Particle size', type: 'number', min: 0.2, max: 3, step: 0.01 },
|
|
260
|
+
{ name: 'seed', description: 'Layout seed: a different arrangement with the same character', type: 'number', min: 1, max: 999, step: 1 },
|
|
261
|
+
{ name: 'quality', description: 'Detail level: scales particle counts and trail caps', type: 'select', options: ['low', 'medium', 'high'], optionLabels: ['Low', 'Medium', 'High'] },
|
|
262
|
+
{ name: 'pointerMode', description: 'What the cursor does: off, detonates bursts, curls them (magnet) or pulls them (gravity)', type: 'select', options: ['none', 'detonate', 'magnet', 'gravity'], optionLabels: ['Off', 'Detonate', 'Magnet', 'Gravity'] },
|
|
263
|
+
{ name: 'pointerStrength', description: 'Burst size / field / pull (0 = no interaction)', type: 'number', min: 0, max: 3, step: 0.01 },
|
|
264
|
+
{ name: 'pointerRadius', description: 'Size of cursor bursts / reach of the field or pull', type: 'number', min: 0.2, max: 3, step: 0.01 },
|
|
265
|
+
{ name: 'pointerColor', description: 'Glow of particles the cursor is acting on', type: 'color' },
|
|
266
|
+
{ name: 'trailMode', description: 'Motion blur, spiral tails or embers', type: 'select', options: ['none', 'streak', 'comet', 'echo'], optionLabels: ['Off', 'Motion blur', 'Spiral tails', 'Embers'] },
|
|
267
|
+
{ name: 'trailLength', description: 'Tail duration in seconds', type: 'number', min: 0.2, max: 6, step: 0.05 },
|
|
268
|
+
{ name: 'trailOpacity', description: 'Tail brightness', type: 'number', min: 0, max: 1, step: 0.01 },
|
|
269
|
+
{ name: 'trailColor', description: 'Colour the tails fade into', type: 'color' },
|
|
270
|
+
{ name: 'trailShare', description: 'Fraction of particles that leave tails', type: 'number', min: 0.02, max: 1, step: 0.01 },
|
|
271
|
+
];
|
|
272
|
+
export const shapeFlowParticlesProperties = [
|
|
273
|
+
{ name: 'intensity', description: 'Overall brightness', type: 'number', min: 0, max: 3, step: 0.01 },
|
|
274
|
+
{ name: 'speed', description: 'Simulation time scale', type: 'number', min: 0, max: 3, step: 0.01 },
|
|
275
|
+
{ name: 'opacity', description: 'Overall opacity', type: 'number', min: 0, max: 1, step: 0.01 },
|
|
276
|
+
{ name: 'size', description: 'World size of the object (units)', type: 'number', min: 0.2, max: 4, step: 0.01 },
|
|
277
|
+
{ name: 'color', description: 'Colour of high pressure (the nose, the slow wake)', type: 'color' },
|
|
278
|
+
{ name: 'particleCount', description: 'Tracer particles', type: 'number', min: 300, max: 8000, step: 50 },
|
|
279
|
+
{ name: 'flowSpeed', description: 'Wind speed', type: 'number', min: 0, max: 3, step: 0.01 },
|
|
280
|
+
{ name: 'windPitch', description: 'Angle of the wind to the horizontal (degrees): the shape meets it tilted', type: 'number', min: -60, max: 60, step: 1 },
|
|
281
|
+
{ name: 'rake', description: 'Where the streams are released: a ring round the body, one vertical sheet, or a cross', type: 'select', options: ['tube', 'sheet', 'cross'], optionLabels: ['Stream tube', 'Smoke sheet', 'Cross'] },
|
|
282
|
+
{ name: 'lanes', description: 'Number of stream lanes in the rake', type: 'number', min: 6, max: 128, step: 1 },
|
|
283
|
+
{ name: 'streamWidth', description: 'Size of the rake compared with the tunnel', type: 'number', min: 0.2, max: 1, step: 0.01 },
|
|
284
|
+
{ name: 'turbulence', description: 'Strength of the wake eddies behind the shape', type: 'number', min: 0, max: 2, step: 0.01 },
|
|
285
|
+
{ name: 'fastColor', description: 'Colour of low pressure (fast flow round the sides)', type: 'color' },
|
|
286
|
+
{ name: 'headSize', description: 'Tracer size', type: 'number', min: 0.2, max: 3, step: 0.01 },
|
|
287
|
+
{ name: 'seed', description: 'Layout seed: a different arrangement with the same character', type: 'number', min: 1, max: 999, step: 1 },
|
|
288
|
+
{ name: 'quality', description: 'Detail level: scales particle counts and trail caps', type: 'select', options: ['low', 'medium', 'high'], optionLabels: ['Low', 'Medium', 'High'] },
|
|
289
|
+
{ name: 'pointerMode', description: 'What the cursor is: off, a second obstacle, a jet or a vortex', type: 'select', options: ['none', 'obstacle', 'jet', 'vortex'], optionLabels: ['Off', 'Second obstacle', 'Jet', 'Vortex'] },
|
|
290
|
+
{ name: 'pointerStrength', description: 'Obstacle size / jet force / vortex circulation (0 = no interaction)', type: 'number', min: 0, max: 3, step: 0.01 },
|
|
291
|
+
{ name: 'pointerRadius', description: 'Reach of the cursor', type: 'number', min: 0.2, max: 3, step: 0.01 },
|
|
292
|
+
{ name: 'pointerColor', description: 'Glow of tracers the cursor is acting on', type: 'color' },
|
|
293
|
+
{ name: 'trailMode', description: 'Motion blur, streaklines or smoke', type: 'select', options: ['none', 'streak', 'comet', 'echo'], optionLabels: ['Off', 'Motion blur', 'Streaklines', 'Smoke'] },
|
|
294
|
+
{ name: 'trailLength', description: 'Streakline length in seconds', type: 'number', min: 0.2, max: 6, step: 0.05 },
|
|
295
|
+
{ name: 'trailOpacity', description: 'Streakline brightness', type: 'number', min: 0, max: 1, step: 0.01 },
|
|
296
|
+
{ name: 'trailColor', description: 'Colour the streaklines fade into', type: 'color' },
|
|
297
|
+
{ name: 'trailShare', description: 'Fraction of tracers that leave streaklines', type: 'number', min: 0.02, max: 1, step: 0.01 },
|
|
298
|
+
];
|
|
299
|
+
// Shape tab: the parameters of each shape type (config.shape; see PARTICLE_SHAPE_DEFAULTS in core).
|
|
300
|
+
// Box size is edited as three sliders (sizeX / sizeY / sizeZ) over config.shape.size.
|
|
301
|
+
export const PARTICLE_SHAPE_TYPE_LABELS = {
|
|
302
|
+
cone: 'Cone', cylinder: 'Cylinder', sphere: 'Sphere', capsule: 'Capsule', torus: 'Torus', box: 'Box',
|
|
303
|
+
tetrahedron: 'Tetrahedron', octahedron: 'Octahedron', icosahedron: 'Icosahedron', dodecahedron: 'Dodecahedron',
|
|
304
|
+
};
|
|
305
|
+
export const PARTICLE_SHAPE_PARAMS = {
|
|
306
|
+
radius: { name: 'radius', label: 'Radius', description: 'Radius of the shape', type: 'number', min: 0.05, max: 2, step: 0.01 },
|
|
307
|
+
radiusTop: { name: 'radiusTop', label: 'Radius Top', description: 'Radius at the top (0 = a point)', type: 'number', min: 0, max: 2, step: 0.01 },
|
|
308
|
+
radiusBottom: { name: 'radiusBottom', label: 'Radius Bottom', description: 'Radius at the bottom (0 = a point)', type: 'number', min: 0, max: 2, step: 0.01 },
|
|
309
|
+
height: { name: 'height', label: 'Height', description: 'Height of the shape', type: 'number', min: 0.05, max: 3, step: 0.01 },
|
|
310
|
+
length: { name: 'length', label: 'Length', description: 'Length of the straight middle section', type: 'number', min: 0, max: 3, step: 0.01 },
|
|
311
|
+
tube: { name: 'tube', label: 'Tube', description: 'Thickness of the ring', type: 'number', min: 0.02, max: 1, step: 0.01 },
|
|
312
|
+
sizeX: { name: 'sizeX', label: 'Width', description: 'Box width', type: 'number', min: 0.05, max: 3, step: 0.01 },
|
|
313
|
+
sizeY: { name: 'sizeY', label: 'Height', description: 'Box height', type: 'number', min: 0.05, max: 3, step: 0.01 },
|
|
314
|
+
sizeZ: { name: 'sizeZ', label: 'Depth', description: 'Box depth', type: 'number', min: 0.05, max: 3, step: 0.01 },
|
|
315
|
+
radialSegments: { name: 'radialSegments', label: 'Radial Segments', description: 'Facets round the axis (few = a pyramid or prism)', type: 'number', min: 3, max: 128, step: 1 },
|
|
316
|
+
tubularSegments: { name: 'tubularSegments', label: 'Tubular Segments', description: 'Facets along the ring', type: 'number', min: 3, max: 200, step: 1 },
|
|
317
|
+
capSegments: { name: 'capSegments', label: 'Cap Segments', description: 'Facets in the rounded caps', type: 'number', min: 1, max: 16, step: 1 },
|
|
318
|
+
segments: { name: 'segments', label: 'Segments', description: 'Facets round the sphere', type: 'number', min: 3, max: 64, step: 1 },
|
|
319
|
+
rings: { name: 'rings', label: 'Rings', description: 'Facets from pole to pole', type: 'number', min: 2, max: 64, step: 1 },
|
|
320
|
+
detail: { name: 'detail', label: 'Detail', description: 'Subdivision level (0 = flat faces)', type: 'number', min: 0, max: 5, step: 1 },
|
|
321
|
+
};
|
|
322
|
+
export const PARTICLES_PROPERTIES = {
|
|
323
|
+
tidalStream: tidalStreamParticlesProperties,
|
|
324
|
+
brownianDust: brownianDustParticlesProperties,
|
|
325
|
+
bioluminescentWake: bioluminescentWakeParticlesProperties,
|
|
326
|
+
electronOrbitals: electronOrbitalsParticlesProperties,
|
|
327
|
+
grinderSparks: grinderSparksParticlesProperties,
|
|
328
|
+
chladniSand: chladniSandParticlesProperties,
|
|
329
|
+
faradayPowder: faradayPowderParticlesProperties,
|
|
330
|
+
neonRain: neonRainParticlesProperties,
|
|
331
|
+
magneticBottle: magneticBottleParticlesProperties,
|
|
332
|
+
shapeBurst: shapeBurstParticlesProperties,
|
|
333
|
+
shapeFlow: shapeFlowParticlesProperties,
|
|
334
|
+
};
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
export type PropertyKind = 'number' | 'color' | 'boolean' | 'select' | 'vec3' | 'vec2' | 'string' | 'texture';
|
|
2
|
+
/** What a property belongs to. Objects are all 'object'; the kind of object is read from its settings. */
|
|
3
|
+
export type PropertyElement = 'object' | 'camera' | 'sky' | 'clouds' | 'ocean' | 'terrain';
|
|
4
|
+
export declare const ENVIRONMENT_ELEMENTS: readonly ["sky", "clouds", "ocean", "terrain"];
|
|
5
|
+
export type EnvironmentElement = (typeof ENVIRONMENT_ELEMENTS)[number];
|
|
6
|
+
/**
|
|
7
|
+
* The family a property comes from. For objects it matches AnimatableDomain
|
|
8
|
+
* (getAnimatableProperties), plus 'shadow' (a light's shadow block) and 'config'
|
|
9
|
+
* (config knobs of objects with no animatable table: text, plain, mesh).
|
|
10
|
+
*/
|
|
11
|
+
export type PropertyDomain = 'transform' | 'material' | 'edges' | 'light' | 'shadow' | 'particles' | 'effect' | 'grid' | 'rain' | 'clouds' | 'config' | 'camera' | 'sky' | 'cirrus' | 'ocean' | 'terrain';
|
|
12
|
+
export interface PropertyOption {
|
|
13
|
+
value: string;
|
|
14
|
+
label?: string;
|
|
15
|
+
}
|
|
16
|
+
export interface PropertySpec {
|
|
17
|
+
/** Settings path on the element: 'meshSettings.position', 'materialSettings.roughness',
|
|
18
|
+
* 'config.intensity', 'config.shadow.bias', 'elevation' (sky), 'config.coverage' (clouds deck),
|
|
19
|
+
* 'cirrus.coverage', 'controls.target' (camera). */
|
|
20
|
+
key: string;
|
|
21
|
+
/** Last segment of the key: the name the controllers and the mouse-move domains use. */
|
|
22
|
+
name: string;
|
|
23
|
+
label: string;
|
|
24
|
+
description?: string;
|
|
25
|
+
kind: PropertyKind;
|
|
26
|
+
domain: PropertyDomain;
|
|
27
|
+
min?: number;
|
|
28
|
+
max?: number;
|
|
29
|
+
step?: number;
|
|
30
|
+
unit?: string;
|
|
31
|
+
options?: PropertyOption[];
|
|
32
|
+
/** Value a panel shows when the settings do not carry one. */
|
|
33
|
+
default?: unknown;
|
|
34
|
+
/** Controller tab / section (light tabs, schema groups). */
|
|
35
|
+
group?: string;
|
|
36
|
+
/** Can be driven per frame. false = structural: set only. */
|
|
37
|
+
animatable: boolean;
|
|
38
|
+
}
|
|
39
|
+
export interface DescribedProperty extends PropertySpec {
|
|
40
|
+
/** Current value on the element's settings (undefined when not set). */
|
|
41
|
+
value: unknown;
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/properties/types.ts"],"names":[],"mappings":"AAYA,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE9G,0GAA0G;AAC1G,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,QAAQ,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;AAE3F,eAAO,MAAM,oBAAoB,gDAAiD,CAAC;AACnF,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEvE;;;;GAIG;AACH,MAAM,MAAM,cAAc,GACpB,WAAW,GAAG,UAAU,GAAG,OAAO,GAClC,OAAO,GAAG,QAAQ,GAAG,WAAW,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GACnF,QAAQ,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;AAExD,MAAM,WAAW,cAAc;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IACzB;;yDAEqD;IACrD,GAAG,EAAE,MAAM,CAAC;IACZ,wFAAwF;IACxF,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,YAAY,CAAC;IACnB,MAAM,EAAE,cAAc,CAAC;IACvB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,cAAc,EAAE,CAAC;IAC3B,8DAA8D;IAC9D,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,4DAA4D;IAC5D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6DAA6D;IAC7D,UAAU,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,iBAAkB,SAAQ,YAAY;IACnD,wEAAwE;IACxE,KAAK,EAAE,OAAO,CAAC;CAClB"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
// =============================================================================
|
|
2
|
+
// Property registry — types
|
|
3
|
+
// =============================================================================
|
|
4
|
+
//
|
|
5
|
+
// One description of every property an element has: what it is called, what kind
|
|
6
|
+
// of value it holds, its bounds / options, and whether it can be driven per frame
|
|
7
|
+
// (animatable: timeline tracks, mouse-move, AI clips) or only set (structural:
|
|
8
|
+
// controllers, action patches). The registry (./registry.ts) assembles these from
|
|
9
|
+
// the property tables (./tables) and the environment schemas (../environment), so
|
|
10
|
+
// the data stays where it is maintained and every consumer reads the same answer.
|
|
11
|
+
//
|
|
12
|
+
export const ENVIRONMENT_ELEMENTS = ['sky', 'clouds', 'ocean', 'terrain'];
|
|
@@ -1,114 +1,14 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { PathConfig } from "../types/animations";
|
|
2
2
|
import type { Vector3Array } from "../types/scene3d";
|
|
3
|
-
export type AnimationEventType = 'sequenceStart' | 'sequenceEnd' | 'stepStart' | 'stepEnd';
|
|
4
|
-
export interface AnimationEvent {
|
|
5
|
-
type: AnimationEventType;
|
|
6
|
-
sequenceId: string;
|
|
7
|
-
sequence: AnimationSequence;
|
|
8
|
-
step?: TransitionStep;
|
|
9
|
-
stepIndex?: number;
|
|
10
|
-
}
|
|
11
|
-
type AnimationEventListener = (event: AnimationEvent) => void;
|
|
12
3
|
/**
|
|
13
|
-
* AnimationsManager
|
|
14
|
-
*
|
|
15
|
-
*
|
|
4
|
+
* AnimationsManager — the path registry (PathCreator, path animation) and the
|
|
5
|
+
* progress helpers per-object animations use.
|
|
6
|
+
*
|
|
7
|
+
* Sequence playback moved to Animations V2 (viewer `animationsV2/ClipsRuntime`);
|
|
8
|
+
* the V1 sequence player, its GSAP timelines and its step events are gone.
|
|
16
9
|
*/
|
|
17
10
|
declare class AnimationsManager {
|
|
18
|
-
private activeSequences;
|
|
19
11
|
private paths;
|
|
20
|
-
private timelines;
|
|
21
|
-
private eventListeners;
|
|
22
|
-
constructor();
|
|
23
|
-
/**
|
|
24
|
-
* Add an event listener
|
|
25
|
-
*/
|
|
26
|
-
on(eventType: AnimationEventType, listener: AnimationEventListener): void;
|
|
27
|
-
/**
|
|
28
|
-
* Remove an event listener
|
|
29
|
-
*/
|
|
30
|
-
off(eventType: AnimationEventType, listener: AnimationEventListener): void;
|
|
31
|
-
/**
|
|
32
|
-
* Emit an event
|
|
33
|
-
*/
|
|
34
|
-
private emit;
|
|
35
|
-
/**
|
|
36
|
-
* @deprecated Sequences are now managed in Redux. Use playSequence(sequence) directly.
|
|
37
|
-
* This method is kept for backwards compatibility during migration.
|
|
38
|
-
*/
|
|
39
|
-
addSequence(sequence: AnimationSequence): AnimationSequence;
|
|
40
|
-
/**
|
|
41
|
-
* @deprecated Sequences are now managed in Redux.
|
|
42
|
-
*/
|
|
43
|
-
removeSequence(sequenceId: string): void;
|
|
44
|
-
/**
|
|
45
|
-
* Get an actively playing sequence's runtime state
|
|
46
|
-
*/
|
|
47
|
-
getSequence(sequenceId: string): AnimationSequence | undefined;
|
|
48
|
-
/**
|
|
49
|
-
* @deprecated Sequences are now managed in Redux. Use Redux selectors instead.
|
|
50
|
-
*/
|
|
51
|
-
getAllSequences(): AnimationSequence[];
|
|
52
|
-
/**
|
|
53
|
-
* Execute a single animation step with multiple transitions
|
|
54
|
-
* Returns a GSAP timeline for this step
|
|
55
|
-
*/
|
|
56
|
-
private executeStep;
|
|
57
|
-
/**
|
|
58
|
-
* Play an animation sequence
|
|
59
|
-
* @param sequenceOrId - Either a full AnimationSequence object or a sequence ID (for backwards compat)
|
|
60
|
-
* @param options - Playback options
|
|
61
|
-
*/
|
|
62
|
-
playSequence(sequenceOrId: AnimationSequence | string, options?: AnimationPlaybackOptions): Promise<void>;
|
|
63
|
-
/**
|
|
64
|
-
* Pause an animation sequence
|
|
65
|
-
*/
|
|
66
|
-
pauseSequence(sequenceId: string): void;
|
|
67
|
-
/**
|
|
68
|
-
* Resume a paused animation sequence
|
|
69
|
-
*/
|
|
70
|
-
resumeSequence(sequenceId: string): void;
|
|
71
|
-
/**
|
|
72
|
-
* Stop an animation sequence
|
|
73
|
-
*/
|
|
74
|
-
stopSequence(sequenceId: string): void;
|
|
75
|
-
/**
|
|
76
|
-
* Stop all animation sequences
|
|
77
|
-
*/
|
|
78
|
-
stopAllSequences(): void;
|
|
79
|
-
/**
|
|
80
|
-
* @deprecated Use Redux to update sequences. This only affects runtime state.
|
|
81
|
-
*/
|
|
82
|
-
updateSequence(sequenceId: string, updates: Partial<AnimationSequence>): void;
|
|
83
|
-
/**
|
|
84
|
-
* Check if a sequence is playing
|
|
85
|
-
*/
|
|
86
|
-
isSequencePlaying(sequenceId: string): boolean;
|
|
87
|
-
/**
|
|
88
|
-
* Check if a sequence is paused
|
|
89
|
-
*/
|
|
90
|
-
isSequencePaused(sequenceId: string): boolean;
|
|
91
|
-
/**
|
|
92
|
-
* Seek to a specific progress point in the animation (0-1)
|
|
93
|
-
*/
|
|
94
|
-
seekToProgress(sequenceId: string, progress: number): void;
|
|
95
|
-
/**
|
|
96
|
-
* Go to the start of the animation
|
|
97
|
-
*/
|
|
98
|
-
goToStart(sequenceId: string): void;
|
|
99
|
-
/**
|
|
100
|
-
* Go to the end of the animation
|
|
101
|
-
*/
|
|
102
|
-
goToEnd(sequenceId: string): void;
|
|
103
|
-
/**
|
|
104
|
-
* Get the current progress of a sequence (0-1)
|
|
105
|
-
*/
|
|
106
|
-
getProgress(sequenceId: string): number;
|
|
107
|
-
/**
|
|
108
|
-
* Clear all active sequences and timelines
|
|
109
|
-
*/
|
|
110
|
-
clear(): void;
|
|
111
|
-
reverseSteps(sequence: AnimationSequence): AnimationSequence;
|
|
112
12
|
/**
|
|
113
13
|
* Get progress based on start time and duration (uses wall-clock time like GSAP)
|
|
114
14
|
* @param startTime - The timestamp when animation started (from performance.now() or Date.now())
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AnimationsManager.d.ts","sourceRoot":"","sources":["../../src/services/AnimationsManager.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AnimationsManager.d.ts","sourceRoot":"","sources":["../../src/services/AnimationsManager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErD;;;;;;GAMG;AACH,cAAM,iBAAiB;IACnB,OAAO,CAAC,KAAK,CAAe;IAC5B;;;;;;OAMG;IACH,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,GAAE,MAAiB,GAAG,MAAM;IAYzF;;OAEG;IACH,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAU,GAAG,MAAM;IAM7E;;OAEG;IACH,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,aAAa,GAAE,YAAY,EAAO,GAAG,MAAM;IAUrE;;OAEG;IACH,OAAO,CAAC,YAAY,EAAE,UAAU,GAAG,IAAI;IAGvC;;OAEG;IACH,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAG/C;;OAEG;IACH,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,EAAE,GAAG,SAAS;IAGzD;;OAEG;IACH,WAAW,IAAI,UAAU,EAAE;IAG3B;;OAEG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,GAAG,IAAI;IAM1E;;OAEG;IACH,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI;IAM9D;;OAEG;IACH,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,GAAG,IAAI;IAMzD;;OAEG;IACH,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAMxD;;OAEG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAGhC;;OAEG;IACH,aAAa,IAAI,IAAI;CAGxB;;AAED,wBAAuC"}
|