bookcover-core 0.5.0 → 0.7.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.
- package/dist/assets.d.ts +0 -5
- package/dist/assets.d.ts.map +1 -1
- package/dist/assets.js +1 -7
- package/dist/assets.js.map +1 -1
- package/dist/build_files.d.ts +2 -1
- package/dist/build_files.d.ts.map +1 -1
- package/dist/build_files.js +2 -4
- package/dist/build_files.js.map +1 -1
- package/dist/builtin_bg_regions.d.ts +15 -0
- package/dist/builtin_bg_regions.d.ts.map +1 -0
- package/dist/builtin_bg_regions.js +73 -0
- package/dist/builtin_bg_regions.js.map +1 -0
- package/dist/colors.d.ts +8 -1
- package/dist/colors.d.ts.map +1 -1
- package/dist/colors.js +22 -8
- package/dist/colors.js.map +1 -1
- package/dist/data_file.d.ts +1 -1
- package/dist/data_file.d.ts.map +1 -1
- package/dist/data_file.js +2 -1
- package/dist/data_file.js.map +1 -1
- package/dist/design.d.ts +60 -0
- package/dist/design.d.ts.map +1 -1
- package/dist/design.js +291 -0
- package/dist/design.js.map +1 -1
- package/dist/form_schema.d.ts +20 -1
- package/dist/form_schema.d.ts.map +1 -1
- package/dist/form_schema.js +99 -8
- package/dist/form_schema.js.map +1 -1
- package/dist/form_state.d.ts +3 -2
- package/dist/form_state.d.ts.map +1 -1
- package/dist/form_state.js +2 -1
- package/dist/form_state.js.map +1 -1
- package/dist/generated/builtin_bg_regions.d.ts +15 -0
- package/dist/generated/builtin_bg_regions.d.ts.map +1 -0
- package/dist/generated/builtin_bg_regions.js +73 -0
- package/dist/generated/builtin_bg_regions.js.map +1 -0
- package/dist/generated/templates_data.d.ts +4 -0
- package/dist/generated/templates_data.d.ts.map +1 -0
- package/dist/generated/templates_data.js +8 -0
- package/dist/generated/templates_data.js.map +1 -0
- package/dist/generated/vector_bg_images_data.d.ts +4 -0
- package/dist/generated/vector_bg_images_data.d.ts.map +1 -0
- package/dist/generated/vector_bg_images_data.js +33 -0
- package/dist/generated/vector_bg_images_data.js.map +1 -0
- package/dist/generated/vector_patterns_data.d.ts +4 -0
- package/dist/generated/vector_patterns_data.d.ts.map +1 -0
- package/dist/generated/vector_patterns_data.js +33 -0
- package/dist/generated/vector_patterns_data.js.map +1 -0
- package/dist/image_regions.d.ts +29 -0
- package/dist/image_regions.d.ts.map +1 -0
- package/dist/image_regions.js +135 -0
- package/dist/image_regions.js.map +1 -0
- package/dist/index.d.ts +16 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +33 -16
- package/dist/index.js.map +1 -1
- package/dist/schema.d.ts +3 -2
- package/dist/schema.d.ts.map +1 -1
- package/dist/schema.js +2 -1
- package/dist/schema.js.map +1 -1
- package/dist/templates_data.d.ts +4 -0
- package/dist/templates_data.d.ts.map +1 -0
- package/dist/templates_data.js +8 -0
- package/dist/templates_data.js.map +1 -0
- package/dist/vector_backgrounds.d.ts +11 -0
- package/dist/vector_backgrounds.d.ts.map +1 -0
- package/dist/vector_backgrounds.js +54 -0
- package/dist/vector_backgrounds.js.map +1 -0
- package/dist/vector_patterns_data.d.ts +4 -0
- package/dist/vector_patterns_data.d.ts.map +1 -0
- package/dist/vector_patterns_data.js +66 -0
- package/dist/vector_patterns_data.js.map +1 -0
- package/package.json +1 -1
package/dist/data_file.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data_file.js","sourceRoot":"","sources":["../src/data_file.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"data_file.js","sourceRoot":"","sources":["../src/data_file.ts"],"names":[],"mappings":"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"}
|
package/dist/design.d.ts
CHANGED
|
@@ -16,6 +16,66 @@ export interface ResolvedColors {
|
|
|
16
16
|
spine_author: string;
|
|
17
17
|
accent: string;
|
|
18
18
|
}
|
|
19
|
+
export type PaletteScheme = 'triadic' | 'analogous' | 'split_complementary' | 'complementary' | 'accent_tones';
|
|
20
|
+
/**
|
|
21
|
+
* Derive `count` aesthetically-harmonious hex colors from a base color (hex or hsl() string).
|
|
22
|
+
* The 'accent_tones' scheme uses a fixed tuned tone set (see generate_accent_tones); the other
|
|
23
|
+
* schemes use a hue-harmony wheel, with saturation/lightness clamped into a mid-range band so
|
|
24
|
+
* the palette stays visibly colorful even when the base is near-white or near-black.
|
|
25
|
+
*/
|
|
26
|
+
export declare function generate_palette(base: string, count: number, scheme: PaletteScheme): string[];
|
|
27
|
+
export interface RegionStats {
|
|
28
|
+
hue: number;
|
|
29
|
+
saturation: number;
|
|
30
|
+
lightness: number;
|
|
31
|
+
lightness_spread: number;
|
|
32
|
+
}
|
|
33
|
+
/** Build a hex color from a RegionStats triple */
|
|
34
|
+
export declare function region_hex(region: RegionStats): string;
|
|
35
|
+
/** Blend two sampled regions — saturation-weighted circular mean for hue (biases toward the
|
|
36
|
+
* more colorful of the two), plain mean for saturation/lightness. Used for text positioned
|
|
37
|
+
* between two sampled regions (e.g. 'middle'), which isn't backed by either one directly. */
|
|
38
|
+
export declare function blend_regions(a: RegionStats, b: RegionStats): RegionStats;
|
|
39
|
+
/**
|
|
40
|
+
* Preserve the given hue+saturation and find the least-extreme lightness (closest to 50%, i.e.
|
|
41
|
+
* most colorful) that still clears `min_contrast` against `bg_hex` — unlike auto_contrast_text,
|
|
42
|
+
* which always jumps straight to pure white/near-black. Contrast against a fixed background is
|
|
43
|
+
* unimodal in lightness, and both extremes (L=0/L=1) degenerate to pure black/white regardless
|
|
44
|
+
* of hue/saturation, so a bisection toward each extreme converges whenever the target is
|
|
45
|
+
* achievable at all. It isn't always: WCAG guarantees max(contrast_white, contrast_black) >=
|
|
46
|
+
* ~4.58 for any background, but that's a floor, not a ceiling — a mid-dark-gray background can
|
|
47
|
+
* cap out well below a demanding `min_contrast` (e.g. ~7+) even at pure black or white. In that
|
|
48
|
+
* case this falls back to whichever extreme gets closest, same as auto_contrast_text would.
|
|
49
|
+
*/
|
|
50
|
+
export declare function tinted_contrast_text(hue: number, saturation: number, bg_hex: string, min_contrast?: number): string;
|
|
51
|
+
/**
|
|
52
|
+
* Cross-region hue search for text color: try each candidate region's hue against the given
|
|
53
|
+
* backdrop, plus a plain grayscale option, and keep whichever produces the most vivid (least
|
|
54
|
+
* contrast-compromised) still-readable result. Regions aren't treated as isolated — e.g. text
|
|
55
|
+
* over a pale sky can legitimately borrow a saturated hue from a dark sea elsewhere in the same
|
|
56
|
+
* photo, if that reads better than darkening the sky's own washed-out hue. Candidates that
|
|
57
|
+
* would land in muddy/dirty territory (a washed-out hue forced dark) are penalized, whichever
|
|
58
|
+
* region they come from, so a cleaner alternative — another region's hue, or plain grayscale —
|
|
59
|
+
* wins unless the muddy option is clearly the most vivid available. Ties (within ~1% lightness)
|
|
60
|
+
* favor the backdrop's own region over the plain grayscale fallback, to avoid gratuitous
|
|
61
|
+
* cross-borrowing when it doesn't actually help.
|
|
62
|
+
*
|
|
63
|
+
* Against a near-black or near-white backdrop, this whole search breaks down: almost any hue
|
|
64
|
+
* already clears contrast at 50% lightness without ever being pushed toward an extreme, so it
|
|
65
|
+
* "wins" on the deviation metric below despite reading as a washed, dull mid-tone — and the
|
|
66
|
+
* muddy check never even applies, since that only fires once a candidate is forced dark. A
|
|
67
|
+
* backdrop this stark calls for plain black/white, so the hue search is skipped outright.
|
|
68
|
+
*/
|
|
69
|
+
export declare function pick_vivid_tint(candidates: RegionStats[], backdrop: RegionStats, min_contrast?: number): string;
|
|
70
|
+
/**
|
|
71
|
+
* Derive a coordinating solid-fill color from sampled image regions — used wherever the image
|
|
72
|
+
* itself isn't visible (bg_color, accent, and blurb/spine fills outside full-wrap coverage).
|
|
73
|
+
* Picks the most saturated candidate as the hue source. With no `target_lightness`, clamps
|
|
74
|
+
* lightness into a light or dark band depending on whether the candidates read light or dark
|
|
75
|
+
* overall (for general fills); a fixed `target_lightness` near 0.5 gives a punchier, more
|
|
76
|
+
* vivid result (for decorative accents).
|
|
77
|
+
*/
|
|
78
|
+
export declare function synthesize_fill(candidates: RegionStats[], target_lightness?: number): string;
|
|
19
79
|
/** Merge user-supplied colors with defaults, deriving related fields when possible */
|
|
20
80
|
export declare function resolve_colors(schema: CoverSchema): ResolvedColors;
|
|
21
81
|
/** Per-field resolved font configs — the single source of the font inheritance chain */
|
package/dist/design.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"design.d.ts","sourceRoot":"","sources":["../src/design.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,WAAW,EAAE,UAAU,EAAC,MAAM,aAAa,CAAA;AAkBxD,MAAM,WAAW,cAAc;IAC3B,gBAAgB,EAAC,MAAM,CAAA;IACvB,oBAAoB,EAAC,MAAM,CAAA;IAC3B,kBAAkB,EAAC,MAAM,CAAA;IACzB,eAAe,EAAC,MAAM,CAAA;IACtB,gBAAgB,EAAC,MAAM,GAAG,IAAI,CAAA;IAC9B,YAAY,EAAC,MAAM,CAAA;IACnB,YAAY,EAAC,MAAM,CAAA;IACnB,YAAY,EAAC,MAAM,CAAA;IACnB,cAAc,EAAC,MAAM,CAAA;IACrB,YAAY,EAAC,MAAM,CAAA;IACnB,KAAK,EAAC,MAAM,CAAA;IACZ,gBAAgB,EAAC,MAAM,GAAG,IAAI,CAAA;IAC9B,WAAW,EAAC,MAAM,CAAA;IAClB,YAAY,EAAC,MAAM,CAAA;IACnB,MAAM,EAAC,MAAM,CAAA;CAChB;
|
|
1
|
+
{"version":3,"file":"design.d.ts","sourceRoot":"","sources":["../src/design.ts"],"names":[],"mappings":"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"}
|
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;
|
package/dist/design.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"design.js","sourceRoot":"","sources":["../src/design.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"design.js","sourceRoot":"","sources":["../src/design.ts"],"names":[],"mappings":"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"}
|
package/dist/form_schema.d.ts
CHANGED
|
@@ -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 analyze_pixel_regions in image_regions.ts). 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,
|
|
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"}
|