bookcover-core 0.6.0 → 0.8.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.
@@ -0,0 +1,15 @@
1
+ import type { ImageRegions } from './form_schema.js';
2
+ /** Precomputed ImageRegions for every builtin background photo (assets/backgrounds/<key>),
3
+ * sampled against a fixed reference size — a 6in x 9in trim, 250-page Lulu paperback — rather
4
+ * than the actual cover being generated, since the source photo's dominant colors barely shift
5
+ * across trim sizes/spine widths and doing this once at build time skips a real image decode
6
+ * (measured 100-350ms for this app's own background photos) for the common case of a builtin
7
+ * pick. `size` is the source file's byte length, checked alongside the filename key so a
8
+ * same-named user upload doesn't collide with a builtin entry. Callers should fall back to a
9
+ * live analyze_pixel_regions() when get_builtin_bg_regions() returns null (custom uploads, or
10
+ * any image not in this table). */
11
+ export declare const BUILTIN_BG_REGIONS: Record<string, {
12
+ size: number;
13
+ regions: ImageRegions;
14
+ }>;
15
+ //# sourceMappingURL=builtin_bg_regions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builtin_bg_regions.d.ts","sourceRoot":"","sources":["../src/builtin_bg_regions.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAA;AAElD;;;;;;;;oCAQoC;AACpC,eAAO,MAAM,kBAAkB,EAAC,MAAM,CAAC,MAAM,EAAE;IAAC,IAAI,EAAC,MAAM,CAAC;IAAC,OAAO,EAAC,YAAY,CAAA;CAAC,CA4DjF,CAAA"}
@@ -0,0 +1,73 @@
1
+ // GENERATED by .bin/gen_bg_regions from assets/backgrounds/*.jpg — do not edit by hand.
2
+ // Rerun the script after adding, removing, or changing a builtin background image.
3
+ /** Precomputed ImageRegions for every builtin background photo (assets/backgrounds/<key>),
4
+ * sampled against a fixed reference size — a 6in x 9in trim, 250-page Lulu paperback — rather
5
+ * than the actual cover being generated, since the source photo's dominant colors barely shift
6
+ * across trim sizes/spine widths and doing this once at build time skips a real image decode
7
+ * (measured 100-350ms for this app's own background photos) for the common case of a builtin
8
+ * pick. `size` is the source file's byte length, checked alongside the filename key so a
9
+ * same-named user upload doesn't collide with a builtin entry. Callers should fall back to a
10
+ * live analyze_pixel_regions() when get_builtin_bg_regions() returns null (custom uploads, or
11
+ * any image not in this table). */
12
+ export const BUILTIN_BG_REGIONS = {
13
+ "adventure.jpg": { size: 1043669, regions: { "front_top": { "hue": 53.853, "saturation": 0.177, "lightness": 0.492, "lightness_spread": 0.065 }, "front_bottom": { "hue": 59.163, "saturation": 0.411, "lightness": 0.148, "lightness_spread": 0.085 }, "front_top_full": { "hue": 42.53, "saturation": 0.248, "lightness": 0.523, "lightness_spread": 0.046 }, "front_bottom_full": { "hue": 62.659, "saturation": 0.277, "lightness": 0.114, "lightness_spread": 0.089 }, "back": { "hue": 65.834, "saturation": 0.203, "lightness": 0.366, "lightness_spread": 0.13 }, "spine": { "hue": 51.015, "saturation": 0.19, "lightness": 0.415, "lightness_spread": 0.149 } } },
14
+ "awe.jpg": { size: 1654140, regions: { "front_top": { "hue": 197.469, "saturation": 0.412, "lightness": 0.632, "lightness_spread": 0.1 }, "front_bottom": { "hue": 40.53, "saturation": 0.586, "lightness": 0.247, "lightness_spread": 0.219 }, "front_top_full": { "hue": 197.375, "saturation": 0.414, "lightness": 0.626, "lightness_spread": 0.1 }, "front_bottom_full": { "hue": 35.006, "saturation": 0.581, "lightness": 0.264, "lightness_spread": 0.191 }, "back": { "hue": 100.052, "saturation": 0.427, "lightness": 0.558, "lightness_spread": 0.307 }, "spine": { "hue": 55.877, "saturation": 0.445, "lightness": 0.797, "lightness_spread": 0.168 } } },
15
+ "beach.jpg": { size: 1432324, regions: { "front_top": { "hue": 156.52, "saturation": 0.203, "lightness": 0.736, "lightness_spread": 0.087 }, "front_bottom": { "hue": 20.308, "saturation": 0.253, "lightness": 0.731, "lightness_spread": 0.056 }, "front_top_full": { "hue": 185.142, "saturation": 0.208, "lightness": 0.694, "lightness_spread": 0.079 }, "front_bottom_full": { "hue": 14.105, "saturation": 0.141, "lightness": 0.699, "lightness_spread": 0.053 }, "back": { "hue": 27.684, "saturation": 0.32, "lightness": 0.771, "lightness_spread": 0.081 }, "spine": { "hue": 73.634, "saturation": 0.126, "lightness": 0.691, "lightness_spread": 0.084 } } },
16
+ "bible.jpg": { size: 2441840, regions: { "front_top": { "hue": 31.57, "saturation": 0.34, "lightness": 0.353, "lightness_spread": 0.128 }, "front_bottom": { "hue": 30.561, "saturation": 0.2, "lightness": 0.224, "lightness_spread": 0.201 }, "front_top_full": { "hue": 30.385, "saturation": 0.267, "lightness": 0.283, "lightness_spread": 0.088 }, "front_bottom_full": { "hue": 37.048, "saturation": 0.175, "lightness": 0.263, "lightness_spread": 0.224 }, "back": { "hue": 29.602, "saturation": 0.315, "lightness": 0.383, "lightness_spread": 0.216 }, "spine": { "hue": 24.906, "saturation": 0.374, "lightness": 0.469, "lightness_spread": 0.211 } } },
17
+ "bird.jpg": { size: 5029850, regions: { "front_top": { "hue": 214.405, "saturation": 0.44, "lightness": 0.592, "lightness_spread": 0.087 }, "front_bottom": { "hue": 213.722, "saturation": 0.456, "lightness": 0.595, "lightness_spread": 0.012 }, "front_top_full": { "hue": 214.183, "saturation": 0.446, "lightness": 0.627, "lightness_spread": 0.016 }, "front_bottom_full": { "hue": 213.969, "saturation": 0.456, "lightness": 0.602, "lightness_spread": 0.012 }, "back": { "hue": 215.121, "saturation": 0.432, "lightness": 0.542, "lightness_spread": 0.143 }, "spine": { "hue": 216.804, "saturation": 0.407, "lightness": 0.504, "lightness_spread": 0.175 } } },
18
+ "books.jpg": { size: 3452573, regions: { "front_top": { "hue": 102.789, "saturation": 0.114, "lightness": 0.936, "lightness_spread": 0.034 }, "front_bottom": { "hue": 163.276, "saturation": 0.14, "lightness": 0.717, "lightness_spread": 0.207 }, "front_top_full": { "hue": 114.719, "saturation": 0.103, "lightness": 0.931, "lightness_spread": 0.038 }, "front_bottom_full": { "hue": 177.717, "saturation": 0.153, "lightness": 0.743, "lightness_spread": 0.189 }, "back": { "hue": 119.388, "saturation": 0.133, "lightness": 0.776, "lightness_spread": 0.22 }, "spine": { "hue": 115.939, "saturation": 0.142, "lightness": 0.761, "lightness_spread": 0.202 } } },
19
+ "burning.jpg": { size: 1235840, regions: { "front_top": { "hue": 2.3, "saturation": 0.725, "lightness": 0.042, "lightness_spread": 0.06 }, "front_bottom": { "hue": 6.292, "saturation": 0.907, "lightness": 0.095, "lightness_spread": 0.101 }, "front_top_full": { "hue": 1.512, "saturation": 0.982, "lightness": 0.05, "lightness_spread": 0.032 }, "front_bottom_full": { "hue": 10.809, "saturation": 0.951, "lightness": 0.155, "lightness_spread": 0.124 }, "back": { "hue": 2.963, "saturation": 0.668, "lightness": 0.044, "lightness_spread": 0.071 }, "spine": { "hue": 10.518, "saturation": 0.968, "lightness": 0.158, "lightness_spread": 0.129 } } },
20
+ "church.jpg": { size: 2698112, regions: { "front_top": { "hue": 7.129, "saturation": 0.218, "lightness": 0.446, "lightness_spread": 0.101 }, "front_bottom": { "hue": 30.511, "saturation": 0.515, "lightness": 0.111, "lightness_spread": 0.055 }, "front_top_full": { "hue": 12.033, "saturation": 0.252, "lightness": 0.462, "lightness_spread": 0.101 }, "front_bottom_full": { "hue": 30.714, "saturation": 0.498, "lightness": 0.115, "lightness_spread": 0.05 }, "back": { "hue": 31.991, "saturation": 0.486, "lightness": 0.412, "lightness_spread": 0.246 }, "spine": { "hue": 32.696, "saturation": 0.46, "lightness": 0.449, "lightness_spread": 0.275 } } },
21
+ "city.jpg": { size: 1096868, regions: { "front_top": { "hue": 213.093, "saturation": 0.237, "lightness": 0.824, "lightness_spread": 0.028 }, "front_bottom": { "hue": 222.764, "saturation": 0.417, "lightness": 0.184, "lightness_spread": 0.109 }, "front_top_full": { "hue": 213.017, "saturation": 0.246, "lightness": 0.818, "lightness_spread": 0.025 }, "front_bottom_full": { "hue": 222.134, "saturation": 0.406, "lightness": 0.196, "lightness_spread": 0.113 }, "back": { "hue": 249.993, "saturation": 0.313, "lightness": 0.598, "lightness_spread": 0.298 }, "spine": { "hue": 247.817, "saturation": 0.257, "lightness": 0.612, "lightness_spread": 0.267 } } },
22
+ "city_sunset.jpg": { size: 842748, regions: { "front_top": { "hue": 205.058, "saturation": 0.671, "lightness": 0.644, "lightness_spread": 0.069 }, "front_bottom": { "hue": 201.446, "saturation": 0.557, "lightness": 0.29, "lightness_spread": 0.099 }, "front_top_full": { "hue": 204.963, "saturation": 0.672, "lightness": 0.638, "lightness_spread": 0.069 }, "front_bottom_full": { "hue": 201.759, "saturation": 0.511, "lightness": 0.29, "lightness_spread": 0.103 }, "back": { "hue": 207.517, "saturation": 0.534, "lightness": 0.549, "lightness_spread": 0.196 }, "spine": { "hue": 210.585, "saturation": 0.497, "lightness": 0.585, "lightness_spread": 0.202 } } },
23
+ "countryside.jpg": { size: 4917994, regions: { "front_top": { "hue": 229.906, "saturation": 0.282, "lightness": 0.921, "lightness_spread": 0.12 }, "front_bottom": { "hue": 74.204, "saturation": 0.633, "lightness": 0.312, "lightness_spread": 0.056 }, "front_top_full": { "hue": 227.19, "saturation": 0.249, "lightness": 0.968, "lightness_spread": 0.037 }, "front_bottom_full": { "hue": 73.87, "saturation": 0.64, "lightness": 0.314, "lightness_spread": 0.062 }, "back": { "hue": 95.017, "saturation": 0.36, "lightness": 0.561, "lightness_spread": 0.275 }, "spine": { "hue": 101.947, "saturation": 0.327, "lightness": 0.667, "lightness_spread": 0.277 } } },
24
+ "crops.jpg": { size: 1600104, regions: { "front_top": { "hue": 192.799, "saturation": 0.341, "lightness": 0.606, "lightness_spread": 0.152 }, "front_bottom": { "hue": 35.026, "saturation": 0.663, "lightness": 0.449, "lightness_spread": 0.112 }, "front_top_full": { "hue": 192.145, "saturation": 0.415, "lightness": 0.564, "lightness_spread": 0.166 }, "front_bottom_full": { "hue": 34.742, "saturation": 0.707, "lightness": 0.42, "lightness_spread": 0.109 }, "back": { "hue": 46.564, "saturation": 0.419, "lightness": 0.579, "lightness_spread": 0.135 }, "spine": { "hue": 49.05, "saturation": 0.456, "lightness": 0.572, "lightness_spread": 0.152 } } },
25
+ "cross.jpg": { size: 463154, regions: { "front_top": { "hue": 65.291, "saturation": 0.002, "lightness": 0.004, "lightness_spread": 0 }, "front_bottom": { "hue": 21.86, "saturation": 0.736, "lightness": 0.041, "lightness_spread": 0.073 }, "front_top_full": { "hue": 60, "saturation": 0.004, "lightness": 0.004, "lightness_spread": 0 }, "front_bottom_full": { "hue": 6.788, "saturation": 0.827, "lightness": 0.071, "lightness_spread": 0.099 }, "back": { "hue": 57.399, "saturation": 0.252, "lightness": 0.012, "lightness_spread": 0.031 }, "spine": { "hue": 31.63, "saturation": 0.396, "lightness": 0.024, "lightness_spread": 0.041 } } },
26
+ "cross_sun.jpg": { size: 3259091, regions: { "front_top": { "hue": 215.261, "saturation": 0.2, "lightness": 0.323, "lightness_spread": 0.037 }, "front_bottom": { "hue": 29.6, "saturation": 0.717, "lightness": 0.276, "lightness_spread": 0.221 }, "front_top_full": { "hue": 214.434, "saturation": 0.231, "lightness": 0.315, "lightness_spread": 0.035 }, "front_bottom_full": { "hue": 25.524, "saturation": 0.617, "lightness": 0.241, "lightness_spread": 0.202 }, "back": { "hue": 36.336, "saturation": 0.462, "lightness": 0.396, "lightness_spread": 0.175 }, "spine": { "hue": 43.042, "saturation": 0.473, "lightness": 0.431, "lightness_spread": 0.226 } } },
27
+ "crown.jpg": { size: 4518272, regions: { "front_top": { "hue": 184.268, "saturation": 0.78, "lightness": 0.067, "lightness_spread": 0.071 }, "front_bottom": { "hue": 187.149, "saturation": 0.541, "lightness": 0.395, "lightness_spread": 0.241 }, "front_top_full": { "hue": 185.243, "saturation": 0.852, "lightness": 0.111, "lightness_spread": 0.075 }, "front_bottom_full": { "hue": 184.884, "saturation": 0.407, "lightness": 0.586, "lightness_spread": 0.195 }, "back": { "hue": 185.917, "saturation": 0.707, "lightness": 0.109, "lightness_spread": 0.109 }, "spine": { "hue": 184.658, "saturation": 0.623, "lightness": 0.191, "lightness_spread": 0.13 } } },
28
+ "desert.jpg": { size: 825742, regions: { "front_top": { "hue": 28.124, "saturation": 0.774, "lightness": 0.957, "lightness_spread": 0.054 }, "front_bottom": { "hue": 18.297, "saturation": 0.832, "lightness": 0.693, "lightness_spread": 0.062 }, "front_top_full": { "hue": 30.431, "saturation": 0.8, "lightness": 0.974, "lightness_spread": 0.005 }, "front_bottom_full": { "hue": 18.449, "saturation": 0.903, "lightness": 0.739, "lightness_spread": 0.043 }, "back": { "hue": 21.289, "saturation": 0.831, "lightness": 0.814, "lightness_spread": 0.126 }, "spine": { "hue": 22.343, "saturation": 0.845, "lightness": 0.848, "lightness_spread": 0.119 } } },
29
+ "desert_sunset.jpg": { size: 1779067, regions: { "front_top": { "hue": 1.343, "saturation": 0.954, "lightness": 0.791, "lightness_spread": 0.019 }, "front_bottom": { "hue": 209.341, "saturation": 0.282, "lightness": 0.601, "lightness_spread": 0.107 }, "front_top_full": { "hue": 0.408, "saturation": 0.948, "lightness": 0.788, "lightness_spread": 0.019 }, "front_bottom_full": { "hue": 211.086, "saturation": 0.262, "lightness": 0.624, "lightness_spread": 0.049 }, "back": { "hue": 325.997, "saturation": 0.65, "lightness": 0.641, "lightness_spread": 0.165 }, "spine": { "hue": 311.993, "saturation": 0.75, "lightness": 0.653, "lightness_spread": 0.151 } } },
30
+ "earth.jpg": { size: 5037401, regions: { "front_top": { "hue": 216.02, "saturation": 0.575, "lightness": 0.508, "lightness_spread": 0.313 }, "front_bottom": { "hue": 209.702, "saturation": 0.289, "lightness": 0.554, "lightness_spread": 0.135 }, "front_top_full": { "hue": 216.514, "saturation": 0.579, "lightness": 0.534, "lightness_spread": 0.327 }, "front_bottom_full": { "hue": 207.85, "saturation": 0.254, "lightness": 0.552, "lightness_spread": 0.112 }, "back": { "hue": 213.127, "saturation": 0.425, "lightness": 0.556, "lightness_spread": 0.186 }, "spine": { "hue": 210.071, "saturation": 0.468, "lightness": 0.569, "lightness_spread": 0.166 } } },
31
+ "earth_whole.jpg": { size: 1339552, regions: { "front_top": { "hue": 0, "saturation": 0, "lightness": 0, "lightness_spread": 0 }, "front_bottom": { "hue": 217.681, "saturation": 0.036, "lightness": 0.048, "lightness_spread": 0.15 }, "front_top_full": { "hue": 0, "saturation": 0, "lightness": 0, "lightness_spread": 0 }, "front_bottom_full": { "hue": 217.675, "saturation": 0.034, "lightness": 0.049, "lightness_spread": 0.15 }, "back": { "hue": 221.204, "saturation": 0.046, "lightness": 0.1, "lightness_spread": 0.213 }, "spine": { "hue": 222.062, "saturation": 0.112, "lightness": 0.256, "lightness_spread": 0.281 } } },
32
+ "fire.jpg": { size: 1567935, regions: { "front_top": { "hue": 336.921, "saturation": 0.854, "lightness": 0.018, "lightness_spread": 0.035 }, "front_bottom": { "hue": 354.143, "saturation": 0.911, "lightness": 0.103, "lightness_spread": 0.18 }, "front_top_full": { "hue": 325.737, "saturation": 0.855, "lightness": 0.013, "lightness_spread": 0.019 }, "front_bottom_full": { "hue": 352.679, "saturation": 0.914, "lightness": 0.127, "lightness_spread": 0.203 }, "back": { "hue": 352.717, "saturation": 0.883, "lightness": 0.041, "lightness_spread": 0.084 }, "spine": { "hue": 14.079, "saturation": 0.948, "lightness": 0.295, "lightness_spread": 0.24 } } },
33
+ "flowers.jpg": { size: 6013283, regions: { "front_top": { "hue": 359.525, "saturation": 0.257, "lightness": 0.857, "lightness_spread": 0.059 }, "front_bottom": { "hue": 11.121, "saturation": 0.213, "lightness": 0.632, "lightness_spread": 0.118 }, "front_top_full": { "hue": 10.868, "saturation": 0.302, "lightness": 0.836, "lightness_spread": 0.033 }, "front_bottom_full": { "hue": 29.7, "saturation": 0.192, "lightness": 0.656, "lightness_spread": 0.121 }, "back": { "hue": 2.179, "saturation": 0.241, "lightness": 0.738, "lightness_spread": 0.141 }, "spine": { "hue": 352.672, "saturation": 0.305, "lightness": 0.784, "lightness_spread": 0.111 } } },
34
+ "flowers_field.jpg": { size: 3901495, regions: { "front_top": { "hue": 22.369, "saturation": 0.653, "lightness": 0.774, "lightness_spread": 0.14 }, "front_bottom": { "hue": 272.415, "saturation": 0.606, "lightness": 0.192, "lightness_spread": 0.206 }, "front_top_full": { "hue": 27.782, "saturation": 0.772, "lightness": 0.743, "lightness_spread": 0.2 }, "front_bottom_full": { "hue": 277.885, "saturation": 0.565, "lightness": 0.21, "lightness_spread": 0.204 }, "back": { "hue": 331.502, "saturation": 0.616, "lightness": 0.465, "lightness_spread": 0.309 }, "spine": { "hue": 334.484, "saturation": 0.672, "lightness": 0.456, "lightness_spread": 0.298 } } },
35
+ "flowers_red.jpg": { size: 2441949, regions: { "front_top": { "hue": 214.211, "saturation": 0.394, "lightness": 0.646, "lightness_spread": 0.077 }, "front_bottom": { "hue": 79.975, "saturation": 0.552, "lightness": 0.244, "lightness_spread": 0.187 }, "front_top_full": { "hue": 208.432, "saturation": 0.381, "lightness": 0.708, "lightness_spread": 0.033 }, "front_bottom_full": { "hue": 83.209, "saturation": 0.566, "lightness": 0.201, "lightness_spread": 0.143 }, "back": { "hue": 20.111, "saturation": 0.542, "lightness": 0.501, "lightness_spread": 0.196 }, "spine": { "hue": 22.569, "saturation": 0.549, "lightness": 0.532, "lightness_spread": 0.213 } } },
36
+ "funding.jpg": { size: 1822830, regions: { "front_top": { "hue": 90.48, "saturation": 0.049, "lightness": 0.54, "lightness_spread": 0.068 }, "front_bottom": { "hue": 314.715, "saturation": 0.263, "lightness": 0.806, "lightness_spread": 0.223 }, "front_top_full": { "hue": 89.426, "saturation": 0.093, "lightness": 0.549, "lightness_spread": 0.097 }, "front_bottom_full": { "hue": 11.233, "saturation": 0.334, "lightness": 0.727, "lightness_spread": 0.267 }, "back": { "hue": 78.106, "saturation": 0.093, "lightness": 0.594, "lightness_spread": 0.18 }, "spine": { "hue": 19.89, "saturation": 0.128, "lightness": 0.568, "lightness_spread": 0.195 } } },
37
+ "grass.jpg": { size: 1913684, regions: { "front_top": { "hue": 84.038, "saturation": 0.364, "lightness": 0.62, "lightness_spread": 0.108 }, "front_bottom": { "hue": 101.932, "saturation": 0.802, "lightness": 0.214, "lightness_spread": 0.113 }, "front_top_full": { "hue": 85.783, "saturation": 0.308, "lightness": 0.561, "lightness_spread": 0.114 }, "front_bottom_full": { "hue": 106.376, "saturation": 0.9, "lightness": 0.164, "lightness_spread": 0.091 }, "back": { "hue": 89.967, "saturation": 0.509, "lightness": 0.466, "lightness_spread": 0.184 }, "spine": { "hue": 93.954, "saturation": 0.649, "lightness": 0.431, "lightness_spread": 0.218 } } },
38
+ "green.jpg": { size: 6361662, regions: { "front_top": { "hue": 88.154, "saturation": 0.371, "lightness": 0.682, "lightness_spread": 0.125 }, "front_bottom": { "hue": 70.958, "saturation": 0.75, "lightness": 0.139, "lightness_spread": 0.126 }, "front_top_full": { "hue": 37.851, "saturation": 0.386, "lightness": 0.73, "lightness_spread": 0.133 }, "front_bottom_full": { "hue": 76.589, "saturation": 0.81, "lightness": 0.099, "lightness_spread": 0.046 }, "back": { "hue": 72.64, "saturation": 0.582, "lightness": 0.35, "lightness_spread": 0.253 }, "spine": { "hue": 76.817, "saturation": 0.611, "lightness": 0.329, "lightness_spread": 0.259 } } },
39
+ "growing.jpg": { size: 1442096, regions: { "front_top": { "hue": 28.178, "saturation": 0.058, "lightness": 0.36, "lightness_spread": 0.071 }, "front_bottom": { "hue": 33.518, "saturation": 0.103, "lightness": 0.234, "lightness_spread": 0.07 }, "front_top_full": { "hue": 27.718, "saturation": 0.062, "lightness": 0.345, "lightness_spread": 0.074 }, "front_bottom_full": { "hue": 43.211, "saturation": 0.132, "lightness": 0.226, "lightness_spread": 0.068 }, "back": { "hue": 33.722, "saturation": 0.076, "lightness": 0.32, "lightness_spread": 0.094 }, "spine": { "hue": 41.412, "saturation": 0.105, "lightness": 0.319, "lightness_spread": 0.112 } } },
40
+ "hills.jpg": { size: 1606652, regions: { "front_top": { "hue": 192.459, "saturation": 0.283, "lightness": 0.823, "lightness_spread": 0.022 }, "front_bottom": { "hue": 193.529, "saturation": 0.185, "lightness": 0.694, "lightness_spread": 0.094 }, "front_top_full": { "hue": 192.98, "saturation": 0.285, "lightness": 0.812, "lightness_spread": 0.016 }, "front_bottom_full": { "hue": 195.772, "saturation": 0.194, "lightness": 0.638, "lightness_spread": 0.084 }, "back": { "hue": 187.953, "saturation": 0.211, "lightness": 0.809, "lightness_spread": 0.065 }, "spine": { "hue": 189.125, "saturation": 0.214, "lightness": 0.786, "lightness_spread": 0.059 } } },
41
+ "hills_trees.jpg": { size: 3625779, regions: { "front_top": { "hue": 26.64, "saturation": 0.682, "lightness": 0.647, "lightness_spread": 0.094 }, "front_bottom": { "hue": 29.738, "saturation": 0.521, "lightness": 0.21, "lightness_spread": 0.187 }, "front_top_full": { "hue": 28.288, "saturation": 0.709, "lightness": 0.635, "lightness_spread": 0.047 }, "front_bottom_full": { "hue": 28.319, "saturation": 0.501, "lightness": 0.29, "lightness_spread": 0.185 }, "back": { "hue": 28.031, "saturation": 0.541, "lightness": 0.422, "lightness_spread": 0.253 }, "spine": { "hue": 28.831, "saturation": 0.506, "lightness": 0.517, "lightness_spread": 0.153 } } },
42
+ "island.jpg": { size: 4886053, regions: { "front_top": { "hue": 183.004, "saturation": 0.739, "lightness": 0.598, "lightness_spread": 0.27 }, "front_bottom": { "hue": 29.886, "saturation": 0.359, "lightness": 0.753, "lightness_spread": 0.075 }, "front_top_full": { "hue": 205.803, "saturation": 0.896, "lightness": 0.81, "lightness_spread": 0.042 }, "front_bottom_full": { "hue": 25.859, "saturation": 0.219, "lightness": 0.732, "lightness_spread": 0.079 }, "back": { "hue": 59.35, "saturation": 0.527, "lightness": 0.441, "lightness_spread": 0.269 }, "spine": { "hue": 115.095, "saturation": 0.528, "lightness": 0.558, "lightness_spread": 0.267 } } },
43
+ "israel.jpg": { size: 3350836, regions: { "front_top": { "hue": 212.339, "saturation": 0.53, "lightness": 0.636, "lightness_spread": 0.087 }, "front_bottom": { "hue": 37.962, "saturation": 0.788, "lightness": 0.747, "lightness_spread": 0.191 }, "front_top_full": { "hue": 212.782, "saturation": 0.511, "lightness": 0.652, "lightness_spread": 0.081 }, "front_bottom_full": { "hue": 43.884, "saturation": 0.771, "lightness": 0.691, "lightness_spread": 0.239 }, "back": { "hue": 221.786, "saturation": 0.471, "lightness": 0.684, "lightness_spread": 0.123 }, "spine": { "hue": 228.331, "saturation": 0.48, "lightness": 0.715, "lightness_spread": 0.123 } } },
44
+ "israel_lake.jpg": { size: 3707360, regions: { "front_top": { "hue": 200.86, "saturation": 0.787, "lightness": 0.428, "lightness_spread": 0.08 }, "front_bottom": { "hue": 236.092, "saturation": 0.485, "lightness": 0.191, "lightness_spread": 0.065 }, "front_top_full": { "hue": 199.559, "saturation": 0.789, "lightness": 0.438, "lightness_spread": 0.086 }, "front_bottom_full": { "hue": 243.249, "saturation": 0.485, "lightness": 0.195, "lightness_spread": 0.074 }, "back": { "hue": 207.865, "saturation": 0.476, "lightness": 0.432, "lightness_spread": 0.18 }, "spine": { "hue": 204.557, "saturation": 0.535, "lightness": 0.429, "lightness_spread": 0.177 } } },
45
+ "lake.jpg": { size: 2459213, regions: { "front_top": { "hue": 216.275, "saturation": 0.671, "lightness": 0.704, "lightness_spread": 0.131 }, "front_bottom": { "hue": 178.136, "saturation": 0.131, "lightness": 0.521, "lightness_spread": 0.096 }, "front_top_full": { "hue": 216.746, "saturation": 0.682, "lightness": 0.713, "lightness_spread": 0.043 }, "front_bottom_full": { "hue": 191.587, "saturation": 0.163, "lightness": 0.517, "lightness_spread": 0.075 }, "back": { "hue": 207.78, "saturation": 0.357, "lightness": 0.489, "lightness_spread": 0.261 }, "spine": { "hue": 208.761, "saturation": 0.378, "lightness": 0.557, "lightness_spread": 0.203 } } },
46
+ "lake_tree.jpg": { size: 2947645, regions: { "front_top": { "hue": 214.387, "saturation": 0.247, "lightness": 0.773, "lightness_spread": 0.07 }, "front_bottom": { "hue": 204.49, "saturation": 0.12, "lightness": 0.538, "lightness_spread": 0.102 }, "front_top_full": { "hue": 216.486, "saturation": 0.197, "lightness": 0.781, "lightness_spread": 0.061 }, "front_bottom_full": { "hue": 196.376, "saturation": 0.086, "lightness": 0.507, "lightness_spread": 0.131 }, "back": { "hue": 212.441, "saturation": 0.238, "lightness": 0.626, "lightness_spread": 0.17 }, "spine": { "hue": 200.983, "saturation": 0.223, "lightness": 0.655, "lightness_spread": 0.196 } } },
47
+ "lion.jpg": { size: 5221103, regions: { "front_top": { "hue": 40.978, "saturation": 0.737, "lightness": 0.67, "lightness_spread": 0.02 }, "front_bottom": { "hue": 26.342, "saturation": 0.54, "lightness": 0.269, "lightness_spread": 0.091 }, "front_top_full": { "hue": 41.05, "saturation": 0.771, "lightness": 0.663, "lightness_spread": 0.02 }, "front_bottom_full": { "hue": 25.125, "saturation": 0.544, "lightness": 0.287, "lightness_spread": 0.085 }, "back": { "hue": 32.332, "saturation": 0.635, "lightness": 0.485, "lightness_spread": 0.185 }, "spine": { "hue": 33.272, "saturation": 0.67, "lightness": 0.56, "lightness_spread": 0.127 } } },
48
+ "lost_sheep.jpg": { size: 3394050, regions: { "front_top": { "hue": 204.631, "saturation": 0.338, "lightness": 0.297, "lightness_spread": 0.068 }, "front_bottom": { "hue": 27.535, "saturation": 0.675, "lightness": 0.294, "lightness_spread": 0.118 }, "front_top_full": { "hue": 204.723, "saturation": 0.341, "lightness": 0.292, "lightness_spread": 0.064 }, "front_bottom_full": { "hue": 27.238, "saturation": 0.635, "lightness": 0.322, "lightness_spread": 0.12 }, "back": { "hue": 28.646, "saturation": 0.496, "lightness": 0.341, "lightness_spread": 0.15 }, "spine": { "hue": 29.267, "saturation": 0.496, "lightness": 0.373, "lightness_spread": 0.138 } } },
49
+ "mist.jpg": { size: 670830, regions: { "front_top": { "hue": 26.249, "saturation": 0.702, "lightness": 0.967, "lightness_spread": 0.024 }, "front_bottom": { "hue": 209.76, "saturation": 0.359, "lightness": 0.136, "lightness_spread": 0.061 }, "front_top_full": { "hue": 26.513, "saturation": 0.661, "lightness": 0.958, "lightness_spread": 0.033 }, "front_bottom_full": { "hue": 205.366, "saturation": 0.364, "lightness": 0.142, "lightness_spread": 0.07 }, "back": { "hue": 29.044, "saturation": 0.46, "lightness": 0.571, "lightness_spread": 0.378 }, "spine": { "hue": 42.01, "saturation": 0.4, "lightness": 0.546, "lightness_spread": 0.36 } } },
50
+ "mountains.jpg": { size: 1665711, regions: { "front_top": { "hue": 57.715, "saturation": 0.745, "lightness": 0.917, "lightness_spread": 0.171 }, "front_bottom": { "hue": 215.393, "saturation": 0.365, "lightness": 0.131, "lightness_spread": 0.131 }, "front_top_full": { "hue": 53.684, "saturation": 0.757, "lightness": 0.923, "lightness_spread": 0.156 }, "front_bottom_full": { "hue": 216.876, "saturation": 0.301, "lightness": 0.168, "lightness_spread": 0.148 }, "back": { "hue": 84.473, "saturation": 0.434, "lightness": 0.519, "lightness_spread": 0.352 }, "spine": { "hue": 153.543, "saturation": 0.321, "lightness": 0.435, "lightness_spread": 0.299 } } },
51
+ "opening.jpg": { size: 1044074, regions: { "front_top": { "hue": 30.056, "saturation": 0.05, "lightness": 0.073, "lightness_spread": 0.116 }, "front_bottom": { "hue": 33.193, "saturation": 0.12, "lightness": 0.025, "lightness_spread": 0.043 }, "front_top_full": { "hue": 43.213, "saturation": 0.054, "lightness": 0.119, "lightness_spread": 0.099 }, "front_bottom_full": { "hue": 33.204, "saturation": 0.132, "lightness": 0.032, "lightness_spread": 0.047 }, "back": { "hue": 26.211, "saturation": 0.128, "lightness": 0.069, "lightness_spread": 0.175 }, "spine": { "hue": 33.939, "saturation": 0.218, "lightness": 0.461, "lightness_spread": 0.432 } } },
52
+ "plane.jpg": { size: 1808726, regions: { "front_top": { "hue": 195.996, "saturation": 0.304, "lightness": 0.706, "lightness_spread": 0.113 }, "front_bottom": { "hue": 261.078, "saturation": 0.333, "lightness": 0.527, "lightness_spread": 0.195 }, "front_top_full": { "hue": 27.271, "saturation": 0.317, "lightness": 0.778, "lightness_spread": 0.085 }, "front_bottom_full": { "hue": 22.135, "saturation": 0.328, "lightness": 0.673, "lightness_spread": 0.143 }, "back": { "hue": 206.021, "saturation": 0.322, "lightness": 0.581, "lightness_spread": 0.16 }, "spine": { "hue": 31.419, "saturation": 0.405, "lightness": 0.725, "lightness_spread": 0.185 } } },
53
+ "plant.jpg": { size: 2315603, regions: { "front_top": { "hue": 78.493, "saturation": 0.103, "lightness": 0.018, "lightness_spread": 0.075 }, "front_bottom": { "hue": 19.299, "saturation": 0.562, "lightness": 0.057, "lightness_spread": 0.062 }, "front_top_full": { "hue": 61.914, "saturation": 0.138, "lightness": 0.02, "lightness_spread": 0.084 }, "front_bottom_full": { "hue": 16.765, "saturation": 0.628, "lightness": 0.09, "lightness_spread": 0.076 }, "back": { "hue": 40.407, "saturation": 0.257, "lightness": 0.026, "lightness_spread": 0.075 }, "spine": { "hue": 102.277, "saturation": 0.448, "lightness": 0.075, "lightness_spread": 0.139 } } },
54
+ "plant_table.jpg": { size: 2862801, regions: { "front_top": { "hue": 198.339, "saturation": 0.773, "lightness": 0.049, "lightness_spread": 0.082 }, "front_bottom": { "hue": 149.308, "saturation": 0.6, "lightness": 0.21, "lightness_spread": 0.202 }, "front_top_full": { "hue": 200.271, "saturation": 0.715, "lightness": 0.072, "lightness_spread": 0.12 }, "front_bottom_full": { "hue": 22.69, "saturation": 0.348, "lightness": 0.249, "lightness_spread": 0.175 }, "back": { "hue": 193.39, "saturation": 0.818, "lightness": 0.062, "lightness_spread": 0.116 }, "spine": { "hue": 183.36, "saturation": 0.615, "lightness": 0.234, "lightness_spread": 0.217 } } },
55
+ "reflecting.jpg": { size: 2360242, regions: { "front_top": { "hue": 32.362, "saturation": 0.601, "lightness": 0.746, "lightness_spread": 0.06 }, "front_bottom": { "hue": 30.088, "saturation": 0.653, "lightness": 0.086, "lightness_spread": 0.051 }, "front_top_full": { "hue": 31.463, "saturation": 0.75, "lightness": 0.782, "lightness_spread": 0.018 }, "front_bottom_full": { "hue": 28.549, "saturation": 0.732, "lightness": 0.121, "lightness_spread": 0.051 }, "back": { "hue": 30.002, "saturation": 0.493, "lightness": 0.381, "lightness_spread": 0.299 }, "spine": { "hue": 27.784, "saturation": 0.604, "lightness": 0.383, "lightness_spread": 0.334 } } },
56
+ "rocket.jpg": { size: 11421758, regions: { "front_top": { "hue": 219.973, "saturation": 0.117, "lightness": 0.426, "lightness_spread": 0.026 }, "front_bottom": { "hue": 33.981, "saturation": 0.387, "lightness": 0.268, "lightness_spread": 0.239 }, "front_top_full": { "hue": 222.115, "saturation": 0.107, "lightness": 0.437, "lightness_spread": 0.027 }, "front_bottom_full": { "hue": 34.049, "saturation": 0.416, "lightness": 0.316, "lightness_spread": 0.276 }, "back": { "hue": 6.734, "saturation": 0.181, "lightness": 0.379, "lightness_spread": 0.131 }, "spine": { "hue": 16.293, "saturation": 0.184, "lightness": 0.396, "lightness_spread": 0.131 } } },
57
+ "sea.jpg": { size: 5778889, regions: { "front_top": { "hue": 187.102, "saturation": 0.188, "lightness": 0.844, "lightness_spread": 0.025 }, "front_bottom": { "hue": 190.313, "saturation": 0.395, "lightness": 0.306, "lightness_spread": 0.137 }, "front_top_full": { "hue": 183.78, "saturation": 0.184, "lightness": 0.864, "lightness_spread": 0.016 }, "front_bottom_full": { "hue": 190.437, "saturation": 0.308, "lightness": 0.379, "lightness_spread": 0.156 }, "back": { "hue": 190.777, "saturation": 0.367, "lightness": 0.497, "lightness_spread": 0.281 }, "spine": { "hue": 188.845, "saturation": 0.291, "lightness": 0.562, "lightness_spread": 0.268 } } },
58
+ "sheep.jpg": { size: 3299614, regions: { "front_top": { "hue": 206.693, "saturation": 0.505, "lightness": 0.726, "lightness_spread": 0.247 }, "front_bottom": { "hue": 19.526, "saturation": 0.296, "lightness": 0.309, "lightness_spread": 0.179 }, "front_top_full": { "hue": 204.645, "saturation": 0.507, "lightness": 0.843, "lightness_spread": 0.111 }, "front_bottom_full": { "hue": 20.808, "saturation": 0.24, "lightness": 0.332, "lightness_spread": 0.207 }, "back": { "hue": 15.911, "saturation": 0.387, "lightness": 0.478, "lightness_spread": 0.246 }, "spine": { "hue": 213.3, "saturation": 0.361, "lightness": 0.617, "lightness_spread": 0.236 } } },
59
+ "snow.jpg": { size: 1513769, regions: { "front_top": { "hue": 205.584, "saturation": 0.109, "lightness": 0.838, "lightness_spread": 0.091 }, "front_bottom": { "hue": 201.878, "saturation": 0.137, "lightness": 0.553, "lightness_spread": 0.248 }, "front_top_full": { "hue": 207.511, "saturation": 0.102, "lightness": 0.848, "lightness_spread": 0.009 }, "front_bottom_full": { "hue": 202.758, "saturation": 0.127, "lightness": 0.553, "lightness_spread": 0.221 }, "back": { "hue": 202.002, "saturation": 0.122, "lightness": 0.644, "lightness_spread": 0.24 }, "spine": { "hue": 205.215, "saturation": 0.095, "lightness": 0.74, "lightness_spread": 0.147 } } },
60
+ "snow_trees.jpg": { size: 2229250, regions: { "front_top": { "hue": 14.593, "saturation": 0.868, "lightness": 0.841, "lightness_spread": 0.005 }, "front_bottom": { "hue": 242.436, "saturation": 0.25, "lightness": 0.711, "lightness_spread": 0.094 }, "front_top_full": { "hue": 11.62, "saturation": 0.794, "lightness": 0.845, "lightness_spread": 0.004 }, "front_bottom_full": { "hue": 247.651, "saturation": 0.225, "lightness": 0.729, "lightness_spread": 0.089 }, "back": { "hue": 8.932, "saturation": 0.604, "lightness": 0.776, "lightness_spread": 0.093 }, "spine": { "hue": 6.137, "saturation": 0.554, "lightness": 0.796, "lightness_spread": 0.075 } } },
61
+ "stars.jpg": { size: 5697480, regions: { "front_top": { "hue": 189.927, "saturation": 0.443, "lightness": 0.179, "lightness_spread": 0.027 }, "front_bottom": { "hue": 31.853, "saturation": 0.196, "lightness": 0.124, "lightness_spread": 0.045 }, "front_top_full": { "hue": 190.529, "saturation": 0.44, "lightness": 0.192, "lightness_spread": 0.025 }, "front_bottom_full": { "hue": 30.242, "saturation": 0.223, "lightness": 0.131, "lightness_spread": 0.05 }, "back": { "hue": 183.075, "saturation": 0.361, "lightness": 0.189, "lightness_spread": 0.072 }, "spine": { "hue": 176.444, "saturation": 0.333, "lightness": 0.246, "lightness_spread": 0.109 } } },
62
+ "sunset.jpg": { size: 1267112, regions: { "front_top": { "hue": 274.427, "saturation": 0.16, "lightness": 0.301, "lightness_spread": 0.13 }, "front_bottom": { "hue": 8.075, "saturation": 0.244, "lightness": 0.16, "lightness_spread": 0.195 }, "front_top_full": { "hue": 252.675, "saturation": 0.156, "lightness": 0.331, "lightness_spread": 0.126 }, "front_bottom_full": { "hue": 16.226, "saturation": 0.243, "lightness": 0.183, "lightness_spread": 0.209 }, "back": { "hue": 354.746, "saturation": 0.287, "lightness": 0.282, "lightness_spread": 0.227 }, "spine": { "hue": 16.92, "saturation": 0.393, "lightness": 0.448, "lightness_spread": 0.258 } } },
63
+ "sunset_tree.jpg": { size: 2194495, regions: { "front_top": { "hue": 196.994, "saturation": 0.954, "lightness": 0.165, "lightness_spread": 0.048 }, "front_bottom": { "hue": 180.153, "saturation": 0.33, "lightness": 0.176, "lightness_spread": 0.13 }, "front_top_full": { "hue": 195.813, "saturation": 0.977, "lightness": 0.188, "lightness_spread": 0.04 }, "front_bottom_full": { "hue": 167.16, "saturation": 0.31, "lightness": 0.263, "lightness_spread": 0.141 }, "back": { "hue": 197.466, "saturation": 0.551, "lightness": 0.151, "lightness_spread": 0.101 }, "spine": { "hue": 194.694, "saturation": 0.504, "lightness": 0.25, "lightness_spread": 0.147 } } },
64
+ "surge.jpg": { size: 3542895, regions: { "front_top": { "hue": 203.871, "saturation": 0.247, "lightness": 0.642, "lightness_spread": 0.069 }, "front_bottom": { "hue": 171.049, "saturation": 0.162, "lightness": 0.514, "lightness_spread": 0.208 }, "front_top_full": { "hue": 203.103, "saturation": 0.248, "lightness": 0.655, "lightness_spread": 0.049 }, "front_bottom_full": { "hue": 162.989, "saturation": 0.145, "lightness": 0.529, "lightness_spread": 0.189 }, "back": { "hue": 195.534, "saturation": 0.249, "lightness": 0.59, "lightness_spread": 0.181 }, "spine": { "hue": 198.382, "saturation": 0.229, "lightness": 0.623, "lightness_spread": 0.174 } } },
65
+ "sword.jpg": { size: 1843024, regions: { "front_top": { "hue": 207.422, "saturation": 0.322, "lightness": 0.66, "lightness_spread": 0.204 }, "front_bottom": { "hue": 207.147, "saturation": 0.337, "lightness": 0.515, "lightness_spread": 0.203 }, "front_top_full": { "hue": 207.493, "saturation": 0.317, "lightness": 0.586, "lightness_spread": 0.251 }, "front_bottom_full": { "hue": 206.121, "saturation": 0.38, "lightness": 0.563, "lightness_spread": 0.217 }, "back": { "hue": 208.648, "saturation": 0.298, "lightness": 0.583, "lightness_spread": 0.19 }, "spine": { "hue": 207.453, "saturation": 0.327, "lightness": 0.656, "lightness_spread": 0.15 } } },
66
+ "tomb.jpg": { size: 3267225, regions: { "front_top": { "hue": 29.481, "saturation": 0.207, "lightness": 0.442, "lightness_spread": 0.223 }, "front_bottom": { "hue": 27.291, "saturation": 0.253, "lightness": 0.291, "lightness_spread": 0.195 }, "front_top_full": { "hue": 29.453, "saturation": 0.179, "lightness": 0.466, "lightness_spread": 0.234 }, "front_bottom_full": { "hue": 27.081, "saturation": 0.307, "lightness": 0.218, "lightness_spread": 0.073 }, "back": { "hue": 28.492, "saturation": 0.213, "lightness": 0.381, "lightness_spread": 0.246 }, "spine": { "hue": 27.539, "saturation": 0.281, "lightness": 0.281, "lightness_spread": 0.106 } } },
67
+ "tropical.jpg": { size: 1237585, regions: { "front_top": { "hue": 184.914, "saturation": 0.683, "lightness": 0.465, "lightness_spread": 0.213 }, "front_bottom": { "hue": 147.063, "saturation": 0.477, "lightness": 0.24, "lightness_spread": 0.146 }, "front_top_full": { "hue": 190.393, "saturation": 0.768, "lightness": 0.509, "lightness_spread": 0.064 }, "front_bottom_full": { "hue": 164.906, "saturation": 0.488, "lightness": 0.287, "lightness_spread": 0.153 }, "back": { "hue": 152.551, "saturation": 0.502, "lightness": 0.273, "lightness_spread": 0.219 }, "spine": { "hue": 166.024, "saturation": 0.519, "lightness": 0.421, "lightness_spread": 0.212 } } },
68
+ "vineyard.jpg": { size: 4813194, regions: { "front_top": { "hue": 212.221, "saturation": 0.438, "lightness": 0.741, "lightness_spread": 0.102 }, "front_bottom": { "hue": 62.602, "saturation": 0.623, "lightness": 0.197, "lightness_spread": 0.086 }, "front_top_full": { "hue": 210.808, "saturation": 0.413, "lightness": 0.808, "lightness_spread": 0.091 }, "front_bottom_full": { "hue": 63.029, "saturation": 0.628, "lightness": 0.19, "lightness_spread": 0.079 }, "back": { "hue": 82.509, "saturation": 0.527, "lightness": 0.391, "lightness_spread": 0.239 }, "spine": { "hue": 76.283, "saturation": 0.491, "lightness": 0.406, "lightness_spread": 0.264 } } },
69
+ "wasteland.jpg": { size: 3540567, regions: { "front_top": { "hue": 214.698, "saturation": 0.276, "lightness": 0.268, "lightness_spread": 0.14 }, "front_bottom": { "hue": 26.97, "saturation": 0.2, "lightness": 0.161, "lightness_spread": 0.065 }, "front_top_full": { "hue": 213.884, "saturation": 0.299, "lightness": 0.237, "lightness_spread": 0.122 }, "front_bottom_full": { "hue": 25.05, "saturation": 0.231, "lightness": 0.167, "lightness_spread": 0.053 }, "back": { "hue": 210.06, "saturation": 0.186, "lightness": 0.254, "lightness_spread": 0.15 }, "spine": { "hue": 339.732, "saturation": 0.204, "lightness": 0.283, "lightness_spread": 0.148 } } },
70
+ "wilderness.jpg": { size: 3286289, regions: { "front_top": { "hue": 215.436, "saturation": 0.233, "lightness": 0.719, "lightness_spread": 0.101 }, "front_bottom": { "hue": 31.604, "saturation": 0.489, "lightness": 0.502, "lightness_spread": 0.141 }, "front_top_full": { "hue": 215.056, "saturation": 0.25, "lightness": 0.761, "lightness_spread": 0.044 }, "front_bottom_full": { "hue": 31.914, "saturation": 0.46, "lightness": 0.521, "lightness_spread": 0.121 }, "back": { "hue": 32.365, "saturation": 0.358, "lightness": 0.582, "lightness_spread": 0.185 }, "spine": { "hue": 30.638, "saturation": 0.33, "lightness": 0.611, "lightness_spread": 0.158 } } },
71
+ "work.jpg": { size: 1164813, regions: { "front_top": { "hue": 201.939, "saturation": 0.574, "lightness": 0.963, "lightness_spread": 0.06 }, "front_bottom": { "hue": 204.081, "saturation": 0.266, "lightness": 0.569, "lightness_spread": 0.315 }, "front_top_full": { "hue": 207.197, "saturation": 0.595, "lightness": 0.983, "lightness_spread": 0.014 }, "front_bottom_full": { "hue": 236.915, "saturation": 0.249, "lightness": 0.667, "lightness_spread": 0.228 }, "back": { "hue": 206.291, "saturation": 0.448, "lightness": 0.818, "lightness_spread": 0.281 }, "spine": { "hue": 214.079, "saturation": 0.455, "lightness": 0.857, "lightness_spread": 0.271 } } },
72
+ };
73
+ //# sourceMappingURL=builtin_bg_regions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builtin_bg_regions.js","sourceRoot":"","sources":["../src/builtin_bg_regions.ts"],"names":[],"mappings":"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"}
package/dist/design.d.ts CHANGED
@@ -76,8 +76,35 @@ export declare function pick_vivid_tint(candidates: RegionStats[], backdrop: Reg
76
76
  * vivid result (for decorative accents).
77
77
  */
78
78
  export declare function synthesize_fill(candidates: RegionStats[], target_lightness?: number): string;
79
- /** Merge user-supplied colors with defaults, deriving related fields when possible */
80
- export declare function resolve_colors(schema: CoverSchema): ResolvedColors;
79
+ export declare const VECTOR_BG_AUTO_COLOR = "#e1d1c4";
80
+ /** Colors sampled from the background image, keyed by where they were sampled from.
81
+ * front_top/front_bottom treat the whole image as the front panel — correct whenever the
82
+ * image is confined to the front panel (any bg_image_coverage besides 'full'). Under 'full'
83
+ * coverage the raw image is a full wrap (back+spine+front side by side), so front text should
84
+ * only look at the front panel's own portion of it, not the back/spine content alongside it —
85
+ * front_top_full/front_bottom_full and back/spine are that full-wrap interpretation, located
86
+ * proportionally within the same image (see analyze_pixel_regions in image_regions.ts). Both
87
+ * interpretations are always sampled together (when dims are resolvable) so switching
88
+ * bg_image_coverage never needs a recompute — it just picks which pair to use. */
89
+ export interface ImageRegions {
90
+ front_top: RegionStats;
91
+ front_bottom: RegionStats;
92
+ front_top_full: RegionStats | null;
93
+ front_bottom_full: RegionStats | null;
94
+ back: RegionStats | null;
95
+ spine: RegionStats | null;
96
+ }
97
+ /** Flatten an ImageRegions into every non-null sampled region — the candidate pool for
98
+ * synthesize_fill()'s "pick the most colorful region" bg-color derivation. */
99
+ export declare function all_image_regions(regions: ImageRegions): RegionStats[];
100
+ /**
101
+ * Merge user-supplied schema colors with contrast-aware defaults, deriving every unset field
102
+ * from whatever it actually sits on. image_regions, when provided, feeds a complementary
103
+ * front_bg (when bg_color itself is unset) and a vivid image-sampled tint for front-panel
104
+ * title/subtitle/author text (see pick_vivid_tint); every field falls through to plain
105
+ * auto-contrast against its real backdrop when there's no image (or no tint available).
106
+ */
107
+ export declare function resolve_colors(schema: CoverSchema, image_regions?: ImageRegions | null): ResolvedColors;
81
108
  /** Per-field resolved font configs — the single source of the font inheritance chain */
82
109
  export interface ResolvedFontConfigs {
83
110
  body: FontConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"design.d.ts","sourceRoot":"","sources":["../src/design.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"design.d.ts","sourceRoot":"","sources":["../src/design.ts"],"names":[],"mappings":"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"}
package/dist/design.js CHANGED
@@ -1,18 +1,15 @@
1
1
  // Resolve final color and font values, applying defaults where fields are omitted
2
2
  import chroma from 'chroma-js';
3
+ import { hex_override_to_hsl } from './colors.js';
3
4
  // Baseline default colors — pure grays map to clean CMYK K-channel percentages
4
5
  // (e.g. hsl(0deg,0%,20%) = K80%, hsl(0deg,0%,10%) = K90%) for predictable print output
5
- // Format hsl(Hdeg, S%, L%) is valid in both CSS4 and Typst's color.hsl()
6
+ // Format hsl(Hdeg, S%, L%) is valid in both CSS4 and Typst's color.hsl(). Every other color
7
+ // field is now contrast-derived against whatever it actually sits on (see resolve_colors) —
8
+ // these two are the only values with nothing to contrast against yet.
6
9
  const COLOR_DEFAULTS = {
7
- front_background: 'hsl(0deg, 0%, 100%)', // K=0% (white)
8
- back_background: 'hsl(0deg, 0%, 100%)', // K=0% (white)
9
- spine_background: 'hsl(0deg, 0%, 20%)', // K=80%
10
- front_subtitle: 'hsl(0deg, 0%, 20%)', // K=80%
11
- front_author: 'hsl(0deg, 0%, 20%)', // K=80%
12
- blurb: 'hsl(0deg, 0%, 10%)', // K=90%
13
- spine_title: 'hsl(0deg, 0%, 100%)', // K=0% (white)
14
- spine_author: 'hsl(0deg, 0%, 85%)', // K=15%
15
- accent: 'hsl(0deg, 0%, 20%)', // K=80%
10
+ front_background: 'hsl(0deg, 0%, 100%)', // K=0% (white) — imageless, colorless base case
11
+ accent: 'hsl(0deg, 0%, 20%)', // K=80% — spine_background when spine_color is
12
+ // entirely unset (not even null)
16
13
  };
17
14
  /** Parse an hsl(Hdeg, S%, L%) string into a chroma Color instance */
18
15
  function from_hsl(hsl_str) {
@@ -112,12 +109,16 @@ export function generate_palette(base, count, scheme) {
112
109
  }
113
110
  return colors;
114
111
  }
115
- /** Return white or near-black, whichever has more WCAG contrast against the given background */
116
- function auto_contrast_text(bg) {
117
- const L = from_hsl(bg).luminance();
112
+ /** True when white text has more WCAG contrast than black against this color */
113
+ function is_dark(c) {
114
+ const L = c.luminance();
118
115
  const contrast_white = 1.05 / (L + 0.05);
119
116
  const contrast_black = (L + 0.05) / 0.05;
120
- return contrast_white >= contrast_black
117
+ return contrast_white >= contrast_black;
118
+ }
119
+ /** Return white or near-black, whichever has more WCAG contrast against the given background */
120
+ function auto_contrast_text(bg) {
121
+ return is_dark(from_hsl(bg))
121
122
  ? 'hsl(0deg, 0%, 100%)' // white — better on dark backgrounds
122
123
  : 'hsl(0deg, 0%, 10%)'; // near-black (K90% for print)
123
124
  }
@@ -337,36 +338,147 @@ export function synthesize_fill(candidates, target_lightness) {
337
338
  }
338
339
  return chroma.hsl(source.hue, sat, l).hex();
339
340
  }
340
- /** Merge user-supplied colors with defaults, deriving related fields when possible */
341
- export function resolve_colors(schema) {
341
+ // -- Image-derived color resolution --
342
+ //
343
+ // Everything below feeds resolve_colors(): given an optional ImageRegions sample of the
344
+ // background image, it derives a front_bg complement, a vivid image-sampled tint for front
345
+ // title/subtitle/author text, and — for every other field — auto-contrasts against whatever
346
+ // color it actually sits on (image-derived or not). This is the single place all of that math
347
+ // lives; build_schema() (the FormState → schema path, used by the widget) does no color
348
+ // derivation of its own — it passes user overrides straight through and leaves the rest unset
349
+ // for resolve_colors() to fill in here.
350
+ // Auto bg_color fallback for a vector background: there's no image to sample a complementary
351
+ // color from, so this fixed neutral tan stands in instead of the imageless default of white.
352
+ // Exported so callers previewing the auto color pre-generate (e.g. the widget's picker swatches)
353
+ // can match this without duplicating the value
354
+ export const VECTOR_BG_AUTO_COLOR = '#e1d1c4';
355
+ /** Flatten an ImageRegions into every non-null sampled region — the candidate pool for
356
+ * synthesize_fill()'s "pick the most colorful region" bg-color derivation. */
357
+ export function all_image_regions(regions) {
358
+ return [
359
+ regions.front_top, regions.front_bottom,
360
+ ...(regions.back ? [regions.back] : []),
361
+ ...(regions.spine ? [regions.spine] : []),
362
+ ];
363
+ }
364
+ /** Convert a chroma Color to a RegionStats triple (inverse of region_hex) — a flat synthesized
365
+ * color, so lightness_spread is 0 */
366
+ function color_to_region(c) {
367
+ const [h, s, l] = c.hsl();
368
+ return { hue: h || 0, saturation: s, lightness: l, lightness_spread: 0 };
369
+ }
370
+ // Baseline contrast target per position — bottom-positioned text (author, usually) tends to sit
371
+ // over busier parts of a photo than top-positioned text (title, usually sky/simpler), so it
372
+ // gets a higher floor before any per-image variance is even factored in
373
+ const BASE_CONTRAST_BY_POSITION = { top: 5.5, middle: 6, bottom: 7 };
374
+ // Scales a region's measured lightness_spread into additional required contrast — a region
375
+ // that isn't visually uniform (text crossing both light and dark areas) needs more margin than
376
+ // its average color alone would suggest
377
+ const VARIANCE_CONTRAST_BOOST = 10;
378
+ /** The contrast target for text at a given position against its resolved backdrop region */
379
+ function min_contrast_for(position, backdrop) {
380
+ return BASE_CONTRAST_BY_POSITION[position] + backdrop.lightness_spread * VARIANCE_CONTRAST_BOOST;
381
+ }
382
+ /** The front-panel top/bottom pair to use for text placement — the full-wrap interpretation
383
+ * under 'full' coverage (when it was resolvable), else the whole-image interpretation that
384
+ * every other coverage mode already needs */
385
+ function front_pair(coverage, regions) {
386
+ if (coverage === 'full' && regions.front_top_full && regions.front_bottom_full)
387
+ return { top: regions.front_top_full, bottom: regions.front_bottom_full };
388
+ return { top: regions.front_top, bottom: regions.front_bottom };
389
+ }
390
+ /**
391
+ * Resolve which sampled region a piece of front-panel text should be checked for contrast
392
+ * against, given its vertical position and how the background image covers the front panel:
393
+ * 'painted'/'feature' insets don't fill the panel, so text is assumed to sit on the front
394
+ * background throughout; 'front_partial' only covers the bottom two-thirds, so top-positioned
395
+ * text sits on the front background while middle/bottom sits on the image; any full-bleed-front
396
+ * coverage maps top/bottom/middle directly onto the sampled regions (see front_pair for 'full').
397
+ */
398
+ function image_backdrop_for_position(position, coverage, regions, bg_region) {
399
+ if (coverage === 'painted' || coverage === 'feature')
400
+ return bg_region;
401
+ if (coverage === 'front_partial')
402
+ return position === 'top' ? bg_region : regions.front_bottom;
403
+ const { top, bottom } = front_pair(coverage, regions);
404
+ if (position === 'top')
405
+ return top;
406
+ if (position === 'bottom')
407
+ return bottom;
408
+ return blend_regions(top, bottom);
409
+ }
410
+ /**
411
+ * Merge user-supplied schema colors with contrast-aware defaults, deriving every unset field
412
+ * from whatever it actually sits on. image_regions, when provided, feeds a complementary
413
+ * front_bg (when bg_color itself is unset) and a vivid image-sampled tint for front-panel
414
+ * title/subtitle/author text (see pick_vivid_tint); every field falls through to plain
415
+ * auto-contrast against its real backdrop when there's no image (or no tint available).
416
+ */
417
+ export function resolve_colors(schema, image_regions) {
342
418
  const accent = COLOR_DEFAULTS.accent;
343
- const front_bg = schema.bg_color ?? COLOR_DEFAULTS.front_background;
344
- // Blurb background: null = transparent, undefined = derive from front background
345
- const blurb_bg = schema.blurb_bg_color === null
346
- ? null
347
- : schema.blurb_bg_color ?? schema.bg_color ?? COLOR_DEFAULTS.back_background;
348
- // Title colors: auto-contrast default for title1; title2/3 inherit title1's color
349
- const title1 = schema.title1_color ?? auto_contrast_text(front_bg);
419
+ const all_regions = image_regions ? all_image_regions(image_regions) : [];
420
+ // Front background: explicit bg_color wins; else complement the image; else a neutral tan
421
+ // for a vector background (no pixels to sample); else plain white
422
+ const front_bg_color = schema.bg_color ? parse_color(schema.bg_color)
423
+ : all_regions.length ? chroma(synthesize_fill(all_regions))
424
+ : schema.bg_vector_id ? chroma(VECTOR_BG_AUTO_COLOR)
425
+ : from_hsl(COLOR_DEFAULTS.front_background);
426
+ const front_bg = to_hsl(front_bg_color);
427
+ const coverage = schema.bg_image_coverage ?? 'front';
428
+ // Real image color behind the back panel/spine — only actually visible under full-wrap
429
+ // coverage; otherwise blurb/spine derive from front_bg like any other flat color
430
+ const image_backdrop = image_regions && coverage === 'full' && image_regions.back && image_regions.spine
431
+ ? { back: chroma(region_hex(image_regions.back)), spine: chroma(region_hex(image_regions.spine)) }
432
+ : undefined;
433
+ // Vivid image-sampled tint for a front-panel text field at the given position — null when
434
+ // there's no image (falls through to plain auto-contrast below)
435
+ const front_bg_region = color_to_region(front_bg_color);
436
+ const tint_for = (position) => {
437
+ if (!image_regions)
438
+ return null;
439
+ const { top, bottom } = front_pair(coverage, image_regions);
440
+ const backdrop = image_backdrop_for_position(position, coverage, image_regions, front_bg_region);
441
+ return pick_vivid_tint([top, bottom], backdrop, min_contrast_for(position, backdrop));
442
+ };
443
+ const title1 = schema.title1_color ?? hex_override_to_hsl(tint_for(schema.title_position))
444
+ ?? auto_contrast_text(front_bg);
350
445
  const title2 = schema.title2_color ?? title1;
351
446
  const title3 = schema.title3_color ?? title1;
447
+ const subtitle = schema.subtitle_color ?? hex_override_to_hsl(tint_for(schema.subtitle_position))
448
+ ?? auto_contrast_text(front_bg);
449
+ const author = schema.author_color ?? hex_override_to_hsl(tint_for(schema.author_position))
450
+ ?? auto_contrast_text(front_bg);
451
+ // Blurb: text and (unless the caller wants transparency) a banded container background,
452
+ // both contrasted against whatever's actually behind the blurb box — the real image color
453
+ // under full-wrap coverage, else front_bg
454
+ const blurb_backdrop = image_backdrop?.back ?? front_bg_color;
455
+ const [blurb_h, blurb_s, blurb_l] = blurb_backdrop.hsl();
456
+ const blurb_background = schema.blurb_bg_color === null ? null
457
+ : schema.blurb_bg_color ?? to_hsl(chroma.hsl(blurb_h || 0, blurb_s, is_dark(blurb_backdrop) ? Math.min(blurb_l, 0.25) : Math.max(blurb_l, 0.75)));
458
+ const blurb = schema.blurb_color ?? auto_contrast_text(to_hsl(blurb_backdrop));
459
+ // Spine text: real image color behind the spine (full-wrap coverage) takes priority over
460
+ // front_bg when spine_color itself isn't explicitly set
461
+ const spine_backdrop = schema.spine_color ? parse_color(schema.spine_color)
462
+ : image_backdrop?.spine ?? front_bg_color;
463
+ const spine_text = auto_contrast_text(to_hsl(spine_backdrop));
352
464
  return {
353
465
  front_background: front_bg,
354
466
  // Gradient stops: hue shifted ±35° from the base front color
355
467
  front_gradient_start: shift_hue(front_bg, 35),
356
468
  front_gradient_end: shift_hue(front_bg, -35),
357
469
  // Back background falls back to front background
358
- back_background: schema.bg_color ?? COLOR_DEFAULTS.back_background,
470
+ back_background: front_bg,
359
471
  // Spine background: null = no separate spine color; undefined = fall back to accent
360
472
  spine_background: schema.spine_color === undefined ? accent : schema.spine_color,
361
473
  front_title1: title1,
362
474
  front_title2: title2,
363
475
  front_title3: title3,
364
- front_subtitle: schema.subtitle_color ?? COLOR_DEFAULTS.front_subtitle,
365
- front_author: schema.author_color ?? COLOR_DEFAULTS.front_author,
366
- blurb: schema.blurb_color ?? COLOR_DEFAULTS.blurb,
367
- blurb_background: blurb_bg,
368
- spine_title: schema.spine_title_color ?? COLOR_DEFAULTS.spine_title,
369
- spine_author: schema.spine_author_color ?? COLOR_DEFAULTS.spine_author,
476
+ front_subtitle: subtitle,
477
+ front_author: author,
478
+ blurb,
479
+ blurb_background,
480
+ spine_title: schema.spine_title_color ?? spine_text,
481
+ spine_author: schema.spine_author_color ?? spine_text,
370
482
  accent,
371
483
  };
372
484
  }