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