@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,124 @@
|
|
|
1
|
+
import type { CreatedObjectType } from '../types/scene3d';
|
|
2
|
+
export type V3 = [number, number, number];
|
|
3
|
+
export interface Bounds {
|
|
4
|
+
min: V3;
|
|
5
|
+
max: V3;
|
|
6
|
+
center: V3;
|
|
7
|
+
size: V3;
|
|
8
|
+
/** Half the diagonal: the radius of a sphere that encloses the box. */
|
|
9
|
+
radius: number;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* What an object is for, animation-wise.
|
|
13
|
+
* hero the one object the scene is about (largest / most central / framed)
|
|
14
|
+
* member part of a group (siblings, or a spatial cluster of alike objects)
|
|
15
|
+
* standalone an ordinary object on its own
|
|
16
|
+
* container a group object that holds others (animate it OR its children)
|
|
17
|
+
* background huge or ambient things: floors, backdrops, grids, space, effects
|
|
18
|
+
* light lights
|
|
19
|
+
*/
|
|
20
|
+
export type ObjectRole = 'hero' | 'member' | 'standalone' | 'container' | 'background' | 'light';
|
|
21
|
+
/** Which property families a recipe may write, as settings paths. */
|
|
22
|
+
export interface ObjectCapabilities {
|
|
23
|
+
transform: boolean;
|
|
24
|
+
/** Keyable materialSettings keys (numbers, colours, booleans). */
|
|
25
|
+
material: string[];
|
|
26
|
+
/** Keyable edgesSettings.materialSettings keys (when edges are on). */
|
|
27
|
+
edges: string[];
|
|
28
|
+
/** config.* knobs from the generated registries (lights, particles). */
|
|
29
|
+
config: string[];
|
|
30
|
+
/** Model node names, when measured (a model can be animated node by node). */
|
|
31
|
+
nodes: string[];
|
|
32
|
+
/** Opacity can be faded: the material has an opacity and is transparent. */
|
|
33
|
+
fadeable: boolean;
|
|
34
|
+
/** Has an emissive intensity to pulse. */
|
|
35
|
+
emissive: boolean;
|
|
36
|
+
}
|
|
37
|
+
export interface ObjectProfile {
|
|
38
|
+
id: string;
|
|
39
|
+
name: string;
|
|
40
|
+
type: CreatedObjectType;
|
|
41
|
+
parentId: string | null;
|
|
42
|
+
childIds: string[];
|
|
43
|
+
/** 0 = top level. */
|
|
44
|
+
depth: number;
|
|
45
|
+
visible: boolean;
|
|
46
|
+
/** Has a real id (not a temp id the save will swap) — only saved objects can be animated. */
|
|
47
|
+
saved: boolean;
|
|
48
|
+
/** Authored local transform. */
|
|
49
|
+
position: V3;
|
|
50
|
+
rotation: V3;
|
|
51
|
+
scale: V3;
|
|
52
|
+
/** World scale of the parent — a world-space offset / this = the local offset. */
|
|
53
|
+
parentScale: V3;
|
|
54
|
+
/** World bounds: measured from the live scene, else estimated from the transform. */
|
|
55
|
+
bounds: Bounds;
|
|
56
|
+
measured: boolean;
|
|
57
|
+
role: ObjectRole;
|
|
58
|
+
groupId: string | null;
|
|
59
|
+
capabilities: ObjectCapabilities;
|
|
60
|
+
/** Hero candidacy score (0 when not a candidate). */
|
|
61
|
+
heroScore: number;
|
|
62
|
+
}
|
|
63
|
+
export interface GroupProfile {
|
|
64
|
+
id: string;
|
|
65
|
+
/** parent: children of one group object; cluster: alike top-level objects near each other or with the same base name. */
|
|
66
|
+
kind: 'parent' | 'cluster';
|
|
67
|
+
/** The group object (kind 'parent'). */
|
|
68
|
+
parentId: string | null;
|
|
69
|
+
memberIds: string[];
|
|
70
|
+
/** Axis the members spread along most. */
|
|
71
|
+
axis: 'x' | 'y' | 'z';
|
|
72
|
+
/** Members along that axis (a cascade order). */
|
|
73
|
+
order: string[];
|
|
74
|
+
/** Members from the group's centre outward (a radial cascade order). */
|
|
75
|
+
radialOrder: string[];
|
|
76
|
+
bounds: Bounds;
|
|
77
|
+
/** Members share one type. */
|
|
78
|
+
uniformType: boolean;
|
|
79
|
+
}
|
|
80
|
+
export interface EnvironmentProfile {
|
|
81
|
+
sky: boolean;
|
|
82
|
+
clouds: boolean;
|
|
83
|
+
ocean: boolean;
|
|
84
|
+
terrain: boolean;
|
|
85
|
+
/** Sea level when the ocean is on. */
|
|
86
|
+
seaLevel: number | null;
|
|
87
|
+
}
|
|
88
|
+
export interface CameraProfile {
|
|
89
|
+
position: V3;
|
|
90
|
+
target: V3;
|
|
91
|
+
fov: number;
|
|
92
|
+
/** Camera → target. */
|
|
93
|
+
distance: number;
|
|
94
|
+
}
|
|
95
|
+
export interface SceneProfile {
|
|
96
|
+
objects: ObjectProfile[];
|
|
97
|
+
groups: GroupProfile[];
|
|
98
|
+
heroId: string | null;
|
|
99
|
+
environment: EnvironmentProfile;
|
|
100
|
+
camera: CameraProfile;
|
|
101
|
+
/** Bounds of the animatable content (background excluded when there's anything else). */
|
|
102
|
+
bounds: Bounds;
|
|
103
|
+
/** Lowest y objects rest on (content bottom, sea level or 0). */
|
|
104
|
+
ground: number;
|
|
105
|
+
/** Characteristic size — scale every magnitude by this. */
|
|
106
|
+
scale: number;
|
|
107
|
+
countsByType: Partial<Record<CreatedObjectType, number>>;
|
|
108
|
+
}
|
|
109
|
+
/** What the analyser reads. Plain settings — works in the studio, the viewer and on a server. */
|
|
110
|
+
export interface SceneInput {
|
|
111
|
+
objects: any[];
|
|
112
|
+
camera?: any;
|
|
113
|
+
sky?: any;
|
|
114
|
+
clouds?: any;
|
|
115
|
+
ocean?: any;
|
|
116
|
+
terrain?: any;
|
|
117
|
+
}
|
|
118
|
+
export interface AnalyzeOptions {
|
|
119
|
+
/** Live world bounds of an object (viewer: Box3 of its Object3D), or null when not mounted. */
|
|
120
|
+
measure?: (id: string) => Bounds | null;
|
|
121
|
+
/** Model node names of a model object (viewer), for node-level recipes. */
|
|
122
|
+
nodesOf?: (id: string) => string[];
|
|
123
|
+
}
|
|
124
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/autoAnimate/types.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAE1D,MAAM,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAE1C,MAAM,WAAW,MAAM;IACnB,GAAG,EAAE,EAAE,CAAC;IACR,GAAG,EAAE,EAAE,CAAC;IACR,MAAM,EAAE,EAAE,CAAC;IACX,IAAI,EAAE,EAAE,CAAC;IACT,uEAAuE;IACvE,MAAM,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,YAAY,GAAG,WAAW,GAAG,YAAY,GAAG,OAAO,CAAC;AAEjG,qEAAqE;AACrE,MAAM,WAAW,kBAAkB;IAC/B,SAAS,EAAE,OAAO,CAAC;IACnB,kEAAkE;IAClE,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,uEAAuE;IACvE,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,wEAAwE;IACxE,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,8EAA8E;IAC9E,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,4EAA4E;IAC5E,QAAQ,EAAE,OAAO,CAAC;IAClB,0CAA0C;IAC1C,QAAQ,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,iBAAiB,CAAC;IACxB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,qBAAqB;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,6FAA6F;IAC7F,KAAK,EAAE,OAAO,CAAC;IACf,gCAAgC;IAChC,QAAQ,EAAE,EAAE,CAAC;IACb,QAAQ,EAAE,EAAE,CAAC;IACb,KAAK,EAAE,EAAE,CAAC;IACV,kFAAkF;IAClF,WAAW,EAAE,EAAE,CAAC;IAChB,qFAAqF;IACrF,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,UAAU,CAAC;IACjB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,YAAY,EAAE,kBAAkB,CAAC;IACjC,qDAAqD;IACrD,SAAS,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,yHAAyH;IACzH,IAAI,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC3B,wCAAwC;IACxC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,0CAA0C;IAC1C,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IACtB,iDAAiD;IACjD,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,wEAAwE;IACxE,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,8BAA8B;IAC9B,WAAW,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,kBAAkB;IAC/B,GAAG,EAAE,OAAO,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,sCAAsC;IACtC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,MAAM,WAAW,aAAa;IAC1B,QAAQ,EAAE,EAAE,CAAC;IACb,MAAM,EAAE,EAAE,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,uBAAuB;IACvB,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IACzB,OAAO,EAAE,aAAa,EAAE,CAAC;IACzB,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,WAAW,EAAE,kBAAkB,CAAC;IAChC,MAAM,EAAE,aAAa,CAAC;IACtB,yFAAyF;IACzF,MAAM,EAAE,MAAM,CAAC;IACf,iEAAiE;IACjE,MAAM,EAAE,MAAM,CAAC;IACf,2DAA2D;IAC3D,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,OAAO,CAAC,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC,CAAC;CAC5D;AAED,iGAAiG;AACjG,MAAM,WAAW,UAAU;IACvB,OAAO,EAAE,GAAG,EAAE,CAAC;IACf,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,GAAG,CAAC,EAAE,GAAG,CAAC;IACV,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,OAAO,CAAC,EAAE,GAAG,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC3B,+FAA+F;IAC/F,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IACxC,2EAA2E;IAC3E,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC;CACtC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { DraftClip, DraftSequence } from './draft';
|
|
2
|
+
export interface GenerationIssue {
|
|
3
|
+
kind: 'jump' | 'conflict' | 'range' | 'ease';
|
|
4
|
+
message: string;
|
|
5
|
+
clipId?: string;
|
|
6
|
+
}
|
|
7
|
+
export declare function validateGenerated(clips: DraftClip[], seq: DraftSequence, opts: {
|
|
8
|
+
driven: boolean;
|
|
9
|
+
}): GenerationIssue[];
|
|
10
|
+
//# sourceMappingURL=validator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../src/autoAnimate/validator.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAc,MAAM,SAAS,CAAC;AAGpE,MAAM,WAAW,eAAe;IAC5B,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,OAAO,GAAG,MAAM,CAAC;IAC7C,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AASD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE;IAAE,MAAM,EAAE,OAAO,CAAA;CAAE,GAAG,eAAe,EAAE,CA8CtH"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { OVERSHOOT_EASES } from './draft.js';
|
|
2
|
+
const same = (a, b, eps = 1e-3) => {
|
|
3
|
+
if (a === undefined || b === undefined)
|
|
4
|
+
return true;
|
|
5
|
+
if (Array.isArray(a) && Array.isArray(b))
|
|
6
|
+
return a.length === b.length && a.every((v, i) => Math.abs(Number(v) - Number(b[i])) <= eps * Math.max(1, Math.abs(Number(v))));
|
|
7
|
+
if (typeof a === 'number' && typeof b === 'number')
|
|
8
|
+
return Math.abs(a - b) <= eps * Math.max(1, Math.abs(a));
|
|
9
|
+
return a === b;
|
|
10
|
+
};
|
|
11
|
+
export function validateGenerated(clips, seq, opts) {
|
|
12
|
+
const issues = [];
|
|
13
|
+
const byId = new Map(clips.map(c => [c.id, c]));
|
|
14
|
+
// Driven sequences: no overshoot eases (they feel wrong scrubbed backwards). Fixed in place.
|
|
15
|
+
if (opts.driven) {
|
|
16
|
+
for (const c of clips)
|
|
17
|
+
for (const t of c.tracks)
|
|
18
|
+
for (const k of t.keys) {
|
|
19
|
+
if (k.ease && OVERSHOOT_EASES.has(k.ease)) {
|
|
20
|
+
k.ease = 'easeOutCubic';
|
|
21
|
+
issues.push({ kind: 'ease', message: `${c.name}: overshoot ease replaced for a driven sequence`, clipId: c.id });
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
// Keys inside their clip, sorted.
|
|
26
|
+
for (const c of clips)
|
|
27
|
+
for (const t of c.tracks) {
|
|
28
|
+
t.keys.sort((a, b) => a.t - b.t);
|
|
29
|
+
if (t.keys.some(k => k.t < -1e-6 || k.t > c.duration + 1e-6)) {
|
|
30
|
+
issues.push({ kind: 'range', message: `${c.name}: a key sits outside the clip`, clipId: c.id });
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
// One writer per property per step; continuity from step to step.
|
|
34
|
+
const ledger = new Map();
|
|
35
|
+
seq.steps.forEach((step, si) => {
|
|
36
|
+
const owners = new Map();
|
|
37
|
+
for (const sc of step.clips) {
|
|
38
|
+
const c = byId.get(sc.clipId);
|
|
39
|
+
if (!c)
|
|
40
|
+
continue;
|
|
41
|
+
for (const t of c.tracks) {
|
|
42
|
+
const k = `${t.state}|${t.node ?? ''}|${t.path}`;
|
|
43
|
+
if (owners.has(k) && owners.get(k) !== c.id) {
|
|
44
|
+
issues.push({ kind: 'conflict', message: `Step ${si + 1}: two clips drive ${t.path} of ${t.state}`, clipId: c.id });
|
|
45
|
+
}
|
|
46
|
+
owners.set(k, c.id);
|
|
47
|
+
if (si > 0 && ledger.has(k) && !same(ledger.get(k), t.keys[0]?.value)) {
|
|
48
|
+
issues.push({ kind: 'jump', message: `Step ${si + 1}: ${c.name} starts ${t.path} away from where it was left`, clipId: c.id });
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
for (const sc of step.clips) {
|
|
53
|
+
const c = byId.get(sc.clipId);
|
|
54
|
+
c?.tracks.forEach(t => { const last = t.keys[t.keys.length - 1]; if (last)
|
|
55
|
+
ledger.set(`${t.state}|${t.node ?? ''}|${t.path}`, last.value); });
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
return issues;
|
|
59
|
+
}
|
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
import { GenerativeEffectConfig, GenerativeEffectType } from "../types";
|
|
2
2
|
export declare const DEFAULT_GENERATIVE_EFFECTS: Record<GenerativeEffectType, GenerativeEffectConfig>;
|
|
3
3
|
export declare const GENERATIVE_EFFECT_LABELS: Record<GenerativeEffectType, string>;
|
|
4
|
+
export declare const EFFECTS_ANIMATABLE: Record<GenerativeEffectType, {
|
|
5
|
+
value: string;
|
|
6
|
+
label: string;
|
|
7
|
+
}[]>;
|
|
4
8
|
//# sourceMappingURL=effectsDefaults.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"effectsDefaults.d.ts","sourceRoot":"","sources":["../../src/data/effectsDefaults.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAKxE,eAAO,MAAM,0BAA0B,EAAE,MAAM,CAAC,oBAAoB,EAAE,sBAAsB,CAqC3F,CAAC;AACF,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,oBAAoB,EAAE,MAAM,CAqCzE,CAAC"}
|
|
1
|
+
{"version":3,"file":"effectsDefaults.d.ts","sourceRoot":"","sources":["../../src/data/effectsDefaults.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAKxE,eAAO,MAAM,0BAA0B,EAAE,MAAM,CAAC,oBAAoB,EAAE,sBAAsB,CAqC3F,CAAC;AACF,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,oBAAoB,EAAE,MAAM,CAqCzE,CAAC;AAeF,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,oBAAoB,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,CAyX/F,CAAC"}
|
|
@@ -21,8 +21,8 @@ export const DEFAULT_GENERATIVE_EFFECTS = {
|
|
|
21
21
|
smokePlume: { type: 'smokePlume', enabled: true, intensity: 1, speed: 1, color: '#aaaaaa', opacity: 0.6, particleCount: 180, height: 2, spread: 0.5, smokeColor: '#b4b4b8', turbulence: 0.5, heat: 0, wind: 0 },
|
|
22
22
|
volumetricFog: { type: 'volumetricFog', enabled: true, intensity: 1, speed: 0.4, color: '#fff1dc', opacity: 0.9, particleCount: 60, fogRadius: 1.8, driftSpeed: 0.3, fogColor: '#c9d2dc', density: 1, layerHeight: 1.2, anisotropy: 0.55, noiseScale: 1.5 },
|
|
23
23
|
smokeRing: { type: 'smokeRing', enabled: true, intensity: 1, speed: 1, color: '#bbbbbb', opacity: 0.65, ringCount: 2, expansionRadius: 3, riseSpeed: 0.5, intervalSeconds: 2.5, smokeColor: '#c4c4c8', thickness: 0.18, leapfrog: true, wobble: 0.5 },
|
|
24
|
-
smokeRibbon: { type: 'smokeRibbon', enabled: true, intensity: 1, speed: 1, color: '#bbbbbb', detail: 1.4, remapLow: 0.2, remapHigh: 0.8, edgeX: 0.1, edgeY: 0.1, density: 1.0, twistStrength: 0.5, twistSpeed: 1.0, twistScale: 1.0, twistStart: 0.2 },
|
|
25
|
-
flares: { type: 'flares', enabled: true, intensity: 1, speed: 1, color: '#ff6600', opacity: 0.9, shooting: true, maskResolution: 512, maskLayer:
|
|
24
|
+
smokeRibbon: { type: 'smokeRibbon', enabled: true, intensity: 1, speed: 1, color: '#bbbbbb', detail: 1.4, remapLow: 0.2, remapHigh: 0.8, edgeX: 0.1, edgeY: 0.1, density: 1.0, twistStrength: 0.5, twistSpeed: 1.0, twistScale: 1.0, twistStart: 0.2, width: 1.5, height: 5, segmentsPerLength: 12, planes: 2, colorTop: '#b3b8c7', wind: [0.15, 0], animate: true, interactive: false },
|
|
25
|
+
flares: { type: 'flares', enabled: true, intensity: 1, speed: 1, color: '#ff6600', opacity: 0.9, shooting: true, maskResolution: 512, maskLayer: 31, radius: 1.0, padding: 0.5 },
|
|
26
26
|
sparklesBurst: { type: 'sparklesBurst', enabled: true, intensity: 1, speed: 1, color: '#ffffff', opacity: 0.9, coreColor: '#ffffff', burstColor: '#ffffff', loop: true, durationMs: 1000, rayCount: 20, scale: 1.2, hoverColor: '#ffeb99', hoverRadius: 0.5, hoverIntensity: 2 },
|
|
27
27
|
bubbles: { type: 'bubbles', enabled: true, intensity: 1, speed: 1, color: '#00ffff', opacity: 0.8, colors: ['#00ffff', '#88ccff', '#ffffff'], scale: 1.0, spawnRate: 5, floatSpeed: 0.5, iridescence: 0.7, lifetimeMs: 4000 },
|
|
28
28
|
glyphs: { type: 'glyphs', enabled: true, intensity: 1, speed: 1, color: '#ff00ff', opacity: 0.9, ringColor: '#ff00ff', glyphsColor: '#ff00ff', shadesMultiplier: 0.5, hoverColor: '#ffeb99', hoverRadius: 0.5, hoverIntensity: 2, ringRadius: 1.2, glyphCount: 30, rotationSpeed: 0.5, morphSpeed: 0.3 },
|
|
@@ -77,3 +77,394 @@ export const GENERATIVE_EFFECT_LABELS = {
|
|
|
77
77
|
lichtenberg: 'Lichtenberg',
|
|
78
78
|
dandelionSeeds: 'Dandelion Seeds',
|
|
79
79
|
};
|
|
80
|
+
// =============================================================================
|
|
81
|
+
// ANIMATABLE — which config knobs an animation or a pointer binding may drive
|
|
82
|
+
// =============================================================================
|
|
83
|
+
//
|
|
84
|
+
// Listed per effect type. Every effect runs the generative config pattern: one
|
|
85
|
+
// applyConfig push point, merged per frame with keyframes, pointer and live-drag
|
|
86
|
+
// overrides (viewer useConfigDriver). A knob is listed only when that push point
|
|
87
|
+
// applies it (a uniform, or a cheap per-frame read); structural knobs (they rebuild
|
|
88
|
+
// geometry), mode selects, booleans, whole-number counts and knobs whose shader uses
|
|
89
|
+
// time * knob (they would make the phase jump) are never listed.
|
|
90
|
+
//
|
|
91
|
+
// A full Record, so tsc makes every new effect type declare its list.
|
|
92
|
+
//
|
|
93
|
+
export const EFFECTS_ANIMATABLE = {
|
|
94
|
+
galaxy: [
|
|
95
|
+
{ value: 'speed', label: 'Speed' },
|
|
96
|
+
{ value: 'intensity', label: 'Intensity' },
|
|
97
|
+
{ value: 'opacity', label: 'Opacity' },
|
|
98
|
+
{ value: 'color', label: 'Color' },
|
|
99
|
+
{ value: 'coreColor', label: 'Core Color' },
|
|
100
|
+
{ value: 'radius', label: 'Radius' },
|
|
101
|
+
{ value: 'armTwist', label: 'Arm Twist' },
|
|
102
|
+
{ value: 'ellipticity', label: 'Ellipticity' },
|
|
103
|
+
{ value: 'bulgeSize', label: 'Bulge Size' },
|
|
104
|
+
{ value: 'dust', label: 'Dust' },
|
|
105
|
+
{ value: 'tilt', label: 'Tilt' },
|
|
106
|
+
],
|
|
107
|
+
dandelionSeeds: [
|
|
108
|
+
{ value: 'speed', label: 'Speed' },
|
|
109
|
+
{ value: 'intensity', label: 'Intensity' },
|
|
110
|
+
{ value: 'opacity', label: 'Opacity' },
|
|
111
|
+
{ value: 'color', label: 'Color' },
|
|
112
|
+
{ value: 'stemColor', label: 'Stem Color' },
|
|
113
|
+
{ value: 'windSpeed', label: 'Wind Speed' },
|
|
114
|
+
{ value: 'windDirection', label: 'Wind Direction' },
|
|
115
|
+
{ value: 'turbulence', label: 'Turbulence' },
|
|
116
|
+
{ value: 'seedSize', label: 'Seed Size' },
|
|
117
|
+
{ value: 'lift', label: 'Lift' },
|
|
118
|
+
],
|
|
119
|
+
fallingLeaves: [
|
|
120
|
+
{ value: 'speed', label: 'Speed' },
|
|
121
|
+
{ value: 'intensity', label: 'Intensity' },
|
|
122
|
+
{ value: 'opacity', label: 'Opacity' },
|
|
123
|
+
{ value: 'color', label: 'Color' },
|
|
124
|
+
{ value: 'autumnColor', label: 'Autumn Color' },
|
|
125
|
+
{ value: 'leafSize', label: 'Leaf Size' },
|
|
126
|
+
{ value: 'fallHeight', label: 'Fall Height' },
|
|
127
|
+
{ value: 'spread', label: 'Spread' },
|
|
128
|
+
{ value: 'tumble', label: 'Tumble' },
|
|
129
|
+
{ value: 'wind', label: 'Wind' },
|
|
130
|
+
],
|
|
131
|
+
fireflySwarm: [
|
|
132
|
+
{ value: 'speed', label: 'Speed' },
|
|
133
|
+
{ value: 'intensity', label: 'Intensity' },
|
|
134
|
+
{ value: 'opacity', label: 'Opacity' },
|
|
135
|
+
{ value: 'color', label: 'Color' },
|
|
136
|
+
{ value: 'flashColor', label: 'Flash Color' },
|
|
137
|
+
{ value: 'coupling', label: 'Coupling' },
|
|
138
|
+
{ value: 'frequency', label: 'Frequency' },
|
|
139
|
+
{ value: 'spread', label: 'Spread' },
|
|
140
|
+
{ value: 'driftSpeed', label: 'Drift Speed' },
|
|
141
|
+
{ value: 'glowSize', label: 'Glow Size' },
|
|
142
|
+
],
|
|
143
|
+
iceHalo: [
|
|
144
|
+
{ value: 'speed', label: 'Speed' },
|
|
145
|
+
{ value: 'intensity', label: 'Intensity' },
|
|
146
|
+
{ value: 'opacity', label: 'Opacity' },
|
|
147
|
+
{ value: 'color', label: 'Color' },
|
|
148
|
+
{ value: 'haloScale', label: 'Halo Scale' },
|
|
149
|
+
{ value: 'sunDogs', label: 'Sun Dogs' },
|
|
150
|
+
{ value: 'outerHalo', label: 'Outer Halo' },
|
|
151
|
+
{ value: 'parhelicCircle', label: 'Parhelic Circle' },
|
|
152
|
+
{ value: 'pillar', label: 'Pillar' },
|
|
153
|
+
{ value: 'glare', label: 'Glare' },
|
|
154
|
+
],
|
|
155
|
+
lichtenberg: [
|
|
156
|
+
{ value: 'speed', label: 'Speed' },
|
|
157
|
+
{ value: 'intensity', label: 'Intensity' },
|
|
158
|
+
{ value: 'opacity', label: 'Opacity' },
|
|
159
|
+
{ value: 'color', label: 'Color' },
|
|
160
|
+
{ value: 'coreColor', label: 'Core Color' },
|
|
161
|
+
{ value: 'growthTime', label: 'Growth Time' },
|
|
162
|
+
{ value: 'lineWidth', label: 'Line Width' },
|
|
163
|
+
{ value: 'pulse', label: 'Pulse' },
|
|
164
|
+
],
|
|
165
|
+
murmuration: [
|
|
166
|
+
{ value: 'speed', label: 'Speed' },
|
|
167
|
+
{ value: 'intensity', label: 'Intensity' },
|
|
168
|
+
{ value: 'opacity', label: 'Opacity' },
|
|
169
|
+
{ value: 'color', label: 'Color' },
|
|
170
|
+
{ value: 'flockRadius', label: 'Flock Radius' },
|
|
171
|
+
{ value: 'cohesion', label: 'Cohesion' },
|
|
172
|
+
{ value: 'alignment', label: 'Alignment' },
|
|
173
|
+
{ value: 'separation', label: 'Separation' },
|
|
174
|
+
{ value: 'birdSize', label: 'Bird Size' },
|
|
175
|
+
],
|
|
176
|
+
planetaryRings: [
|
|
177
|
+
{ value: 'speed', label: 'Speed' },
|
|
178
|
+
{ value: 'intensity', label: 'Intensity' },
|
|
179
|
+
{ value: 'opacity', label: 'Opacity' },
|
|
180
|
+
{ value: 'color', label: 'Color' },
|
|
181
|
+
{ value: 'gapColor', label: 'Gap Color' },
|
|
182
|
+
{ value: 'dustColor', label: 'Dust Color' },
|
|
183
|
+
{ value: 'innerRadius', label: 'Inner Radius' },
|
|
184
|
+
{ value: 'outerRadius', label: 'Outer Radius' },
|
|
185
|
+
{ value: 'spokes', label: 'Spokes' },
|
|
186
|
+
{ value: 'forwardScatter', label: 'Forward Scatter' },
|
|
187
|
+
{ value: 'sunAngle', label: 'Sun Angle' },
|
|
188
|
+
{ value: 'sunElevation', label: 'Sun Elevation' },
|
|
189
|
+
{ value: 'tilt', label: 'Tilt' },
|
|
190
|
+
],
|
|
191
|
+
shockwave: [
|
|
192
|
+
{ value: 'speed', label: 'Speed' },
|
|
193
|
+
{ value: 'intensity', label: 'Intensity' },
|
|
194
|
+
{ value: 'opacity', label: 'Opacity' },
|
|
195
|
+
{ value: 'color', label: 'Color' },
|
|
196
|
+
{ value: 'rimColor', label: 'Rim Color' },
|
|
197
|
+
{ value: 'expansionRadius', label: 'Expansion Radius' },
|
|
198
|
+
{ value: 'thickness', label: 'Thickness' },
|
|
199
|
+
{ value: 'intervalSeconds', label: 'Interval Seconds' },
|
|
200
|
+
{ value: 'deceleration', label: 'Deceleration' },
|
|
201
|
+
{ value: 'instability', label: 'Instability' },
|
|
202
|
+
{ value: 'dust', label: 'Dust' },
|
|
203
|
+
{ value: 'condensation', label: 'Condensation' },
|
|
204
|
+
],
|
|
205
|
+
waterCaustics: [
|
|
206
|
+
{ value: 'speed', label: 'Speed' },
|
|
207
|
+
{ value: 'intensity', label: 'Intensity' },
|
|
208
|
+
{ value: 'opacity', label: 'Opacity' },
|
|
209
|
+
{ value: 'color', label: 'Color' },
|
|
210
|
+
{ value: 'waterDepth', label: 'Water Depth' },
|
|
211
|
+
{ value: 'waveScale', label: 'Wave Scale' },
|
|
212
|
+
{ value: 'waveHeight', label: 'Wave Height' },
|
|
213
|
+
{ value: 'dispersion', label: 'Dispersion' },
|
|
214
|
+
{ value: 'radius', label: 'Radius' },
|
|
215
|
+
],
|
|
216
|
+
aura: [
|
|
217
|
+
{ value: 'speed', label: 'Speed' },
|
|
218
|
+
{ value: 'intensity', label: 'Intensity' },
|
|
219
|
+
{ value: 'opacity', label: 'Opacity' },
|
|
220
|
+
{ value: 'innerColor', label: 'Inner Color' },
|
|
221
|
+
{ value: 'fresnelPower', label: 'Fresnel Power' },
|
|
222
|
+
{ value: 'pulseSpeed', label: 'Pulse Speed' },
|
|
223
|
+
{ value: 'noiseAmount', label: 'Noise Amount' },
|
|
224
|
+
],
|
|
225
|
+
aurora: [
|
|
226
|
+
{ value: 'speed', label: 'Speed' },
|
|
227
|
+
{ value: 'intensity', label: 'Intensity' },
|
|
228
|
+
{ value: 'opacity', label: 'Opacity' },
|
|
229
|
+
{ value: 'waveAmplitude', label: 'Wave Amplitude' },
|
|
230
|
+
{ value: 'colorShift', label: 'Color Shift' },
|
|
231
|
+
{ value: 'arcWidth', label: 'Arc Width' },
|
|
232
|
+
],
|
|
233
|
+
forcefield: [
|
|
234
|
+
{ value: 'speed', label: 'Speed' },
|
|
235
|
+
{ value: 'intensity', label: 'Intensity' },
|
|
236
|
+
{ value: 'opacity', label: 'Opacity' },
|
|
237
|
+
{ value: 'hexSize', label: 'Hex Size' },
|
|
238
|
+
{ value: 'shieldColor', label: 'Shield Color' },
|
|
239
|
+
{ value: 'rimColor', label: 'Rim Color' },
|
|
240
|
+
],
|
|
241
|
+
hologram: [
|
|
242
|
+
{ value: 'speed', label: 'Speed' },
|
|
243
|
+
{ value: 'intensity', label: 'Intensity' },
|
|
244
|
+
{ value: 'opacity', label: 'Opacity' },
|
|
245
|
+
{ value: 'scanSpeed', label: 'Scan Speed' },
|
|
246
|
+
{ value: 'scanColor', label: 'Scan Color' },
|
|
247
|
+
{ value: 'flickerAmount', label: 'Flicker Amount' },
|
|
248
|
+
],
|
|
249
|
+
dataStream: [
|
|
250
|
+
{ value: 'speed', label: 'Speed' },
|
|
251
|
+
{ value: 'intensity', label: 'Intensity' },
|
|
252
|
+
{ value: 'opacity', label: 'Opacity' },
|
|
253
|
+
{ value: 'color', label: 'Color' },
|
|
254
|
+
{ value: 'streamRadius', label: 'Stream Radius' },
|
|
255
|
+
{ value: 'spiralTurns', label: 'Spiral Turns' },
|
|
256
|
+
{ value: 'particleSize', label: 'Particle Size' },
|
|
257
|
+
{ value: 'coldColor', label: 'Cold Color' },
|
|
258
|
+
{ value: 'midColor', label: 'Mid Color' },
|
|
259
|
+
{ value: 'hotColor', label: 'Hot Color' },
|
|
260
|
+
],
|
|
261
|
+
constellation: [
|
|
262
|
+
{ value: 'speed', label: 'Speed' },
|
|
263
|
+
{ value: 'opacity', label: 'Opacity' },
|
|
264
|
+
{ value: 'color', label: 'Color' },
|
|
265
|
+
{ value: 'twinkleSpeed', label: 'Twinkle Speed' },
|
|
266
|
+
{ value: 'starSize', label: 'Star Size' },
|
|
267
|
+
{ value: 'lineOpacity', label: 'Line Opacity' },
|
|
268
|
+
],
|
|
269
|
+
neuralNetwork: [
|
|
270
|
+
{ value: 'speed', label: 'Speed' },
|
|
271
|
+
{ value: 'intensity', label: 'Intensity' },
|
|
272
|
+
{ value: 'opacity', label: 'Opacity' },
|
|
273
|
+
{ value: 'nodeColor', label: 'Node Color' },
|
|
274
|
+
{ value: 'pulseColor', label: 'Pulse Color' },
|
|
275
|
+
{ value: 'orbitSpeed', label: 'Orbit Speed' },
|
|
276
|
+
{ value: 'signalSpeed', label: 'Signal Speed' },
|
|
277
|
+
],
|
|
278
|
+
orb: [
|
|
279
|
+
{ value: 'speed', label: 'Speed' },
|
|
280
|
+
{ value: 'intensity', label: 'Intensity' },
|
|
281
|
+
{ value: 'opacity', label: 'Opacity' },
|
|
282
|
+
{ value: 'innerColor', label: 'Inner Color' },
|
|
283
|
+
{ value: 'outerColor', label: 'Outer Color' },
|
|
284
|
+
{ value: 'coronaColor', label: 'Corona Color' },
|
|
285
|
+
{ value: 'noiseAmount', label: 'Noise Amount' },
|
|
286
|
+
{ value: 'pulseSpeed', label: 'Pulse Speed' },
|
|
287
|
+
],
|
|
288
|
+
portal: [
|
|
289
|
+
{ value: 'speed', label: 'Speed' },
|
|
290
|
+
{ value: 'intensity', label: 'Intensity' },
|
|
291
|
+
{ value: 'opacity', label: 'Opacity' },
|
|
292
|
+
{ value: 'radius', label: 'Radius' },
|
|
293
|
+
{ value: 'spiralTurns', label: 'Spiral Turns' },
|
|
294
|
+
{ value: 'rotationSpeed', label: 'Rotation Speed' },
|
|
295
|
+
{ value: 'throatSize', label: 'Throat Size' },
|
|
296
|
+
{ value: 'funnelDepth', label: 'Funnel Depth' },
|
|
297
|
+
{ value: 'innerGlowColor', label: 'Inner Glow Color' },
|
|
298
|
+
{ value: 'outerGlowColor', label: 'Outer Glow Color' },
|
|
299
|
+
{ value: 'otherSideColor', label: 'Other Side Color' },
|
|
300
|
+
],
|
|
301
|
+
dnaHelix: [
|
|
302
|
+
{ value: 'speed', label: 'Speed' },
|
|
303
|
+
{ value: 'intensity', label: 'Intensity' },
|
|
304
|
+
{ value: 'opacity', label: 'Opacity' },
|
|
305
|
+
{ value: 'basePairColor', label: 'Base Pair Color' },
|
|
306
|
+
],
|
|
307
|
+
lightning: [
|
|
308
|
+
{ value: 'speed', label: 'Speed' },
|
|
309
|
+
{ value: 'intensity', label: 'Intensity' },
|
|
310
|
+
{ value: 'opacity', label: 'Opacity' },
|
|
311
|
+
{ value: 'color', label: 'Color' },
|
|
312
|
+
{ value: 'glowColor', label: 'Glow Color' },
|
|
313
|
+
{ value: 'strikeRadius', label: 'Strike Radius' },
|
|
314
|
+
],
|
|
315
|
+
fieldLines: [
|
|
316
|
+
{ value: 'speed', label: 'Speed' },
|
|
317
|
+
{ value: 'intensity', label: 'Intensity' },
|
|
318
|
+
{ value: 'opacity', label: 'Opacity' },
|
|
319
|
+
{ value: 'color', label: 'Color' },
|
|
320
|
+
{ value: 'apexColor', label: 'Apex Color' },
|
|
321
|
+
{ value: 'extent', label: 'Extent' },
|
|
322
|
+
{ value: 'twist', label: 'Twist' },
|
|
323
|
+
{ value: 'tilt', label: 'Tilt' },
|
|
324
|
+
{ value: 'particleSize', label: 'Particle Size' },
|
|
325
|
+
],
|
|
326
|
+
strangeAttractor: [
|
|
327
|
+
{ value: 'speed', label: 'Speed' },
|
|
328
|
+
{ value: 'intensity', label: 'Intensity' },
|
|
329
|
+
{ value: 'opacity', label: 'Opacity' },
|
|
330
|
+
{ value: 'color', label: 'Color' },
|
|
331
|
+
{ value: 'headColor', label: 'Head Color' },
|
|
332
|
+
{ value: 'trailLength', label: 'Trail Length' },
|
|
333
|
+
{ value: 'scale', label: 'Scale' },
|
|
334
|
+
{ value: 'ghostOpacity', label: 'Ghost Opacity' },
|
|
335
|
+
{ value: 'particleSize', label: 'Particle Size' },
|
|
336
|
+
],
|
|
337
|
+
harmonicShell: [
|
|
338
|
+
{ value: 'speed', label: 'Speed' },
|
|
339
|
+
{ value: 'intensity', label: 'Intensity' },
|
|
340
|
+
{ value: 'opacity', label: 'Opacity' },
|
|
341
|
+
{ value: 'color', label: 'Color' },
|
|
342
|
+
{ value: 'rimColor', label: 'Rim Color' },
|
|
343
|
+
{ value: 'amplitude', label: 'Amplitude' },
|
|
344
|
+
{ value: 'sizeMultiplier', label: 'Size Multiplier' },
|
|
345
|
+
{ value: 'filmThickness', label: 'Film Thickness' },
|
|
346
|
+
{ value: 'nodalLines', label: 'Nodal Lines' },
|
|
347
|
+
],
|
|
348
|
+
blackHole: [
|
|
349
|
+
{ value: 'speed', label: 'Speed' },
|
|
350
|
+
{ value: 'intensity', label: 'Intensity' },
|
|
351
|
+
{ value: 'opacity', label: 'Opacity' },
|
|
352
|
+
{ value: 'color', label: 'Color' },
|
|
353
|
+
{ value: 'diskColor', label: 'Disk Color' },
|
|
354
|
+
{ value: 'jetColor', label: 'Jet Color' },
|
|
355
|
+
{ value: 'rotationSpeed', label: 'Rotation Speed' },
|
|
356
|
+
{ value: 'lensing', label: 'Lensing' },
|
|
357
|
+
{ value: 'beaming', label: 'Beaming' },
|
|
358
|
+
{ value: 'tilt', label: 'Tilt' },
|
|
359
|
+
],
|
|
360
|
+
iceCrystals: [
|
|
361
|
+
{ value: 'speed', label: 'Speed' },
|
|
362
|
+
{ value: 'intensity', label: 'Intensity' },
|
|
363
|
+
{ value: 'opacity', label: 'Opacity' },
|
|
364
|
+
{ value: 'iceColor', label: 'Ice Color' },
|
|
365
|
+
{ value: 'pulseSpeed', label: 'Pulse Speed' },
|
|
366
|
+
{ value: 'habit', label: 'Habit' },
|
|
367
|
+
{ value: 'sparkle', label: 'Sparkle' },
|
|
368
|
+
],
|
|
369
|
+
smokePlume: [
|
|
370
|
+
{ value: 'speed', label: 'Speed' },
|
|
371
|
+
{ value: 'intensity', label: 'Intensity' },
|
|
372
|
+
{ value: 'opacity', label: 'Opacity' },
|
|
373
|
+
{ value: 'height', label: 'Height' },
|
|
374
|
+
{ value: 'spread', label: 'Spread' },
|
|
375
|
+
{ value: 'turbulence', label: 'Turbulence' },
|
|
376
|
+
{ value: 'wind', label: 'Wind' },
|
|
377
|
+
{ value: 'heat', label: 'Heat' },
|
|
378
|
+
{ value: 'smokeColor', label: 'Smoke Color' },
|
|
379
|
+
],
|
|
380
|
+
volumetricFog: [
|
|
381
|
+
{ value: 'speed', label: 'Speed' },
|
|
382
|
+
{ value: 'intensity', label: 'Intensity' },
|
|
383
|
+
{ value: 'opacity', label: 'Opacity' },
|
|
384
|
+
{ value: 'color', label: 'Color' },
|
|
385
|
+
{ value: 'fogColor', label: 'Fog Color' },
|
|
386
|
+
{ value: 'density', label: 'Density' },
|
|
387
|
+
{ value: 'driftSpeed', label: 'Drift Speed' },
|
|
388
|
+
{ value: 'noiseScale', label: 'Noise Scale' },
|
|
389
|
+
{ value: 'anisotropy', label: 'Anisotropy' },
|
|
390
|
+
],
|
|
391
|
+
smokeRing: [
|
|
392
|
+
{ value: 'speed', label: 'Speed' },
|
|
393
|
+
{ value: 'intensity', label: 'Intensity' },
|
|
394
|
+
{ value: 'opacity', label: 'Opacity' },
|
|
395
|
+
{ value: 'smokeColor', label: 'Smoke Color' },
|
|
396
|
+
{ value: 'wobble', label: 'Wobble' },
|
|
397
|
+
{ value: 'expansionRadius', label: 'Expansion Radius' },
|
|
398
|
+
{ value: 'riseSpeed', label: 'Rise Speed' },
|
|
399
|
+
{ value: 'intervalSeconds', label: 'Interval Seconds' },
|
|
400
|
+
{ value: 'thickness', label: 'Thickness' },
|
|
401
|
+
],
|
|
402
|
+
molecules: [
|
|
403
|
+
{ value: 'speed', label: 'Speed' },
|
|
404
|
+
{ value: 'intensity', label: 'Intensity' },
|
|
405
|
+
{ value: 'opacity', label: 'Opacity' },
|
|
406
|
+
{ value: 'color', label: 'Color' },
|
|
407
|
+
{ value: 'phaseColor', label: 'Phase Color' },
|
|
408
|
+
{ value: 'bondColor', label: 'Bond Color' },
|
|
409
|
+
{ value: 'orbitRadius', label: 'Orbit Radius' },
|
|
410
|
+
{ value: 'atomSize', label: 'Atom Size' },
|
|
411
|
+
],
|
|
412
|
+
sparklesBurst: [
|
|
413
|
+
{ value: 'intensity', label: 'Intensity' },
|
|
414
|
+
{ value: 'opacity', label: 'Opacity' },
|
|
415
|
+
{ value: 'coreColor', label: 'Core Color' },
|
|
416
|
+
{ value: 'burstColor', label: 'Burst Color' },
|
|
417
|
+
{ value: 'hoverColor', label: 'Hover Color' },
|
|
418
|
+
{ value: 'hoverRadius', label: 'Hover Radius' },
|
|
419
|
+
{ value: 'hoverIntensity', label: 'Hover Intensity' },
|
|
420
|
+
],
|
|
421
|
+
glyphs: [
|
|
422
|
+
{ value: 'intensity', label: 'Intensity' },
|
|
423
|
+
{ value: 'opacity', label: 'Opacity' },
|
|
424
|
+
{ value: 'ringColor', label: 'Ring Color' },
|
|
425
|
+
{ value: 'glyphsColor', label: 'Glyphs Color' },
|
|
426
|
+
{ value: 'shadesMultiplier', label: 'Shades Multiplier' },
|
|
427
|
+
{ value: 'hoverColor', label: 'Hover Color' },
|
|
428
|
+
{ value: 'hoverRadius', label: 'Hover Radius' },
|
|
429
|
+
{ value: 'hoverIntensity', label: 'Hover Intensity' },
|
|
430
|
+
{ value: 'morphSpeed', label: 'Morph Speed' },
|
|
431
|
+
{ value: 'rotationSpeed', label: 'Rotation Speed' },
|
|
432
|
+
],
|
|
433
|
+
bubbles: [
|
|
434
|
+
{ value: 'speed', label: 'Speed' },
|
|
435
|
+
{ value: 'opacity', label: 'Opacity' },
|
|
436
|
+
{ value: 'iridescence', label: 'Iridescence' },
|
|
437
|
+
{ value: 'scale', label: 'Scale' },
|
|
438
|
+
{ value: 'spawnRate', label: 'Spawn Rate' },
|
|
439
|
+
{ value: 'floatSpeed', label: 'Float Speed' },
|
|
440
|
+
{ value: 'lifetimeMs', label: 'Lifetime Ms' },
|
|
441
|
+
],
|
|
442
|
+
fire: [
|
|
443
|
+
{ value: 'speed', label: 'Speed' },
|
|
444
|
+
{ value: 'intensity', label: 'Intensity' },
|
|
445
|
+
{ value: 'turbulence', label: 'Turbulence' },
|
|
446
|
+
{ value: 'sway', label: 'Sway' },
|
|
447
|
+
{ value: 'tint', label: 'Tint' },
|
|
448
|
+
],
|
|
449
|
+
flares: [
|
|
450
|
+
{ value: 'speed', label: 'Speed' },
|
|
451
|
+
{ value: 'intensity', label: 'Intensity' },
|
|
452
|
+
{ value: 'opacity', label: 'Opacity' },
|
|
453
|
+
{ value: 'color', label: 'Color' },
|
|
454
|
+
{ value: 'radius', label: 'Radius' },
|
|
455
|
+
{ value: 'padding', label: 'Padding' },
|
|
456
|
+
],
|
|
457
|
+
smokeRibbon: [
|
|
458
|
+
{ value: 'color', label: 'Color' },
|
|
459
|
+
{ value: 'colorTop', label: 'Color Top' },
|
|
460
|
+
{ value: 'detail', label: 'Detail' },
|
|
461
|
+
{ value: 'remapLow', label: 'Remap Low' },
|
|
462
|
+
{ value: 'remapHigh', label: 'Remap High' },
|
|
463
|
+
{ value: 'edgeX', label: 'Edge X' },
|
|
464
|
+
{ value: 'edgeY', label: 'Edge Y' },
|
|
465
|
+
{ value: 'density', label: 'Density' },
|
|
466
|
+
{ value: 'twistStrength', label: 'Twist Strength' },
|
|
467
|
+
{ value: 'twistScale', label: 'Twist Scale' },
|
|
468
|
+
{ value: 'twistStart', label: 'Twist Start' },
|
|
469
|
+
],
|
|
470
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gridsDefaults.d.ts","sourceRoot":"","sources":["../../src/data/gridsDefaults.ts"],"names":[],"mappings":"AAgBA,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,CAiR/E,CAAC"}
|