bookcover-core 0.5.0 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/dist/assets.d.ts +0 -5
  2. package/dist/assets.d.ts.map +1 -1
  3. package/dist/assets.js +1 -7
  4. package/dist/assets.js.map +1 -1
  5. package/dist/build_files.d.ts +2 -1
  6. package/dist/build_files.d.ts.map +1 -1
  7. package/dist/build_files.js +2 -4
  8. package/dist/build_files.js.map +1 -1
  9. package/dist/colors.d.ts +8 -1
  10. package/dist/colors.d.ts.map +1 -1
  11. package/dist/colors.js +22 -8
  12. package/dist/colors.js.map +1 -1
  13. package/dist/data_file.d.ts +1 -1
  14. package/dist/data_file.d.ts.map +1 -1
  15. package/dist/data_file.js +2 -1
  16. package/dist/data_file.js.map +1 -1
  17. package/dist/design.d.ts +60 -0
  18. package/dist/design.d.ts.map +1 -1
  19. package/dist/design.js +291 -0
  20. package/dist/design.js.map +1 -1
  21. package/dist/form_schema.d.ts +20 -1
  22. package/dist/form_schema.d.ts.map +1 -1
  23. package/dist/form_schema.js +99 -8
  24. package/dist/form_schema.js.map +1 -1
  25. package/dist/form_state.d.ts +3 -2
  26. package/dist/form_state.d.ts.map +1 -1
  27. package/dist/form_state.js +2 -1
  28. package/dist/form_state.js.map +1 -1
  29. package/dist/generated/templates_data.d.ts +4 -0
  30. package/dist/generated/templates_data.d.ts.map +1 -0
  31. package/dist/generated/templates_data.js +8 -0
  32. package/dist/generated/templates_data.js.map +1 -0
  33. package/dist/generated/vector_bg_images_data.d.ts +4 -0
  34. package/dist/generated/vector_bg_images_data.d.ts.map +1 -0
  35. package/dist/generated/vector_bg_images_data.js +33 -0
  36. package/dist/generated/vector_bg_images_data.js.map +1 -0
  37. package/dist/generated/vector_patterns_data.d.ts +4 -0
  38. package/dist/generated/vector_patterns_data.d.ts.map +1 -0
  39. package/dist/generated/vector_patterns_data.js +33 -0
  40. package/dist/generated/vector_patterns_data.js.map +1 -0
  41. package/dist/index.d.ts +15 -5
  42. package/dist/index.d.ts.map +1 -1
  43. package/dist/index.js +32 -16
  44. package/dist/index.js.map +1 -1
  45. package/dist/schema.d.ts +3 -2
  46. package/dist/schema.d.ts.map +1 -1
  47. package/dist/schema.js +2 -1
  48. package/dist/schema.js.map +1 -1
  49. package/dist/templates_data.d.ts +4 -0
  50. package/dist/templates_data.d.ts.map +1 -0
  51. package/dist/templates_data.js +8 -0
  52. package/dist/templates_data.js.map +1 -0
  53. package/dist/vector_backgrounds.d.ts +11 -0
  54. package/dist/vector_backgrounds.d.ts.map +1 -0
  55. package/dist/vector_backgrounds.js +54 -0
  56. package/dist/vector_backgrounds.js.map +1 -0
  57. package/dist/vector_patterns_data.d.ts +4 -0
  58. package/dist/vector_patterns_data.d.ts.map +1 -0
  59. package/dist/vector_patterns_data.js +66 -0
  60. package/dist/vector_patterns_data.js.map +1 -0
  61. package/package.json +1 -1
package/dist/design.js CHANGED
@@ -37,6 +37,81 @@ function shift_hue(hsl_str, degrees) {
37
37
  const [h, s, l] = c.hsl();
38
38
  return to_hsl(chroma.hsl(((h || 0) + degrees + 360) % 360, s - 0.4, l));
39
39
  }
