@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.
@@ -18,61 +18,7 @@ export interface WebGLState {
18
18
  wireframeIndexCount: number;
19
19
  indexType: number;
20
20
  }
21
- export type NeatConfig = {
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
  }