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.
- 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/design.d.ts +29 -2
- package/dist/design.d.ts.map +1 -1
- package/dist/design.js +142 -30
- package/dist/design.js.map +1 -1
- package/dist/dimensions.d.ts +23 -4
- package/dist/dimensions.d.ts.map +1 -1
- package/dist/dimensions.js +3 -2
- package/dist/dimensions.js.map +1 -1
- package/dist/form_schema.d.ts +6 -21
- package/dist/form_schema.d.ts.map +1 -1
- package/dist/form_schema.js +18 -106
- package/dist/form_schema.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/image_regions.d.ts +28 -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 +13 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +17 -7
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -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
|
-
|
|
80
|
-
|
|
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;
|
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,
|
|
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
|
-
|
|
9
|
-
|
|
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
|
-
/**
|
|
116
|
-
function
|
|
117
|
-
const L =
|
|
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
|
-
|
|
341
|
-
|
|
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
|
|
344
|
-
//
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
:
|
|
348
|
-
|
|
349
|
-
|
|
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:
|
|
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:
|
|
365
|
-
front_author:
|
|
366
|
-
blurb
|
|
367
|
-
blurb_background
|
|
368
|
-
spine_title: schema.spine_title_color ??
|
|
369
|
-
spine_author: schema.spine_author_color ??
|
|
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
|
}
|