bookcover-web 0.7.0 → 0.9.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/index.d.ts CHANGED
@@ -1,16 +1,16 @@
1
1
  import type { TypstRenderer } from '@myriaddreamin/typst.ts/renderer';
2
- import type { OutputFormat, SplitResult } from 'bookcover-core';
2
+ import type { OutputFormat, SplitResult, ImageRegions, GetDimensionsResult } from 'bookcover-core';
3
3
  export type { CoverSchema, TitlePosition, FontConfig, OutputFormat, SplitResult, PatternDef, VectorBackgroundDef, PaletteScheme } from 'bookcover-core';
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, generate_palette } from 'bookcover-core';
8
- export { tinted_contrast_text, pick_vivid_tint, synthesize_fill, blend_regions, region_hex, analyze_pixel_regions, get_builtin_bg_regions } from 'bookcover-core';
9
- export type { RegionStats } from 'bookcover-core';
10
- 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, VECTOR_BG_AUTO_COLOR } from 'bookcover-core';
11
- export type { FormState, EmbedFormState, CustomFontStyle, DerivedColors, ImageRegions } 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, generate_palette, cover_schema } from 'bookcover-core';
8
+ 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
+ export type { RegionStats, ImageRegions, ResolvedColors } from 'bookcover-core';
10
+ 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';
11
+ export type { FormState, EmbedFormState, CustomFontStyle, DerivedColors } from 'bookcover-core';
12
12
  export { resolve_dimensions } from 'bookcover-core';
13
- export type { GetDimensionsResult } from 'bookcover-core';
13
+ export type { GetDimensionsResult, DimensionInputs } from 'bookcover-core';
14
14
  export type { InitMessage, WidgetMessage, AppLocale } from './embed_types.js';
