gutterpress 0.10.2-alpha.1 → 0.10.2-alpha.3

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.
Files changed (37) hide show
  1. package/dist/api/index.js +2 -2
  2. package/dist/{audit-e3xvt6vj.js → audit-yg5aqbdj.js} +4 -4
  3. package/dist/{build-epz7zqcc.js → build-cfcayk42.js} +5 -5
  4. package/dist/{cli-mnekrb8s.js → cli-1kpfahe4.js} +1 -1
  5. package/dist/{cli-wrt39m23.js → cli-78psnm9d.js} +6 -6
  6. package/dist/{cli-6qhw9v08.js → cli-c2yvktan.js} +3 -3
  7. package/dist/{cli-yzf38679.js → cli-pfpb1t3h.js} +1 -1
  8. package/dist/{cli-nrv3gzz9.js → cli-v50x229w.js} +1 -1
  9. package/dist/cli.js +15 -15
  10. package/dist/{doctor-236cwssq.js → doctor-mevhnwyy.js} +2 -2
  11. package/dist/engine/shared/margin-box-support.d.ts +1 -1
  12. package/dist/{engine-9m8k1mfz.js → engine-36jts441.js} +1 -1
  13. package/dist/{engine-e1ycm5p9.js → engine-qg5tdaqv.js} +2 -2
  14. package/dist/{index-ahzftp35.js → index-gdggp65f.js} +5 -5
  15. package/dist/{index-n252zv7d.js → index-my3v298z.js} +1 -1
  16. package/dist/{index-y7jbczsb.js → index-wbm6p5j3.js} +3 -3
  17. package/dist/index.js +3 -3
  18. package/dist/lib/asset-inline.d.ts +2 -2
  19. package/dist/lib/build-runner.d.ts +6 -7
  20. package/dist/lib/cli-args.d.ts +4 -5
  21. package/dist/lib/engine.d.ts +3 -3
  22. package/dist/lib/markdown/gutterpress-css.d.ts +5 -10
  23. package/dist/lib/markdown/markers.d.ts +4 -6
  24. package/dist/lib/markdown/source-range.d.ts +1 -1
  25. package/dist/{lint-e36t5jz3.js → lint-jpf3gxjg.js} +4 -4
  26. package/dist/{manifest.schema-zxgxnbg7.json → manifest.schema-084rxtwp.json} +3 -3
  27. package/dist/{new-8jhvnqzp.js → new-azmvy5h7.js} +4 -4
  28. package/dist/{plugin-2390rtn1.js → plugin-b9sagqjz.js} +4 -4
  29. package/dist/{preflight-bvtf28e4.js → preflight-4e6hxm6m.js} +4 -4
  30. package/dist/{preview-37g504pr.js → preview-dsh16gd9.js} +5 -5
  31. package/dist/{preview-interface-2f5v96hd.js → preview-interface-9rwz21yw.js} +2 -2
  32. package/dist/{preview-shell-kyjq59d9.js → preview-shell-gqnc5xxe.js} +3 -5
  33. package/dist/{publish-v1gc8zm4.js → publish-qf30qcqp.js} +4 -4
  34. package/dist/schema/manifest.types.d.ts +4 -5
  35. package/dist/types.d.ts +2 -2
  36. package/dist/{validate-5yzb2qzq.js → validate-kgr48jy9.js} +4 -4
  37. package/package.json +1 -1
package/dist/api/index.js CHANGED
@@ -95,12 +95,12 @@ import {
95
95
  syncProject,
96
96
  testRemoteAccess,
97
97
  validateProjectPlugins
98
- } from "../index-ahzftp35.js";
98
+ } from "../index-gdggp65f.js";
99
99
  import {
100
100
  BuildError,
101
101
  DEFAULT_PRINT_OPTS,
102
102
  readyProbeExpr
103
- } from "../index-y7jbczsb.js";
103
+ } from "../index-wbm6p5j3.js";
104
104
  import {
105
105
  AUTO_SNAPSHOT_MESSAGE,
106
106
  HISTORY_PAGE_LIMIT,
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  executeAndReport
3
- } from "./cli-wrt39m23.js";
3
+ } from "./cli-78psnm9d.js";
4
4
  import {
5
5
  log
6
- } from "./cli-mnekrb8s.js";
6
+ } from "./cli-1kpfahe4.js";
7
7
  import {
8
8
  UsageError,
9
9
  rejectExtraPositionals,
10
10
  rejectUnknownFlags
11
- } from "./cli-nrv3gzz9.js";
12
- import"./cli-6qhw9v08.js";
11
+ } from "./cli-v50x229w.js";
12
+ import"./cli-c2yvktan.js";
13
13
  import"./cli-c41yr7he.js";
14
14
  import {
15
15
  EXIT_CODES
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  runBuild,
3
3
  splitOutPath
4
- } from "./cli-wrt39m23.js";
4
+ } from "./cli-78psnm9d.js";
5
5
  import {
6
6
  log
7
- } from "./cli-mnekrb8s.js";
7
+ } from "./cli-1kpfahe4.js";
8
8
  import {
9
9
  UsageError,
10
10
  parseEngine,
@@ -12,8 +12,8 @@ import {
12
12
  parsePdfxFlavor,
13
13
  rejectExtraPositionals,
14
14
  rejectUnknownFlags
15
- } from "./cli-nrv3gzz9.js";
16
- import"./cli-6qhw9v08.js";
15
+ } from "./cli-v50x229w.js";
16
+ import"./cli-c2yvktan.js";
17
17
  import"./cli-c41yr7he.js";
