@hyperframes/core 0.7.69 → 0.7.71

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.
@@ -1,3 +1,5 @@
1
+ import { DEFAULT_MAX_CUBE_LUT_SIZE } from "./colorLuts.js";
2
+ import { COLOR_GRADING_ADJUST_KEYS, COLOR_GRADING_COLOR_SPACE, COLOR_GRADING_DETAIL_KEYS, COLOR_GRADING_EFFECT_KEYS, COLOR_GRADING_LUT_KEYS, COLOR_GRADING_TOP_LEVEL_KEYS, } from "@hyperframes/parsers/color-grading-contract";
1
3
  export const HF_COLOR_GRADING_ATTR = "data-color-grading";
2
4
  // Runtime <-> studio contract attributes. The runtime grading engine writes
3
5
  // them; studio editing/soft-reload code reads them. Single owner — never
@@ -11,7 +13,7 @@ export const COLOR_GRADING_SOURCE_HIDDEN_ATTR = "data-hf-color-grading-source-hi
11
13
  */
12
14
  export const COLOR_GRADING_AUTHORED_OPACITY_ATTR = "data-hf-authored-opacity";
13
15
  export const HF_COLOR_GRADING_CANVAS_ID_PREFIX = "__hf_color_grading_";
14
- export const HF_COLOR_GRADING_COLOR_SPACE = "rec709";
16
+ export const HF_COLOR_GRADING_COLOR_SPACE = COLOR_GRADING_COLOR_SPACE;
15
17
  const ADJUST_ZERO = {
16
18
  exposure: 0,
17
19
  contrast: 0,
@@ -24,9 +26,7 @@ const ADJUST_ZERO = {
24
26
  vibrance: 0,
25
27
  saturation: 0,
26
28
  };
27
- // Detail sub-controls keep identity-state defaults so enabling vignette/grain starts from useful
28
- // perceptual settings instead of raw mathematical zeroes.
29
- const DETAIL_ZERO = {
29
+ const DETAIL_DEFAULTS = {
30
30
  vignette: 0,
31
31
  vignetteMidpoint: 0.5,
32
32
  vignetteRoundness: 0,
@@ -35,40 +35,188 @@ const DETAIL_ZERO = {
35
35
  grainSize: 0.25,
36
36
  grainRoughness: 0.5,
37
37
  };
38
- const EFFECT_ZERO = {
38
+ const EFFECT_DEFAULTS = {
39
39
  blur: 0,
40
40
  pixelate: 0,
41
+ chromaBleed: 0,
42
+ tapeDamage: 0,
43
+ tapeTracking: 0,
44
+ tapeNoise: 1,
45
+ tapeSpeed: 0.5,
46
+ filmArtifacts: 0,
47
+ halftone: 0,
48
+ halftoneSize: 0,
49
+ twoInkPrint: 0,
50
+ twoInkPrintSize: 0,
51
+ ascii: 0,
52
+ asciiSize: 5 / 76,
53
+ asciiInvert: 0,
54
+ asciiStyle: 0,
55
+ asciiColor: 1,
56
+ asciiRotation: 0,
57
+ dither: 0,
58
+ ditherSize: 0,
59
+ bloom: 0,
60
+ bloomRadius: 8,
61
+ monoScreen: 0,
62
+ monoScreenSize: 0,
63
+ monoScreenAngle: 0,
64
+ monoScreenSpread: 0,
65
+ monoScreenShape: 0,
66
+ monoScreenInvert: 0,
67
+ scanlines: 0,
68
+ scanlineCount: 0,
69
+ scanlineSoftness: 0,
70
+ chromaticAberration: 0,
71
+ chromaticAngle: 0,
72
+ crtCurvature: 0,
73
+ digitalGlitch: 0,
74
+ digitalGlitchColorSplit: 0,
75
+ digitalGlitchLineTear: 0,
76
+ digitalGlitchPixelate: 0,
77
+ digitalGlitchBlockAmount: 0,
78
+ digitalGlitchBlockDisplacement: 0,
79
+ digitalGlitchBlockOpacity: 0,
80
+ digitalGlitchSpeed: 0,
81
+ engraving: 0,
82
+ engravingSpacing: 7 / 17,
83
+ engravingMinThickness: 0.2,
84
+ engravingMaxThickness: 3.2 / 7,
85
+ engravingAngle: 0.25,
86
+ engravingContrast: 7 / 15,
87
+ engravingSharpness: 0.59,
88
+ engravingWave: 0.2,
89
+ engravingWaveFrequency: 2 / 9,
90
+ crosshatch: 0,
91
+ crosshatchSpacing: 7 / 25,
92
+ crosshatchThickness: 0.25,
93
+ crosshatchAngle: 0.25,
94
+ crosshatchContrast: 1 / 3,
95
+ crosshatchEdges: 0.5,
96
+ crosshatchLineWeight: 0,
97
+ crosshatchWave: 0.33,
98
+ crosshatchWaveFrequency: 2 / 9,
99
+ kuwahara: 0,
100
+ kuwaharaRadius: 1 / 7,
101
+ kuwaharaSharpness: 5 / 16,
102
+ kuwaharaSaturation: 0.5,
41
103
  };
42
- export const HF_COLOR_GRADING_ADJUST_KEYS = Object.keys(ADJUST_ZERO);
43
- export const HF_COLOR_GRADING_DETAIL_KEYS = Object.keys(DETAIL_ZERO);
44
- export const HF_COLOR_GRADING_EFFECT_KEYS = Object.keys(EFFECT_ZERO);
45
- function preset(id, label, adjust = {}, details = {}) {
104
+ export const HF_COLOR_GRADING_TOP_LEVEL_KEYS = COLOR_GRADING_TOP_LEVEL_KEYS;
105
+ export const HF_COLOR_GRADING_LUT_KEYS = COLOR_GRADING_LUT_KEYS;
106
+ export const HF_COLOR_GRADING_PALETTES = [
107
+ { id: "noir", label: "Noir", group: "Classic", colors: ["#000000", "#ffffff"] },
108
+ {
109
+ id: "ink-paper",
110
+ label: "Ink & Paper",
111
+ group: "Classic",
112
+ colors: ["#1a1a2e", "#f5f5dc"],
113
+ },
114
+ {
115
+ id: "terminal",
116
+ label: "Terminal",
117
+ group: "Classic",
118
+ colors: ["#001100", "#00ff00"],
119
+ },
120
+ {
121
+ id: "amber-glow",
122
+ label: "Amber Glow",
123
+ group: "Classic",
124
+ colors: ["#1a0f00", "#ffcc00"],
125
+ },
126
+ {
127
+ id: "handheld-green",
128
+ label: "Handheld Green",
129
+ group: "Classic",
130
+ colors: ["#0f380f", "#306230", "#8bac0f", "#9bbc0f"],
131
+ },
132
+ {
133
+ id: "golden-hour",
134
+ label: "Golden Hour",
135
+ group: "Mood",
136
+ colors: ["#1a1205", "#4a3510", "#8b6914", "#d4a017", "#fff8dc"],
137
+ },
138
+ {
139
+ id: "deep-sea",
140
+ label: "Deep Sea",
141
+ group: "Mood",
142
+ colors: ["#0a1628", "#1a3a5c", "#2d6187", "#5ba4c9", "#a8dce8"],
143
+ },
144
+ {
145
+ id: "arctic-night",
146
+ label: "Arctic Night",
147
+ group: "Mood",
148
+ colors: ["#0a0a14", "#1a2a4a", "#3a5a8a", "#6a9aca", "#cae8ff"],
149
+ },
150
+ {
151
+ id: "synthwave",
152
+ label: "Synthwave",
153
+ group: "Mood",
154
+ colors: ["#120458", "#7b2cbf", "#e040fb", "#ff6ec7", "#fff59d"],
155
+ },
156
+ {
157
+ id: "vaporwave",
158
+ label: "Vaporwave",
159
+ group: "Mood",
160
+ colors: ["#1a0a2e", "#3d1a5c", "#ff71ce", "#01cdfe", "#fffb96"],
161
+ },
162
+ {
163
+ id: "forest",
164
+ label: "Forest",
165
+ group: "Mood",
166
+ colors: ["#1a2e1a", "#2d4a2d", "#4a7c4a", "#7ab37a", "#c8e6c8"],
167
+ },
168
+ {
169
+ id: "sepia",
170
+ label: "Sepia",
171
+ group: "Mono",
172
+ colors: ["#1a1610", "#3d3020", "#6b5a40", "#a89070", "#e8dcc8"],
173
+ },
174
+ {
175
+ id: "blueprint",
176
+ label: "Blueprint",
177
+ group: "Mono",
178
+ colors: ["#001830", "#003060", "#0050a0", "#0080e0", "#e0f0ff"],
179
+ },
180
+ {
181
+ id: "warm-print",
182
+ label: "Warm Print",
183
+ group: "HyperFrames",
184
+ colors: ["#17121a", "#824c50", "#e09873", "#f7ddb1"],
185
+ },
186
+ {
187
+ id: "electric-ink",
188
+ label: "Electric Ink",
189
+ group: "HyperFrames",
190
+ colors: ["#080717", "#3c185f", "#7e2278", "#d9339f", "#ff6b66", "#aafae0"],
191
+ },
192
+ ];
193
+ export const HF_COLOR_GRADING_ADJUST_KEYS = COLOR_GRADING_ADJUST_KEYS;
194
+ export const HF_COLOR_GRADING_DETAIL_KEYS = COLOR_GRADING_DETAIL_KEYS;
195
+ export const HF_COLOR_GRADING_EFFECT_KEYS = COLOR_GRADING_EFFECT_KEYS;
196
+ const VINTAGE_WASH_ADJUST = {
197
+ exposure: 0.03,
198
+ contrast: -0.12,
199
+ highlights: -0.1,
200
+ shadows: 0.16,
201
+ whites: -0.04,
202
+ blacks: 0.08,
203
+ temperature: 0.13,
204
+ vibrance: -0.08,
205
+ saturation: -0.08,
206
+ };
207
+ const VINTAGE_WASH_DETAILS = { vignette: 0.18 };
208
+ function preset(id, label, adjust = {}, details = {}, effects = {}, intensity = 1) {
46
209
  return {
47
210
  id,
48
211
  label,
212
+ intensity,
49
213
  adjust: { ...ADJUST_ZERO, ...adjust },
50
- details: { ...DETAIL_ZERO, ...details },
51
- effects: { ...EFFECT_ZERO },
214
+ details: { ...DETAIL_DEFAULTS, ...details },
215
+ effects: { ...EFFECT_DEFAULTS, ...effects },
52
216
  };
53
217
  }
54
218
  export const HF_COLOR_GRADING_PRESETS = [
55
219
  preset("neutral", "Neutral"),
56
- preset("natural-lift", "Natural Lift", {
57
- exposure: 0.04,
58
- contrast: 0.06,
59
- highlights: -0.06,
60
- shadows: 0.08,
61
- saturation: 0.05,
62
- }),
63
- preset("fresh-pop", "Fresh Pop", {
64
- exposure: 0.08,
65
- contrast: 0.12,
66
- whites: 0.06,
67
- shadows: 0.04,
68
- temperature: -0.02,
69
- vibrance: 0.08,
70
- saturation: 0.16,
71
- }),
72
220
  preset("warm-daylight", "Warm Daylight", {
73
221
  exposure: 0.06,
74
222
  contrast: 0.07,
@@ -123,19 +271,7 @@ export const HF_COLOR_GRADING_PRESETS = [
123
271
  }, {
124
272
  vignette: 0.1,
125
273
  }),
126
- preset("vintage-wash", "Vintage Wash", {
127
- exposure: 0.03,
128
- contrast: -0.12,
129
- highlights: -0.1,
130
- shadows: 0.16,
131
- whites: -0.04,
132
- blacks: 0.08,
133
- temperature: 0.13,
134
- vibrance: -0.08,
135
- saturation: -0.08,
136
- }, {
137
- vignette: 0.18,
138
- }),
274
+ preset("vintage-wash", "Vintage Wash", VINTAGE_WASH_ADJUST, VINTAGE_WASH_DETAILS),
139
275
  preset("mono-clean", "Mono Clean", {
140
276
  contrast: 0.12,
141
277
  highlights: -0.04,
@@ -152,23 +288,6 @@ export const HF_COLOR_GRADING_PRESETS = [
152
288
  }, {
153
289
  vignette: 0.08,
154
290
  }),
155
- preset("warm-clean", "Warm Clean", {
156
- exposure: 0.05,
157
- contrast: 0.08,
158
- highlights: -0.08,
159
- shadows: 0.08,
160
- temperature: 0.16,
161
- vibrance: 0.04,
162
- saturation: 0.06,
163
- }),
164
- preset("cool-clean", "Cool Clean", {
165
- contrast: 0.06,
166
- highlights: -0.06,
167
- shadows: 0.06,
168
- temperature: -0.12,
169
- tint: 0.04,
170
- saturation: 0.04,
171
- }),
172
291
  preset("soft-boost", "Soft Boost", {
173
292
  exposure: 0.06,
174
293
  contrast: -0.04,
@@ -193,6 +312,42 @@ export const HF_COLOR_GRADING_PRESETS = [
193
312
  blacks: -0.12,
194
313
  saturation: 0.06,
195
314
  }),
315
+ preset("creator-camcorder", "Creator Camcorder", {
316
+ contrast: 0.08,
317
+ highlights: -0.05,
318
+ shadows: 0.02,
319
+ whites: 0.03,
320
+ blacks: -0.04,
321
+ temperature: -0.03,
322
+ tint: -0.015,
323
+ vibrance: -0.03,
324
+ saturation: -0.06,
325
+ }, { vignette: 0.06, grain: 0.08, grainSize: 0.18, grainRoughness: 0.58 }, { chromaBleed: 0.55 }, 0.72),
326
+ preset("vhs-playback", "VHS Playback", { contrast: -0.04, saturation: -0.08 }, { grain: 0.16, grainSize: 0.12, grainRoughness: 0.72 }, {
327
+ tapeDamage: 0.82,
328
+ tapeTracking: 0.85,
329
+ tapeNoise: 0.3,
330
+ tapeSpeed: 0.5,
331
+ chromaBleed: 0.5,
332
+ chromaticAberration: 0.18,
333
+ scanlines: 0.35,
334
+ scanlineCount: 0.17,
335
+ scanlineSoftness: 1,
336
+ digitalGlitch: 0.32,
337
+ digitalGlitchLineTear: 0.08,
338
+ digitalGlitchSpeed: 0.5,
339
+ }),
340
+ preset("home-movie-8mm", "8mm Home Movie", VINTAGE_WASH_ADJUST, {
341
+ ...VINTAGE_WASH_DETAILS,
342
+ vignette: 0.28,
343
+ vignetteMidpoint: 0.54,
344
+ vignetteFeather: 0.72,
345
+ grain: 0.34,
346
+ grainSize: 0.18,
347
+ grainRoughness: 0.72,
348
+ }, { filmArtifacts: 0.62 }, 0.72),
349
+ preset("editorial-halftone", "Editorial Halftone", { contrast: 0.04, saturation: 0.04 }, {}, { halftone: 0.94, halftoneSize: 0.36 }),
350
+ preset("two-ink-print", "Two-Ink Print", { contrast: 0.08, highlights: -0.06, shadows: 0.04 }, {}, { twoInkPrint: 1, twoInkPrintSize: 0.42 }),
196
351
  ];
197
352
  const PRESETS_BY_ID = new Map(HF_COLOR_GRADING_PRESETS.map((preset) => [preset.id, preset]));
198
353
  const VARIABLE_REF_RE = /^\$(?:\{([A-Za-z0-9_.:-]+)\}|([A-Za-z0-9_.:-]+))$/;
@@ -217,10 +372,192 @@ const DETAIL_LIMITS = {
217
372
  grainSize: { min: 0, max: 1 },
218
373
  grainRoughness: { min: 0, max: 1 },
219
374
  };
220
- const EFFECT_LIMITS = {
221
- blur: { min: 0, max: 1 },
222
- pixelate: { min: 0, max: 1 },
375
+ const UNIT_LIMIT = { min: 0, max: 1 };
376
+ const EFFECT_LIMIT_OVERRIDES = {
377
+ asciiStyle: { min: 0, max: 7 },
378
+ bloom: { min: 0, max: 3 },
379
+ bloomRadius: { min: 1, max: 100 },
380
+ monoScreenShape: { min: 0, max: 4 },
381
+ };
382
+ export const HF_COLOR_GRADING_ACTIVE_EFFECT_KEYS = [
383
+ "blur",
384
+ "pixelate",
385
+ "chromaBleed",
386
+ "tapeDamage",
387
+ "filmArtifacts",
388
+ "halftone",
389
+ "twoInkPrint",
390
+ "ascii",
391
+ "dither",
392
+ "bloom",
393
+ "monoScreen",
394
+ "scanlines",
395
+ "chromaticAberration",
396
+ "crtCurvature",
397
+ "digitalGlitch",
398
+ "engraving",
399
+ "crosshatch",
400
+ "kuwahara",
401
+ ];
402
+ export const HF_COLOR_GRADING_EFFECT_PRESETS = HF_COLOR_GRADING_PRESETS.filter((preset) => HF_COLOR_GRADING_ACTIVE_EFFECT_KEYS.some((key) => preset.effects[key] > 0.0001));
403
+ export const HF_COLOR_GRADING_GRADE_PRESETS = HF_COLOR_GRADING_PRESETS.filter((preset) => !HF_COLOR_GRADING_EFFECT_PRESETS.includes(preset));
404
+ /** Useful one-click values. Sub-controls not listed here keep their normalized defaults. */
405
+ export const HF_COLOR_GRADING_EFFECT_APPLY_DEFAULTS = {
406
+ blur: { blur: 0.45 },
407
+ pixelate: { pixelate: 0.55 },
408
+ bloom: { bloom: 0.55, bloomRadius: 8 },
409
+ chromaBleed: { chromaBleed: 0.55 },
410
+ tapeDamage: {
411
+ tapeDamage: 0.65,
412
+ tapeTracking: 0.55,
413
+ tapeNoise: 0.25,
414
+ tapeSpeed: 0.5,
415
+ },
416
+ filmArtifacts: { filmArtifacts: 0.55 },
417
+ scanlines: { scanlines: 0.35, scanlineCount: 0.17, scanlineSoftness: 1 },
418
+ chromaticAberration: { chromaticAberration: 0.15, chromaticAngle: 0 },
419
+ crtCurvature: { crtCurvature: 0.2 },
420
+ digitalGlitch: {
421
+ digitalGlitch: 0.55,
422
+ digitalGlitchColorSplit: 0.25,
423
+ digitalGlitchLineTear: 0.25,
424
+ digitalGlitchPixelate: 0.15,
425
+ digitalGlitchBlockAmount: 0.5,
426
+ digitalGlitchBlockDisplacement: 0.25,
427
+ digitalGlitchBlockOpacity: 0,
428
+ digitalGlitchSpeed: 0.5,
429
+ },
430
+ halftone: { halftone: 0.94, halftoneSize: 0.36 },
431
+ twoInkPrint: { twoInkPrint: 1, twoInkPrintSize: 0.42 },
432
+ ascii: {
433
+ ascii: 1,
434
+ asciiSize: 5 / 76,
435
+ asciiInvert: 0,
436
+ asciiStyle: 0,
437
+ asciiColor: 1,
438
+ asciiRotation: 0,
439
+ },
440
+ dither: { dither: 1, ditherSize: 0.5 },
441
+ monoScreen: {
442
+ monoScreen: 1,
443
+ monoScreenSize: 0.35,
444
+ monoScreenAngle: 0.25,
445
+ monoScreenSpread: 0.3,
446
+ monoScreenShape: 0,
447
+ monoScreenInvert: 0,
448
+ },
449
+ engraving: {
450
+ engraving: 1,
451
+ engravingSpacing: 7 / 17,
452
+ engravingMinThickness: 0.2,
453
+ engravingMaxThickness: 3.2 / 7,
454
+ engravingAngle: 0.25,
455
+ engravingContrast: 7 / 15,
456
+ engravingSharpness: 0.59,
457
+ engravingWave: 0.2,
458
+ engravingWaveFrequency: 2 / 9,
459
+ },
460
+ crosshatch: {
461
+ crosshatch: 1,
462
+ crosshatchSpacing: 7 / 25,
463
+ crosshatchThickness: 0.25,
464
+ crosshatchAngle: 0.25,
465
+ crosshatchContrast: 1 / 3,
466
+ crosshatchEdges: 0.5,
467
+ crosshatchLineWeight: 0,
468
+ crosshatchWave: 0.33,
469
+ crosshatchWaveFrequency: 2 / 9,
470
+ },
471
+ kuwahara: {
472
+ kuwahara: 1,
473
+ kuwaharaRadius: 1 / 7,
474
+ kuwaharaSharpness: 5 / 16,
475
+ kuwaharaSaturation: 0.5,
476
+ },
223
477
  };
478
+ export const HF_COLOR_GRADING_ANIMATABLE_PROPERTIES = [
479
+ { path: "intensity", name: "--hf-color-grading-intensity", min: 0, max: 1 },
480
+ { path: "lut.intensity", name: "--hf-color-grading-lut-intensity", min: 0, max: 1 },
481
+ { path: "adjust.exposure", name: "--hf-color-grading-exposure", min: -2, max: 2 },
482
+ { path: "effects.blur", name: "--hf-color-grading-blur", min: 0, max: 1 },
483
+ { path: "effects.bloom", name: "--hf-color-grading-bloom", min: 0, max: 3 },
484
+ { path: "effects.kuwahara", name: "--hf-color-grading-kuwahara", min: 0, max: 1 },
485
+ { path: "effects.pixelate", name: "--hf-color-grading-pixelate", min: 0, max: 1 },
486
+ { path: "effects.ascii", name: "--hf-color-grading-ascii", min: 0, max: 1 },
487
+ { path: "effects.dither", name: "--hf-color-grading-dither", min: 0, max: 1 },
488
+ ];
489
+ function effectLimit(key) {
490
+ return EFFECT_LIMIT_OVERRIDES[key] ?? UNIT_LIMIT;
491
+ }
492
+ const PALETTE_EFFECT_KEYS = new Set([
493
+ "ascii",
494
+ "dither",
495
+ "monoScreen",
496
+ "engraving",
497
+ "crosshatch",
498
+ ]);
499
+ const MULTIPASS_EFFECT_KEYS = new Set(["blur", "bloom", "kuwahara"]);
500
+ /** Agent-readable view of the canonical grading and effect contracts. */
501
+ export function getHfColorGradingCapabilities() {
502
+ return {
503
+ version: 1,
504
+ targetTags: ["img", "video"],
505
+ colorSpace: HF_COLOR_GRADING_COLOR_SPACE,
506
+ intensity: { identity: 1, min: 0, max: 1 },
507
+ palette: { minColors: 2, maxColors: 6, colorFormat: "#rrggbb" },
508
+ lut: {
509
+ format: "3d-cube",
510
+ maxCubeSize: DEFAULT_MAX_CUBE_LUT_SIZE,
511
+ intensity: { ...UNIT_LIMIT },
512
+ },
513
+ presets: [...HF_COLOR_GRADING_GRADE_PRESETS, ...HF_COLOR_GRADING_EFFECT_PRESETS].map((preset) => ({
514
+ id: preset.id,
515
+ label: preset.label,
516
+ intensity: preset.intensity,
517
+ })),
518
+ adjustments: HF_COLOR_GRADING_ADJUST_KEYS.map((key) => ({
519
+ key,
520
+ identity: ADJUST_ZERO[key],
521
+ ...ADJUST_LIMITS[key],
522
+ })),
523
+ finishing: HF_COLOR_GRADING_DETAIL_KEYS.map((key) => ({
524
+ key,
525
+ identity: DETAIL_DEFAULTS[key],
526
+ ...DETAIL_LIMITS[key],
527
+ })),
528
+ effects: HF_COLOR_GRADING_ACTIVE_EFFECT_KEYS.map((key) => {
529
+ const apply = HF_COLOR_GRADING_EFFECT_APPLY_DEFAULTS[key];
530
+ return {
531
+ key,
532
+ apply: { ...apply },
533
+ supportsPalette: PALETTE_EFFECT_KEYS.has(key),
534
+ renderLane: MULTIPASS_EFFECT_KEYS.has(key) ? "multipass" : "single-pass",
535
+ controls: HF_COLOR_GRADING_EFFECT_KEYS.filter((control) => Object.hasOwn(apply, control)).map((control) => ({
536
+ key: control,
537
+ identity: EFFECT_DEFAULTS[control],
538
+ recommended: apply[control] ?? EFFECT_DEFAULTS[control],
539
+ ...effectLimit(control),
540
+ })),
541
+ };
542
+ }),
543
+ palettes: HF_COLOR_GRADING_PALETTES.map(({ id, label, group, colors }) => ({
544
+ id,
545
+ label,
546
+ group,
547
+ colors,
548
+ })),
549
+ animatable: HF_COLOR_GRADING_ANIMATABLE_PROPERTIES,
550
+ };
551
+ }
552
+ const EFFECT_PALETTE_COLOR = /^#[0-9a-f]{6}$/i;
553
+ function normalizePalette(value) {
554
+ if (!Array.isArray(value) || value.length < 2 || value.length > 6)
555
+ return null;
556
+ if (!value.every((color) => typeof color === "string" && EFFECT_PALETTE_COLOR.test(color))) {
557
+ return null;
558
+ }
559
+ return value.map((color) => color.toLowerCase());
560
+ }
224
561
  function isRecord(value) {
225
562
  return typeof value === "object" && value !== null && !Array.isArray(value);
226
563
  }
@@ -278,7 +615,7 @@ function readColorGradingObject(raw) {
278
615
  return null;
279
616
  }
280
617
  }
281
- return { preset: trimmed, intensity: 1 };
618
+ return { preset: trimmed };
282
619
  }
283
620
  return isRecord(raw) ? raw : null;
284
621
  }
@@ -326,8 +663,8 @@ export function normalizeHfColorGrading(raw) {
326
663
  const presetId = normalizePresetId(grading.preset);
327
664
  const preset = getHfColorGradingPreset(presetId);
328
665
  const presetAdjust = preset?.adjust ?? ADJUST_ZERO;
329
- const presetDetails = preset?.details ?? DETAIL_ZERO;
330
- const presetEffects = preset?.effects ?? EFFECT_ZERO;
666
+ const presetDetails = preset?.details ?? DETAIL_DEFAULTS;
667
+ const presetEffects = preset?.effects ?? EFFECT_DEFAULTS;
331
668
  const rawAdjust = isRecord(grading.adjust) ? grading.adjust : {};
332
669
  const rawDetails = isRecord(grading.details) ? grading.details : {};
333
670
  const rawEffects = isRecord(grading.effects) ? grading.effects : {};
@@ -338,18 +675,19 @@ export function normalizeHfColorGrading(raw) {
338
675
  const details = HF_COLOR_GRADING_DETAIL_KEYS.reduce((result, key) => {
339
676
  result[key] = readLimitedValue(rawDetails[key] ?? presetDetails[key], DETAIL_LIMITS[key]);
340
677
  return result;
341
- }, { ...DETAIL_ZERO });
678
+ }, { ...DETAIL_DEFAULTS });
342
679
  const effects = HF_COLOR_GRADING_EFFECT_KEYS.reduce((result, key) => {
343
- result[key] = readLimitedValue(rawEffects[key] ?? presetEffects[key], EFFECT_LIMITS[key]);
680
+ result[key] = readLimitedValue(rawEffects[key] ?? presetEffects[key], EFFECT_LIMIT_OVERRIDES[key] ?? UNIT_LIMIT);
344
681
  return result;
345
- }, { ...EFFECT_ZERO });
682
+ }, { ...EFFECT_DEFAULTS });
346
683
  return {
347
684
  enabled: true,
348
685
  preset: presetId,
349
- intensity: clampUnit(grading.intensity, 1),
686
+ intensity: clampUnit(grading.intensity, preset?.intensity ?? 1),
350
687
  adjust,
351
688
  details,
352
689
  effects,
690
+ palette: normalizePalette(grading.palette),
353
691
  lut: normalizeLut(grading.lut),
354
692
  colorSpace: typeof grading.colorSpace === "string" && grading.colorSpace.trim()
355
693
  ? grading.colorSpace.trim()
@@ -363,19 +701,21 @@ export function serializeHfColorGrading(grading) {
363
701
  const normalized = normalizeHfColorGrading(grading);
364
702
  if (!normalized)
365
703
  return "";
366
- const { enabled: _enabled, ...serializable } = normalized;
367
- return JSON.stringify(serializable);
704
+ const { enabled: _enabled, palette, ...serializable } = normalized;
705
+ return JSON.stringify(palette ? { ...serializable, palette } : serializable);
368
706
  }
369
707
  export function isHfColorGradingActive(grading) {
370
708
  if (!grading?.enabled)
371
709
  return false;
710
+ const hasIndependentTreatment = Math.abs(grading.details.vignette) > 0.0001 ||
711
+ Math.abs(grading.details.grain) > 0.0001 ||
712
+ HF_COLOR_GRADING_ACTIVE_EFFECT_KEYS.some((key) => Math.abs(grading.effects[key]) > 0.0001);
713
+ if (hasIndependentTreatment)
714
+ return true;
372
715
  if (grading.intensity === 0)
373
716
  return false;
374
717
  if (grading.lut && grading.lut.intensity !== 0)
375
718
  return true;
376
- return (HF_COLOR_GRADING_ADJUST_KEYS.some((key) => Math.abs(grading.adjust[key]) > 0.0001) ||
377
- Math.abs(grading.details.vignette) > 0.0001 ||
378
- Math.abs(grading.details.grain) > 0.0001 ||
379
- HF_COLOR_GRADING_EFFECT_KEYS.some((key) => Math.abs(grading.effects[key]) > 0.0001));
719
+ return HF_COLOR_GRADING_ADJUST_KEYS.some((key) => Math.abs(grading.adjust[key]) > 0.0001);
380
720
  }
381
721
  //# sourceMappingURL=colorGrading.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"colorGrading.js","sourceRoot":"","sources":["../src/colorGrading.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,qBAAqB,GAAG,oBAAoB,CAAC;AAE1D,4EAA4E;AAC5E,yEAAyE;AACzE,uCAAuC;AACvC,4EAA4E;AAC5E,MAAM,CAAC,MAAM,gCAAgC,GAAG,qCAAqC,CAAC;AACtF;;;;GAIG;AACH,MAAM,CAAC,MAAM,mCAAmC,GAAG,0BAA0B,CAAC;AAE9E,MAAM,CAAC,MAAM,iCAAiC,GAAG,qBAAqB,CAAC;AAEvE,MAAM,CAAC,MAAM,4BAA4B,GAAG,QAAQ,CAAC;AA8FrD,MAAM,WAAW,GAA4C;IAC3D,QAAQ,EAAE,CAAC;IACX,QAAQ,EAAE,CAAC;IACX,UAAU,EAAE,CAAC;IACb,OAAO,EAAE,CAAC;IACV,MAAM,EAAE,CAAC;IACT,MAAM,EAAE,CAAC;IACT,WAAW,EAAE,CAAC;IACd,IAAI,EAAE,CAAC;IACP,QAAQ,EAAE,CAAC;IACX,UAAU,EAAE,CAAC;CACd,CAAC;AAEF,iGAAiG;AACjG,0DAA0D;AAC1D,MAAM,WAAW,GAA4C;IAC3D,QAAQ,EAAE,CAAC;IACX,gBAAgB,EAAE,GAAG;IACrB,iBAAiB,EAAE,CAAC;IACpB,eAAe,EAAE,IAAI;IACrB,KAAK,EAAE,CAAC;IACR,SAAS,EAAE,IAAI;IACf,cAAc,EAAE,GAAG;CACpB,CAAC;AAEF,MAAM,WAAW,GAA4C;IAC3D,IAAI,EAAE,CAAC;IACP,QAAQ,EAAE,CAAC;CACZ,CAAC;AAEF,MAAM,CAAC,MAAM,4BAA4B,GAAG,MAAM,CAAC,IAAI,CACrD,WAAW,CAC0B,CAAC;AAExC,MAAM,CAAC,MAAM,4BAA4B,GAAG,MAAM,CAAC,IAAI,CACrD,WAAW,CAC0B,CAAC;AAExC,MAAM,CAAC,MAAM,4BAA4B,GAAG,MAAM,CAAC,IAAI,CACrD,WAAW,CAC0B,CAAC;AAExC,SAAS,MAAM,CACb,EAA0B,EAC1B,KAAa,EACb,SAA+B,EAAE,EACjC,UAAiC,EAAE;IAEnC,OAAO;QACL,EAAE;QACF,KAAK;QACL,MAAM,EAAE,EAAE,GAAG,WAAW,EAAE,GAAG,MAAM,EAAE;QACrC,OAAO,EAAE,EAAE,GAAG,WAAW,EAAE,GAAG,OAAO,EAAE;QACvC,OAAO,EAAE,EAAE,GAAG,WAAW,EAAE;KAC5B,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,wBAAwB,GAAoC;IACvE,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC;IAC5B,MAAM,CAAC,cAAc,EAAE,cAAc,EAAE;QACrC,QAAQ,EAAE,IAAI;QACd,QAAQ,EAAE,IAAI;QACd,UAAU,EAAE,CAAC,IAAI;QACjB,OAAO,EAAE,IAAI;QACb,UAAU,EAAE,IAAI;KACjB,CAAC;IACF,MAAM,CAAC,WAAW,EAAE,WAAW,EAAE;QAC/B,QAAQ,EAAE,IAAI;QACd,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,IAAI;QACZ,OAAO,EAAE,IAAI;QACb,WAAW,EAAE,CAAC,IAAI;QAClB,QAAQ,EAAE,IAAI;QACd,UAAU,EAAE,IAAI;KACjB,CAAC;IACF,MAAM,CAAC,eAAe,EAAE,eAAe,EAAE;QACvC,QAAQ,EAAE,IAAI;QACd,QAAQ,EAAE,IAAI;QACd,UAAU,EAAE,CAAC,IAAI;QACjB,OAAO,EAAE,IAAI;QACb,WAAW,EAAE,IAAI;QACjB,UAAU,EAAE,IAAI;KACjB,CAAC;IACF,MAAM,CAAC,cAAc,EAAE,cAAc,EAAE;QACrC,QAAQ,EAAE,IAAI;QACd,UAAU,EAAE,CAAC,IAAI;QACjB,OAAO,EAAE,IAAI;QACb,WAAW,EAAE,CAAC,IAAI;QAClB,IAAI,EAAE,IAAI;QACV,UAAU,EAAE,IAAI;KACjB,CAAC;IACF,MAAM,CAAC,WAAW,EAAE,WAAW,EAAE;QAC/B,QAAQ,EAAE,IAAI;QACd,QAAQ,EAAE,CAAC,IAAI;QACf,UAAU,EAAE,CAAC,IAAI;QACjB,OAAO,EAAE,IAAI;QACb,WAAW,EAAE,IAAI;QACjB,IAAI,EAAE,IAAI;QACV,UAAU,EAAE,IAAI;KACjB,CAAC;IACF,MAAM,CAAC,UAAU,EAAE,UAAU,EAAE;QAC7B,QAAQ,EAAE,IAAI;QACd,QAAQ,EAAE,GAAG;QACb,OAAO,EAAE,IAAI;QACb,WAAW,EAAE,IAAI;QACjB,QAAQ,EAAE,GAAG;QACb,UAAU,EAAE,IAAI;KACjB,CAAC;IACF,MAAM,CACJ,YAAY,EACZ,YAAY,EACZ;QACE,QAAQ,EAAE,IAAI;QACd,QAAQ,EAAE,IAAI;QACd,UAAU,EAAE,CAAC,IAAI;QACjB,OAAO,EAAE,GAAG;QACZ,MAAM,EAAE,CAAC,IAAI;QACb,UAAU,EAAE,IAAI;KACjB,EACD;QACE,QAAQ,EAAE,IAAI;KACf,CACF;IACD,MAAM,CACJ,iBAAiB,EACjB,iBAAiB,EACjB;QACE,QAAQ,EAAE,CAAC,IAAI;QACf,QAAQ,EAAE,IAAI;QACd,UAAU,EAAE,CAAC,IAAI;QACjB,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,CAAC,IAAI;QACb,WAAW,EAAE,CAAC,IAAI;QAClB,UAAU,EAAE,CAAC,IAAI;KAClB,EACD;QACE,QAAQ,EAAE,GAAG;KACd,CACF;IACD,MAAM,CACJ,cAAc,EACd,cAAc,EACd;QACE,QAAQ,EAAE,IAAI;QACd,QAAQ,EAAE,CAAC,IAAI;QACf,UAAU,EAAE,CAAC,GAAG;QAChB,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,CAAC,IAAI;QACb,MAAM,EAAE,IAAI;QACZ,WAAW,EAAE,IAAI;QACjB,QAAQ,EAAE,CAAC,IAAI;QACf,UAAU,EAAE,CAAC,IAAI;KAClB,EACD;QACE,QAAQ,EAAE,IAAI;KACf,CACF;IACD,MAAM,CAAC,YAAY,EAAE,YAAY,EAAE;QACjC,QAAQ,EAAE,IAAI;QACd,UAAU,EAAE,CAAC,IAAI;QACjB,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,CAAC,IAAI;QACb,UAAU,EAAE,CAAC,CAAC;KACf,CAAC;IACF,MAAM,CACJ,WAAW,EACX,WAAW,EACX;QACE,QAAQ,EAAE,CAAC,IAAI;QACf,UAAU,EAAE,CAAC,IAAI;QACjB,OAAO,EAAE,GAAG;QACZ,MAAM,EAAE,IAAI;QACZ,UAAU,EAAE,CAAC,CAAC;KACf,EACD;QACE,QAAQ,EAAE,IAAI;KACf,CACF;IACD,MAAM,CAAC,YAAY,EAAE,YAAY,EAAE;QACjC,QAAQ,EAAE,IAAI;QACd,QAAQ,EAAE,IAAI;QACd,UAAU,EAAE,CAAC,IAAI;QACjB,OAAO,EAAE,IAAI;QACb,WAAW,EAAE,IAAI;QACjB,QAAQ,EAAE,IAAI;QACd,UAAU,EAAE,IAAI;KACjB,CAAC;IACF,MAAM,CAAC,YAAY,EAAE,YAAY,EAAE;QACjC,QAAQ,EAAE,IAAI;QACd,UAAU,EAAE,CAAC,IAAI;QACjB,OAAO,EAAE,IAAI;QACb,WAAW,EAAE,CAAC,IAAI;QAClB,IAAI,EAAE,IAAI;QACV,UAAU,EAAE,IAAI;KACjB,CAAC;IACF,MAAM,CAAC,YAAY,EAAE,YAAY,EAAE;QACjC,QAAQ,EAAE,IAAI;QACd,QAAQ,EAAE,CAAC,IAAI;QACf,UAAU,EAAE,CAAC,IAAI;QACjB,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,IAAI;QACd,UAAU,EAAE,GAAG;KAChB,CAAC;IACF,MAAM,CAAC,YAAY,EAAE,YAAY,EAAE;QACjC,QAAQ,EAAE,IAAI;QACd,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,CAAC,IAAI;QACb,QAAQ,EAAE,IAAI;QACd,UAAU,EAAE,IAAI;KACjB,CAAC;IACF,MAAM,CAAC,eAAe,EAAE,eAAe,EAAE;QACvC,QAAQ,EAAE,CAAC,IAAI;QACf,QAAQ,EAAE,GAAG;QACb,UAAU,EAAE,CAAC,IAAI;QACjB,OAAO,EAAE,CAAC,IAAI;QACd,MAAM,EAAE,CAAC,IAAI;QACb,UAAU,EAAE,IAAI;KACjB,CAAC;CACH,CAAC;AAEF,MAAM,aAAa,GAAG,IAAI,GAAG,CAC3B,wBAAwB,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAC9D,CAAC;AAEF,MAAM,eAAe,GAAG,mDAAmD,CAAC;AAE5E,MAAM,aAAa,GAAkE;IACnF,QAAQ,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE;IAC7B,QAAQ,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE;IAC7B,UAAU,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE;IAC/B,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE;IAC5B,MAAM,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE;IAC3B,MAAM,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE;IAC3B,WAAW,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE;IAChC,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE;IACzB,QAAQ,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE;IAC7B,UAAU,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE;CAChC,CAAC;AAEF,MAAM,aAAa,GAAkE;IACnF,QAAQ,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE;IAC5B,gBAAgB,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE;IACpC,iBAAiB,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE;IACtC,eAAe,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE;IACnC,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE;IACzB,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE;IAC7B,cAAc,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE;CACnC,CAAC;AAEF,MAAM,aAAa,GAAkE;IACnF,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE;IACxB,QAAQ,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE;CAC7B,CAAC;AAEF,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,KAAK,CAAC,KAAa,EAAE,GAAW,EAAE,GAAW;IACpD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IACtC,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;AAC7C,CAAC;AAED,SAAS,SAAS,CAAC,KAAc,EAAE,QAAgB;IACjD,MAAM,MAAM,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACjE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,QAAQ,CAAC;IAC9C,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;AAC1C,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAc,EAAE,KAAmC;IAC3E,MAAM,MAAM,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACjE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,CAAC,CAAC;IACvC,OAAO,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;AAC7C,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc;IACvC,IAAI,KAAK,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC;IAC/B,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;IACpC,OAAO,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;AAChC,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IAClC,IAAI,KAAK,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC;IAC/B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QACzB,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAC5C,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAClC,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC;IACzB,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE;QAAE,OAAO,IAAI,CAAC;IACpE,OAAO;QACL,GAAG,EAAE,MAAM,CAAC,IAAI,EAAE;QAClB,SAAS,EAAE,SAAS,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;KACzC,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAAC,GAAY;IAC1C,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;QAC3B,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC;QAC1B,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC;gBACH,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBAC5C,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;YAC1C,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;IAC3C,CAAC;IACD,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;AACpC,CAAC;AAED,SAAS,wBAAwB,CAAC,KAAa,EAAE,SAAoC;IACnF,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IAClD,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IACzB,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACvC,OAAO,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AACvE,CAAC;AAED,MAAM,UAAU,8BAA8B,CAC5C,GAAY,EACZ,SAAoC;IAEpC,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,wBAAwB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACxD,IAAI,MAAM,KAAK,GAAG;YAAE,OAAO,MAAM,CAAC;QAClC,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;QAC3B,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,OAAO,GAAG,CAAC;QACzC,IAAI,CAAC;YACH,OAAO,8BAA8B,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAY,EAAE,SAAS,CAAC,CAAC;QACnF,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,GAAG,CAAC;QACb,CAAC;IACH,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC;IAE/B,MAAM,QAAQ,GAA4B,EAAE,CAAC;IAC7C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/C,QAAQ,CAAC,GAAG,CAAC,GAAG,8BAA8B,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACnE,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,uBAAuB,CAAC,EAA6B;IAC5D,IAAI,CAAC,EAAE;QAAE,OAAO,IAAI,CAAC;IACrB,OAAO,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,GAAY;IAClD,MAAM,OAAO,GAAG,sBAAsB,CAAC,GAAG,CAAC,CAAC;IAC5C,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAC1B,IAAI,OAAO,CAAC,OAAO,KAAK,KAAK;QAAE,OAAO,IAAI,CAAC;IAE3C,MAAM,QAAQ,GAAG,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACnD,MAAM,MAAM,GAAG,uBAAuB,CAAC,QAAQ,CAAC,CAAC;IACjD,MAAM,YAAY,GAAG,MAAM,EAAE,MAAM,IAAI,WAAW,CAAC;IACnD,MAAM,aAAa,GAAG,MAAM,EAAE,OAAO,IAAI,WAAW,CAAC;IACrD,MAAM,aAAa,GAAG,MAAM,EAAE,OAAO,IAAI,WAAW,CAAC;IACrD,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IACjE,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IACpE,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IACpE,MAAM,MAAM,GAAG,4BAA4B,CAAC,MAAM,CAChD,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;QACd,MAAM,CAAC,GAAG,CAAC,GAAG,gBAAgB,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,YAAY,CAAC,GAAG,CAAC,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;QACxF,OAAO,MAAM,CAAC;IAChB,CAAC,EACD,EAAE,GAAG,WAAW,EAAE,CACnB,CAAC;IACF,MAAM,OAAO,GAAG,4BAA4B,CAAC,MAAM,CACjD,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;QACd,MAAM,CAAC,GAAG,CAAC,GAAG,gBAAgB,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,aAAa,CAAC,GAAG,CAAC,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1F,OAAO,MAAM,CAAC;IAChB,CAAC,EACD,EAAE,GAAG,WAAW,EAAE,CACnB,CAAC;IACF,MAAM,OAAO,GAAG,4BAA4B,CAAC,MAAM,CACjD,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;QACd,MAAM,CAAC,GAAG,CAAC,GAAG,gBAAgB,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,aAAa,CAAC,GAAG,CAAC,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1F,OAAO,MAAM,CAAC;IAChB,CAAC,EACD,EAAE,GAAG,WAAW,EAAE,CACnB,CAAC;IAEF,OAAO;QACL,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,QAAQ;QAChB,SAAS,EAAE,SAAS,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;QAC1C,MAAM;QACN,OAAO;QACP,OAAO;QACP,GAAG,EAAE,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC;QAC9B,UAAU,EACR,OAAO,OAAO,CAAC,UAAU,KAAK,QAAQ,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE;YACjE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE;YAC3B,CAAC,CAAC,4BAA4B;KACnC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oCAAoC,CAClD,GAAY,EACZ,SAAoC;IAEpC,OAAO,uBAAuB,CAAC,8BAA8B,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC;AACjF,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,OAAyD;IAEzD,MAAM,UAAU,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;IACpD,IAAI,CAAC,UAAU;QAAE,OAAO,EAAE,CAAC;IAC3B,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,YAAY,EAAE,GAAG,UAAU,CAAC;IAC1D,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,OAAwC;IAExC,IAAI,CAAC,OAAO,EAAE,OAAO;QAAE,OAAO,KAAK,CAAC;IACpC,IAAI,OAAO,CAAC,SAAS,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC1C,IAAI,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC5D,OAAO,CACL,4BAA4B,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC;QAClF,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,MAAM;QAC3C,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM;QACxC,4BAA4B,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CACpF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"colorGrading.js","sourceRoot":"","sources":["../src/colorGrading.ts"],"names":[],"mappings":"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"}