15
15
  export interface InitOptions {
16
16
  wasm_url: string;
@@ -25,11 +25,22 @@ export interface GenerateOptions {
25
25
  ppi?: number;
26
26
  split?: boolean;
27
27
  custom_fonts?: Uint8Array[];
28
+ image_regions?: ImageRegions | null;
28
29
  }
29
30
  export interface GenerateResult {
30
31
  data: Uint8Array | string;
31
32
  split?: SplitResult<Uint8Array> | SplitResult<string>;
32
33
  }
34
+ /**
35
+ * Sample a background image's dominant colors, under both interpretations at once — see
36
+ * analyze_pixel_regions for what `dims` does. Skips decoding entirely when the image matches a
37
+ * known builtin background by filename + byte size (see get_builtin_bg_regions) — that fast
38
+ * path needs a File (or any Blob with a `name`); a plain nameless Blob always gets a live
39
+ * decode via the Canvas API. Exported so hosts can sample ahead of generate() (e.g. the widget
40
+ * caches this on a debounced watcher, independent of when generate() itself runs, then passes
41
+ * the result back in via GenerateOptions.image_regions).
42
+ */
43
+ export declare function analyze_image_regions(image: Blob, dims: GetDimensionsResult | null): Promise<ImageRegions>;
33
44
  /** Stateful cover generator — each instance owns its own compiler and renderer */
34
45
  export declare class CoverGenerator {
35
46
  private opts;
@@ -40,6 +51,8 @@ export declare class CoverGenerator {
40
51
  private font_blob_urls;
41
52
  private custom_font_ids;
42
53
  private next_custom_font_id;
54
+ private last_image_key;
55
+ private generates_since_reset;
43
56
  constructor(opts: InitOptions, renderer: TypstRenderer | null);
44
57
  /** Build fetch URLs for the given font families against fonts_prefix — curated families
45
58
  * live at <prefix>/<family>/, Noto fallback families at <prefix>/_noto/<family>/,
@@ -60,6 +73,21 @@ export declare class CoverGenerator {
60
73
  * never needs reinitialisation because it reads glyph outlines from compiled vector
61
74
  * data. */
62
75
  private reinit_compiler;
76
+ /** Recreate the renderer WASM instance. Unlike the compiler, the renderer has no reset()
77
+ * of its own (see reset_memory_if_needed), so periodically discarding and rebuilding it is
78
+ * the only way to let its grown-but-unneeded WASM memory become garbage-collectable. */
79
+ private reinit_renderer;
80
+ /** WASM linear memory only grows, never shrinks, so a compiler/renderer kept alive across
81
+ * many generate() calls ratchets memory upward as it processes differently-sized inputs
82
+ * (chiefly the background image) — confirmed via a heap snapshot showing two
83
+ * WebAssembly.Memory buffers as the overwhelming majority of worker memory after cycling
84
+ * through many background images. There's no cheap per-compile eviction exposed by the
85
+ * wasm-bindgen bindings (typst's native CompilerUniverse::evict isn't part of the JS API),
86
+ * so this calls the heavier compiler.reset() (clears Typst's internal caches, but keeps the
87
+ * WASM instance and loaded fonts — much cheaper than a full reinit_compiler) plus a renderer
88
+ * rebuild, triggered when the background image changes (the main driver of new memory highs)
89
+ * or after MEMORY_RESET_INTERVAL calls as a fallback for slower accumulation. */
90
+ private reset_memory_if_needed;
63
91
  /** Load the typst file map into the compiler's shadow filesystem */
64
92
  private load_files;
65
93
  /** Compile to PDF and return raw bytes */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,kCAAkC,CAAA;AAInE,OAAO,KAAK,EAAC,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,mBAAmB,EAAC,MAAM,gBAAgB,CAAA;AAKhG,YAAY,EAAC,WAAW,EAAE,aAAa,EAAE,UAAU,EAC/C,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,mBAAmB,EAAE,aAAa,EAAC,MAAM,gBAAgB,CAAA;AACpG,YAAY,EAAC,WAAW,EAAE,UAAU,EAAE,UAAU,EAAC,MAAM,aAAa,CAAA;AACpE,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAC,SAAS,EAAE,gBAAgB,EAAC,MAAM,aAAa,CAAA;AACvD,OAAO,EAAC,aAAa,EAAE,aAAa,EAAE,iBAAiB,EAAE,mBAAmB,EACxE,uBAAuB,EAAE,sBAAsB,EAAE,kBAAkB,EACnE,iBAAiB,EAAE,gBAAgB,EAAE,YAAY,EAAC,MAAM,gBAAgB,CAAA;AAC5E,OAAO,EAAC,oBAAoB,EAAE,eAAe,EAAE,eAAe,EAAE,aAAa,EAAE,UAAU,EACrF,iBAAiB,EAAE,qBAAqB,EAAE,sBAAsB,EAChE,oBAAoB,EAAE,cAAc,EAAE,UAAU,EAAC,MAAM,gBAAgB,CAAA;AAC3E,YAAY,EAAC,WAAW,EAAE,YAAY,EAAE,cAAc,EAAC,MAAM,gBAAgB,CAAA;AAG7E,OAAO,EAAC,sBAAsB,EAAE,YAAY,EAAE,YAAY,EACtD,iBAAiB,EAAE,YAAY,EAAE,aAAa,EAAE,mBAAmB,EAAE,UAAU,EAC/E,aAAa,EAAC,MAAM,gBAAgB,CAAA;AACxC,YAAY,EAAC,SAAS,EAAE,cAAc,EAAE,eAAe,EAAE,aAAa,EAAC,MAAM,gBAAgB,CAAA;AAG7F,OAAO,EAAC,kBAAkB,EAAC,MAAM,gBAAgB,CAAA;AACjD,YAAY,EAAC,mBAAmB,EAAE,eAAe,EAAC,MAAM,gBAAgB,CAAA;AAGxE,YAAY,EAAC,WAAW,EAAE,aAAa,EAAE,SAAS,EAAC,MAAM,kBAAkB,CAAA;AAI3E,MAAM,WAAW,WAAW;IAExB,QAAQ,EAAC,MAAM,CAAA;IAEf,iBAAiB,CAAC,EAAC,MAAM,CAAA;IAIzB,aAAa,CAAC,EAAC,MAAM,CAAA;IAKrB,YAAY,CAAC,EAAC,MAAM,CAAA;CACvB;AAED,MAAM,WAAW,eAAe;IAC5B,MAAM,EAAC,OAAO,CAAA;IAId,KAAK,CAAC,EAAC,IAAI,CAAA;IAEX,MAAM,CAAC,EAAC,YAAY,CAAA;IAEpB,GAAG,CAAC,EAAC,MAAM,CAAA;IAEX,KAAK,CAAC,EAAC,OAAO,CAAA;IAEd,YAAY,CAAC,EAAC,UAAU,EAAE,CAAA;IAK1B,aAAa,CAAC,EAAC,YAAY,GAAG,IAAI,CAAA;CACrC;AAED,MAAM,WAAW,cAAc;IAE3B,IAAI,EAAC,UAAU,GAAG,MAAM,CAAA;IAExB,KAAK,CAAC,EAAC,WAAW,CAAC,UAAU,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC,CAAA;CACvD;AA2DD;;;;;;;;GAQG;AACH,wBAAsB,qBAAqB,CACvC,KAAK,EAAC,IAAI,EACV,IAAI,EAAC,mBAAmB,GAAG,IAAI,GACjC,OAAO,CAAC,YAAY,CAAC,CAkBtB;AAED,kFAAkF;AAClF,qBAAa,cAAc;IACvB,OAAO,CAAC,IAAI,CAAY;IAGxB,OAAO,CAAC,QAAQ,CAAe;IAC/B,OAAO,CAAC,QAAQ,CAAqB;IAGrC,OAAO,CAAC,YAAY,CAAK;IAGzB,OAAO,CAAC,UAAU,CAAgC;IAElD,OAAO,CAAC,cAAc,CAAc;IAEpC,OAAO,CAAC,eAAe,CAAoC;IAC3D,OAAO,CAAC,mBAAmB,CAAI;IAK/B,OAAO,CAAC,cAAc,CAAqB;IAE3C,OAAO,CAAC,qBAAqB,CAAI;IAEjC,YAAY,IAAI,EAAC,WAAW,EAAE,QAAQ,EAAC,aAAa,GAAG,IAAI,EAG1D;IAED;;wEAEoE;IACpE,OAAO,CAAC,aAAa;IAIrB;4CACwC;YAC1B,UAAU;IAUxB,sEAAsE;IAChE,cAAc,CAAC,QAAQ,EAAC,MAAM,EAAE,GAAE,OAAO,CAAC,IAAI,CAAC,CAEpD;IAED;;oFAEgF;IAChF,OAAO,CAAC,cAAc;IAUtB;;;;gBAIY;YACE,eAAe;IAwB7B;;6FAEyF;YAC3E,eAAe;IAU7B;;;;;;;;;sFASkF;YACpE,sBAAsB;IAapC,oEAAoE;IACpE,OAAO,CAAC,UAAU;IAalB,0CAA0C;YAC5B,WAAW;IAWzB,mFAAmF;YACrE,WAAW;IA0BzB,wEAAwE;YAC1D,WAAW;IA8BzB,gDAAgD;IAChD,OAAO,CAAC,eAAe;IAQvB,wEAAwE;IAClE,QAAQ,CAAC,OAAO,EAAC,eAAe,GAAE,OAAO,CAAC,cAAc,CAAC,CA+F9D;IAED,iEAAiE;IACjE,OAAO,IAAG,IAAI,CAIb;CACJ;AAED;;;;GAIG;AACH,wBAAsB,IAAI,CAAC,OAAO,EAAC,WAAW,GAAE,OAAO,CAAC,cAAc,CAAC,CAuBtE"}
package/dist/index.js CHANGED
@@ -2,15 +2,15 @@
2
2
  import { createTypstCompiler, CompileFormatEnum } from '@myriaddreamin/typst.ts/compiler';
3
3
  import { createTypstRenderer } from '@myriaddreamin/typst.ts/renderer';
4
4
  import { loadFonts } from '@myriaddreamin/typst.ts';
5
- import { build, cover_schema, split_svg, split_png, split_pdf, frame_image, frame_asset_path, collect_all_fonts } from 'bookcover-core';
5
+ import { build, cover_schema, split_svg, split_png, split_pdf, frame_image, frame_asset_path, collect_all_fonts, analyze_pixel_regions, get_builtin_bg_regions, resolve_dimensions } from 'bookcover-core';
6
6
  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, generate_palette } from 'bookcover-core';
11
- export { tinted_contrast_text, pick_vivid_tint, synthesize_fill, blend_regions, region_hex, analyze_pixel_regions, get_builtin_bg_regions } 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, generate_palette, cover_schema } from 'bookcover-core';
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
- 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, VECTOR_BG_AUTO_COLOR } from 'bookcover-core';
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';
14
14
  // Dimension resolution, so hosts can locate cover panels (e.g. for background-image analysis)
