@hyperframes/core 0.7.37 → 0.7.39

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,8 +1,13 @@
1
1
  export declare const HF_COLOR_GRADING_ATTR = "data-color-grading";
2
+ export declare const HF_COLOR_GRADING_CANVAS_ID_PREFIX = "__hf_color_grading_";
2
3
  export declare const HF_COLOR_GRADING_COLOR_SPACE = "rec709";
3
- export type HfColorGradingPresetId = "neutral" | "warm-clean" | "cool-clean" | "soft-boost" | "bright-pop" | "deep-contrast";
4
- export type HfColorGradingAdjustKey = "exposure" | "contrast" | "highlights" | "shadows" | "whites" | "blacks" | "temperature" | "tint" | "saturation";
4
+ export type HfColorGradingPresetId = "neutral" | "natural-lift" | "fresh-pop" | "warm-daylight" | "clean-studio" | "skin-soft" | "food-pop" | "night-lift" | "muted-editorial" | "vintage-wash" | "mono-clean" | "mono-fade" | "warm-clean" | "cool-clean" | "soft-boost" | "bright-pop" | "deep-contrast";
5
+ export type HfColorGradingAdjustKey = "exposure" | "contrast" | "highlights" | "shadows" | "whites" | "blacks" | "temperature" | "tint" | "vibrance" | "saturation";
5
6
  export type HfColorGradingAdjust = Partial<Record<HfColorGradingAdjustKey, number>>;
