bookcover-web 0.14.0 → 0.16.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/README.md CHANGED
@@ -38,6 +38,12 @@ version — no setup needed). Generating still fetches three kinds of assets at
38
38
  which ship inside the npm packages: the WASM binaries, frame images (`frames/`), and the fonts
39
39
  tree. The easiest setup is the hosted tree at `https://assets.paper.bible/` (CORS enabled):
40
40
 
41
+ > The `typst/` WASM binaries are stored Brotli-compressed and served with
42
+ > `Content-Encoding: br` to every client, with no content negotiation — the compiler is 27 MB
43
+ > raw and 6.9 MB compressed, so this is not optional. Browsers handle it transparently. If you
44
+ > fetch these from a non-browser client, make sure it decodes `br` (`curl` needs `--compressed`,
45
+ > or it will write the compressed bytes to disk).
46
+
41
47
  ```ts
42
48
  // Match the wasm version to your installed @myriaddreamin/typst-ts-web-compiler version
43
49
  const typst_version = '0.7.0'
@@ -39,6 +39,29 @@ export interface InitMessage {
39
39
  preset?: Partial<EmbedFormState>;
40
40
  bg_image?: File | null;
41
41
  bg_image_builtin?: string | null;
42
+ /** Font families to make available in the editor's font pickers.
43
+ *
44
+ * AVAILABLE IS NOT APPLIED. These land in the widget's custom-font store, which is what
45
+ * the pickers offer — putting a family here does not put it on the cover, and the store
46
+ * is returned wholesale on every data/finished message (see WidgetMessage). So a host
47
+ * that seeds families the user never picks gets them all back, indistinguishable from
48
+ * ones the user chose.
49
+ *
50
+ * Hosts normally send exactly the families they already hold for this cover, and then
51
+ * there is nothing to think about. A HOST THAT SEEDS EXTRA FAMILIES — offering fonts from
52
+ * the user's other work, say — MUST REMEMBER WHICH ONES IT SEEDED, and must not persist a
53
+ * seeded family that comes back unused. Families the host already owned and families the
54
+ * user uploaded inside the widget are always kept: a host's font library can legitimately
55
+ * hold families this cover doesn't use, so pruning by cover usage alone would delete
56
+ * them.
57
+ *
58
+ * Which families the cover actually applies is font_families_in_form(form) from
59
+ * bookcover-core — it reads the eight *_font fields straight off the returned form, with
60
+ * no schema build.
61
+ *
62
+ * Bytes are expensive to clone and a single CJK family can run to tens of megabytes, so
63
+ * everything here is fetched and cloned before the editor can open. Seeding speculatively
64
+ * is paid for on the critical path. */
42
65
  custom_fonts?: CustomFont[];
43
66
  finished_mode?: boolean;
44
67
  hide_size_section?: boolean;
@@ -67,6 +90,14 @@ export type HostMessage = InitMessage | {
67
90
  * present when the font set changed since the last message (absent = unchanged), while
68
91
  * 'finished' always carries the complete array.
69
92
  *
93
+ * `custom_fonts` is the editor's whole custom-font store — every family the pickers were
94
+ * OFFERING, not the families the cover APPLIES. It contains what the host seeded via
95
+ * InitMessage plus anything the user uploaded during the session, whether or not any of it
96
+ * ended up on the cover. A host that only ever seeds families it already holds can store the
97
+ * array as-is; one that seeds extra families has to drop the unused seeded ones itself (see
98
+ * InitMessage.custom_fonts for the rule, and font_families_in_form in bookcover-core for the
99
+ * applied set).
100
+ *
70
101
  * `bg_image_builtin` is ADVISORY background identity, so a host doesn't have to recover it by
71
102
  * hashing returned bytes: when the user picks one of the widget's built-in backgrounds it
72
103
  * carries that image's published filename, and it is null for a user upload or no image at all.
package/dist/index.d.ts CHANGED
@@ -4,7 +4,8 @@ export type { CoverSchema, TitlePosition, FontConfig, OutputFormat, SplitResult,
4
4
  export type { BundledFont, CjkVariant, CustomFont } from 'typst-fonts';
5
5
  export { font_file_url } from 'typst-fonts/web';
6
6
  export { get_fonts, get_bundled_font } from 'typst-fonts';
7
- export { list_patterns, collect_fonts, collect_all_fonts, default_spine_title, list_vector_backgrounds, find_vector_background, list_builtin_icons, find_builtin_icon, generate_palette, cover_schema } from 'bookcover-core';
7
+ export { list_patterns, collect_fonts, collect_all_fonts, default_spine_title, list_vector_backgrounds, find_vector_background, list_builtin_icons, find_builtin_icon, icon_categories, suggested_icons, generate_palette, cover_schema } from 'bookcover-core';
8
+ export type { IconCategory } from 'bookcover-core';
8
9
  export { tinted_contrast_text, pick_vivid_tint, synthesize_fill, blend_regions, region_hex, all_image_regions, analyze_pixel_regions, get_builtin_bg_regions, VECTOR_BG_AUTO_COLOR, resolve_colors, darken_hsl } from 'bookcover-core';
9
10
  export type { RegionStats, ImageRegions, ResolvedColors } from 'bookcover-core';
10
11
  export { make_blank_form_values, build_schema, curly_quotes, parse_font_family, find_pattern, derive_colors, hex_override_to_hsl, hex_to_hsl, is_dark_color } from 'bookcover-core';
package/dist/index.js CHANGED
@@ -7,7 +7,7 @@ import { base_font } from 'typst-fonts';
7
7
  import { load_fonts_prefix, font_urls_for as build_font_urls, fetch_font_bytes, fonts_to_blob_urls, revoke_blob_urls } from 'typst-fonts/web';
8
8
  export { font_file_url } from 'typst-fonts/web';
9
9
  export { get_fonts, get_bundled_font } from 'typst-fonts';
10
- export { list_patterns, collect_fonts, collect_all_fonts, default_spine_title, list_vector_backgrounds, find_vector_background, list_builtin_icons, find_builtin_icon, generate_palette, cover_schema } from 'bookcover-core';
10
+ export { list_patterns, collect_fonts, collect_all_fonts, default_spine_title, list_vector_backgrounds, find_vector_background, list_builtin_icons, find_builtin_icon, icon_categories, suggested_icons, generate_palette, cover_schema } from 'bookcover-core';
11
11
  export { tinted_contrast_text, pick_vivid_tint, synthesize_fill, blend_regions, region_hex, all_image_regions, analyze_pixel_regions, get_builtin_bg_regions, VECTOR_BG_AUTO_COLOR, resolve_colors, darken_hsl } from 'bookcover-core';
12
12
  // Form state + form->schema conversion, so hosts can derive the renderable schema themselves
13
13
  export { make_blank_form_values, build_schema, curly_quotes, parse_font_family, find_pattern, derive_colors, hex_override_to_hsl, hex_to_hsl, is_dark_color } from 'bookcover-core';
@@ -0,0 +1,2 @@
1
+ export { PATTERN_SVGS, find_pattern_svg } from 'bookcover-core/patterns-svg';
2
+ //# sourceMappingURL=patterns_svg.d.ts.map
@@ -0,0 +1,5 @@
1
+ // Pattern SVG payload, re-exported on its own subpath ('bookcover-web/patterns-svg').
2
+ // Kept out of the main index so importing the barrel never pulls ~220KB of SVG strings in —
3
+ // only the pattern picker needs these, and it loads them on demand. See generator/src/patterns.ts
4
+ export { PATTERN_SVGS, find_pattern_svg } from 'bookcover-core/patterns-svg';
5
+ //# sourceMappingURL=patterns_svg.js.map
@@ -0,0 +1,2 @@
1
+ export { PRESET_ICON_SVGS, find_preset_icon_svg } from 'bookcover-core/preset-icons-svg';
2
+ //# sourceMappingURL=preset_icons_svg.d.ts.map
@@ -0,0 +1,5 @@
1
+ // Preset icon SVG payload, re-exported on its own subpath ('bookcover-web/preset-icons-svg').
2
+ // Kept out of the main index so importing the barrel never pulls the payload in — only the
3
+ // icon picker needs these, and it loads them on demand. See generator/src/preset_icons.ts
4
+ export { PRESET_ICON_SVGS, find_preset_icon_svg } from 'bookcover-core/preset-icons-svg';
5
+ //# sourceMappingURL=preset_icons_svg.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bookcover-web",
3
- "version": "0.14.0",
3
+ "version": "0.16.0",
4
4
  "license": "MIT-0",
5
5
  "repository": {
6
6
  "type": "git",
@@ -12,8 +12,24 @@
12
12
  "type": "module",
13
13
  "main": "dist/index.js",
14
14
  "types": "dist/index.d.ts",
15
+ "exports": {
16
+ ".": {
17
+ "types": "./dist/index.d.ts",
18
+ "default": "./dist/index.js"
19
+ },
20
+ "./patterns-svg": {
21
+ "types": "./dist/patterns_svg.d.ts",
22
+ "default": "./dist/patterns_svg.js"
23
+ },
24
+ "./preset-icons-svg": {
25
+ "types": "./dist/preset_icons_svg.d.ts",
26
+ "default": "./dist/preset_icons_svg.js"
27
+ },
28
+ "./package.json": "./package.json"
29
+ },
15
30
  "files": [
16
- "dist/"
31
+ "dist/",
32
+ "!dist/**/*.map"
17
33
  ],
18
34
  "scripts": {
19
35
  "build": "tsc",
@@ -23,7 +39,8 @@
23
39
  "@myriaddreamin/typst-ts-renderer": "0.7.0",
24
40
  "@myriaddreamin/typst-ts-web-compiler": "0.7.0",
25
41
  "@myriaddreamin/typst.ts": "0.7.0",
26
- "bookcover-core": "^0.14.0",
42
+ "bookcover-core": "^0.16.0",
27
43
  "typst-fonts": "^0.1.0"
28
- }
44
+ },
45
+ "sideEffects": false
29
46
  }
@@ -1 +0,0 @@
1
- {"version":3,"file":"embed_types.d.ts","sourceRoot":"","sources":["../src/embed_types.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,gBAAgB,CAAA;AAClD,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,aAAa,CAAA;AAE3C;+CAC+C;AAC/C,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,KAAK,CAAA;AAErC;;;;;;;;;;;;;;;;;;;;;;;;qCAwBqC;AACrC,MAAM,WAAW,YAAY;IACzB,EAAE,EAAE,MAAM,CAAA;IACV,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,+DAA+D;AAC/D,MAAM,WAAW,WAAW;IACxB,IAAI,EAAE,MAAM,CAAA;IAEZ,MAAM,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAA;IAGhC,QAAQ,CAAC,EAAE,IAAI,GAAG,IAAI,CAAA;IAItB,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAEhC,YAAY,CAAC,EAAE,UAAU,EAAE,CAAA;IAE3B,aAAa,CAAC,EAAE,OAAO,CAAA;IAEvB,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAI3B,cAAc,CAAC,EAAE,YAAY,EAAE,CAAA;IAC/B,MAAM,CAAC,EAAE,SAAS,CAAA;CACrB;AAED;;;;;;;;;;;8CAW8C;AAC9C,MAAM,MAAM,WAAW,GACjB,WAAW,GACX;IAAC,IAAI,EAAE,wBAAwB,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,IAAI,GAAG,IAAI,CAAA;CAAC,CAAA;AAEzE;;;;;;;;;;;;;;;;;;;;gCAoBgC;AAChC,MAAM,MAAM,aAAa,GACnB;IAAC,IAAI,EAAE,OAAO,CAAA;CAAC,GACf;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,cAAc,CAAC;IAAC,QAAQ,EAAE,IAAI,GAAG,IAAI,CAAC;IACzD,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,YAAY,CAAC,EAAE,UAAU,EAAE,CAAA;CAAC,GAC/D;IAAC,IAAI,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,cAAc,CAAC;IAAC,QAAQ,EAAE,IAAI,GAAG,IAAI,CAAC;IAC7D,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,YAAY,EAAE,UAAU,EAAE,CAAA;CAAC,GAC9D;IAAC,IAAI,EAAE,WAAW,CAAA;CAAC,GACnB;IAAC,IAAI,EAAE,wBAAwB,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAC,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"embed_types.js","sourceRoot":"","sources":["../src/embed_types.ts"],"names":[],"mappings":"AACA,wFAAwF;AACxF,2FAA2F;AAC3F,+DAA+D;AAC/D,EAAE;AACF,2FAA2F;AAC3F,gGAAgG;AAChG,gGAAgG;AAChG,gGAAgG;AAChG,8DAA8D;AAC9D,EAAE;AACF,+FAA+F;AAC/F,6FAA6F;AAC7F,2FAA2F"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}