15
15
  export { resolve_dimensions } from 'bookcover-core';
16
16
  const decoder = new TextDecoder();
@@ -50,6 +50,39 @@ async function canvas_crop(data, x, y, w, h) {
50
50
  bitmap.close();
51
51
  return canvas_png_bytes(canvas);
52
52
  }
53
+ // Downscale target (longest edge, px) for a live pixel decode — plenty of resolution for a
54
+ // dominant-color read while keeping the pixel scan cheap
55
+ const IMAGE_REGIONS_MAX_DIM = 400;
56
+ // How many generate() calls to allow between forced memory resets, as a fallback for whatever
57
+ // slow growth an image-identity change alone wouldn't catch — see reset_memory_if_needed
58
+ const MEMORY_RESET_INTERVAL = 25;
59
+ /**
60
+ * Sample a background image's dominant colors, under both interpretations at once — see
61
+ * analyze_pixel_regions for what `dims` does. Skips decoding entirely when the image matches a
62
+ * known builtin background by filename + byte size (see get_builtin_bg_regions) — that fast
63
+ * path needs a File (or any Blob with a `name`); a plain nameless Blob always gets a live
64
+ * decode via the Canvas API. Exported so hosts can sample ahead of generate() (e.g. the widget
65
+ * caches this on a debounced watcher, independent of when generate() itself runs, then passes
66
+ * the result back in via GenerateOptions.image_regions).
67
+ */
68
+ export async function analyze_image_regions(image, dims) {
69
+ const filename = 'name' in image ? image.name : undefined;
70
+ const builtin = filename ? get_builtin_bg_regions(filename, image.size) : null;
71
+ if (builtin)
72
+ return builtin;
73
+ const bitmap = await createImageBitmap(image);
74
+ const scale = Math.min(1, IMAGE_REGIONS_MAX_DIM / Math.max(bitmap.width, bitmap.height));
75
+ const w = Math.max(1, Math.round(bitmap.width * scale));
76
+ const h = Math.max(1, Math.round(bitmap.height * scale));
77
+ const canvas = make_canvas(w, h);
78
+ const ctx = canvas.getContext('2d');
79
+ if (!ctx)
80
+ throw new Error('[generator-web] 2D canvas context unavailable');
81
+ ctx.drawImage(bitmap, 0, 0, w, h);
82
+ bitmap.close();
83
+ const { data } = ctx.getImageData(0, 0, w, h);
84
+ return analyze_pixel_regions(data, w, h, dims);
85
+ }
53
86
  /** Stateful cover generator — each instance owns its own compiler and renderer */