7
+ export type HfColorGradingDetailKey = "vignette" | "vignetteMidpoint" | "vignetteRoundness" | "vignetteFeather" | "grain" | "grainSize" | "grainRoughness";
8
+ export type HfColorGradingDetails = Partial<Record<HfColorGradingDetailKey, number>>;
9
+ export type HfColorGradingEffectKey = "blur" | "pixelate";
10
+ export type HfColorGradingEffects = Partial<Record<HfColorGradingEffectKey, number>>;
6
11
  export interface HfColorGradingLutRef {
7
12
  src: string;
8
13
  intensity?: number;
@@ -12,6 +17,8 @@ export interface HfColorGrading {
12
17
  preset?: HfColorGradingPresetId | string | null;
13
18
  intensity?: number;
14
19
  adjust?: HfColorGradingAdjust;
20
+ details?: HfColorGradingDetails;
21
+ effects?: HfColorGradingEffects;
15
22
  lut?: HfColorGradingLutRef | string | null;
16
23
  colorSpace?: typeof HF_COLOR_GRADING_COLOR_SPACE | string;
17
24
  }
@@ -20,6 +27,8 @@ export interface NormalizedHfColorGrading {
20
27
  preset: HfColorGradingPresetId | string | null;
21
28
  intensity: number;
22
29
  adjust: Record<HfColorGradingAdjustKey, number>;
30
+ details: Record<HfColorGradingDetailKey, number>;
31
+ effects: Record<HfColorGradingEffectKey, number>;
23
32
  lut: HfColorGradingLutRef | null;
24
33
  colorSpace: typeof HF_COLOR_GRADING_COLOR_SPACE | string;
25
34
  }
@@ -33,9 +42,13 @@ export interface HfColorGradingPreset {
33
42
  id: HfColorGradingPresetId;
34
43
  label: string;
35
44
  adjust: Record<HfColorGradingAdjustKey, number>;
45
+ details: Record<HfColorGradingDetailKey, number>;
46
+ effects: Record<HfColorGradingEffectKey, number>;
36
47
  }
37
48
  export type HfColorGradingVariableMap = Record<string, unknown>;
38
49
  export declare const HF_COLOR_GRADING_ADJUST_KEYS: readonly HfColorGradingAdjustKey[];
50
+ export declare const HF_COLOR_GRADING_DETAIL_KEYS: readonly HfColorGradingDetailKey[];
51
+ export declare const HF_COLOR_GRADING_EFFECT_KEYS: readonly HfColorGradingEffectKey[];
39
52
  export declare const HF_COLOR_GRADING_PRESETS: readonly HfColorGradingPreset[];
40
53
  export declare function resolveHfColorGradingVariables(raw: unknown, variables: HfColorGradingVariableMap): unknown;
41
54
  export declare function normalizeHfColorGrading(raw: unknown): NormalizedHfColorGrading | null;
@@ -1 +1 @@
1
- {"version":3,"file":"colorGrading.d.ts","sourceRoot":"","sources":["../src/colorGrading.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB,uBAAuB,CAAC;AAE1D,eAAO,MAAM,4BAA4B,WAAW,CAAC;AAErD,MAAM,MAAM,sBAAsB,GAC9B,SAAS,GACT,YAAY,GACZ,YAAY,GACZ,YAAY,GACZ,YAAY,GACZ,eAAe,CAAC;AAEpB,MAAM,MAAM,uBAAuB,GAC/B,UAAU,GACV,UAAU,GACV,YAAY,GACZ,SAAS,GACT,QAAQ,GACR,QAAQ,GACR,aAAa,GACb,MAAM,GACN,YAAY,CAAC;AAEjB,MAAM,MAAM,oBAAoB,GAAG,OAAO,CAAC,MAAM,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC,CAAC;AAEpF,MAAM,WAAW,oBAAoB;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,sBAAsB,GAAG,MAAM,GAAG,IAAI,CAAC;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,oBAAoB,CAAC;IAC9B,GAAG,CAAC,EAAE,oBAAoB,GAAG,MAAM,GAAG,IAAI,CAAC;IAC3C,UAAU,CAAC,EAAE,OAAO,4BAA4B,GAAG,MAAM,CAAC;CAC3D;AAED,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,sBAAsB,GAAG,MAAM,GAAG,IAAI,CAAC;IAC/C,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC;IAChD,GAAG,EAAE,oBAAoB,GAAG,IAAI,CAAC;IACjC,UAAU,EAAE,OAAO,4BAA4B,GAAG,MAAM,CAAC;CAC1D;AAED,MAAM,WAAW,oBAAoB;IACnC,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAED,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,sBAAsB,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC;CACjD;AAED,MAAM,MAAM,yBAAyB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAchE,eAAO,MAAM,4BAA4B,EAAE,SAAS,uBAAuB,EAU1E,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,SAAS,oBAAoB,EAqEnE,CAAC;AAuFF,wBAAgB,8BAA8B,CAC5C,GAAG,EAAE,OAAO,EACZ,SAAS,EAAE,yBAAyB,GACnC,OAAO,CAmBT;AAOD,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,OAAO,GAAG,wBAAwB,GAAG,IAAI,CA4BrF;AAED,wBAAgB,oCAAoC,CAClD,GAAG,EAAE,OAAO,EACZ,SAAS,EAAE,yBAAyB,GACnC,wBAAwB,GAAG,IAAI,CAEjC;AAED,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,wBAAwB,GAAG,cAAc,GAAG,IAAI,GACxD,MAAM,CAKR;AAED,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,wBAAwB,GAAG,IAAI,GACvC,OAAO,IAAI,wBAAwB,CAKrC"}
1
+ {"version":3,"file":"colorGrading.d.ts","sourceRoot":"","sources":["../src/colorGrading.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB,uBAAuB,CAAC;AAE1D,eAAO,MAAM,iCAAiC,wBAAwB,CAAC;AAEvE,eAAO,MAAM,4BAA4B,WAAW,CAAC;AAErD,MAAM,MAAM,sBAAsB,GAC9B,SAAS,GACT,cAAc,GACd,WAAW,GACX,eAAe,GACf,cAAc,GACd,WAAW,GACX,UAAU,GACV,YAAY,GACZ,iBAAiB,GACjB,cAAc,GACd,YAAY,GACZ,WAAW,GACX,YAAY,GACZ,YAAY,GACZ,YAAY,GACZ,YAAY,GACZ,eAAe,CAAC;AAEpB,MAAM,MAAM,uBAAuB,GAC/B,UAAU,GACV,UAAU,GACV,YAAY,GACZ,SAAS,GACT,QAAQ,GACR,QAAQ,GACR,aAAa,GACb,MAAM,GACN,UAAU,GACV,YAAY,CAAC;AAEjB,MAAM,MAAM,oBAAoB,GAAG,OAAO,CAAC,MAAM,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC,CAAC;AAEpF,MAAM,MAAM,uBAAuB,GAC/B,UAAU,GACV,kBAAkB,GAClB,mBAAmB,GACnB,iBAAiB,GACjB,OAAO,GACP,WAAW,GACX,gBAAgB,CAAC;AAErB,MAAM,MAAM,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC,CAAC;AAErF,MAAM,MAAM,uBAAuB,GAAG,MAAM,GAAG,UAAU,CAAC;AAE1D,MAAM,MAAM,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC,CAAC;AAErF,MAAM,WAAW,oBAAoB;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,sBAAsB,GAAG,MAAM,GAAG,IAAI,CAAC;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,oBAAoB,CAAC;IAC9B,OAAO,CAAC,EAAE,qBAAqB,CAAC;IAChC,OAAO,CAAC,EAAE,qBAAqB,CAAC;IAChC,GAAG,CAAC,EAAE,oBAAoB,GAAG,MAAM,GAAG,IAAI,CAAC;IAC3C,UAAU,CAAC,EAAE,OAAO,4BAA4B,GAAG,MAAM,CAAC;CAC3D;AAED,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,sBAAsB,GAAG,MAAM,GAAG,IAAI,CAAC;IAC/C,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC;IAChD,OAAO,EAAE,MAAM,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC;IACjD,OAAO,EAAE,MAAM,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC;IACjD,GAAG,EAAE,oBAAoB,GAAG,IAAI,CAAC;IACjC,UAAU,EAAE,OAAO,4BAA4B,GAAG,MAAM,CAAC;CAC1D;AAED,MAAM,WAAW,oBAAoB;IACnC,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAED,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,sBAAsB,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC;IAChD,OAAO,EAAE,MAAM,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC;IACjD,OAAO,EAAE,MAAM,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC;CAClD;AAED,MAAM,MAAM,yBAAyB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAgChE,eAAO,MAAM,4BAA4B,EAEpC,SAAS,uBAAuB,EAAE,CAAC;AAExC,eAAO,MAAM,4BAA4B,EAEpC,SAAS,uBAAuB,EAAE,CAAC;AAExC,eAAO,MAAM,4BAA4B,EAEpC,SAAS,uBAAuB,EAAE,CAAC;AAiBxC,eAAO,MAAM,wBAAwB,EAAE,SAAS,oBAAoB,EAkKnE,CAAC;AAsGF,wBAAgB,8BAA8B,CAC5C,GAAG,EAAE,OAAO,EACZ,SAAS,EAAE,yBAAyB,GACnC,OAAO,CAmBT;AAOD,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,OAAO,GAAG,wBAAwB,GAAG,IAAI,CAgDrF;AAED,wBAAgB,oCAAoC,CAClD,GAAG,EAAE,OAAO,EACZ,SAAS,EAAE,yBAAyB,GACnC,wBAAwB,GAAG,IAAI,CAEjC;AAED,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,wBAAwB,GAAG,cAAc,GAAG,IAAI,GACxD,MAAM,CAKR;AAED,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,wBAAwB,GAAG,IAAI,GACvC,OAAO,IAAI,wBAAwB,CAUrC"}
@@ -1,4 +1,5 @@
1
1
  export const HF_COLOR_GRADING_ATTR = "data-color-grading";
2
+ export const HF_COLOR_GRADING_CANVAS_ID_PREFIX = "__hf_color_grading_";
2
3
  export const HF_COLOR_GRADING_COLOR_SPACE = "rec709";
3
4
  const ADJUST_ZERO = {
4
5
  exposure: 0,
@@ -9,88 +10,178 @@ const ADJUST_ZERO = {
9
10
  blacks: 0,
10
11
  temperature: 0,
11
12
  tint: 0,
13
+ vibrance: 0,
12
14
  saturation: 0,
13
15
  };
14
- export const HF_COLOR_GRADING_ADJUST_KEYS = [
15
- "exposure",
16
- "contrast",
17
- "highlights",
18
- "shadows",
19
- "whites",
20
- "blacks",
21
- "temperature",
22
- "tint",
23
- "saturation",
24
- ];
16
+ // Detail sub-controls keep identity-state defaults so enabling vignette/grain starts from useful
17
+ // perceptual settings instead of raw mathematical zeroes.
18
+ const DETAIL_ZERO = {
19
+ vignette: 0,
20
+ vignetteMidpoint: 0.5,
21
+ vignetteRoundness: 0,
22
+ vignetteFeather: 0.65,
23
+ grain: 0,
24
+ grainSize: 0.25,
25
+ grainRoughness: 0.5,
26
+ };
27
+ const EFFECT_ZERO = {
28
+ blur: 0,
29
+ pixelate: 0,
30
+ };
31
+ export const HF_COLOR_GRADING_ADJUST_KEYS = Object.keys(ADJUST_ZERO);
32
+ export const HF_COLOR_GRADING_DETAIL_KEYS = Object.keys(DETAIL_ZERO);
33
+ export const HF_COLOR_GRADING_EFFECT_KEYS = Object.keys(EFFECT_ZERO);
34
+ function preset(id, label, adjust = {}, details = {}) {
35
+ return {
36
+ id,
37
+ label,
38
+ adjust: { ...ADJUST_ZERO, ...adjust },
39
+ details: { ...DETAIL_ZERO, ...details },
40
+ effects: { ...EFFECT_ZERO },
41
+ };
42
+ }
25
43
  export const HF_COLOR_GRADING_PRESETS = [
26
- {
27
- id: "neutral",
28
- label: "Neutral",
29
- adjust: { ...ADJUST_ZERO },
30
- },
31
- {
32
- id: "warm-clean",
33
- label: "Warm Clean",
34
- adjust: {
35
- ...ADJUST_ZERO,
36
- exposure: 0.05,
37
- contrast: 0.08,
38
- highlights: -0.08,
39
- shadows: 0.08,
40
- temperature: 0.16,
41
- saturation: 0.06,
42
- },
43
- },
44
- {
45
- id: "cool-clean",
46
- label: "Cool Clean",
47
- adjust: {
48
- ...ADJUST_ZERO,
49
- contrast: 0.06,
50
- highlights: -0.06,
51
- shadows: 0.06,
52
- temperature: -0.12,
53
- tint: 0.04,
54
- saturation: 0.04,
55
- },
56
- },
57
- {
58
- id: "soft-boost",
59
- label: "Soft Boost",
60
- adjust: {
61
- ...ADJUST_ZERO,
62
- exposure: 0.06,
63
- contrast: -0.04,
64
- highlights: -0.14,
65
- shadows: 0.16,
66
- saturation: 0.1,
67
- },
68
- },
69
- {
70
- id: "bright-pop",
71
- label: "Bright Pop",
72
- adjust: {
73
- ...ADJUST_ZERO,
74
- exposure: 0.12,
75
- contrast: 0.12,
76
- whites: 0.08,
77
- blacks: -0.04,
78
- saturation: 0.14,
79
- },
80
- },
81
- {
82
- id: "deep-contrast",
83
- label: "Deep Contrast",
84
- adjust: {
85
- ...ADJUST_ZERO,
86
- exposure: -0.03,
87
- contrast: 0.2,
88
- highlights: -0.08,
89
- shadows: -0.08,
90
- blacks: -0.12,
91
- saturation: 0.06,
92
- },
93
- },
44
+ preset("neutral", "Neutral"),
45
+ preset("natural-lift", "Natural Lift", {
46
+ exposure: 0.04,
47
+ contrast: 0.06,
48
+ highlights: -0.06,
49
+ shadows: 0.08,
50
+ saturation: 0.05,
51
+ }),
52
+ preset("fresh-pop", "Fresh Pop", {
53
+ exposure: 0.08,
54
+ contrast: 0.12,
55
+ whites: 0.06,
56
+ shadows: 0.04,
57
+ temperature: -0.02,
58
+ vibrance: 0.08,
59
+ saturation: 0.16,
60
+ }),
61
+ preset("warm-daylight", "Warm Daylight", {
62
+ exposure: 0.06,
63
+ contrast: 0.07,
64
+ highlights: -0.06,
65
+ shadows: 0.08,
66
+ temperature: 0.18,
67
+ saturation: 0.08,
68
+ }),
69
+ preset("clean-studio", "Clean Studio", {
70
+ contrast: 0.08,
71
+ highlights: -0.08,
72
+ shadows: 0.06,
73
+ temperature: -0.08,
74
+ tint: 0.03,
75
+ saturation: 0.04,
76
+ }),
77
+ preset("skin-soft", "Skin Soft", {
78
+ exposure: 0.04,
79
+ contrast: -0.03,
80
+ highlights: -0.12,
81
+ shadows: 0.12,
82
+ temperature: 0.08,
83
+ tint: 0.02,
84
+ saturation: 0.04,
85
+ }),
86
+ preset("food-pop", "Food Pop", {
87
+ exposure: 0.06,
88
+ contrast: 0.1,
89
+ shadows: 0.06,
90
+ temperature: 0.14,
91
+ vibrance: 0.1,
92
+ saturation: 0.18,
93
+ }),
94
+ preset("night-lift", "Night Lift", {
95
+ exposure: 0.08,
96
+ contrast: 0.08,
97
+ highlights: -0.18,
98
+ shadows: 0.2,
99
+ blacks: -0.08,
100
+ saturation: 0.04,
101
+ }, {
102
+ vignette: 0.12,
103
+ }),
104
+ preset("muted-editorial", "Muted Editorial", {
105
+ exposure: -0.02,
106
+ contrast: 0.08,
107
+ highlights: -0.08,
108
+ shadows: 0.06,
109
+ blacks: -0.05,
110
+ temperature: -0.03,
111
+ saturation: -0.12,
112
+ }, {
113
+ vignette: 0.1,
114
+ }),
115
+ preset("vintage-wash", "Vintage Wash", {
116
+ exposure: 0.03,
117
+ contrast: -0.12,
118
+ highlights: -0.1,
119
+ shadows: 0.16,
120
+ whites: -0.04,
121
+ blacks: 0.08,
122
+ temperature: 0.13,
123
+ vibrance: -0.08,
124
+ saturation: -0.08,
125
+ }, {
126
+ vignette: 0.18,
127
+ }),
128
+ preset("mono-clean", "Mono Clean", {
129
+ contrast: 0.12,
130
+ highlights: -0.04,
131
+ shadows: 0.04,
132
+ blacks: -0.08,
133
+ saturation: -1,
134
+ }),
135
+ preset("mono-fade", "Mono Fade", {
136
+ contrast: -0.04,
137
+ highlights: -0.06,
138
+ shadows: 0.1,
139
+ blacks: 0.12,
140
+ saturation: -1,
141
+ }, {
142
+ vignette: 0.08,
143
+ }),
144
+ preset("warm-clean", "Warm Clean", {
145
+ exposure: 0.05,
146
+ contrast: 0.08,
147
+ highlights: -0.08,
148
+ shadows: 0.08,
149
+ temperature: 0.16,
150
+ vibrance: 0.04,
151
+ saturation: 0.06,
152
+ }),
153
+ preset("cool-clean", "Cool Clean", {
154
+ contrast: 0.06,
155
+ highlights: -0.06,
156
+ shadows: 0.06,
157
+ temperature: -0.12,
158
+ tint: 0.04,
159
+ saturation: 0.04,
160
+ }),
161
+ preset("soft-boost", "Soft Boost", {
162
+ exposure: 0.06,
163
+ contrast: -0.04,
164
+ highlights: -0.14,
165
+ shadows: 0.16,
166
+ vibrance: 0.08,
167
+ saturation: 0.1,
168
+ }),
169
+ preset("bright-pop", "Bright Pop", {
170
+ exposure: 0.12,
171
+ contrast: 0.12,
172
+ whites: 0.08,
173
+ blacks: -0.04,
174
+ vibrance: 0.08,
175
+ saturation: 0.14,
176
+ }),
177
+ preset("deep-contrast", "Deep Contrast", {
178
+ exposure: -0.03,
179
+ contrast: 0.2,
180
+ highlights: -0.08,
181
+ shadows: -0.08,
182
+ blacks: -0.12,
183
+ saturation: 0.06,
184
+ }),
94
185
  ];
95
186
  const PRESETS_BY_ID = new Map(HF_COLOR_GRADING_PRESETS.map((preset) => [preset.id, preset]));
96
187
  const VARIABLE_REF_RE = /^\$(?:\{([A-Za-z0-9_.:-]+)\}|([A-Za-z0-9_.:-]+))$/;
@@ -103,8 +194,22 @@ const ADJUST_LIMITS = {
103
194
  blacks: { min: -1, max: 1 },
104
195
  temperature: { min: -1, max: 1 },
105
196
  tint: { min: -1, max: 1 },
197
+ vibrance: { min: -1, max: 1 },
106
198
  saturation: { min: -1, max: 1 },
107
199
  };
200
+ const DETAIL_LIMITS = {
201
+ vignette: { min: 0, max: 1 },
202
+ vignetteMidpoint: { min: 0, max: 1 },
203
+ vignetteRoundness: { min: -1, max: 1 },
204
+ vignetteFeather: { min: 0, max: 1 },
205
+ grain: { min: 0, max: 1 },
206
+ grainSize: { min: 0, max: 1 },
207
+ grainRoughness: { min: 0, max: 1 },
208
+ };
209
+ const EFFECT_LIMITS = {
210
+ blur: { min: 0, max: 1 },
211
+ pixelate: { min: 0, max: 1 },
212
+ };
108
213
  function isRecord(value) {
109
214
  return typeof value === "object" && value !== null && !Array.isArray(value);
110
215
  }
@@ -119,11 +224,10 @@ function clampUnit(value, fallback) {
119
224
  return fallback;
120
225
  return Math.min(1, Math.max(0, parsed));
121
226
  }
122
- function readAdjustValue(value, key) {
227
+ function readLimitedValue(value, limit) {
123
228
  const parsed = typeof value === "number" ? value : Number(value);
124
229
  if (!Number.isFinite(parsed))
125
230
  return 0;
126
- const limit = ADJUST_LIMITS[key];
127
231
  return clamp(parsed, limit.min, limit.max);
128
232
  }
129
233
  function normalizePresetId(value) {
@@ -211,16 +315,30 @@ export function normalizeHfColorGrading(raw) {
211
315
  const presetId = normalizePresetId(grading.preset);
212
316
  const preset = getHfColorGradingPreset(presetId);
213
317
  const presetAdjust = preset?.adjust ?? ADJUST_ZERO;
318
+ const presetDetails = preset?.details ?? DETAIL_ZERO;
319
+ const presetEffects = preset?.effects ?? EFFECT_ZERO;
214
320
  const rawAdjust = isRecord(grading.adjust) ? grading.adjust : {};
321
+ const rawDetails = isRecord(grading.details) ? grading.details : {};
322
+ const rawEffects = isRecord(grading.effects) ? grading.effects : {};
215
323
  const adjust = HF_COLOR_GRADING_ADJUST_KEYS.reduce((result, key) => {
216
- result[key] = readAdjustValue(rawAdjust[key] ?? presetAdjust[key], key);
324
+ result[key] = readLimitedValue(rawAdjust[key] ?? presetAdjust[key], ADJUST_LIMITS[key]);
217
325
  return result;
218
326
  }, { ...ADJUST_ZERO });
327
+ const details = HF_COLOR_GRADING_DETAIL_KEYS.reduce((result, key) => {
328
+ result[key] = readLimitedValue(rawDetails[key] ?? presetDetails[key], DETAIL_LIMITS[key]);
329
+ return result;
330
+ }, { ...DETAIL_ZERO });
331
+ const effects = HF_COLOR_GRADING_EFFECT_KEYS.reduce((result, key) => {
332
+ result[key] = readLimitedValue(rawEffects[key] ?? presetEffects[key], EFFECT_LIMITS[key]);
333
+ return result;
334
+ }, { ...EFFECT_ZERO });
219
335
  return {
220
336
  enabled: true,
221
337
  preset: presetId,
222
338
  intensity: clampUnit(grading.intensity, 1),
223
339
  adjust,
340
+ details,
341
+ effects,
224
342
  lut: normalizeLut(grading.lut),
225
343
  colorSpace: typeof grading.colorSpace === "string" && grading.colorSpace.trim()
226
344
  ? grading.colorSpace.trim()
@@ -244,6 +362,9 @@ export function isHfColorGradingActive(grading) {
244
362
  return false;
245
363
  if (grading.lut && grading.lut.intensity !== 0)
246
364
  return true;
247
- return HF_COLOR_GRADING_ADJUST_KEYS.some((key) => Math.abs(grading.adjust[key]) > 0.0001);
365
+ return (HF_COLOR_GRADING_ADJUST_KEYS.some((key) => Math.abs(grading.adjust[key]) > 0.0001) ||
366
+ Math.abs(grading.details.vignette) > 0.0001 ||
367
+ Math.abs(grading.details.grain) > 0.0001 ||
368
+ HF_COLOR_GRADING_EFFECT_KEYS.some((key) => Math.abs(grading.effects[key]) > 0.0001));
248
369
  }
249
370
  //# 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,MAAM,CAAC,MAAM,4BAA4B,GAAG,QAAQ,CAAC;AA6DrD,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,UAAU,EAAE,CAAC;CACd,CAAC;AAEF,MAAM,CAAC,MAAM,4BAA4B,GAAuC;IAC9E,UAAU;IACV,UAAU;IACV,YAAY;IACZ,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,aAAa;IACb,MAAM;IACN,YAAY;CACb,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAoC;IACvE;QACE,EAAE,EAAE,SAAS;QACb,KAAK,EAAE,SAAS;QAChB,MAAM,EAAE,EAAE,GAAG,WAAW,EAAE;KAC3B;IACD;QACE,EAAE,EAAE,YAAY;QAChB,KAAK,EAAE,YAAY;QACnB,MAAM,EAAE;YACN,GAAG,WAAW;YACd,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,CAAC,IAAI;YACjB,OAAO,EAAE,IAAI;YACb,WAAW,EAAE,IAAI;YACjB,UAAU,EAAE,IAAI;SACjB;KACF;IACD;QACE,EAAE,EAAE,YAAY;QAChB,KAAK,EAAE,YAAY;QACnB,MAAM,EAAE;YACN,GAAG,WAAW;YACd,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,CAAC,IAAI;YACjB,OAAO,EAAE,IAAI;YACb,WAAW,EAAE,CAAC,IAAI;YAClB,IAAI,EAAE,IAAI;YACV,UAAU,EAAE,IAAI;SACjB;KACF;IACD;QACE,EAAE,EAAE,YAAY;QAChB,KAAK,EAAE,YAAY;QACnB,MAAM,EAAE;YACN,GAAG,WAAW;YACd,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE,CAAC,IAAI;YACf,UAAU,EAAE,CAAC,IAAI;YACjB,OAAO,EAAE,IAAI;YACb,UAAU,EAAE,GAAG;SAChB;KACF;IACD;QACE,EAAE,EAAE,YAAY;QAChB,KAAK,EAAE,YAAY;QACnB,MAAM,EAAE;YACN,GAAG,WAAW;YACd,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,CAAC,IAAI;YACb,UAAU,EAAE,IAAI;SACjB;KACF;IACD;QACE,EAAE,EAAE,eAAe;QACnB,KAAK,EAAE,eAAe;QACtB,MAAM,EAAE;YACN,GAAG,WAAW;YACd,QAAQ,EAAE,CAAC,IAAI;YACf,QAAQ,EAAE,GAAG;YACb,UAAU,EAAE,CAAC,IAAI;YACjB,OAAO,EAAE,CAAC,IAAI;YACd,MAAM,EAAE,CAAC,IAAI;YACb,UAAU,EAAE,IAAI;SACjB;KACF;CACF,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,UAAU,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE;CAChC,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,eAAe,CAAC,KAAc,EAAE,GAA4B;IACnE,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,MAAM,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;IACjC,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,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IACjE,MAAM,MAAM,GAAG,4BAA4B,CAAC,MAAM,CAChD,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;QACd,MAAM,CAAC,GAAG,CAAC,GAAG,eAAe,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,YAAY,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;QACxE,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,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,4BAA4B,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC;AAC5F,CAAC"}
1
+ {"version":3,"file":"colorGrading.js","sourceRoot":"","sources":["../src/colorGrading.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,7 @@ export declare class CubeLutParseError extends Error {
18
18
  readonly lineNumber: number | null;
19
19
  constructor(message: string, lineNumber?: number | null);
20
20
  }
21
+ export declare const DEFAULT_MAX_CUBE_LUT_SIZE = 64;
21
22
  export declare function parseCubeLut(input: string, options?: ParseCubeLutOptions): CubeLut3D;
22
23
  export declare function packCubeLutToRgba8(lut: CubeLut3D): PackedCubeLut2D;
23
24
  //# sourceMappingURL=colorLuts.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"colorLuts.d.ts","sourceRoot":"","sources":["../src/colorLuts.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAE5D,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,WAAW,CAAC;IACvB,SAAS,EAAE,WAAW,CAAC;IACvB,IAAI,EAAE,YAAY,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,UAAU,CAAC;CAClB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,iBAAkB,SAAQ,KAAK;IAC1C,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;gBAEvB,OAAO,EAAE,MAAM,EAAE,UAAU,GAAE,MAAM,GAAG,IAAW;CAK9D;AAkED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,mBAAwB,GAAG,SAAS,CAuFxF;AAWD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,SAAS,GAAG,eAAe,CAoBlE"}
1
+ {"version":3,"file":"colorLuts.d.ts","sourceRoot":"","sources":["../src/colorLuts.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAE5D,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,WAAW,CAAC;IACvB,SAAS,EAAE,WAAW,CAAC;IACvB,IAAI,EAAE,YAAY,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,UAAU,CAAC;CAClB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,iBAAkB,SAAQ,KAAK;IAC1C,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;gBAEvB,OAAO,EAAE,MAAM,EAAE,UAAU,GAAE,MAAM,GAAG,IAAW;CAK9D;AAID,eAAO,MAAM,yBAAyB,KAAK,CAAC;AA8D5C,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,mBAAwB,GAAG,SAAS,CAoGxF;AAWD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,SAAS,GAAG,eAAe,CAoBlE"}
package/dist/colorLuts.js CHANGED
@@ -8,7 +8,7 @@ export class CubeLutParseError extends Error {
8
8
  }
9
9
  const DEFAULT_DOMAIN_MIN = [0, 0, 0];
10
10
  const DEFAULT_DOMAIN_MAX = [1, 1, 1];
11
- const DEFAULT_MAX_SIZE = 64;
11
+ export const DEFAULT_MAX_CUBE_LUT_SIZE = 64;
12
12
  function stripComment(line) {
13
13
  let inQuote = false;
14
14
  for (let i = 0; i < line.length; i++) {
@@ -65,7 +65,7 @@ function isNumericDataLine(token) {
65
65
  }
66
66
  // fallow-ignore-next-line complexity
67
67
  export function parseCubeLut(input, options = {}) {
68
- const maxSize = options.maxSize ?? DEFAULT_MAX_SIZE;
68
+ const maxSize = options.maxSize ?? DEFAULT_MAX_CUBE_LUT_SIZE;
69
69
  let title = null;
70
70
  let domainMin = DEFAULT_DOMAIN_MIN;
71
71
  let domainMax = DEFAULT_DOMAIN_MAX;
@@ -93,6 +93,19 @@ export function parseCubeLut(input, options = {}) {
93
93
  domainMax = parseVec3(rest, keyword, lineNumber);
94
94
  continue;
95
95
  }
96
+ if (keyword === "LUT_3D_INPUT_RANGE") {
97
+ if (rest.length !== 2) {
98
+ throw new CubeLutParseError(`${keyword} expects two numbers`, lineNumber);
99
+ }
100
+ const min = parseFiniteNumber(rest[0], lineNumber);
101
+ const max = parseFiniteNumber(rest[1], lineNumber);
102
+ if (max <= min) {
103
+ throw new CubeLutParseError("LUT_3D_INPUT_RANGE max must exceed min", lineNumber);
104
+ }
105
+ domainMin = [min, min, min];
106
+ domainMax = [max, max, max];
107
+ continue;
108
+ }
96
109
  if (keyword === "LUT_1D_SIZE") {
97
110
  lut1dSize = parseSize(rest[0], keyword, lineNumber);
98
111
  continue;
@@ -1 +1 @@
1
- {"version":3,"file":"colorLuts.js","sourceRoot":"","sources":["../src/colorLuts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"colorLuts.js","sourceRoot":"","sources":["../src/colorLuts.ts"],"names":[],"mappings":"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"}
@@ -20,6 +20,12 @@ export interface BundleOptions {
20
20
  * modes and emits `<script ... src="<URL>">` directly.
21
21
  */
22
22
  runtime?: "inline" | "placeholder";
23
+ /**
24
+ * Inline .cube LUTs referenced from data-color-grading. Default: true for
25
+ * self-contained renders/exports. Studio preview disables this so the editor
26
+ * keeps showing project asset paths instead of giant data URLs.
27
+ */
28
+ inlineColorGradingLuts?: boolean;
23
29
  }
24
30
  export declare function bundleToSingleHtml(projectDir: string, options?: BundleOptions): Promise<string>;
25
31
  //# sourceMappingURL=htmlBundler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"htmlBundler.d.ts","sourceRoot":"","sources":["../../src/compiler/htmlBundler.ts"],"names":[],"mappings":"AAIA,OAAO,EAAe,KAAK,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAqYvE,eAAO,MAAM,gCAAgC,UAW5C,CAAC;AAEF,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,OAAO,GAAG,OAAO,CAmBrE;AA2KD,MAAM,WAAW,aAAa;IAC5B,oGAAoG;IACpG,kBAAkB,CAAC,EAAE,mBAAmB,CAAC;IACzC;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,EAAE,QAAQ,GAAG,aAAa,CAAC;CACpC;AAmFD,wBAAsB,kBAAkB,CACtC,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,MAAM,CAAC,CAoSjB"}
1
+ {"version":3,"file":"htmlBundler.d.ts","sourceRoot":"","sources":["../../src/compiler/htmlBundler.ts"],"names":[],"mappings":"AAIA,OAAO,EAAe,KAAK,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAmZvE,eAAO,MAAM,gCAAgC,UAW5C,CAAC;AAEF,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,OAAO,GAAG,OAAO,CAmBrE;AA2KD,MAAM,WAAW,aAAa;IAC5B,oGAAoG;IACpG,kBAAkB,CAAC,EAAE,mBAAmB,CAAC;IACzC;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,EAAE,QAAQ,GAAG,aAAa,CAAC;IACnC;;;;OAIG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC;AAmFD,wBAAsB,kBAAkB,CACtC,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,MAAM,CAAC,CAsSjB"}
@@ -209,6 +209,12 @@ function maybeInlineRelativeAssetUrl(urlValue, projectDir) {
209
209
  const dataUrl = `data:${mimeType};base64,${content.toString("base64")}`;
210
210
  return appendSuffixToUrl(dataUrl, suffix);
211
211
  }
212
+ function warnColorGradingLutNotInlined(lutSrc) {
213
+ const trimmed = lutSrc.trim();
214
+ if (!isRelativeUrl(trimmed))
215
+ return;
216
+ console.warn(`[HyperFrames] Could not inline color grading LUT "${trimmed}". The rendered bundle may not be self-contained.`);
217
+ }
212
218
  // fallow-ignore-next-line complexity
213
219
  function rewriteColorGradingLutWithInlinedAssets(value, projectDir) {
214
220
  if (!value.trim().startsWith("{"))
@@ -225,8 +231,10 @@ function rewriteColorGradingLutWithInlinedAssets(value, projectDir) {
225
231
  const lut = Reflect.get(parsed, "lut");
226
232
  if (typeof lut === "string") {
227
233
  const inlined = maybeInlineRelativeAssetUrl(lut, projectDir);
228
- if (!inlined)
234
+ if (!inlined) {
235
+ warnColorGradingLutNotInlined(lut);
229
236
  return value;
237
+ }
230
238
  Reflect.set(parsed, "lut", inlined);
231
239
  return JSON.stringify(parsed);
232
240
  }
@@ -236,8 +244,10 @@ function rewriteColorGradingLutWithInlinedAssets(value, projectDir) {
236
244
  if (typeof lutSrc !== "string")
237
245
  return value;
238
246
  const inlined = maybeInlineRelativeAssetUrl(lutSrc, projectDir);
239
- if (!inlined)
247
+ if (!inlined) {
248
+ warnColorGradingLutNotInlined(lutSrc);
240
249
  return value;
250
+ }
241
251
  Reflect.set(lut, "src", inlined);
242
252
  return JSON.stringify(parsed);
243
253
  }
@@ -887,10 +897,12 @@ export async function bundleToSingleHtml(projectDir, options) {
887
897
  for (const el of [...document.querySelectorAll("[style]")]) {
888
898
  el.setAttribute("style", rewriteCssUrlsWithInlinedAssets(el.getAttribute("style") || "", projectDir));
889
899
  }
890
- for (const el of [...document.querySelectorAll(`[${HF_COLOR_GRADING_ATTR}]`)]) {
891
- const value = el.getAttribute(HF_COLOR_GRADING_ATTR);
892
- if (value) {
893
- el.setAttribute(HF_COLOR_GRADING_ATTR, rewriteColorGradingLutWithInlinedAssets(value, projectDir));
900
+ if (options?.inlineColorGradingLuts !== false) {
901
+ for (const el of [...document.querySelectorAll(`[${HF_COLOR_GRADING_ATTR}]`)]) {
902
+ const value = el.getAttribute(HF_COLOR_GRADING_ATTR);
903
+ if (value) {
904
+ el.setAttribute(HF_COLOR_GRADING_ATTR, rewriteColorGradingLutWithInlinedAssets(value, projectDir));
905
+ }
894
906
  }
895
907
  }
896
908
  return document.toString();