@hyperframes/core 0.7.72 → 0.7.73

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,5 +1,6 @@
1
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";
2
+ import { COLOR_GRADING_ADJUST_KEYS, COLOR_GRADING_ADVANCED_LIMITS, COLOR_GRADING_COLOR_SPACE, COLOR_GRADING_CONTRACT_VERSION, COLOR_GRADING_CURVE_KEYS, COLOR_GRADING_DETAIL_KEYS, COLOR_GRADING_EFFECT_KEYS, COLOR_GRADING_HUE_CURVE_KEYS, COLOR_GRADING_LUT_KEYS, COLOR_GRADING_MAX_CURVE_POINTS, COLOR_GRADING_MAX_SECONDARIES, COLOR_GRADING_TOP_LEVEL_KEYS, COLOR_GRADING_WHEEL_KEYS, } from "@hyperframes/parsers/color-grading-contract";
3
+ export { compileHfColorCurve, compileHfHueCurve, HF_COLOR_CURVE_MAX_POINTS, } from "./colorGradingCurves.js";
3
4
  export const HF_COLOR_GRADING_ATTR = "data-color-grading";
4
5
  // Runtime <-> studio contract attributes. The runtime grading engine writes
5
6
  // them; studio editing/soft-reload code reads them. Single owner — never
@@ -191,6 +192,9 @@ export const HF_COLOR_GRADING_PALETTES = [
191
192
  },
192
193
  ];
193
194
  export const HF_COLOR_GRADING_ADJUST_KEYS = COLOR_GRADING_ADJUST_KEYS;
195
+ export const HF_COLOR_GRADING_WHEEL_KEYS = COLOR_GRADING_WHEEL_KEYS;
196
+ export const HF_COLOR_GRADING_CURVE_KEYS = COLOR_GRADING_CURVE_KEYS;
197
+ export const HF_COLOR_GRADING_HUE_CURVE_KEYS = COLOR_GRADING_HUE_CURVE_KEYS;
194
198
  export const HF_COLOR_GRADING_DETAIL_KEYS = COLOR_GRADING_DETAIL_KEYS;
195
199
  export const HF_COLOR_GRADING_EFFECT_KEYS = COLOR_GRADING_EFFECT_KEYS;
