@firecms/neat 0.7.1 → 0.9.0
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/NeatGradient.d.ts +186 -55
- package/dist/NeatGradient.js +900 -65
- package/dist/NeatGradient.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.es.js +1400 -610
- package/dist/index.es.js.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/index.umd.js +411 -339
- package/dist/index.umd.js.map +1 -1
- package/dist/math.d.ts +32 -1
- package/dist/math.js +319 -24
- package/dist/math.js.map +1 -1
- package/dist/shaders.d.ts +2 -2
- package/dist/shaders.js +271 -42
- package/dist/shaders.js.map +1 -1
- package/dist/types.d.ts +40 -0
- package/package.json +1 -1
- package/src/NeatGradient.ts +1044 -131
- package/src/index.ts +1 -0
- package/src/math.ts +373 -28
- package/src/shaders.ts +271 -42
- package/src/types.ts +56 -0
package/dist/NeatGradient.d.ts
CHANGED
|
@@ -18,61 +18,7 @@ export interface WebGLState {
|
|
|
18
18
|
wireframeIndexCount: number;
|
|
19
19
|
indexType: number;
|
|
20
20
|
}
|
|
21
|
-
|
|
22
|
-
resolution?: number;
|
|
23
|
-
speed?: number;
|
|
24
|
-
horizontalPressure?: number;
|
|
25
|
-
verticalPressure?: number;
|
|
26
|
-
waveFrequencyX?: number;
|
|
27
|
-
waveFrequencyY?: number;
|
|
28
|
-
waveAmplitude?: number;
|
|
29
|
-
highlights?: number;
|
|
30
|
-
shadows?: number;
|
|
31
|
-
colorSaturation?: number;
|
|
32
|
-
colorBrightness?: number;
|
|
33
|
-
colors: NeatColor[];
|
|
34
|
-
colorBlending?: number;
|
|
35
|
-
grainScale?: number;
|
|
36
|
-
grainIntensity?: number;
|
|
37
|
-
grainSparsity?: number;
|
|
38
|
-
grainSpeed?: number;
|
|
39
|
-
wireframe?: boolean;
|
|
40
|
-
backgroundColor?: string;
|
|
41
|
-
backgroundAlpha?: number;
|
|
42
|
-
yOffset?: number;
|
|
43
|
-
yOffsetWaveMultiplier?: number;
|
|
44
|
-
yOffsetColorMultiplier?: number;
|
|
45
|
-
yOffsetFlowMultiplier?: number;
|
|
46
|
-
flowDistortionA?: number;
|
|
47
|
-
flowDistortionB?: number;
|
|
48
|
-
flowScale?: number;
|
|
49
|
-
flowEase?: number;
|
|
50
|
-
flowEnabled?: boolean;
|
|
51
|
-
enableProceduralTexture?: boolean;
|
|
52
|
-
textureVoidLikelihood?: number;
|
|
53
|
-
textureVoidWidthMin?: number;
|
|
54
|
-
textureVoidWidthMax?: number;
|
|
55
|
-
textureBandDensity?: number;
|
|
56
|
-
textureColorBlending?: number;
|
|
57
|
-
textureSeed?: number;
|
|
58
|
-
textureEase?: number;
|
|
59
|
-
proceduralBackgroundColor?: string;
|
|
60
|
-
textureShapeTriangles?: number;
|
|
61
|
-
textureShapeCircles?: number;
|
|
62
|
-
textureShapeBars?: number;
|
|
63
|
-
textureShapeSquiggles?: number;
|
|
64
|
-
};
|
|
65
|
-
export type NeatColor = {
|
|
66
|
-
color: string;
|
|
67
|
-
enabled: boolean;
|
|
68
|
-
/**
|
|
69
|
-
* Value from 0 to 1
|
|
70
|
-
*/
|
|
71
|
-
influence?: number;
|
|
72
|
-
};
|
|
73
|
-
export type NeatController = {
|
|
74
|
-
destroy: () => void;
|
|
75
|
-
};
|
|
21
|
+
import { NeatConfig, NeatColor, NeatController } from "./types";
|
|
76
22
|
export declare class NeatGradient implements NeatController {
|
|
77
23
|
private _ref;
|
|
78
24
|
private _speed;
|
|
@@ -90,6 +36,7 @@ export declare class NeatGradient implements NeatController {
|
|
|
90
36
|
private _grainSparsity;
|
|
91
37
|
private _grainSpeed;
|
|
92
38
|
private _colorBlending;
|
|
39
|
+
private _resolution;
|
|
93
40
|
private _colors;
|
|
94
41
|
private _wireframe;
|
|
95
42
|
private _backgroundColor;
|
|
@@ -109,6 +56,47 @@ export declare class NeatGradient implements NeatController {
|
|
|
109
56
|
private _textureColorBlending;
|
|
110
57
|
private _textureSeed;
|
|
111
58
|
private _textureEase;
|
|
59
|
+
private _transparentTextureVoid;
|
|
60
|
+
private _domainWarpEnabled;
|
|
61
|
+
private _domainWarpIntensity;
|
|
62
|
+
private _domainWarpScale;
|
|
63
|
+
private _vignetteIntensity;
|
|
64
|
+
private _vignetteRadius;
|
|
65
|
+
private _fresnelEnabled;
|
|
66
|
+
private _fresnelPower;
|
|
67
|
+
private _fresnelIntensity;
|
|
68
|
+
private _fresnelColor;
|
|
69
|
+
private _fresnelColorRgb;
|
|
70
|
+
private _iridescenceEnabled;
|
|
71
|
+
private _iridescenceIntensity;
|
|
72
|
+
private _iridescenceSpeed;
|
|
73
|
+
private _bloomIntensity;
|
|
74
|
+
private _bloomThreshold;
|
|
75
|
+
private _chromaticAberration;
|
|
76
|
+
private _silhouetteFade;
|
|
77
|
+
private _cylinderFade;
|
|
78
|
+
private _ribbonFade;
|
|
79
|
+
private _shapeType;
|
|
80
|
+
private _shapeRotationX;
|
|
81
|
+
private _shapeRotationY;
|
|
82
|
+
private _shapeRotationZ;
|
|
83
|
+
private _shapeAutoRotateSpeedX;
|
|
84
|
+
private _shapeAutoRotateSpeedY;
|
|
85
|
+
private _sphereRadius;
|
|
86
|
+
private _torusRadius;
|
|
87
|
+
private _torusTube;
|
|
88
|
+
private _cylinderRadius;
|
|
89
|
+
private _cylinderHeight;
|
|
90
|
+
private _planeBend;
|
|
91
|
+
private _planeTwist;
|
|
92
|
+
private _cameraLock;
|
|
93
|
+
private _cameraX;
|
|
94
|
+
private _cameraY;
|
|
95
|
+
private _cameraZ;
|
|
96
|
+
private _cameraRotationX;
|
|
97
|
+
private _cameraRotationY;
|
|
98
|
+
private _cameraRotationZ;
|
|
99
|
+
private _cameraZoom;
|
|
112
100
|
private _proceduralTexture;
|
|
113
101
|
private _proceduralBackgroundColor;
|
|
114
102
|
private _textureShapeTriangles;
|
|
@@ -124,6 +112,10 @@ export declare class NeatGradient implements NeatController {
|
|
|
124
112
|
private _yOffsetWaveMultiplier;
|
|
125
113
|
private _yOffsetColorMultiplier;
|
|
126
114
|
private _yOffsetFlowMultiplier;
|
|
115
|
+
private _sourceCanvas;
|
|
116
|
+
private _sourceCtx;
|
|
117
|
+
private _maskedCanvas;
|
|
118
|
+
private _maskedCtx;
|
|
127
119
|
private _resizeTimeoutId;
|
|
128
120
|
private _textureNeedsUpdate;
|
|
129
121
|
private _linkCheckCounter;
|
|
@@ -137,26 +129,67 @@ export declare class NeatGradient implements NeatController {
|
|
|
137
129
|
});
|
|
138
130
|
destroy(): void;
|
|
139
131
|
downloadAsPNG(filename?: string): void;
|
|
132
|
+
/**
|
|
133
|
+
* Records the canvas animation as a video with a NEAT watermark overlay.
|
|
134
|
+
* @param options.durationMs Recording duration in milliseconds (default 5000).
|
|
135
|
+
* @param options.filename Output file name (default "neat.firecms.co").
|
|
136
|
+
* @param options.width Output video width in pixels (default: current canvas width).
|
|
137
|
+
* @param options.height Output video height in pixels (default: current canvas height).
|
|
138
|
+
* @param options.format Preferred format: 'mp4' or 'webm' (default: best available).
|
|
139
|
+
* @param options.onProgress Callback with progress 0-1.
|
|
140
|
+
* @param options.onComplete Callback when recording finishes.
|
|
141
|
+
* @returns A stop function to end recording early.
|
|
142
|
+
*/
|
|
143
|
+
recordVideo(options?: {
|
|
144
|
+
durationMs?: number;
|
|
145
|
+
filename?: string;
|
|
146
|
+
width?: number;
|
|
147
|
+
height?: number;
|
|
148
|
+
format?: 'mp4' | 'webm';
|
|
149
|
+
onProgress?: (progress: number) => void;
|
|
150
|
+
onComplete?: () => void;
|
|
151
|
+
}): () => void;
|
|
152
|
+
get speed(): number;
|
|
140
153
|
set speed(speed: number);
|
|
154
|
+
get horizontalPressure(): number;
|
|
141
155
|
set horizontalPressure(horizontalPressure: number);
|
|
156
|
+
get verticalPressure(): number;
|
|
142
157
|
set verticalPressure(verticalPressure: number);
|
|
158
|
+
get waveFrequencyX(): number;
|
|
143
159
|
set waveFrequencyX(waveFrequencyX: number);
|
|
160
|
+
get waveFrequencyY(): number;
|
|
144
161
|
set waveFrequencyY(waveFrequencyY: number);
|
|
162
|
+
get waveAmplitude(): number;
|
|
145
163
|
set waveAmplitude(waveAmplitude: number);
|
|
164
|
+
get colors(): NeatColor[];
|
|
146
165
|
set colors(colors: NeatColor[]);
|
|
166
|
+
get highlights(): number;
|
|
147
167
|
set highlights(highlights: number);
|
|
168
|
+
get shadows(): number;
|
|
148
169
|
set shadows(shadows: number);
|
|
170
|
+
get colorSaturation(): number;
|
|
149
171
|
set colorSaturation(colorSaturation: number);
|
|
172
|
+
get colorBrightness(): number;
|
|
150
173
|
set colorBrightness(colorBrightness: number);
|
|
174
|
+
get colorBlending(): number;
|
|
151
175
|
set colorBlending(colorBlending: number);
|
|
176
|
+
get grainScale(): number;
|
|
152
177
|
set grainScale(grainScale: number);
|
|
178
|
+
get grainIntensity(): number;
|
|
153
179
|
set grainIntensity(grainIntensity: number);
|
|
180
|
+
get grainSparsity(): number;
|
|
154
181
|
set grainSparsity(grainSparsity: number);
|
|
182
|
+
get grainSpeed(): number;
|
|
155
183
|
set grainSpeed(grainSpeed: number);
|
|
184
|
+
get wireframe(): boolean;
|
|
156
185
|
set wireframe(wireframe: boolean);
|
|
186
|
+
get resolution(): number;
|
|
157
187
|
set resolution(resolution: number);
|
|
188
|
+
get backgroundColor(): string;
|
|
158
189
|
set backgroundColor(backgroundColor: string);
|
|
190
|
+
get backgroundAlpha(): number;
|
|
159
191
|
set backgroundAlpha(backgroundAlpha: number);
|
|
192
|
+
get yOffset(): number;
|
|
160
193
|
set yOffset(yOffset: number);
|
|
161
194
|
get yOffsetWaveMultiplier(): number;
|
|
162
195
|
set yOffsetWaveMultiplier(value: number);
|
|
@@ -164,27 +197,125 @@ export declare class NeatGradient implements NeatController {
|
|
|
164
197
|
set yOffsetColorMultiplier(value: number);
|
|
165
198
|
get yOffsetFlowMultiplier(): number;
|
|
166
199
|
set yOffsetFlowMultiplier(value: number);
|
|
200
|
+
get flowDistortionA(): number;
|
|
167
201
|
set flowDistortionA(value: number);
|
|
202
|
+
get flowDistortionB(): number;
|
|
168
203
|
set flowDistortionB(value: number);
|
|
204
|
+
get flowScale(): number;
|
|
169
205
|
set flowScale(value: number);
|
|
206
|
+
get flowEase(): number;
|
|
170
207
|
set flowEase(value: number);
|
|
171
208
|
set flowEnabled(value: boolean);
|
|
172
209
|
get flowEnabled(): boolean;
|
|
210
|
+
get enableProceduralTexture(): boolean;
|
|
173
211
|
set enableProceduralTexture(value: boolean);
|
|
212
|
+
get textureVoidLikelihood(): number;
|
|
174
213
|
set textureVoidLikelihood(value: number);
|
|
214
|
+
get textureVoidWidthMin(): number;
|
|
175
215
|
set textureVoidWidthMin(value: number);
|
|
216
|
+
get textureVoidWidthMax(): number;
|
|
176
217
|
set textureVoidWidthMax(value: number);
|
|
218
|
+
get textureBandDensity(): number;
|
|
177
219
|
set textureBandDensity(value: number);
|
|
220
|
+
get textureColorBlending(): number;
|
|
178
221
|
set textureColorBlending(value: number);
|
|
222
|
+
get textureSeed(): number;
|
|
179
223
|
set textureSeed(value: number);
|
|
180
224
|
get textureEase(): number;
|
|
181
225
|
set textureEase(value: number);
|
|
226
|
+
get transparentTextureVoid(): boolean;
|
|
227
|
+
set transparentTextureVoid(value: boolean);
|
|
228
|
+
get proceduralBackgroundColor(): string;
|
|
182
229
|
set proceduralBackgroundColor(value: string);
|
|
230
|
+
get textureShapeTriangles(): number;
|
|
183
231
|
set textureShapeTriangles(value: number);
|
|
232
|
+
get textureShapeCircles(): number;
|
|
184
233
|
set textureShapeCircles(value: number);
|
|
234
|
+
get textureShapeBars(): number;
|
|
185
235
|
set textureShapeBars(value: number);
|
|
236
|
+
get textureShapeSquiggles(): number;
|
|
186
237
|
set textureShapeSquiggles(value: number);
|
|
238
|
+
_updateGeometry(): void;
|
|
187
239
|
_hexToRgb(hex: string): [number, number, number];
|
|
188
240
|
_initScene(resolution: number): WebGLState;
|
|
189
241
|
_createProceduralTexture(gl: WebGLRenderingContext | WebGL2RenderingContext): WebGLTexture | null;
|
|
242
|
+
get silhouetteFade(): number;
|
|
243
|
+
set silhouetteFade(value: number);
|
|
244
|
+
get cylinderFade(): number;
|
|
245
|
+
set cylinderFade(value: number);
|
|
246
|
+
get ribbonFade(): number;
|
|
247
|
+
set ribbonFade(value: number);
|
|
248
|
+
get domainWarpEnabled(): boolean;
|
|
249
|
+
set domainWarpEnabled(enabled: boolean);
|
|
250
|
+
get domainWarpIntensity(): number;
|
|
251
|
+
set domainWarpIntensity(intensity: number);
|
|
252
|
+
get domainWarpScale(): number;
|
|
253
|
+
set domainWarpScale(scale: number);
|
|
254
|
+
get vignetteIntensity(): number;
|
|
255
|
+
set vignetteIntensity(intensity: number);
|
|
256
|
+
get vignetteRadius(): number;
|
|
257
|
+
set vignetteRadius(radius: number);
|
|
258
|
+
get fresnelEnabled(): boolean;
|
|
259
|
+
set fresnelEnabled(enabled: boolean);
|
|
260
|
+
get fresnelPower(): number;
|
|
261
|
+
set fresnelPower(power: number);
|
|
262
|
+
get fresnelIntensity(): number;
|
|
263
|
+
set fresnelIntensity(intensity: number);
|
|
264
|
+
get fresnelColor(): string;
|
|
265
|
+
set fresnelColor(fresnelColor: string);
|
|
266
|
+
get iridescenceEnabled(): boolean;
|
|
267
|
+
set iridescenceEnabled(enabled: boolean);
|
|
268
|
+
get iridescenceIntensity(): number;
|
|
269
|
+
set iridescenceIntensity(intensity: number);
|
|
270
|
+
get iridescenceSpeed(): number;
|
|
271
|
+
set iridescenceSpeed(speed: number);
|
|
272
|
+
get bloomIntensity(): number;
|
|
273
|
+
set bloomIntensity(intensity: number);
|
|
274
|
+
get bloomThreshold(): number;
|
|
275
|
+
set bloomThreshold(threshold: number);
|
|
276
|
+
get chromaticAberration(): number;
|
|
277
|
+
set chromaticAberration(aberration: number);
|
|
278
|
+
get shapeType(): 'plane' | 'sphere' | 'torus' | 'cylinder' | 'ribbon';
|
|
279
|
+
set shapeType(val: 'plane' | 'sphere' | 'torus' | 'cylinder' | 'ribbon');
|
|
280
|
+
get shapeRotationX(): number;
|
|
281
|
+
set shapeRotationX(val: number);
|
|
282
|
+
get shapeRotationY(): number;
|
|
283
|
+
set shapeRotationY(val: number);
|
|
284
|
+
get shapeRotationZ(): number;
|
|
285
|
+
set shapeRotationZ(val: number);
|
|
286
|
+
get shapeAutoRotateSpeedX(): number;
|
|
287
|
+
set shapeAutoRotateSpeedX(val: number);
|
|
288
|
+
get shapeAutoRotateSpeedY(): number;
|
|
289
|
+
set shapeAutoRotateSpeedY(val: number);
|
|
290
|
+
get sphereRadius(): number;
|
|
291
|
+
set sphereRadius(val: number);
|
|
292
|
+
get torusRadius(): number;
|
|
293
|
+
set torusRadius(val: number);
|
|
294
|
+
get torusTube(): number;
|
|
295
|
+
set torusTube(val: number);
|
|
296
|
+
get cylinderRadius(): number;
|
|
297
|
+
set cylinderRadius(val: number);
|
|
298
|
+
get cylinderHeight(): number;
|
|
299
|
+
set cylinderHeight(val: number);
|
|
300
|
+
get planeBend(): number;
|
|
301
|
+
set planeBend(val: number);
|
|
302
|
+
get planeTwist(): number;
|
|
303
|
+
set planeTwist(val: number);
|
|
304
|
+
get cameraLock(): boolean;
|
|
305
|
+
set cameraLock(val: boolean);
|
|
306
|
+
get cameraX(): number;
|
|
307
|
+
set cameraX(val: number);
|
|
308
|
+
get cameraY(): number;
|
|
309
|
+
set cameraY(val: number);
|
|
310
|
+
get cameraZ(): number;
|
|
311
|
+
set cameraZ(val: number);
|
|
312
|
+
get cameraRotationX(): number;
|
|
313
|
+
set cameraRotationX(val: number);
|
|
314
|
+
get cameraRotationY(): number;
|
|
315
|
+
set cameraRotationY(val: number);
|
|
316
|
+
get cameraRotationZ(): number;
|
|
317
|
+
set cameraRotationZ(val: number);
|
|
318
|
+
get cameraZoom(): number;
|
|
319
|
+
set cameraZoom(val: number);
|
|
320
|
+
_updateCameraFrustum(): void;
|
|
190
321
|
}
|