18
18
  import {
19
19
  BuildError
@@ -38,7 +38,7 @@ var commandArgs = {
38
38
  "skip-pre-validate": { type: "boolean", description: "Skip pre-build validation" },
39
39
  "skip-post-validate": { type: "boolean", description: "Skip post-build PDF/X validation" },
40
40
  "allow-shrink": { type: "boolean", description: "Build anyway when content is wider than the page content box, instead of failing. Chromium then scales the WHOLE book down to fit; each offender is reported as a warning." },
41
- engine: { type: "string", description: "Pagination engine. Paged.js has been removed; native is the only engine. This flag is accepted but ignored (a warning fires for --engine paged)." }
41
+ engine: { type: "string", description: "Pagination engine. Native is the only engine. This flag is accepted but ignored (a warning fires for --engine paged)." }
42
42
  };
43
43
  var build_default = defineCommand({
44
44
  meta: {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  package_default
3
- } from "./cli-nrv3gzz9.js";
3
+ } from "./cli-v50x229w.js";
4
4
  import {
5
5
  execCapture,
6
6
  findTool,
@@ -13,12 +13,12 @@ import {
13
13
  stampCreator,
14
14
  stripAnnotations,
15
15
  warn
16
- } from "./cli-mnekrb8s.js";
16
+ } from "./cli-1kpfahe4.js";
17
17
  import {
18
18
  DEBOUNCE,
19
19
  UsageError,
20
20
  resolvePort
21
- } from "./cli-nrv3gzz9.js";
21
+ } from "./cli-v50x229w.js";
22
22
  import {
23
23
  MARGIN_BOX_IGNORED_PROPERTIES,
24
24
  RENDER_TIMEOUT_MS,
@@ -27,7 +27,7 @@ import {
27
27
  getAssetPath,
28
28
  getBrowser,
29
29
  prewarmBrowser
30
- } from "./cli-6qhw9v08.js";
30
+ } from "./cli-c2yvktan.js";
31
31
  import {
32
32
  INSTALL_HINTS,
33
33
  execCapture,
@@ -466,10 +466,10 @@ function resolveWithPreset(cliOverrides, manifest, preset) {
466
466
  throw new UsageError(`Unknown engine "${String(requestedEngine)}". Expected: paged | native`);
467
467
  }
468
468
  if (requestedEngine === "paged") {
469
- warnOnce("engine-paged-removed", "[gutterpress] Paged.js has been removed; the native engine is the " + 'only engine. "engine: paged" is ignored — building natively.');
469
+ warnOnce("engine-paged-removed", "[gutterpress] The native engine is the only engine. " + '"engine: paged" is ignored — building natively.');
470
470
  }
471
471
  if ((m.engineStyles?.paged?.length ?? 0) > 0) {
472
- warnOnce("engine-styles-paged-removed", "[gutterpress] engineStyles.paged is ignored — Paged.js has been removed.");
472
+ warnOnce("engine-styles-paged-removed", "[gutterpress] engineStyles.paged is ignored — the native engine is the only engine.");
473
473
  }
474
474
  const engine = "native";
475
475
  const rawPlugins = c.plugins ?? m.plugins ?? [];
@@ -7538,7 +7538,7 @@ class PdfOutput {
7538
7538
  const rawPdf = pdfxMode ? path8.join(stage, "raw.pdf") : path8.resolve(pdfFile);
7539
7539
  await fsp2.mkdir(path8.dirname(path8.resolve(pdfFile)), { recursive: true });
7540
7540
  log.info("Rendering HTML to PDF via the Gutterpress engine (native Chromium pagination)");
7541
- const { buildNativePdf } = await import("./engine-9m8k1mfz.js");
7541
+ const { buildNativePdf } = await import("./engine-36jts441.js");
7542
7542
  const engineDiagnostics = await buildNativePdf(htmlFile, rawPdf, {
7543
7543
  title: config.title,
7544
7544
  author: config.authors.length > 0 ? config.authors.join(", ") : undefined,
@@ -1430,16 +1430,16 @@ import { fileURLToPath } from "node:url";
1430
1430
  var favicon_default = "./favicon-wkbm9cjn.ico";
1431
1431
 
1432
1432
  // src/assets/manifest.schema.json
1433
- var manifest_schema_default = "./manifest.schema-zxgxnbg7.json";
1433
+ var manifest_schema_default = "./manifest.schema-084rxtwp.json";
1434
1434
 
1435
1435
  // src/assets/preview/scripts/preview-interface.js
1436
- var preview_interface_default = "./preview-interface-2f5v96hd.js";
1436
+ var preview_interface_default = "./preview-interface-9rwz21yw.js";
1437
1437
 
1438
1438
  // src/assets/preview/scripts/preview-bridge.js
1439
1439
  var preview_bridge_default = "./preview-bridge-2nnrs2hy.js";
1440
1440
 
1441
1441
  // src/assets/preview/scripts/preview-shell.js
1442
- var preview_shell_default = "./preview-shell-kyjq59d9.js";
1442
+ var preview_shell_default = "./preview-shell-gqnc5xxe.js";
1443
1443
 
1444
1444
  // profiles/CGATS21_CRPC1.icc
1445
1445
  var CGATS21_CRPC1_default = "./CGATS21_CRPC1-g0e3k7kr.icc";
@@ -22,7 +22,7 @@ var previewArgs = {
22
22
  "skip-pre-validate": { type: "boolean", description: "Skip pre-build validation (pdf|pdfx only)" },
23
23
  "skip-post-validate": { type: "boolean", description: "Skip post-build PDF/X validation (pdfx only)" },
24
24
  "allow-shrink": { type: "boolean", description: "Build anyway when content is wider than the page content box, instead of failing. Chromium then scales the WHOLE book down to fit; the scale and each offender are reported as warnings. (pdf|pdfx only)" },
25
- engine: { type: "string", description: "Pagination engine. Paged.js has been removed; native is the only engine. This flag is accepted but ignored (a warning fires for --engine paged)." }
25
+ engine: { type: "string", description: "Pagination engine. Native is the only engine. This flag is accepted but ignored (a warning fires for --engine paged)." }
26
26
  };
27
27
 
28
28
  export { previewArgs };
@@ -4,7 +4,7 @@ import {
4
4
  // package.json
5
5
  var package_default = {
6
6
  name: "gutterpress",
7
- version: "0.10.2-alpha.1",
7
+ version: "0.10.2-alpha.3",
8
8
  description: "Markdown-to-PDF converter for professional print layout using a native Chromium print engine and Ghostscript.",
9
9
  author: "itlackey",
10
10
  license: "MPL-2.0",
package/dist/cli.js CHANGED
@@ -1,12 +1,12 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  previewArgs
4
- } from "./cli-yzf38679.js";
4
+ } from "./cli-pfpb1t3h.js";
5
5
  import {
6
6
  UsageError,
7
7
  package_default,
8
8
  rejectUnknownFlags
9
- } from "./cli-nrv3gzz9.js";
9
+ } from "./cli-v50x229w.js";
10
10
  import {
11
11
  EXIT_CODES
12
12
  } from "./cli-46ycxe6r.js";
@@ -18,16 +18,16 @@ import {
18
18
  import { defineCommand, parseArgs, runMain } from "citty";
19
19
  import { statSync } from "node:fs";
20
20
  var SUBCOMMANDS = {
21
- new: () => import("./new-8jhvnqzp.js").then((m) => m.default),
22
- preview: () => import("./preview-37g504pr.js").then((m) => m.default),
23
- build: () => import("./build-epz7zqcc.js").then((m) => m.default),
24
- publish: () => import("./publish-v1gc8zm4.js").then((m) => m.default),
25
- lint: () => import("./lint-e36t5jz3.js").then((m) => m.default),
26
- validate: () => import("./validate-5yzb2qzq.js").then((m) => m.default),
27
- audit: () => import("./audit-e3xvt6vj.js").then((m) => m.default),
28
- preflight: () => import("./preflight-bvtf28e4.js").then((m) => m.default),
29
- doctor: () => import("./doctor-236cwssq.js").then((m) => m.default),
30
- plugin: () => import("./plugin-2390rtn1.js").then((m) => m.default)
21
+ new: () => import("./new-azmvy5h7.js").then((m) => m.default),
22
+ preview: () => import("./preview-dsh16gd9.js").then((m) => m.default),
23
+ build: () => import("./build-cfcayk42.js").then((m) => m.default),
24
+ publish: () => import("./publish-qf30qcqp.js").then((m) => m.default),
25
+ lint: () => import("./lint-jpf3gxjg.js").then((m) => m.default),
26
+ validate: () => import("./validate-kgr48jy9.js").then((m) => m.default),
27
+ audit: () => import("./audit-yg5aqbdj.js").then((m) => m.default),
28
+ preflight: () => import("./preflight-4e6hxm6m.js").then((m) => m.default),
29
+ doctor: () => import("./doctor-mevhnwyy.js").then((m) => m.default),
30
+ plugin: () => import("./plugin-b9sagqjz.js").then((m) => m.default)
31
31
  };
32
32
  var VERSION = package_default.version;
33
33
  var main = defineCommand({
@@ -52,7 +52,7 @@ async function preflightRequiredInvocations(rawArgs) {
52
52
  const [command, ...commandArgs] = rawArgs;
53
53
  try {
54
54
  if (command === "new") {
55
- const { newArgs } = await import("./new-8jhvnqzp.js");
55
+ const { newArgs } = await import("./new-azmvy5h7.js");
56
56
  rejectUnknownFlags(commandArgs, newArgs, "new");
57
57
  const parsed2 = parseArgs(commandArgs, {
58
58
  ...newArgs,
@@ -64,7 +64,7 @@ async function preflightRequiredInvocations(rawArgs) {
64
64
  return;
65
65
  }
66
66
  if (command === "preflight") {
67
- const { preflightArgs } = await import("./preflight-bvtf28e4.js");
67
+ const { preflightArgs } = await import("./preflight-4e6hxm6m.js");
68
68
  rejectUnknownFlags(commandArgs, preflightArgs, "preflight");
69
69
  const parsed2 = parseArgs(commandArgs, {
70
70
  ...preflightArgs,
@@ -88,7 +88,7 @@ async function preflightRequiredInvocations(rawArgs) {
88
88
  if (subcommand !== "add") {
89
89
  throw new UsageError(`gutterpress plugin: unknown command "${subcommand}"`);
90
90
  }
91
- const { pluginAddArgs } = await import("./plugin-2390rtn1.js");
91
+ const { pluginAddArgs } = await import("./plugin-b9sagqjz.js");
92
92
  rejectUnknownFlags(subcommandArgs, pluginAddArgs, "plugin add");
93
93
  const parsed = parseArgs(subcommandArgs, {
94
94
  ...pluginAddArgs,
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  getSystemDiagnostics,
3
3
  log
4
- } from "./cli-mnekrb8s.js";
4
+ } from "./cli-1kpfahe4.js";
5
5
  import {
6
6
  UsageError,
7
7
  rejectExtraPositionals,
8
8
  rejectUnknownFlags
9
- } from "./cli-nrv3gzz9.js";
9
+ } from "./cli-v50x229w.js";
10
10
  import"./cli-c41yr7he.js";
11
11
  import"./cli-46ycxe6r.js";
12
12
  import"./cli-37x76zdn.js";
@@ -2,7 +2,7 @@
2
2
  * Declarations Chromium accepts syntactically in `@page` margin boxes but
3
3
  * silently drops in native print. These were measured with deliberately
4
4
  * visible values (`rotate(-12deg)`, `6px 6px 0 #c00`) and are documented in
5
- * docs/engine-history/ENGINE.md §8 and docs/known-limitations.md §2.
5
+ * docs/engine/ENGINE.md §8 and docs/known-limitations.md §2.
6
6
  *
7
7
  * The line is what the property PAINTS, not the property family: everything
8
8
  * that establishes a stacking context or paints outside the border box is
@@ -4,7 +4,7 @@ import {
4
4
  build,
5
5
  connectChromium,
6
6
  getBrowser
7
- } from "./cli-6qhw9v08.js";
7
+ } from "./cli-c2yvktan.js";
8
8
  import"./cli-c41yr7he.js";
9
9
  import {
10
10
  BuildError
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  build
3
- } from "./index-n252zv7d.js";
3
+ } from "./index-my3v298z.js";
4
4
  import {
5
5
  BuildError,
6
6
  RENDER_TIMEOUT_MS,
7
7
  assertMilestone,
8
8
  connectChromium,
9
9
  getBrowser
10
- } from "./index-y7jbczsb.js";
10
+ } from "./index-wbm6p5j3.js";
11
11
  import"./index-37x76zdn.js";
12
12
 
13
13
  // src/lib/engine.ts
@@ -17,7 +17,7 @@ import {
17
17
  resolveChromiumExecutable,
18
18
  run,
19
19
  spawnCapture
20
- } from "./index-y7jbczsb.js";
20
+ } from "./index-wbm6p5j3.js";
21
21
  import {
22
22
  gitFs,
23
23
  gitScopeFor,
@@ -503,10 +503,10 @@ function resolveWithPreset(cliOverrides, manifest, preset) {
503
503
  throw new UsageError(`Unknown engine "${String(requestedEngine)}". Expected: paged | native`);
504
504
  }
505
505
  if (requestedEngine === "paged") {
506
- warnOnce("engine-paged-removed", "[gutterpress] Paged.js has been removed; the native engine is the " + 'only engine. "engine: paged" is ignored — building natively.');
506
+ warnOnce("engine-paged-removed", "[gutterpress] The native engine is the only engine. " + '"engine: paged" is ignored — building natively.');
507
507
  }
508
508
  if ((m.engineStyles?.paged?.length ?? 0) > 0) {
509
- warnOnce("engine-styles-paged-removed", "[gutterpress] engineStyles.paged is ignored — Paged.js has been removed.");
509
+ warnOnce("engine-styles-paged-removed", "[gutterpress] engineStyles.paged is ignored — the native engine is the only engine.");
510
510
  }
511
511
  const engine = "native";
512
512
  const rawPlugins = c.plugins ?? m.plugins ?? [];
@@ -3978,7 +3978,7 @@ import git from "isomorphic-git";
3978
3978
  // package.json
3979
3979
  var package_default = {
3980
3980
  name: "gutterpress",
3981
- version: "0.10.2-alpha.1",
3981
+ version: "0.10.2-alpha.3",
3982
3982
  description: "Markdown-to-PDF converter for professional print layout using a native Chromium print engine and Ghostscript.",
3983
3983
  author: "itlackey",
3984
3984
  license: "MPL-2.0",
@@ -8033,7 +8033,7 @@ class PdfOutput {
8033
8033
  const rawPdf = pdfxMode ? path8.join(stage, "raw.pdf") : path8.resolve(pdfFile);
8034
8034
  await fsp2.mkdir(path8.dirname(path8.resolve(pdfFile)), { recursive: true });
8035
8035
  log.info("Rendering HTML to PDF via the Gutterpress engine (native Chromium pagination)");
8036
- const { buildNativePdf } = await import("./engine-e1ycm5p9.js");
8036
+ const { buildNativePdf } = await import("./engine-qg5tdaqv.js");
8037
8037
  const engineDiagnostics = await buildNativePdf(htmlFile, rawPdf, {
8038
8038
  title: config.title,
8039
8039
  author: config.authors.length > 0 ? config.authors.join(", ") : undefined,
@@ -4,7 +4,7 @@ import {
4
4
  launchChromium,
5
5
  marginBoxAlign,
6
6
  marginBoxRectPt
7
- } from "./index-y7jbczsb.js";
7
+ } from "./index-wbm6p5j3.js";
8
8
 
9
9
  // src/engine/compiler/build.ts
10
10
  import { readFile } from "node:fs/promises";
@@ -593,16 +593,16 @@ import { fileURLToPath } from "node:url";
593
593
  var favicon_default = "./favicon-wkbm9cjn.ico";
594
594
 
595
595
  // src/assets/manifest.schema.json
596
- var manifest_schema_default = "./manifest.schema-zxgxnbg7.json";
596
+ var manifest_schema_default = "./manifest.schema-084rxtwp.json";
597
597
 
598
598
  // src/assets/preview/scripts/preview-interface.js
599
- var preview_interface_default = "./preview-interface-2f5v96hd.js";
599
+ var preview_interface_default = "./preview-interface-9rwz21yw.js";
600
600
 
601
601
  // src/assets/preview/scripts/preview-bridge.js
602
602
  var preview_bridge_default = "./preview-bridge-2nnrs2hy.js";
603
603
 
604
604
  // src/assets/preview/scripts/preview-shell.js
605
- var preview_shell_default = "./preview-shell-kyjq59d9.js";
605
+ var preview_shell_default = "./preview-shell-gqnc5xxe.js";
606
606
 
607
607
  // profiles/CGATS21_CRPC1.icc
608
608
  var CGATS21_CRPC1_default = "./CGATS21_CRPC1-g0e3k7kr.icc";
package/dist/index.js CHANGED
@@ -113,15 +113,15 @@ import {
113
113
  syncProject,
114
114
  testRemoteAccess,
115
115
  validateProjectPlugins
116
- } from "./index-ahzftp35.js";
116
+ } from "./index-gdggp65f.js";
117
117
  import {
118
118
  BUILD_DIAGNOSTIC_CODES
119
- } from "./index-n252zv7d.js";
119
+ } from "./index-my3v298z.js";
120
120
  import {
121
121
  BuildError,
122
122
  DEFAULT_PRINT_OPTS,
123
123
  readyProbeExpr
124
- } from "./index-y7jbczsb.js";
124
+ } from "./index-wbm6p5j3.js";
125
125
  import {
126
126
  AUTO_SNAPSHOT_MESSAGE,
127
127
  HISTORY_PAGE_LIMIT,
@@ -10,8 +10,8 @@
10
10
  * under a content-addressed name, whatever it weighs.
11
11
  *
12
12
  * A missing stylesheet or font is a build error here, at read time, rather than
13
- * a 404 during pagination that Paged.js parsed as CSS or silently replaced with
14
- * a system face.
13
+ * a 404 during pagination that gets parsed as CSS or silently replaced with a
14
+ * system face.
15
15
  *
16
16
  * Bundle-safe (CLAUDE.md §1/§3): postcss only.
17
17
  */
@@ -39,10 +39,10 @@ export interface BuildRunnerOptions {
39
39
  keepBrowserAlive?: boolean;
40
40
  rawArgs: Record<string, unknown>;
41
41
  /**
42
- * CLI `--engine` override. Paged.js has been removed the native engine is
43
- * the only engine — so this is a deprecated no-op accepted for backward
44
- * compatibility only: `"paged"` triggers a one-line warning
45
- * (`manifest.ts`'s resolution) and the build proceeds natively regardless.
42
+ * CLI `--engine` override. The native engine is the only engine, so this is
43
+ * a deprecated no-op accepted for backward compatibility only: `"paged"`
44
+ * triggers a one-line warning (`manifest.ts`'s resolution) and the build
45
+ * proceeds natively regardless.
46
46
  */
47
47
  engine?: "paged" | "native";
48
48
  /**
@@ -70,9 +70,8 @@ export interface BuildRunnerResult {
70
70
  /** As {@link htmlPath}: `null` when nothing but the artifact was published. */
71
71
  fingerprintPath: string | null;
72
72
  /**
73
- * Author-facing print-quality findings from the render (native engine only
74
- * — Paged.js has no equivalent audit). Empty for a clean build. The desktop
75
- * maps these into the Problems panel; the CLI logs them.
73
+ * Author-facing print-quality findings from the render. Empty for a clean
74
+ * build. The desktop maps these into the Problems panel; the CLI logs them.
76
75
  */
77
76
  diagnostics: BuildDiagnostic[];
78
77
  }
@@ -42,11 +42,10 @@ export declare function parseFormat(raw: unknown, opts: {
42
42
  /** Parse `--pdfx-flavor`, which is only valid alongside `--format pdfx`. */
43
43
  export declare function parsePdfxFlavor(raw: unknown, format: BuildFormat): PdfxFlavor | undefined;
44
44
  /**
45
- * Parse `--engine`, shared by `build` and `preview`. Paged.js has been
46
- * removed — the native engine is the only engine so this flag is now an
47
- * accepted-but-ignored no-op: `--engine paged` produces a one-line warning
48
- * (`manifest.ts`'s resolution) and the build proceeds natively regardless.
49
- * `undefined` means "not passed".
45
+ * Parse `--engine`, shared by `build` and `preview`. The native engine is the
46
+ * only engine, so this flag is an accepted-but-ignored no-op: `--engine paged`
47
+ * produces a one-line warning (`manifest.ts`'s resolution) and the build
48
+ * proceeds natively regardless. `undefined` means "not passed".
50
49
  */
51
50
  export declare function parseEngine(raw: unknown): "paged" | "native" | undefined;
52
51
  /** Parse `--port`, defaulting to {@link NETWORK.DEFAULT_PORT} (0 = OS-assigned). */
@@ -17,9 +17,9 @@ export interface NativePdfOptions {
17
17
  allowShrink?: boolean;
18
18
  }
19
19
  /**
20
- * Render `htmlFile` to `outPdf` via the Gutterpress engine. No HTTP staging,
21
- * no Paged.js polyfill — but the pooled/pre-warmed Chromium IS reused (see
22
- * module doc comment): this module never launches or closes a browser itself.
20
+ * Render `htmlFile` to `outPdf` via the Gutterpress engine. No HTTP staging
21
+ * but the pooled/pre-warmed Chromium IS reused (see module doc comment): this
22
+ * module never launches or closes a browser itself.
23
23
  *
24
24
  * Returns the build's author-facing diagnostics so the caller can surface
25
25
  * them (the desktop Problems panel, the CLI's own output). Dropping them here
@@ -61,17 +61,12 @@
61
61
  * and a plain `width: 100%` already reaches both edges —
62
62
  * with no shrink-to-fit trigger, because nothing out-dents
63
63
  * past the content box. MEASURED (Chromium 148, 6x4in
64
- * sheet, 0.75in margins): the earlier mechanism (a negative
65
- * out-dent of the real page margins, inherited from the
66
- * Paged.js era, where the polyfill published them as
67
- * `--pagedjs-margin-left/right`) shrank the WHOLE document
68
- * ~10% under native print (text run 204.4pt -> 182.9pt),
64
+ * sheet, 0.75in margins): the obvious alternative a
65
+ * negative out-dent of the real page margins shrank the
66
+ * WHOLE document ~10% (text run 204.4pt -> 182.9pt),
69
67
  * because the shrink-to-fit trigger is the page CONTENT
70
- * box, not the sheet that failure mode is why the named
71
- * page exists. Paged.js has since been removed
72
- * (native-only-migration-plan.md Phase 6), so the out-dent
73
- * (whose custom properties nothing sets any more, making it
74
- * a permanent no-op) went with it.
68
+ * box, not the sheet. That failure mode is why the named
69
+ * page exists.
75
70
  *
76
71
  * KNOWN GAP: on the bleed page, native's running head/folio
77
72
  * move onto the trim line (margin boxes are positioned by
@@ -14,12 +14,10 @@ export default function plugin(md: any, pluginOptions?: {}): void;
14
14
  * page root that only shrink-wraps its text is a containing block whose
15
15
  * `bottom` edge is the end of the PROSE, so `.gp-pin .gp-bottom` (and every
16
16
  * hand-written `position: absolute; bottom: 0`) lands under the last
17
- * paragraph instead of at the page foot. Paged.js used to supply this height
18
- * for free `.pagedjs_pagebox > .pagedjs_area > .pagedjs_page_content > div
19
- * { height: inherit; }` stretched the page root to the page area — and
20
- * deleting the polyfill (native-only migration, Phase 6) silently took
21
- * page-boundary pinning with it. Both renderers now publish the page
22
- * CONTENT height as `--gp-content-h` for the page context the element is in
17
+ * paragraph instead of at the page foot. Nothing in a continuous document
18
+ * stretches a page root to the page area on its own, so both renderers
19
+ * publish the page CONTENT height as `--gp-content-h` for the page context
20
+ * the element is in
23
21
  * (the viewer on each `.gp-strip`; the compiler on `:root` plus every
24
22
  * `page:` assignment selector), and custom properties inherit, so this one
25
23
  * rule reaches a page root at any wrapper depth. Undefined var (plain
@@ -12,7 +12,7 @@
12
12
  * items, blockquotes, table rows, fences, footnote definitions, …).
13
13
  * 2. `token.meta.line` — the 1-based marker line threaded onto
14
14
  * `layout_*_open` / `layout_page_break` / `layout_column_break` tokens
15
- * by `markdown-it-paged.js` (see that file's header and the
15
+ * by `markers.js` (see that file's header and the
16
16
  * `t.meta = …` assignment sites). Converted to the same half-open
17
17
  * convention as `[line - 1, line)`.
18
18
  *
@@ -1,16 +1,16 @@
1
1
  import {
2
2
  MANIFEST_FILENAMES,
3
3
  runLint
4
- } from "./cli-wrt39m23.js";
4
+ } from "./cli-78psnm9d.js";
5
5
  import {
6
6
  log
7
- } from "./cli-mnekrb8s.js";
7
+ } from "./cli-1kpfahe4.js";
8
8
  import {
9
9
  UsageError,
10
10
  rejectExtraPositionals,
11
11
  rejectUnknownFlags
12
- } from "./cli-nrv3gzz9.js";
13
- import"./cli-6qhw9v08.js";
12
+ } from "./cli-v50x229w.js";
13
+ import"./cli-c2yvktan.js";
14
14
  import"./cli-c41yr7he.js";
15
15
  import {
16
16
  EXIT_CODES
@@ -31,18 +31,18 @@
31
31
  },
32
32
  "engine": {
33
33
  "type": "string",
34
- "description": "Pagination engine. Paged.js has been removed — the Gutterpress engine (native Chromium pagination) is the only engine, and \"native\" is the only meaningful value. \"paged\" is accepted for backward-compatible manifest parsing only: it produces a one-line warning and the build proceeds natively regardless. `--engine` on the CLI is likewise an accepted-but-ignored no-op.",
34
+ "description": "Pagination engine. The Gutterpress engine (native Chromium pagination) is the only engine, and \"native\" is the only meaningful value. \"paged\" is accepted for backward-compatible manifest parsing only: it produces a one-line warning and the build proceeds natively regardless. `--engine` on the CLI is likewise an accepted-but-ignored no-op.",
35
35
  "enum": ["paged", "native"],
36
36
  "default": "native",
37
37
  "examples": ["native"]
38
38
  },
39
39
  "engineStyles": {
40
40
  "type": "object",
41
- "description": "Engine-conditional stylesheets, appended AFTER `styles`. `.native` is the only list that still applies; `.paged` is accepted-but-ignored (a warning fires if it has entries) now that Paged.js has been removed.",
41
+ "description": "Engine-conditional stylesheets, appended AFTER `styles`. `.native` is the only list that still applies; `.paged` is accepted-but-ignored (a warning fires if it has entries).",
42
42
  "properties": {
43
43
  "paged": {
44
44
  "type": "array",
45
- "description": "REMOVED — Paged.js has been deleted. Accepted for backward-compatible manifest parsing only; entries here are ignored with a warning.",
45
+ "description": "Accepted for backward-compatible manifest parsing only; entries here are ignored with a warning.",
46
46
  "items": { "type": "string" }
47
47
  },
48
48
  "native": { "type": "array", "items": { "type": "string" } }
@@ -5,16 +5,16 @@ import {
5
5
  TARGETS,
6
6
  TARGET_IDS,
7
7
  scaffoldProject
8
- } from "./cli-wrt39m23.js";
8
+ } from "./cli-78psnm9d.js";
9
9
  import {
10
10
  resolveGhostscript
11
- } from "./cli-mnekrb8s.js";
11
+ } from "./cli-1kpfahe4.js";
12
12
  import {
13
13
  UsageError,
14
14
  rejectExtraPositionals,
15
15
  rejectUnknownFlags
16
- } from "./cli-nrv3gzz9.js";
17
- import"./cli-6qhw9v08.js";
16
+ } from "./cli-v50x229w.js";
17
+ import"./cli-c2yvktan.js";
18
18
  import {
19
19
  isToolAvailable
20
20
  } from "./cli-c41yr7he.js";
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  addNpmPlugin,
3
3
  parseNpmPluginSpec
4
- } from "./cli-wrt39m23.js";
5
- import"./cli-mnekrb8s.js";
4
+ } from "./cli-78psnm9d.js";
5
+ import"./cli-1kpfahe4.js";
6
6
  import {
7
7
  UsageError,
8
8
  rejectExtraPositionals,
9
9
  rejectUnknownFlags
10
- } from "./cli-nrv3gzz9.js";
11
- import"./cli-6qhw9v08.js";
10
+ } from "./cli-v50x229w.js";
11
+ import"./cli-c2yvktan.js";
12
12
  import"./cli-c41yr7he.js";
13
13
  import {
14
14
  EXIT_CODES
@@ -2,16 +2,16 @@ import {
2
2
  executeValidation,
3
3
  publishTargetFor,
4
4
  reportMissingTools
5
- } from "./cli-wrt39m23.js";
5
+ } from "./cli-78psnm9d.js";
6
6
  import {
7
7
  log
8
- } from "./cli-mnekrb8s.js";
8
+ } from "./cli-1kpfahe4.js";
9
9
  import {
10
10
  UsageError,
11
11
  rejectExtraPositionals,
12
12
  rejectUnknownFlags
13
- } from "./cli-nrv3gzz9.js";
14
- import"./cli-6qhw9v08.js";
13
+ } from "./cli-v50x229w.js";
14
+ import"./cli-c2yvktan.js";
15
15
  import"./cli-c41yr7he.js";
16
16
  import {
17
17
  EXIT_CODES
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  previewArgs
3
- } from "./cli-yzf38679.js";
3
+ } from "./cli-pfpb1t3h.js";
4
4
  import {
5
5
  openPath,
6
6
  runBuild,
7
7
  splitOutPath,
8
8
  startPreviewServer
9
- } from "./cli-wrt39m23.js";
9
+ } from "./cli-78psnm9d.js";
10
10
  import {
11
11
  log
12
- } from "./cli-mnekrb8s.js";
12
+ } from "./cli-1kpfahe4.js";
13
13
  import {
14
14
  UsageError,
15
15
  parseEngine,
@@ -18,8 +18,8 @@ import {
18
18
  rejectExtraPositionals,
19
19
  rejectUnknownFlags,
20
20
  resolvePort
21
- } from "./cli-nrv3gzz9.js";
22
- import"./cli-6qhw9v08.js";
21
+ } from "./cli-v50x229w.js";
22
+ import"./cli-c2yvktan.js";
23
23
  import"./cli-c41yr7he.js";
24
24
  import {
25
25
  BuildError
@@ -637,8 +637,8 @@
637
637
  // ONLY to serve that panel and went with it (protocol v8).
638
638
  //
639
639
  // Three properties of the native viewer are what make this work, each
640
- // spike-verified rather than assumed (plan §2) — under Paged.js none of them
641
- // held, which is why the panel existed:
640
+ // spike-verified rather than assumed (plan §2) — the floating panel existed
641
+ // because none of them can be assumed of a paginator that pre-cuts the DOM:
642
642
  // 1. A block spanning a page break is ONE element with several client
643
643
  // rects, so it takes ONE contenteditable and the caret crosses the
644
644
  // break natively (ArrowDown walks into the next page).
@@ -288,11 +288,9 @@
288
288
  armPendingSwap();
289
289
  }
290
290
 
291
- // Incremental chapter splice used to live here (spliceChapter): it needed
292
- // Paged.js's `.pagedjs_page` DOM to find a chapter's live page range and
293
- // graft a freshly-paginated replacement into it. Paged.js has been removed
294
- // (native-only-migration-plan.md Phase 6). A native in-place splice was
295
- // also tried and removed (2026-08-08 review), and the standing reason is
291
+ // Incremental chapter splice used to live here (spliceChapter): it grafted
292
+ // a freshly-paginated replacement into a chapter's live page range. It was
293
+ // tried and removed (2026-08-08 review), and the standing reason is
296
294
  // PERFORMANCE, not soundness: measured end-to-end (file write -> change
297
295
  // visible, 5 samples, 34pp field guide) the plain full reload (`swap`,
298
296
  // below) is 509ms avg vs the incremental splice's 998ms avg. Every
@@ -7,17 +7,17 @@ import {
7
7
  publishCredentialKey,
8
8
  publishProviderFor,
9
9
  runPublish
10
- } from "./cli-wrt39m23.js";
10
+ } from "./cli-78psnm9d.js";
11
11
  import {
12
12
  FileTokenStore,
13
13
  log
14
- } from "./cli-mnekrb8s.js";
14
+ } from "./cli-1kpfahe4.js";
15
15
  import {
16
16
  UsageError,
17
17
  rejectExtraPositionals,
18
18
  rejectUnknownFlags
19
- } from "./cli-nrv3gzz9.js";
20
- import"./cli-6qhw9v08.js";
19
+ } from "./cli-v50x229w.js";
20
+ import"./cli-c2yvktan.js";
21
21
  import"./cli-c41yr7he.js";
22
22
  import {
23
23
  EXIT_CODES
@@ -67,8 +67,7 @@ export interface GutterpressManifest {
67
67
  /** How the book is designed (ADR 0008). The registry in lib/presets.ts is authoritative. */
68
68
  preset?: "dtrpg" | "book" | "custom";
69
69
  /**
70
- * Pagination engine. Paged.js has been removed (native-only-migration-
71
- * plan.md Phase 6) — the Gutterpress engine (`src/engine/`, native Chromium
70
+ * Pagination engine. The Gutterpress engine (`src/engine/`, native Chromium
72
71
  * pagination) is the only engine. This field and `--engine` on the CLI are
73
72
  * accepted-but-ignored for backward compatibility: an explicit "paged"
74
73
  * produces a one-line warning and the build proceeds natively regardless.
@@ -77,12 +76,12 @@ export interface GutterpressManifest {
77
76
  /**
78
77
  * Engine-conditional stylesheets, appended AFTER `styles`. `.native` is the
79
78
  * only list that still applies; `.paged` is accepted-but-ignored (a warning
80
- * fires if it has entries) now that Paged.js has been removed.
79
+ * fires if it has entries).
81
80
  */
82
81
  engineStyles?: {
83
82
  /**
84
- * REMOVED Paged.js has been deleted. Accepted for backward-compatible
85
- * manifest parsing only; entries here are ignored with a warning.
83
+ * Accepted for backward-compatible manifest parsing only; entries here are
84
+ * ignored with a warning.
86
85
  */
87
86
  paged?: string[];
88
87
  native?: string[];
package/dist/types.d.ts CHANGED
@@ -29,8 +29,8 @@ export interface PreviewServerOptions {
29
29
  openBrowser: boolean;
30
30
  /**
31
31
  * CLI `--engine` override, fed into {@link resolveConfig} the same way
32
- * `build`'s does (MIGRATION.md Decision #5 — preview and PDF switch
33
- * together, per project, behind one flag). `undefined` defers to the
32
+ * `build`'s does — preview and PDF switch together, per project, behind
33
+ * one flag. `undefined` defers to the
34
34
  * manifest's `engine:` field (or the "native" default).
35
35
  */
36
36
  engine?: "paged" | "native";
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  executeAndReport
3
- } from "./cli-wrt39m23.js";
3
+ } from "./cli-78psnm9d.js";
4
4
  import {
5
5
  log
6
- } from "./cli-mnekrb8s.js";
6
+ } from "./cli-1kpfahe4.js";
7
7
  import {
8
8
  UsageError,
9
9
  rejectExtraPositionals,
10
10
  rejectUnknownFlags
11
- } from "./cli-nrv3gzz9.js";
12
- import"./cli-6qhw9v08.js";
11
+ } from "./cli-v50x229w.js";
12
+ import"./cli-c2yvktan.js";
13
13
  import"./cli-c41yr7he.js";
14
14
  import {
15
15
  EXIT_CODES
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gutterpress",
3
- "version": "0.10.2-alpha.1",
3
+ "version": "0.10.2-alpha.3",
4
4
  "description": "Markdown-to-PDF converter for professional print layout using a native Chromium print engine and Ghostscript.",
5
5
  "author": "itlackey",
6
6
  "license": "MPL-2.0",