54
87
  export class CoverGenerator {
55
88
  opts;
@@ -67,6 +100,12 @@ export class CoverGenerator {
67
100
  // Identity-based ids for custom font byte arrays (see custom_font_id)
68
101
  custom_font_ids = new WeakMap();
69
102
  next_custom_font_id = 1;
103
+ // Fingerprint (size:type) of the background image passed to the last generate() call, so a
104
+ // new image (the main driver of WASM memory growth — see reset_memory_if_needed) is detected
105
+ // without hashing bytes. null means no image.
106
+ last_image_key = null;
107
+ // generate() calls since the last memory reset — MEMORY_RESET_INTERVAL fallback trigger
108
+ generates_since_reset = 0;
70
109
  constructor(opts, renderer) {
71
110
  this.opts = opts;
72
111
  this.renderer = renderer;
@@ -127,6 +166,40 @@ export class CoverGenerator {
127
166
  });
128
167
  this.compiler = c;
129
168
  }
169
+ /** Recreate the renderer WASM instance. Unlike the compiler, the renderer has no reset()
170
+ * of its own (see reset_memory_if_needed), so periodically discarding and rebuilding it is
171
+ * the only way to let its grown-but-unneeded WASM memory become garbage-collectable. */
172
+ async reinit_renderer() {
173
+ if (!this.opts.renderer_wasm_url)
174
+ return;
175
+ const r = createTypstRenderer();
176
+ await r.init({
177
+ getModule: () => ({ module_or_path: this.opts.renderer_wasm_url }),
178
+ beforeBuild: [loadFonts([])],
179
+ });
180
+ this.renderer = r;
181
+ }
182
+ /** WASM linear memory only grows, never shrinks, so a compiler/renderer kept alive across
183
+ * many generate() calls ratchets memory upward as it processes differently-sized inputs
184
+ * (chiefly the background image) — confirmed via a heap snapshot showing two
185
+ * WebAssembly.Memory buffers as the overwhelming majority of worker memory after cycling
186
+ * through many background images. There's no cheap per-compile eviction exposed by the
187
+ * wasm-bindgen bindings (typst's native CompilerUniverse::evict isn't part of the JS API),
188
+ * so this calls the heavier compiler.reset() (clears Typst's internal caches, but keeps the
189
+ * WASM instance and loaded fonts — much cheaper than a full reinit_compiler) plus a renderer
190
+ * rebuild, triggered when the background image changes (the main driver of new memory highs)
191
+ * or after MEMORY_RESET_INTERVAL calls as a fallback for slower accumulation. */
192
+ async reset_memory_if_needed(image) {
193
+ const image_key = image ? `${image.size}:${image.type}` : null;
194
+ const image_changed = image_key !== this.last_image_key;
195
+ this.last_image_key = image_key;
196
+ this.generates_since_reset += 1;
197
+ if (!image_changed && this.generates_since_reset < MEMORY_RESET_INTERVAL)
198
+ return;
199
+ await this.compiler.reset();
200
+ await this.reinit_renderer();
201
+ this.generates_since_reset = 0;
202
+ }
130
203
  /** Load the typst file map into the compiler's shadow filesystem */
131
204
  load_files(files) {
132
205
  this.compiler.resetShadow();
@@ -231,6 +304,8 @@ export class CoverGenerator {
231
304
  await this.reinit_compiler(this.font_urls_for(needed_fonts), options.custom_fonts);
232
305
  this.active_fonts = cache_key;
233
306
  }
307
+ // Bound the compiler/renderer's WASM memory growth — see reset_memory_if_needed
308
+ await this.reset_memory_if_needed(options.image);
234
309
  // Convert Blob to ImageInput (Uint8Array + extension) for the core builder
235
310
  let image_input;
236
311
  if (options.image) {
@@ -245,9 +320,24 @@ export class CoverGenerator {
245
320
  const resp = await fetch(url);
246
321
  frame_blob = await resp.blob();
247
322
  }
323
+ // Colors sampled from the background image, for auto text/blurb/spine coloring. A
324
+ // caller-supplied value (e.g. the widget's own debounced cache) is used as-is; otherwise
325
+ // this samples `image` itself (see analyze_image_regions) — best-effort, since a decode
326
+ // failure here would otherwise take down an unrelated generate() call.
327
+ let image_regions;
328
+ if (options.image_regions !== undefined) {
329
+ image_regions = options.image_regions;
330
+ }
331
+ else if (options.image) {
332
+ image_regions = await analyze_image_regions(options.image, resolve_dimensions(parsed))
333
+ .catch(() => null);
334
+ }
335
+ else {
336
+ image_regions = null;
337
+ }
248
338
  // Build all typst files in memory (templates default to the version baked into
249
339
  // bookcover-core — see its generated/templates_data.ts)
250
- const { files, dims } = await build(parsed, image_input, frame_image, frame_blob);
340
+ const { files, dims } = await build(parsed, image_input, frame_image, frame_blob, undefined, image_regions);
251
341
  this.load_files(files);
252
342
  // Compile to the requested format
253
343
  let data;
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bookcover-web",
3
- "version": "0.7.0",
3
+ "version": "0.9.0",
4
4
  "license": "MIT-0",
5
5
  "repository": {
6
6
  "type": "git",
@@ -23,7 +23,7 @@
23
23
  "@myriaddreamin/typst-ts-renderer": "^0.7.0",
24
24
  "@myriaddreamin/typst-ts-web-compiler": "^0.7.0",
25
25
  "@myriaddreamin/typst.ts": "^0.7.0",
26
- "bookcover-core": "^0.7.0",
26
+ "bookcover-core": "^0.9.0",
27
27
  "typst-fonts": "^0.1.0"
28
28
  }
29
29
  }