40
+ // Fixed hue offsets (degrees from the base hue) per harmony scheme
41
+ const PALETTE_HUE_OFFSETS = {
42
+ triadic: [0, 120, 240],
43
+ analogous: [0, -30, 30, -60],
44
+ split_complementary: [0, 150, 210],
45
+ complementary: [0, 180],
46
+ };
47
+ // Clamp bands applied to every generated palette color, regardless of the base color's own
48
+ // S/L — keeps the palette visibly colorful even when the base is near-white or near-black
49
+ const PALETTE_SATURATION_RANGE = [0.4, 0.65];
50
+ const PALETTE_LIGHTNESS_RANGE = [0.35, 0.65];
51
+ // Per-tone hue offset/saturation/lightness for the 'accent_tones' scheme, tuned by eye against
52
+ // the curated vector-background pattern set (see vector_backgrounds.ts) — one warm-ish primary
53
+ // tone plus two supporting tones rather than an evenly-spaced hue wheel
54
+ const ACCENT_TONES = [
55
+ { dh: 0, s: 0.44, l: 0.30 },
56
+ { dh: -55, s: 0.36, l: 0.44 },
57
+ { dh: 45, s: 0.32, l: 0.60 },
58
+ ];
59
+ const ACCENT_TONE_MIX = 0.3; // softens each tone by mixing this fraction of the base color back in
60
+ const ACCENT_DARK_LIGHTNESS_THRESHOLD = 0.45; // base lighter than this counts as a "light" base
61
+ const ACCENT_DARK_LIGHTNESS_BOOST = 0.28; // extra lightness added to each tone against a dark base
62
+ const ACCENT_DARK_LIGHTNESS_CAP = 0.82;
63
+ const ACCENT_DARK_MIX_TARGET_WHITE = 0.35; // against a dark base, soften toward this much white instead
64
+ /**
65
+ * Derive 'accent_tones' colors — a small fixed set of tones (see ACCENT_TONES) rather than an
66
+ * evenly-spaced hue-harmony wheel, each softened by mixing back toward the base color so the
67
+ * result reads as coordinated with it rather than clashing. Against a dark base, tones are
68
+ * boosted lighter and mixed toward white instead, so pattern fills stay legible.
69
+ */
70
+ function generate_accent_tones(base, count) {
71
+ const base_color = parse_color(base);
72
+ const [base_h, , base_l] = base_color.hsl();
73
+ const hue = base_h || 0;
74
+ const is_dark = (base_l || 0) < ACCENT_DARK_LIGHTNESS_THRESHOLD;
75
+ const mix_target = is_dark ? chroma.mix(base_color, '#ffffff', ACCENT_DARK_MIX_TARGET_WHITE, 'rgb') : base_color;
76
+ const colors = [];
77
+ for (let i = 0; i < count; i++) {
78
+ const tone = ACCENT_TONES[i % ACCENT_TONES.length];
79
+ const l = is_dark ? Math.min(ACCENT_DARK_LIGHTNESS_CAP, tone.l + ACCENT_DARK_LIGHTNESS_BOOST) : tone.l;
80
+ const tone_color = chroma.hsl((hue + tone.dh + 360) % 360, tone.s, l);
81
+ colors.push(chroma.mix(tone_color, mix_target, ACCENT_TONE_MIX, 'rgb').hex());
82
+ }
83
+ return colors;
84
+ }
85
+ /**
86
+ * Derive `count` aesthetically-harmonious hex colors from a base color (hex or hsl() string).
87
+ * The 'accent_tones' scheme uses a fixed tuned tone set (see generate_accent_tones); the other
88
+ * schemes use a hue-harmony wheel, with saturation/lightness clamped into a mid-range band so
89
+ * the palette stays visibly colorful even when the base is near-white or near-black.
90
+ */
91
+ export function generate_palette(base, count, scheme) {
92
+ if (scheme === 'accent_tones')
93
+ return generate_accent_tones(base, count);
94
+ const [base_h] = parse_color(base).hsl();
95
+ const hue = base_h || 0;
96
+ const offsets = PALETTE_HUE_OFFSETS[scheme];
97
+ const colors = [];
98
+ for (let i = 0; i < count; i++) {
99
+ const offset = offsets[i % offsets.length];
100
+ // Extra cycles past the scheme's natural hue count vary lightness instead of repeating
101
+ // the same tone verbatim, so a design asking for more colors than the scheme provides
102
+ // still gets a tint/shade rather than a visible duplicate
103
+ const cycle = Math.floor(i / offsets.length);
104
+ const h = (hue + offset + 360) % 360;
105
+ const s = PALETTE_SATURATION_RANGE[0]
106
+ + (PALETTE_SATURATION_RANGE[1] - PALETTE_SATURATION_RANGE[0]) * 0.5;
107
+ const l_mid = PALETTE_LIGHTNESS_RANGE[0]
108
+ + (PALETTE_LIGHTNESS_RANGE[1] - PALETTE_LIGHTNESS_RANGE[0]) * 0.5;
109
+ const l_step = cycle % 2 === 0 ? 1 : -1;
110
+ const l = Math.min(PALETTE_LIGHTNESS_RANGE[1], Math.max(PALETTE_LIGHTNESS_RANGE[0], l_mid + l_step * cycle * 0.1));
111
+ colors.push(chroma.hsl(h, s, l).hex());
112
+ }
113
+ return colors;
114
+ }
40
115
  /** Return white or near-black, whichever has more WCAG contrast against the given background */