196
200
  const VINTAGE_WASH_ADJUST = {
@@ -363,22 +367,46 @@ const ADJUST_LIMITS = {
363
367
  vibrance: { min: -1, max: 1 },
364
368
  saturation: { min: -1, max: 1 },
365
369
  };
366
- const DETAIL_LIMITS = {
367
- vignette: { min: 0, max: 1 },
368
- vignetteMidpoint: { min: 0, max: 1 },
369
- vignetteRoundness: { min: -1, max: 1 },
370
- vignetteFeather: { min: 0, max: 1 },
371
- grain: { min: 0, max: 1 },
372
- grainSize: { min: 0, max: 1 },
373
- grainRoughness: { min: 0, max: 1 },
370
+ const TONAL_WHEEL_DEFAULT = {
371
+ hue: 0,
372
+ amount: 0,
373
+ level: 0,
374
+ };
375
+ const WHEEL_LIMITS = {
376
+ amount: COLOR_GRADING_ADVANCED_LIMITS.unit,
377
+ level: COLOR_GRADING_ADVANCED_LIMITS.signedUnit,
378
+ };
379
+ const RGB_CURVE_IDENTITY = [
380
+ [0, 0],
381
+ [1, 1],
382
+ ];
383
+ const HUE_CURVE_IDENTITY = [];
384
+ const HUE_CURVE_LIMITS = {
385
+ hueVsHue: COLOR_GRADING_ADVANCED_LIMITS.secondaryHueShift,
386
+ hueVsSaturation: COLOR_GRADING_ADVANCED_LIMITS.signedUnit,
387
+ hueVsLuma: COLOR_GRADING_ADVANCED_LIMITS.signedUnit,
388
+ };
389
+ const SECONDARY_HUE_DEFAULT = {
390
+ center: 0,
391
+ range: 180,
392
+ softness: 0,
374
393
  };
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 },
394
+ const SECONDARY_SOFT_RANGE_DEFAULT = {
395
+ min: 0,
396
+ max: 1,
397
+ softness: 0.05,
381
398
  };
399
+ const DETAIL_LIMITS = {
400
+ vignette: COLOR_GRADING_ADVANCED_LIMITS.unit,
401
+ vignetteMidpoint: COLOR_GRADING_ADVANCED_LIMITS.unit,
402
+ vignetteRoundness: COLOR_GRADING_ADVANCED_LIMITS.signedUnit,
403
+ vignetteFeather: COLOR_GRADING_ADVANCED_LIMITS.unit,
404
+ grain: COLOR_GRADING_ADVANCED_LIMITS.unit,
405
+ grainSize: COLOR_GRADING_ADVANCED_LIMITS.unit,
406
+ grainRoughness: COLOR_GRADING_ADVANCED_LIMITS.unit,
407
+ };
408
+ const UNIT_LIMIT = COLOR_GRADING_ADVANCED_LIMITS.unit;
409
+ const EFFECT_LIMIT_OVERRIDES = COLOR_GRADING_ADVANCED_LIMITS.effects;
382
410
  export const HF_COLOR_GRADING_ACTIVE_EFFECT_KEYS = [
383
411
  "blur",
384
412
  "pixelate",
@@ -614,7 +642,7 @@ const MULTIPASS_EFFECT_KEYS = new Set(["blur", "bloom", "kuwahara"]);
614
642
  /** Agent-readable view of the canonical grading and effect contracts. */
615
643
  export function getHfColorGradingCapabilities() {
616
644
  return {
617
- version: 1,
645
+ version: COLOR_GRADING_CONTRACT_VERSION,
618
646
  targetTags: ["img", "video"],
619
647
  colorSpace: HF_COLOR_GRADING_COLOR_SPACE,
620
648
  intensity: { identity: 1, min: 0, max: 1 },
@@ -634,6 +662,71 @@ export function getHfColorGradingCapabilities() {
634
662
  identity: ADJUST_ZERO[key],
635
663
  ...ADJUST_LIMITS[key],
636
664
  })),
665
+ wheels: {
666
+ zones: HF_COLOR_GRADING_WHEEL_KEYS,
667
+ controls: {
668
+ hue: {
669
+ identity: 0,
670
+ unit: "degrees",
671
+ wrap: true,
672
+ min: COLOR_GRADING_ADVANCED_LIMITS.hueDegrees.min,
673
+ maxExclusive: COLOR_GRADING_ADVANCED_LIMITS.hueDegrees.max,
674
+ },
675
+ amount: { identity: 0, ...WHEEL_LIMITS.amount },
676
+ level: { identity: 0, ...WHEEL_LIMITS.level },
677
+ },
678
+ },
679
+ curves: {
680
+ channels: HF_COLOR_GRADING_CURVE_KEYS,
681
+ input: { min: 0, max: 1 },
682
+ output: { min: 0, max: 1 },
683
+ minPoints: 2,
684
+ maxPoints: COLOR_GRADING_MAX_CURVE_POINTS,
685
+ implicitEndpoints: true,
686
+ endpointsCountTowardMax: true,
687
+ },
688
+ hueCurves: {
689
+ channels: HF_COLOR_GRADING_HUE_CURVE_KEYS.map((key) => ({
690
+ key,
691
+ input: { min: 0, maxExclusive: 360, unit: "degrees", wrap: true },
692
+ output: HUE_CURVE_LIMITS[key],
693
+ })),
694
+ minPoints: 3,
695
+ maxPoints: COLOR_GRADING_MAX_CURVE_POINTS,
696
+ },
697
+ secondaries: {
698
+ max: COLOR_GRADING_MAX_SECONDARIES,
699
+ hue: {
700
+ center: {
701
+ min: COLOR_GRADING_ADVANCED_LIMITS.hueDegrees.min,
702
+ maxExclusive: COLOR_GRADING_ADVANCED_LIMITS.hueDegrees.max,
703
+ unit: "degrees",
704
+ wrap: true,
705
+ },
706
+ range: { ...COLOR_GRADING_ADVANCED_LIMITS.secondaryHueRange, unit: "degrees" },
707
+ softness: { ...COLOR_GRADING_ADVANCED_LIMITS.secondaryHueSoftness, unit: "degrees" },
708
+ rangePlusSoftnessMax: COLOR_GRADING_ADVANCED_LIMITS.secondaryHueCombinedMax,
709
+ },
710
+ saturation: {
711
+ min: { ...UNIT_LIMIT },
712
+ max: { ...UNIT_LIMIT },
713
+ relation: "min < max",
714
+ softness: { ...COLOR_GRADING_ADVANCED_LIMITS.secondarySoftRangeSoftness },
715
+ },
716
+ luma: {
717
+ min: { ...UNIT_LIMIT },
718
+ max: { ...UNIT_LIMIT },
719
+ relation: "min < max",
720
+ softness: { ...COLOR_GRADING_ADVANCED_LIMITS.secondarySoftRangeSoftness },
721
+ },
722
+ correction: {
723
+ hueShift: { ...COLOR_GRADING_ADVANCED_LIMITS.secondaryHueShift, unit: "degrees" },
724
+ saturation: { ...COLOR_GRADING_ADVANCED_LIMITS.signedUnit },
725
+ luma: { ...COLOR_GRADING_ADVANCED_LIMITS.signedUnit },
726
+ temperature: { ...COLOR_GRADING_ADVANCED_LIMITS.signedUnit },
727
+ tint: { ...COLOR_GRADING_ADVANCED_LIMITS.signedUnit },
728
+ },
729
+ },
637
730
  effectFamilies: EFFECT_FAMILIES,
638
731
  finishing: HF_COLOR_GRADING_DETAIL_KEYS.map((key) => ({
639
732
  key,
@@ -694,6 +787,195 @@ function readLimitedValue(value, limit) {
694
787
  return 0;
695
788
  return clamp(parsed, limit.min, limit.max);
696
789
  }
790
+ function wrapDegrees(value, fallback = 0) {
791
+ const parsed = typeof value === "number" ? value : Number(value);
792
+ if (!Number.isFinite(parsed))
793
+ return fallback;
794
+ return ((parsed % 360) + 360) % 360;
795
+ }
796
+ function smoothstep(min, max, value) {
797
+ const normalized = clamp((value - min) / (max - min), 0, 1);
798
+ return normalized * normalized * (3 - 2 * normalized);
799
+ }
800
+ function softRangeMask(value, min, max, softness) {
801
+ if (value < min) {
802
+ return softness <= 0 ? 0 : smoothstep(min - softness, min, value);
803
+ }
804
+ if (value > max) {
805
+ return softness <= 0 ? 0 : 1 - smoothstep(max, max + softness, value);
806
+ }
807
+ return 1;
808
+ }
809
+ /**
810
+ * Mirrors the runtime shader's HSL-secondary qualifier for Studio mattes and
811
+ * other non-WebGL verification surfaces.
812
+ */
813
+ export function calculateHfColorGradingSecondaryMask(hue, saturation, luma, key) {
814
+ const hueDistance = Math.abs(((((hue - key.hue.center + 540) % 360) + 360) % 360) - 180);
815
+ const hueMask = key.hue.range < 179.999 && saturation < 0.001
816
+ ? 0
817
+ : hueDistance <= key.hue.range
818
+ ? 1
819
+ : key.hue.softness <= 0
820
+ ? 0
821
+ : 1 - smoothstep(key.hue.range, key.hue.range + key.hue.softness, hueDistance);
822
+ return (hueMask *
823
+ softRangeMask(saturation, key.saturation.min, key.saturation.max, key.saturation.softness) *
824
+ softRangeMask(luma, key.luma.min, key.luma.max, key.luma.softness));
825
+ }
826
+ function normalizeWheels(value) {
827
+ const wheels = isRecord(value) ? value : {};
828
+ return HF_COLOR_GRADING_WHEEL_KEYS.reduce((result, key) => {
829
+ const wheel = isRecord(wheels[key]) ? wheels[key] : {};
830
+ result[key] = {
831
+ hue: wrapDegrees(wheel.hue, TONAL_WHEEL_DEFAULT.hue),
832
+ amount: readLimitedValue(wheel.amount ?? TONAL_WHEEL_DEFAULT.amount, WHEEL_LIMITS.amount),
833
+ level: readLimitedValue(wheel.level ?? TONAL_WHEEL_DEFAULT.level, WHEEL_LIMITS.level),
834
+ };
835
+ return result;
836
+ }, {
837
+ shadows: { ...TONAL_WHEEL_DEFAULT },
838
+ midtones: { ...TONAL_WHEEL_DEFAULT },
839
+ highlights: { ...TONAL_WHEEL_DEFAULT },
840
+ });
841
+ }
842
+ function normalizeCurvePoint(value) {
843
+ if (!Array.isArray(value) || value.length !== 2)
844
+ return null;
845
+ const input = Number(value[0]);
846
+ const output = Number(value[1]);
847
+ return Number.isFinite(input) && Number.isFinite(output)
848
+ ? [clamp(input, 0, 1), clamp(output, 0, 1)]
849
+ : null;
850
+ }
851
+ function hasDuplicateCurveInputs(points) {
852
+ return points.some((point, index) => index > 0 && point[0] === points[index - 1]?.[0]);
853
+ }
854
+ function completeCurveEndpoints(points) {
855
+ if ((points[0]?.[0] ?? 0) > 0)
856
+ points.unshift([0, 0]);
857
+ if ((points.at(-1)?.[0] ?? 1) < 1)
858
+ points.push([1, 1]);
859
+ }
860
+ function normalizeCurve(value) {
861
+ if (!Array.isArray(value) || value.length < 2)
862
+ return RGB_CURVE_IDENTITY;
863
+ const points = [];
864
+ for (const valuePoint of value) {
865
+ const point = normalizeCurvePoint(valuePoint);
866
+ if (!point)
867
+ return RGB_CURVE_IDENTITY;
868
+ points.push(point);
869
+ }
870
+ points.sort((a, b) => a[0] - b[0]);
871
+ if (hasDuplicateCurveInputs(points))
872
+ return RGB_CURVE_IDENTITY;
873
+ completeCurveEndpoints(points);
874
+ if (points.length > COLOR_GRADING_MAX_CURVE_POINTS)
875
+ return RGB_CURVE_IDENTITY;
876
+ return points;
877
+ }
878
+ function normalizeCurves(value) {
879
+ const curves = isRecord(value) ? value : {};
880
+ return HF_COLOR_GRADING_CURVE_KEYS.reduce((result, key) => {
881
+ result[key] = normalizeCurve(curves[key]);
882
+ return result;
883
+ }, {
884
+ master: RGB_CURVE_IDENTITY,
885
+ red: RGB_CURVE_IDENTITY,
886
+ green: RGB_CURVE_IDENTITY,
887
+ blue: RGB_CURVE_IDENTITY,
888
+ });
889
+ }
890
+ function normalizeHueCurvePoint(value, limit) {
891
+ if (!Array.isArray(value) || value.length !== 2)
892
+ return null;
893
+ const hue = Number(value[0]);
894
+ const delta = Number(value[1]);
895
+ return Number.isFinite(hue) && Number.isFinite(delta)
896
+ ? [wrapDegrees(hue), clamp(delta, limit.min, limit.max)]
897
+ : null;
898
+ }
899
+ function normalizeHueCurve(value, limit) {
900
+ if (!Array.isArray(value) || value.length < 3 || value.length > COLOR_GRADING_MAX_CURVE_POINTS) {
901
+ return HUE_CURVE_IDENTITY;
902
+ }
903
+ const points = [];
904
+ for (const candidate of value) {
905
+ const point = normalizeHueCurvePoint(candidate, limit);
906
+ if (!point)
907
+ return HUE_CURVE_IDENTITY;
908
+ points.push(point);
909
+ }
910
+ points.sort((a, b) => a[0] - b[0]);
911
+ return hasDuplicateCurveInputs(points) ? HUE_CURVE_IDENTITY : points;
912
+ }
913
+ function normalizeHueCurves(value) {
914
+ const curves = isRecord(value) ? value : {};
915
+ return HF_COLOR_GRADING_HUE_CURVE_KEYS.reduce((result, key) => {
916
+ result[key] = normalizeHueCurve(curves[key], HUE_CURVE_LIMITS[key]);
917
+ return result;
918
+ }, {
919
+ hueVsHue: HUE_CURVE_IDENTITY,
920
+ hueVsSaturation: HUE_CURVE_IDENTITY,
921
+ hueVsLuma: HUE_CURVE_IDENTITY,
922
+ });
923
+ }
924
+ function normalizeSoftRange(value) {
925
+ const range = isRecord(value) ? value : {};
926
+ const first = readLimitedValue(range.min ?? SECONDARY_SOFT_RANGE_DEFAULT.min, UNIT_LIMIT);
927
+ const second = readLimitedValue(range.max ?? SECONDARY_SOFT_RANGE_DEFAULT.max, UNIT_LIMIT);
928
+ return {
929
+ min: Math.min(first, second),
930
+ max: Math.max(first, second),
931
+ softness: readLimitedValue(range.softness ?? SECONDARY_SOFT_RANGE_DEFAULT.softness, COLOR_GRADING_ADVANCED_LIMITS.secondarySoftRangeSoftness),
932
+ };
933
+ }
934
+ function normalizeSecondaryHue(value) {
935
+ const hue = isRecord(value) ? value : {};
936
+ const range = readLimitedValue(hue.range ?? SECONDARY_HUE_DEFAULT.range, COLOR_GRADING_ADVANCED_LIMITS.secondaryHueRange);
937
+ return {
938
+ center: wrapDegrees(hue.center, SECONDARY_HUE_DEFAULT.center),
939
+ range,
940
+ softness: readLimitedValue(hue.softness ?? SECONDARY_HUE_DEFAULT.softness, {
941
+ min: COLOR_GRADING_ADVANCED_LIMITS.secondaryHueSoftness.min,
942
+ max: COLOR_GRADING_ADVANCED_LIMITS.secondaryHueCombinedMax - range,
943
+ }),
944
+ };
945
+ }
946
+ function normalizeSecondaryCorrection(value) {
947
+ return {
948
+ hueShift: readLimitedValue(value.hueShift ?? 0, COLOR_GRADING_ADVANCED_LIMITS.secondaryHueShift),
949
+ saturation: readLimitedValue(value.saturation ?? 0, COLOR_GRADING_ADVANCED_LIMITS.signedUnit),
950
+ luma: readLimitedValue(value.luma ?? 0, COLOR_GRADING_ADVANCED_LIMITS.signedUnit),
951
+ temperature: readLimitedValue(value.temperature ?? 0, COLOR_GRADING_ADVANCED_LIMITS.signedUnit),
952
+ tint: readLimitedValue(value.tint ?? 0, COLOR_GRADING_ADVANCED_LIMITS.signedUnit),
953
+ };
954
+ }
955
+ function normalizeSecondary(value) {
956
+ if (!isRecord(value) || !isRecord(value.key) || !isRecord(value.correction))
957
+ return null;
958
+ return {
959
+ enabled: value.enabled !== false,
960
+ key: {
961
+ hue: normalizeSecondaryHue(value.key.hue),
962
+ saturation: normalizeSoftRange(value.key.saturation),
963
+ luma: normalizeSoftRange(value.key.luma),
964
+ },
965
+ correction: normalizeSecondaryCorrection(value.correction),
966
+ };
967
+ }
968
+ function normalizeSecondaries(value) {
969
+ if (!Array.isArray(value))
970
+ return [];
971
+ const result = [];
972
+ for (const candidate of value.slice(0, COLOR_GRADING_MAX_SECONDARIES)) {
973
+ const secondary = normalizeSecondary(candidate);
974
+ if (secondary)
975
+ result.push(secondary);
976
+ }
977
+ return result;
978
+ }
697
979
  function normalizePresetId(value) {
698
980
  if (value == null)
699
981
  return null;
@@ -757,6 +1039,9 @@ export function resolveHfColorGradingVariables(raw, variables) {
757
1039
  return raw;
758
1040
  }
759
1041
  }
1042
+ if (Array.isArray(raw)) {
1043
+ return raw.map((value) => resolveHfColorGradingVariables(value, variables));
1044
+ }
760
1045
  if (!isRecord(raw))
761
1046
  return raw;
762
1047
  const resolved = {};
@@ -801,6 +1086,10 @@ export function normalizeHfColorGrading(raw) {
801
1086
  preset: presetId,
802
1087
  intensity: clampUnit(grading.intensity, preset?.intensity ?? 1),
803
1088
  adjust,
1089
+ wheels: normalizeWheels(grading.wheels),
1090
+ curves: normalizeCurves(grading.curves),
1091
+ hueCurves: normalizeHueCurves(grading.hueCurves),
1092
+ secondaries: normalizeSecondaries(grading.secondaries),
804
1093
  details,
805
1094
  effects,
806
1095
  palette: normalizePalette(grading.palette),
@@ -813,12 +1102,34 @@ export function normalizeHfColorGrading(raw) {
813
1102
  export function normalizeHfColorGradingWithVariables(raw, variables) {
814
1103
  return normalizeHfColorGrading(resolveHfColorGradingVariables(raw, variables));
815
1104
  }
1105
+ function hasWheelGrade(wheels) {
1106
+ return HF_COLOR_GRADING_WHEEL_KEYS.some((key) => Math.abs(wheels[key].amount) > 0.0001 || Math.abs(wheels[key].level) > 0.0001);
1107
+ }
1108
+ export function hasHfColorGradingRgbCurveValues(curves) {
1109
+ return HF_COLOR_GRADING_CURVE_KEYS.some((key) => curves[key].some(([input, output]) => Math.abs(input - output) > 0.0001));
1110
+ }
1111
+ export function hasHfColorGradingHueCurveValues(curves) {
1112
+ return HF_COLOR_GRADING_HUE_CURVE_KEYS.some((key) => curves[key].some(([, delta]) => Math.abs(delta) > 0.0001));
1113
+ }
1114
+ export function hasHfColorGradingSecondaryValues(secondaries) {
1115
+ return secondaries.some((secondary) => secondary.enabled &&
1116
+ Object.values(secondary.correction).some((value) => Math.abs(value) > 0.0001));
1117
+ }
816
1118
  export function serializeHfColorGrading(grading) {
817
1119
  const normalized = normalizeHfColorGrading(grading);
818
1120
  if (!normalized)
819
1121
  return "";
820
- const { enabled: _enabled, palette, ...serializable } = normalized;
821
- return JSON.stringify(palette ? { ...serializable, palette } : serializable);
1122
+ const { enabled: _enabled, wheels, curves, hueCurves, secondaries, palette, ...serializable } = normalized;
1123
+ return JSON.stringify({
1124
+ ...serializable,
1125
+ ...(hasWheelGrade(wheels) ? { wheels } : {}),
1126
+ ...(hasHfColorGradingRgbCurveValues(curves) ? { curves } : {}),
1127
+ ...(hasHfColorGradingHueCurveValues(hueCurves) ? { hueCurves } : {}),
1128
+ // Preserve a keyed secondary even before it changes pixels so Studio and
1129
+ // CLI can author its qualifier and correction in separate transactions.
1130
+ ...(secondaries.length > 0 ? { secondaries } : {}),
1131
+ ...(palette ? { palette } : {}),
1132
+ });
822
1133
  }
823
1134
  export function isHfColorGradingActive(grading) {
824
1135
  if (!grading?.enabled)
@@ -832,6 +1143,17 @@ export function isHfColorGradingActive(grading) {
832
1143
  return false;
833
1144
  if (grading.lut && grading.lut.intensity !== 0)
834
1145
  return true;
835
- return HF_COLOR_GRADING_ADJUST_KEYS.some((key) => Math.abs(grading.adjust[key]) > 0.0001);
1146
+ return (HF_COLOR_GRADING_ADJUST_KEYS.some((key) => Math.abs(grading.adjust[key]) > 0.0001) ||
1147
+ (grading.wheels ? hasWheelGrade(grading.wheels) : false) ||
1148
+ (grading.curves ? hasHfColorGradingRgbCurveValues(grading.curves) : false) ||
1149
+ (grading.hueCurves ? hasHfColorGradingHueCurveValues(grading.hueCurves) : false) ||
1150
+ (grading.secondaries ? hasHfColorGradingSecondaryValues(grading.secondaries) : false));
1151
+ }
1152
+ export function hasHfColorGradingAuthoredValues(grading) {
1153
+ if (!grading)
1154
+ return false;
1155
+ if (grading.secondaries?.length)
1156
+ return true;
1157
+ return isHfColorGradingActive(grading);
836
1158
  }
837
1159
  //# sourceMappingURL=colorGrading.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"colorGrading.js","sourceRoot":"","sources":["../src/colorGrading.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"colorGrading.js","sourceRoot":"","sources":["../src/colorGrading.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ export type HfColorCurvePoint = readonly [input: number, output: number];
2
+ export type HfHueCurvePoint = readonly [hueDegrees: number, delta: number];
3
+ export declare const HF_COLOR_CURVE_LUT_SIZE = 1024;
4
+ export declare const HF_COLOR_CURVE_MAX_POINTS = 16;
5
+ /** Samples a shape-preserving cubic curve into a GPU-ready 1D lookup table. */
6
+ export declare function compileHfColorCurve(points: readonly HfColorCurvePoint[], size?: number): Float32Array;
7
+ /** Samples a periodic hue curve without duplicating the 0/360-degree texel. */
8
+ export declare function compileHfHueCurve(points: readonly HfHueCurvePoint[], outputMin: number, outputMax: number, size?: number): Float32Array;
9
+ //# sourceMappingURL=colorGradingCurves.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"colorGradingCurves.d.ts","sourceRoot":"","sources":["../src/colorGradingCurves.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,iBAAiB,GAAG,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AACzE,MAAM,MAAM,eAAe,GAAG,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;AAE3E,eAAO,MAAM,uBAAuB,OAAO,CAAC;AAC5C,eAAO,MAAM,yBAAyB,KAAiC,CAAC;AAiJxE,+EAA+E;AAC/E,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,SAAS,iBAAiB,EAAE,EACpC,IAAI,SAA0B,GAC7B,YAAY,CAYd;AAED,+EAA+E;AAC/E,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,SAAS,eAAe,EAAE,EAClC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,IAAI,SAA0B,GAC7B,YAAY,CAoBd"}