41
116
  function auto_contrast_text(bg) {
42
117
  const L = from_hsl(bg).luminance();
@@ -46,6 +121,222 @@ function auto_contrast_text(bg) {
46
121
  ? 'hsl(0deg, 0%, 100%)' // white — better on dark backgrounds
47
122
  : 'hsl(0deg, 0%, 10%)'; // near-black (K90% for print)
48
123
  }
124
+ // Saturation clamp bands for image-derived colors — floor keeps even a fairly gray region
125
+ // visibly tinted, ceiling avoids inventing more color than the source photo actually has
126
+ const TINT_SATURATION_RANGE = [0.35, 0.7];
127
+ const FILL_SATURATION_RANGE = [0.25, 0.55];
128
+ const FILL_LIGHT_BAND = [0.75, 0.9];
129
+ const FILL_DARK_BAND = [0.15, 0.3];
130
+ // Below this average source lightness, synthesize_fill picks the dark band; at or above it,
131
+ // the light band. Set well under 0.5 so the light variant wins for most images.
132
+ const FILL_DARK_THRESHOLD = 0.3;
133
+ // Below this average source lightness, the image reads as essentially black — synthesize_fill
134
+ // goes straight to true black instead of its usual dark band, since a near-black source has no
135
+ // real hue signal to preserve (any surviving tint is rounding noise, not a color choice) and the
136
+ // dark band's ~22% lightness would still show as a washed gray rather than a rich black. Matches
137
+ // the near-black backdrop cutoff pick_vivid_tint already uses (EXTREME_BACKDROP_LIGHTNESS).
138
+ const FILL_BLACK_THRESHOLD = 0.1;
139
+ // A source counts as achromatic (no real hue to pull from — e.g. a black & white photo) below
140
+ // this saturation; shared by the black check above and the tint-floor clamp below
141
+ const ACHROMATIC_SATURATION_THRESHOLD = 0.03;
142
+ // A warm hue (red through amber) pushed dark reads as a flat, muddy brown rather than a rich
143
+ // dark color, no matter how saturated the source actually was — the same perceptual issue
144
+ // MUDDY_HUE_RANGE/is_muddy_when_dark encodes below for text color, just not yet applied to
145
+ // fills, and wider here to reach true reds (hue 0), which are if anything worse offenders than
146
+ // the amber/gold range that function targets. A source that's both quite dark and vividly
147
+ // warm-hued has nothing to gain from round-tripping through that muddy midtone, so
148
+ // synthesize_fill sends it straight to true black instead — but only once it's genuinely vivid
149
+ // (VIVID_WARM_SATURATION_FLOOR): a dull dark warm source (e.g. a duskily-lit brown plant photo)
150
+ // is left alone, since forcing that to black would be a bigger departure from the source than
151
+ // the muddy tint it currently gets.
152
+ const VIVID_WARM_LIGHTNESS_CAP = 0.15;
153
+ const VIVID_WARM_HUE_RANGE = [0, 50];
154
+ const VIVID_WARM_SATURATION_FLOOR = 0.65;
155
+ /** Build a hex color from a RegionStats triple */
156
+ export function region_hex(region) {
157
+ return chroma.hsl(region.hue, region.saturation, region.lightness).hex();
158
+ }
159
+ /** Blend two sampled regions — saturation-weighted circular mean for hue (biases toward the
160
+ * more colorful of the two), plain mean for saturation/lightness. Used for text positioned
161
+ * between two sampled regions (e.g. 'middle'), which isn't backed by either one directly. */
162
+ export function blend_regions(a, b) {
163
+ const to_rad = (deg) => deg * Math.PI / 180;
164
+ const x = Math.cos(to_rad(a.hue)) * a.saturation + Math.cos(to_rad(b.hue)) * b.saturation;
165
+ const y = Math.sin(to_rad(a.hue)) * a.saturation + Math.sin(to_rad(b.hue)) * b.saturation;
166
+ const hue = (Math.atan2(y, x) * 180 / Math.PI + 360) % 360;
167
+ return {
168
+ hue: (x === 0 && y === 0) ? a.hue : hue,
169
+ saturation: (a.saturation + b.saturation) / 2,
170
+ lightness: (a.lightness + b.lightness) / 2,
171
+ // Also account for how far apart the two regions' own lightness is — blending a light
172
+ // region with a dark one is itself a source of "spread" beyond each region's own
173
+ lightness_spread: (a.lightness_spread + b.lightness_spread) / 2 + Math.abs(a.lightness - b.lightness) / 2,
174
+ };
175
+ }
176
+ /** WCAG contrast ratio between two colors (same formula as auto_contrast_text, generalized) */
177
+ function contrast_ratio(a, b) {
178
+ const La = a.luminance();
179
+ const Lb = b.luminance();
180
+ const [l_max, l_min] = La >= Lb ? [La, Lb] : [Lb, La];
181
+ return (l_max + 0.05) / (l_min + 0.05);
182
+ }
183
+ /**
184
+ * Preserve the given hue+saturation and find the least-extreme lightness (closest to 50%, i.e.
185
+ * most colorful) that still clears `min_contrast` against `bg_hex` — unlike auto_contrast_text,
186
+ * which always jumps straight to pure white/near-black. Contrast against a fixed background is
187
+ * unimodal in lightness, and both extremes (L=0/L=1) degenerate to pure black/white regardless
188
+ * of hue/saturation, so a bisection toward each extreme converges whenever the target is
189
+ * achievable at all. It isn't always: WCAG guarantees max(contrast_white, contrast_black) >=
190
+ * ~4.58 for any background, but that's a floor, not a ceiling — a mid-dark-gray background can
191
+ * cap out well below a demanding `min_contrast` (e.g. ~7+) even at pure black or white. In that
192
+ * case this falls back to whichever extreme gets closest, same as auto_contrast_text would.
193
+ */
194
+ export function tinted_contrast_text(hue, saturation, bg_hex, min_contrast = 4.5) {
195
+ const bg = chroma(bg_hex);
196
+ const candidate = (l) => chroma.hsl(hue, saturation, l);
197
+ const contrast_at = (l) => contrast_ratio(candidate(l), bg);
198
+ if (contrast_at(0.5) >= min_contrast)
199
+ return candidate(0.5).hex();
200
+ // Bisect toward an extreme for the least-extreme lightness that clears min_contrast — but
201
+ // only if the extreme itself actually clears it; otherwise the target isn't reachable here
202
+ const search_toward = (extreme) => {
203
+ if (contrast_at(extreme) < min_contrast)
204
+ return null;
205
+ let good = extreme;
206
+ let bad = 0.5;
207
+ for (let i = 0; i < 20; i++) {
208
+ const mid = (good + bad) / 2;
209
+ if (contrast_at(mid) >= min_contrast)
210
+ good = mid;
211
+ else
212
+ bad = mid;
213
+ }
214
+ return good;
215
+ };
216
+ const light = search_toward(1);
217
+ const dark = search_toward(0);
218
+ if (light === null && dark === null)
219
+ return (contrast_at(1) >= contrast_at(0) ? candidate(1) : candidate(0)).hex();
220
+ if (light === null)
221
+ return candidate(dark).hex();
222
+ if (dark === null)
223
+ return candidate(light).hex();
224
+ const l = Math.abs(light - 0.5) <= Math.abs(dark - 0.5) ? light : dark;
225
+ return candidate(l).hex();
226
+ }
227
+ // Warm hues (sand, sunset gold, terracotta) read as "brown" the instant they're forced dark —
228
+ // HSL's saturation number doesn't track this, a fully-saturated dark orange still perceptually
229
+ // reads as brown/dirty, not as a rich dark color — so these are muddy at any saturation.
230
+ const MUDDY_HUE_RANGE = [20, 75];
231
+ // Outside that warm band, only a washed-out/low-saturation hue pushed dark reads as dull and
232
+ // dirty rather than a rich dark color (hazy slate-blue vs. a true navy) — a well-saturated cool
233
+ // hue (navy, forest green) still looks intentional and elegant even when dark
234
+ const MUDDY_SATURATION_CEILING = 0.55;
235
+ const MUDDY_DARK_LIGHTNESS_CEILING = 0.4;
236
+ // Large enough that a muddy candidate only wins when clearly more vivid than every alternative
237
+ const MUDDY_PENALTY = 0.3;
238
+ /** True when a candidate's resulting color would land in "dirty"/muddy territory: a warm hue,
239
+ * or any under-saturated hue, pushed dark for contrast rather than landing on a rich dark tone */
240
+ function is_muddy_when_dark(hue, saturation, resulting_lightness) {
241
+ if (resulting_lightness > MUDDY_DARK_LIGHTNESS_CEILING)
242
+ return false;
243
+ const is_warm = hue >= MUDDY_HUE_RANGE[0] && hue <= MUDDY_HUE_RANGE[1];
244
+ return is_warm || saturation <= MUDDY_SATURATION_CEILING;
245
+ }
246
+ // Backdrop lightness range outside which a hue search is skipped entirely (see pick_vivid_tint)
247
+ const EXTREME_BACKDROP_LIGHTNESS = [0.1, 0.9];
248
+ /**
249
+ * Cross-region hue search for text color: try each candidate region's hue against the given
250
+ * backdrop, plus a plain grayscale option, and keep whichever produces the most vivid (least
251
+ * contrast-compromised) still-readable result. Regions aren't treated as isolated — e.g. text
252
+ * over a pale sky can legitimately borrow a saturated hue from a dark sea elsewhere in the same
253
+ * photo, if that reads better than darkening the sky's own washed-out hue. Candidates that
254
+ * would land in muddy/dirty territory (a washed-out hue forced dark) are penalized, whichever
255
+ * region they come from, so a cleaner alternative — another region's hue, or plain grayscale —
256
+ * wins unless the muddy option is clearly the most vivid available. Ties (within ~1% lightness)
257
+ * favor the backdrop's own region over the plain grayscale fallback, to avoid gratuitous
258
+ * cross-borrowing when it doesn't actually help.
259
+ *
260
+ * Against a near-black or near-white backdrop, this whole search breaks down: almost any hue
261
+ * already clears contrast at 50% lightness without ever being pushed toward an extreme, so it
262
+ * "wins" on the deviation metric below despite reading as a washed, dull mid-tone — and the
263
+ * muddy check never even applies, since that only fires once a candidate is forced dark. A
264
+ * backdrop this stark calls for plain black/white, so the hue search is skipped outright.
265
+ */
266
+ export function pick_vivid_tint(candidates, backdrop, min_contrast = 4.5) {
267
+ const backdrop_hex = region_hex(backdrop);
268
+ if (backdrop.lightness < EXTREME_BACKDROP_LIGHTNESS[0] || backdrop.lightness > EXTREME_BACKDROP_LIGHTNESS[1]) {
269
+ const white = chroma.hsl(0, 0, 1);
270
+ const black = chroma.hsl(0, 0, 0.1);
271
+ const bg = chroma(backdrop_hex);
272
+ return (contrast_ratio(white, bg) >= contrast_ratio(black, bg) ? white : black).hex();
273
+ }
274
+ const TIE_EPSILON = 0.01;
275
+ const grayscale = { hue: 0, saturation: 0, lightness: 0.5, lightness_spread: 0 };
276
+ const pool = [...candidates, grayscale];
277
+ const scored = pool.map(region => {
278
+ // The synthetic grayscale entry must stay at 0 saturation — clamping it into the tint
279
+ // band like a real candidate would turn it into a hue=0 (red) color instead of neutral
280
+ const sat = region === grayscale ? 0
281
+ : Math.min(TINT_SATURATION_RANGE[1], Math.max(TINT_SATURATION_RANGE[0], region.saturation));
282
+ const hex = tinted_contrast_text(region.hue, sat, backdrop_hex, min_contrast);
283
+ const lightness = chroma(hex).hsl()[2] || 0;
284
+ let deviation = Math.abs(lightness - 0.5);
285
+ // The grayscale entry is the deliberate neutral fallback — its 0 saturation must never
286
+ // trip the "washed-out hue" branch of is_muddy_when_dark, or it loses its safe-option
287
+ // status and stops being able to beat real muddy candidates
288
+ if (region !== grayscale && is_muddy_when_dark(region.hue, sat, lightness))
289
+ deviation += MUDDY_PENALTY;
290
+ return { region, hex, deviation };
291
+ });
292
+ let best = scored[0];
293
+ for (const s of scored.slice(1)) {
294
+ const clearly_better = s.deviation < best.deviation - TIE_EPSILON;
295
+ const tied_favors_backdrop = Math.abs(s.deviation - best.deviation) <= TIE_EPSILON
296
+ && s.region === backdrop && best.region !== backdrop;
297
+ if (clearly_better || tied_favors_backdrop)
298
+ best = s;
299
+ }
300
+ return best.hex;
301
+ }
302
+ /**
303
+ * Derive a coordinating solid-fill color from sampled image regions — used wherever the image
304
+ * itself isn't visible (bg_color, accent, and blurb/spine fills outside full-wrap coverage).
305
+ * Picks the most saturated candidate as the hue source. With no `target_lightness`, clamps
306
+ * lightness into a light or dark band depending on whether the candidates read light or dark
307
+ * overall (for general fills); a fixed `target_lightness` near 0.5 gives a punchier, more
308
+ * vivid result (for decorative accents).
309
+ */
310
+ export function synthesize_fill(candidates, target_lightness) {
311
+ if (candidates.length === 0)
312
+ return '#ffffff';
313
+ const avg_l = candidates.reduce((sum, r) => sum + r.lightness, 0) / candidates.length;
314
+ const source = candidates.reduce((a, b) => (b.saturation > a.saturation ? b : a));
315
+ // General fill only (not a punchier fixed-lightness accent) — true black wins over the
316
+ // usual dark band in two cases: a near-black achromatic source (nothing to preserve — the
317
+ // dark band would just show as washed gray), or a dark, vividly warm-hued source (nothing
318
+ // to gain from preserving a hue that reads as muddy brown once forced dark; see
319
+ // VIVID_WARM_HUE_RANGE above). Saturated-but-dark cool/mid hues (a deep navy, a forest
320
+ // green) are left alone — they read as rich, intentional colors even when dark
321
+ if (target_lightness === undefined) {
322
+ const achromatic = avg_l < FILL_BLACK_THRESHOLD && source.saturation < ACHROMATIC_SATURATION_THRESHOLD;
323
+ const vivid_warm = avg_l < VIVID_WARM_LIGHTNESS_CAP
324
+ && source.hue >= VIVID_WARM_HUE_RANGE[0] && source.hue <= VIVID_WARM_HUE_RANGE[1]
325
+ && source.saturation > VIVID_WARM_SATURATION_FLOOR;
326
+ if (achromatic || vivid_warm)
327
+ return '#000000';
328
+ }
329
+ // A genuinely achromatic source (e.g. a black & white photo) has no color to pull from —
330
+ // clamping its saturation up to the tint floor would manufacture a fake hue instead
331
+ const sat = source.saturation < ACHROMATIC_SATURATION_THRESHOLD ? 0
332
+ : Math.min(FILL_SATURATION_RANGE[1], Math.max(FILL_SATURATION_RANGE[0], source.saturation));
333
+ let l = target_lightness;
334
+ if (l === undefined) {
335
+ const band = avg_l < FILL_DARK_THRESHOLD ? FILL_DARK_BAND : FILL_LIGHT_BAND;
336
+ l = (band[0] + band[1]) / 2;
337
+ }
338
+ return chroma.hsl(source.hue, sat, l).hex();
339
+ }
49
340
  /** Merge user-supplied colors with defaults, deriving related fields when possible */
50
341
  export function resolve_colors(schema) {
51
342
  const accent = COLOR_DEFAULTS.accent;
@@ -1 +1 @@
1
- {"version":3,"file":"design.js","sourceRoot":"","sources":["../src/design.ts"],"names":[],"mappings":"AACA,kFAAkF;AAElF,OAAO,MAAM,MAAM,WAAW,CAAA;AAI9B,+EAA+E;AAC/E,uFAAuF;AACvF,yEAAyE;AACzE,MAAM,cAAc,GAAG;IACnB,gBAAgB,EAAE,qBAAqB,EAAI,gBAAgB;IAC3D,eAAe,EAAE,qBAAqB,EAAM,gBAAgB;IAC5D,gBAAgB,EAAE,oBAAoB,EAAM,QAAQ;IACpD,cAAc,EAAE,oBAAoB,EAAQ,QAAQ;IACpD,YAAY,EAAE,oBAAoB,EAAU,QAAQ;IACpD,KAAK,EAAE,oBAAoB,EAAiB,QAAQ;IACpD,WAAW,EAAE,qBAAqB,EAAU,gBAAgB;IAC5D,YAAY,EAAE,oBAAoB,EAAU,QAAQ;IACpD,MAAM,EAAE,oBAAoB,EAAgB,QAAQ;CACvD,CAAA;AAoBD,qEAAqE;AACrE,SAAS,QAAQ,CAAC,OAAc;IAC5B,MAAM,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,mEAAmE,CAAC,CAAA;IAC5F,IAAI,CAAC,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,OAAO,EAAE,CAAC,CAAA;IACxD,OAAO,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAA;AACvF,CAAC;AAED,4EAA4E;AAC5E,SAAS,WAAW,CAAC,GAAU;IAC3B,OAAO,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;AAC/D,CAAC;AAED,uEAAuE;AACvE,SAAS,MAAM,CAAC,CAAc;IAC1B,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAA;IACzB,mDAAmD;IACnD,OAAO,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,IAAI,CAAA;AAC5F,CAAC;AAED,uFAAuF;AACvF,SAAS,SAAS,CAAC,OAAc,EAAE,OAAc;IAC7C,MAAM,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAA;IAC3B,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAA;IACzB,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,OAAO,GAAG,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,CAAA;AAC3E,CAAC;AAED,gGAAgG;AAChG,SAAS,kBAAkB,CAAC,EAAS;IACjC,MAAM,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,EAAE,CAAA;IAClC,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAA;IACxC,MAAM,cAAc,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAA;IACxC,OAAO,cAAc,IAAI,cAAc;QACnC,CAAC,CAAC,qBAAqB,CAAE,qCAAqC;QAC9D,CAAC,CAAC,oBAAoB,CAAA,CAAG,8BAA8B;AAC/D,CAAC;AAED,sFAAsF;AACtF,MAAM,UAAU,cAAc,CAAC,MAAkB;IAC7C,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,CAAA;IACpC,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,cAAc,CAAC,gBAAgB,CAAA;IAEnE,iFAAiF;IACjF,MAAM,QAAQ,GAAG,MAAM,CAAC,cAAc,KAAK,IAAI;QAC3C,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,QAAQ,IAAI,cAAc,CAAC,eAAe,CAAA;IAEhF,kFAAkF;IAClF,MAAM,MAAM,GAAG,MAAM,CAAC,YAAY,IAAI,kBAAkB,CAAC,QAAQ,CAAC,CAAA;IAClE,MAAM,MAAM,GAAG,MAAM,CAAC,YAAY,IAAI,MAAM,CAAA;IAC5C,MAAM,MAAM,GAAG,MAAM,CAAC,YAAY,IAAI,MAAM,CAAA;IAE5C,OAAO;QACH,gBAAgB,EAAE,QAAQ;QAC1B,6DAA6D;QAC7D,oBAAoB,EAAE,SAAS,CAAC,QAAQ,EAAE,EAAE,CAAC;QAC7C,kBAAkB,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC;QAC5C,iDAAiD;QACjD,eAAe,EAAE,MAAM,CAAC,QAAQ,IAAI,cAAc,CAAC,eAAe;QAClE,oFAAoF;QACpF,gBAAgB,EAAE,MAAM,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW;QAChF,YAAY,EAAE,MAAM;QACpB,YAAY,EAAE,MAAM;QACpB,YAAY,EAAE,MAAM;QACpB,cAAc,EAAE,MAAM,CAAC,cAAc,IAAI,cAAc,CAAC,cAAc;QACtE,YAAY,EAAE,MAAM,CAAC,YAAY,IAAI,cAAc,CAAC,YAAY;QAChE,KAAK,EAAE,MAAM,CAAC,WAAW,IAAI,cAAc,CAAC,KAAK;QACjD,gBAAgB,EAAE,QAAQ;QAC1B,WAAW,EAAE,MAAM,CAAC,iBAAiB,IAAI,cAAc,CAAC,WAAW;QACnE,YAAY,EAAE,MAAM,CAAC,kBAAkB,IAAI,cAAc,CAAC,YAAY;QACtE,MAAM;KACT,CAAA;AACL,CAAC;AAED,+EAA+E;AAC/E,MAAM,SAAS,GAAG,YAAY,CAAA;AAe9B;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAAkB;IACnD,MAAM,IAAI,GAAc,EAAC,MAAM,EAAE,SAAS,EAAC,CAAA;IAC3C,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,IAAI,IAAI,CAAA;IACzC,wCAAwC;IACxC,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,IAAI,MAAM,CAAA;IAC3C,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,IAAI,MAAM,CAAA;IAC3C,MAAM,QAAQ,GAAG,MAAM,CAAC,aAAa,IAAI,IAAI,CAAA;IAC7C,qEAAqE;IACrE,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,IAAI,QAAQ,CAAA;IAC7C,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,IAAI,IAAI,CAAA;IACvC,gDAAgD;IAChD,MAAM,WAAW,GAAG,MAAM,CAAC,gBAAgB,IAAI,MAAM,CAAA;IACrD,MAAM,YAAY,GAAG,MAAM,CAAC,iBAAiB,IAAI,QAAQ,CAAA;IACzD,OAAO,EAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,YAAY,EAAC,CAAA;AAC7F,CAAC;AAED,yFAAyF;AACzF,MAAM,UAAU,qBAAqB,CAAC,MAAkB;IACpD,MAAM,OAAO,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAA;IAC5C,OAAO,MAAM,CAAC,WAAW,CACrB,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAC9B,CAAA;AAClD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,OAAc,EAAE,OAAc;IACrD,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAA;AAC3E,CAAC;AAED,wEAAwE;AACxE,MAAM,UAAU,OAAO,CAAC,CAAQ,EAAE,CAAQ,EAAE,CAAQ;IAChD,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAA;AACvE,CAAC"}
1
+ {"version":3,"file":"design.js","sourceRoot":"","sources":["../src/design.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,30 @@
1
1
  import type { FontStyle } from 'typst-fonts';
2
2
  import type { EmbedFormState } from './form_state.js';
3
+ import type { RegionStats } from './design.js';
3
4
  /** Minimal shape build_schema needs to style custom fonts — typst-fonts' CustomFont is
4
5
  * assignable, so callers can pass their uploaded-font store directly */
5
6
  export interface CustomFontStyle {
6
7
  family: string;
7
8
  style: FontStyle;
8
9
  }
10
+ /** Colors sampled from the background image, keyed by where they were sampled from.
11
+ * front_top/front_bottom treat the whole image as the front panel — correct whenever the
12
+ * image is confined to the front panel (any bg_image_coverage besides 'full'). Under 'full'
13
+ * coverage the raw image is a full wrap (back+spine+front side by side), so front text should
14
+ * only look at the front panel's own portion of it, not the back/spine content alongside it —
15
+ * front_top_full/front_bottom_full and back/spine are that full-wrap interpretation, located
16
+ * proportionally within the same image (see the platform wrapper's extraction). Both
17
+ * interpretations are always sampled together (when dims are resolvable) so switching
18
+ * bg_image_coverage never needs a recompute — it just picks which pair to use. */
19
+ export interface ImageRegions {
20
+ front_top: RegionStats;
21
+ front_bottom: RegionStats;
22
+ front_top_full: RegionStats | null;
23
+ front_bottom_full: RegionStats | null;
24
+ back: RegionStats | null;
25
+ spine: RegionStats | null;
26
+ }
27
+ export declare const VECTOR_BG_AUTO_COLOR = "#e1d1c4";
9
28
  /** Replace straight quotes with typographic curly quotes */
10
29
  export declare function curly_quotes(text: string): string;
11
30
  /** Parse a font family name from user input. Accepts:
@@ -16,5 +35,5 @@ export declare function parse_font_family(text: string): string | null;
16
35
  /** Assemble the full flat schema object from form values. custom_fonts supplies the sniffed
17
36
  * serif/sans style of user-uploaded families (their bytes travel separately to the compiler).
18
37
  * Never reads a background image — that too is passed to the generators out-of-band. */
19
- export declare function build_schema(form: EmbedFormState, custom_fonts?: CustomFontStyle[]): Record<string, unknown>;
38
+ export declare function build_schema(form: EmbedFormState, custom_fonts?: CustomFontStyle[], image_regions?: ImageRegions | null): Record<string, unknown>;
20
39
  //# sourceMappingURL=form_schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"form_schema.d.ts","sourceRoot":"","sources":["../src/form_schema.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,aAAa,CAAA;AAC1C,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,iBAAiB,CAAA;AAInD;yEACyE;AACzE,MAAM,WAAW,eAAe;IAC5B,MAAM,EAAC,MAAM,CAAA;IACb,KAAK,EAAC,SAAS,CAAA;CAClB;AAED,4DAA4D;AAC5D,wBAAgB,YAAY,CAAC,IAAI,EAAC,MAAM,GAAE,MAAM,CAU/C;AAaD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAC,MAAM,GAAE,MAAM,GAAG,IAAI,CAe3D;AAmBD;;yFAEyF;AACzF,wBAAgB,YAAY,CACxB,IAAI,EAAC,cAAc,EACnB,YAAY,CAAC,EAAC,eAAe,EAAE,GACjC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAuJxB"}
1
+ {"version":3,"file":"form_schema.d.ts","sourceRoot":"","sources":["../src/form_schema.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,aAAa,CAAA;AAC1C,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,iBAAiB,CAAA;AAInD,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,aAAa,CAAA;AAG5C;yEACyE;AACzE,MAAM,WAAW,eAAe;IAC5B,MAAM,EAAC,MAAM,CAAA;IACb,KAAK,EAAC,SAAS,CAAA;CAClB;AAED;;;;;;;;mFAQmF;AACnF,MAAM,WAAW,YAAY;IACzB,SAAS,EAAC,WAAW,CAAA;IACrB,YAAY,EAAC,WAAW,CAAA;IACxB,cAAc,EAAC,WAAW,GAAG,IAAI,CAAA;IACjC,iBAAiB,EAAC,WAAW,GAAG,IAAI,CAAA;IACpC,IAAI,EAAC,WAAW,GAAG,IAAI,CAAA;IACvB,KAAK,EAAC,WAAW,GAAG,IAAI,CAAA;CAC3B;AAMD,eAAO,MAAM,oBAAoB,YAAY,CAAA;AAwD7C,4DAA4D;AAC5D,wBAAgB,YAAY,CAAC,IAAI,EAAC,MAAM,GAAE,MAAM,CAU/C;AAaD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAC,MAAM,GAAE,MAAM,GAAG,IAAI,CAe3D;AAmBD;;yFAEyF;AACzF,wBAAgB,YAAY,CACxB,IAAI,EAAC,cAAc,EACnB,YAAY,CAAC,EAAC,eAAe,EAAE,EAC/B,aAAa,CAAC,EAAC,YAAY,GAAG,IAAI,GACpC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAmMxB"}
@@ -1,7 +1,59 @@
1
1
  // Pure functions for building the cover generator schema from form state
2
2
  import { pm_to_typst } from 'pm-to-typst';
3
- import { derive_colors, hex_override_to_hsl } from './colors.js';
3
+ import { derive_colors, hex_override_to_hsl, hex_to_hsl } from './colors.js';
4
+ import { pick_vivid_tint, synthesize_fill, blend_regions, region_hex } from './design.js';
4
5
  import { find_pattern } from './patterns.js';
6
+ // Auto bg_color fallback for a vector background: there's no image to sample a complementary
7
+ // color from, so this fixed neutral tan stands in instead of the imageless default of white.
8
+ // Exported so callers previewing the auto color pre-generate (e.g. the widget's picker swatches)
9
+ // can match this without duplicating the value
10
+ export const VECTOR_BG_AUTO_COLOR = '#e1d1c4';
11
+ /** Convert a hex color to a RegionStats triple (inverse of design.ts's region_hex) — a flat
12
+ * synthesized color, so lightness_spread is 0 */
13
+ function hex_to_region(hex) {
14
+ const [h, s, l] = hex_to_hsl(hex);
15
+ return { hue: h, saturation: s / 100, lightness: l / 100, lightness_spread: 0 };
16
+ }
17
+ // Baseline contrast target per position — bottom-positioned text (author, usually) tends to sit
18
+ // over busier parts of a photo than top-positioned text (title, usually sky/simpler), so it
19
+ // gets a higher floor before any per-image variance is even factored in
20
+ const BASE_CONTRAST_BY_POSITION = { top: 5.5, middle: 6, bottom: 7 };
21
+ // Scales a region's measured lightness_spread into additional required contrast — a region
22
+ // that isn't visually uniform (text crossing both light and dark areas) needs more margin than
23
+ // its average color alone would suggest
24
+ const VARIANCE_CONTRAST_BOOST = 10;
25
+ /** The contrast target for text at a given position against its resolved backdrop region */
26
+ function min_contrast_for(position, backdrop) {
27
+ return BASE_CONTRAST_BY_POSITION[position] + backdrop.lightness_spread * VARIANCE_CONTRAST_BOOST;
28
+ }
29
+ /** The front-panel top/bottom pair to use for text placement — the full-wrap interpretation
30
+ * under 'full' coverage (when it was resolvable), else the whole-image interpretation that
31
+ * every other coverage mode already needs */
32
+ function front_pair(coverage, regions) {
33
+ if (coverage === 'full' && regions.front_top_full && regions.front_bottom_full)
34
+ return { top: regions.front_top_full, bottom: regions.front_bottom_full };
35
+ return { top: regions.front_top, bottom: regions.front_bottom };
36
+ }
37
+ /**
38
+ * Resolve which sampled region a piece of front-panel text should be checked for contrast
39
+ * against, given its vertical position and how the background image covers the front panel:
40
+ * 'painted'/'feature' insets don't fill the panel, so text is assumed to sit on bg_color
41
+ * throughout; 'front_partial' only covers the bottom two-thirds, so top-positioned text sits
42
+ * on bg_color while middle/bottom sits on the image; any full-bleed-front coverage maps
43
+ * top/bottom/middle directly onto the sampled regions (see front_pair for the 'full' case).
44
+ */
45
+ function image_backdrop_for_position(position, coverage, regions, bg_region) {
46
+ if (coverage === 'painted' || coverage === 'feature')
47
+ return bg_region;
48
+ if (coverage === 'front_partial')
49
+ return position === 'top' ? bg_region : regions.front_bottom;
50
+ const { top, bottom } = front_pair(coverage, regions);
51
+ if (position === 'top')
52
+ return top;
53
+ if (position === 'bottom')
54
+ return bottom;
55
+ return blend_regions(top, bottom);
56
+ }
5
57
  /** Replace straight quotes with typographic curly quotes */
6
58
  export function curly_quotes(text) {
7
59
  return text
@@ -57,10 +109,48 @@ function build_font_config(raw, custom_fonts) {
57
109
  /** Assemble the full flat schema object from form values. custom_fonts supplies the sniffed
58
110
  * serif/sans style of user-uploaded families (their bytes travel separately to the compiler).
59
111
  * Never reads a background image — that too is passed to the generators out-of-band. */
60
- export function build_schema(form, custom_fonts) {
112
+ export function build_schema(form, custom_fonts, image_regions) {
61
113
  const q = curly_quotes;
62
- // Derive colors from bg_color + spine_color, then apply per-field overrides
63
- const colors = derive_colors(form.bg_color, form.spine_color);
114
+ // bg_color's auto value: complements the background image when one is active; a vector
115
+ // background has no pixels to sample, so it gets a fixed neutral tan instead; otherwise white —
116
+ // resolved once here since it feeds both the schema's bg_color and the derive_colors() call
117
+ const all_regions = image_regions
118
+ ? [image_regions.front_top, image_regions.front_bottom,
119
+ ...(image_regions.back ? [image_regions.back] : []),
120
+ ...(image_regions.spine ? [image_regions.spine] : [])]
121
+ : [];
122
+ const effective_bg_color = form.bg_color ?? (all_regions.length ? synthesize_fill(all_regions)
123
+ : form.bg_vector_id ? VECTOR_BG_AUTO_COLOR : '#ffffff');
124
+ // A punchier accent than bg_color, for icon/pattern colors — fixed mid-lightness target
125
+ const accent_color = all_regions.length ? synthesize_fill(all_regions, 0.45) : undefined;
126
+ // The image is only actually visible behind the back panel/spine under full-wrap coverage —
127
+ // otherwise blurb/spine keep deriving purely from bg_color, same as before this feature
128
+ const image_backdrop = image_regions && form.bg_image_coverage === 'full'
129
+ && image_regions.back && image_regions.spine
130
+ ? { back: region_hex(image_regions.back), spine: region_hex(image_regions.spine) }
131
+ : undefined;
132
+ // Derive colors from bg_color + spine_color (+ the real image color behind blurb/spine,
133
+ // when visible), then apply per-field overrides
134
+ const colors = derive_colors(effective_bg_color, form.spine_color, image_backdrop);
135
+ // Front text hue/contrast derived from the image, when active — falls back through to
136
+ // today's flat defaults below when no image (or that field's own region) is available
137
+ let title_image_color;
138
+ let subtitle_image_color;
139
+ let author_image_color;
140
+ if (image_regions) {
141
+ const bg_region = hex_to_region(effective_bg_color);
142
+ const coverage = form.bg_image_coverage;
143
+ const { top: front_top, bottom: front_bottom } = front_pair(coverage, image_regions);
144
+ const candidates = [front_top, front_bottom];
145
+ const backdrop_for = (position) => image_backdrop_for_position(position, coverage, image_regions, bg_region);
146
+ const tint_for = (position) => {
147
+ const backdrop = backdrop_for(position);
148
+ return pick_vivid_tint(candidates, backdrop, min_contrast_for(position, backdrop));
149
+ };
150
+ title_image_color = hex_override_to_hsl(tint_for(form.title_position)) ?? undefined;
151
+ subtitle_image_color = hex_override_to_hsl(tint_for(form.subtitle_position)) ?? undefined;
152
+ author_image_color = hex_override_to_hsl(tint_for(form.author_position)) ?? undefined;
153
+ }
64
154
  // Build size/print fields
65
155
  const size_fields = {};
66
156
  if (form.service_id === 'custom') {
@@ -104,7 +194,7 @@ export function build_schema(form, custom_fonts) {
104
194
  title1_size: form.title1_size,
105
195
  title1_weight: form.title1_weight,
106
196
  title1_italic: form.title1_italic || undefined,
107
- title1_color: hex_override_to_hsl(form.title1_color) ?? undefined,
197
+ title1_color: hex_override_to_hsl(form.title1_color) ?? title_image_color ?? undefined,
108
198
  title2: q(form.title2) || undefined,
109
199
  title2_font: build_font_config(form.title2_font, custom_fonts),
110
200
  title2_size: form.title2_size,
@@ -127,7 +217,7 @@ export function build_schema(form, custom_fonts) {
127
217
  subtitle_size: form.subtitle_size,
128
218
  subtitle_weight: form.subtitle_weight,
129
219
  subtitle_italic: form.subtitle_italic || undefined,
130
- subtitle_color: hex_override_to_hsl(form.subtitle_color) ?? colors.front_subtitle,
220
+ subtitle_color: hex_override_to_hsl(form.subtitle_color) ?? subtitle_image_color ?? colors.front_subtitle,
131
221
  subtitle_alignment: form.subtitle_alignment !== 'center' ? form.subtitle_alignment : undefined,
132
222
  subtitle_position: form.subtitle_position,
133
223
  subtitle_spacing: form.subtitle_spacing !== 1.5 ? form.subtitle_spacing : undefined,
@@ -138,7 +228,7 @@ export function build_schema(form, custom_fonts) {
138
228
  author_size: form.author_size,
139
229
  author_weight: form.author_weight,
140
230
  author_italic: form.author_italic || undefined,
141
- author_color: hex_override_to_hsl(form.author_color) ?? colors.front_author,
231
+ author_color: hex_override_to_hsl(form.author_color) ?? author_image_color ?? colors.front_author,
142
232
  author_alignment: form.author_alignment !== 'center' ? form.author_alignment : undefined,
143
233
  author_position: form.author_position,
144
234
  author_margin_top: form.author_margin_top !== 10 ? form.author_margin_top : undefined,
@@ -183,10 +273,11 @@ export function build_schema(form, custom_fonts) {
183
273
  bg_color_gradient: form.bg_color_gradient || undefined,
184
274
  ...(form.icon_id ? { icon_id: form.icon_id, icon_mode: form.icon_mode } : {}),
185
275
  icon_size: form.icon_size !== 1 ? form.icon_size : undefined,
186
- icon_color: form.icon_color || undefined,
276
+ icon_color: form.icon_color || accent_color || undefined,
187
277
  icon_spine: form.icon_spine || undefined,
188
278
  ...pattern_fields,
189
279
  pattern_color: form.pattern_color || undefined,
280
+ bg_vector_id: form.bg_vector_id || undefined,
190
281
  spine_color: colors.spine_background,
191
282
  // Other
192
283
  isbn: form.isbn || undefined,
@@ -1 +1 @@
1
- {"version":3,"file":"form_schema.js","sourceRoot":"","sources":["../src/form_schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"form_schema.js","sourceRoot":"","sources":["../src/form_schema.ts"],"names":[],"mappings":"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"}
@@ -84,16 +84,17 @@ export interface EmbedFormState {
84
84
  margin_back: number;
85
85
  home_print_margin: boolean;
86
86
  bg_image_coverage: 'full' | 'front' | 'painted' | 'feature' | 'front_partial';
87
- bg_color: string;
87
+ bg_color: string | null;
88
88
  bg_color_gradient: boolean;
89
89
  icon_id: string | null;
90
- icon_mode: 'center' | 'offset' | 'echo' | 'background';
90
+ icon_mode: 'center' | 'offset' | 'echo';
91
91
  icon_size: number;
92
92
  icon_color: string | null;
93
93
  icon_spine: boolean;
94
94
  pattern_id: string | null;
95
95
  pattern_scale: number;
96
96
  pattern_color: string | null;
97
+ bg_vector_id: string | null;
97
98
  spine_color: string | null;
98
99
  isbn: string;
99
100
  cjk_variant: CjkVariant | 'auto';
@@ -1 +1 @@
1
- {"version":3,"file":"form_state.d.ts","sourceRoot":"","sources":["../src/form_state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"form_state.d.ts","sourceRoot":"","sources":["../src/form_state.ts"],"names":[],"mappings":"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"}