postext 1.12.1 → 1.13.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.
Files changed (75) hide show
  1. package/dist/__tests__/defaults/folio.test.d.ts +2 -0
  2. package/dist/__tests__/defaults/folio.test.d.ts.map +1 -0
  3. package/dist/__tests__/defaults/folio.test.js +153 -0
  4. package/dist/__tests__/defaults/folio.test.js.map +1 -0
  5. package/dist/__tests__/exports.test.js +4 -0
  6. package/dist/__tests__/exports.test.js.map +1 -1
  7. package/dist/__tests__/paper.test.d.ts +2 -0
  8. package/dist/__tests__/paper.test.d.ts.map +1 -0
  9. package/dist/__tests__/paper.test.js +150 -0
  10. package/dist/__tests__/paper.test.js.map +1 -0
  11. package/dist/__tests__/parse/citations.test.js +5 -0
  12. package/dist/__tests__/parse/citations.test.js.map +1 -1
  13. package/dist/__tests__/parse/containers.test.js +1 -1
  14. package/dist/__tests__/parse/containers.test.js.map +1 -1
  15. package/dist/__tests__/pipeline/bibliographyScope.test.d.ts +2 -0
  16. package/dist/__tests__/pipeline/bibliographyScope.test.d.ts.map +1 -0
  17. package/dist/__tests__/pipeline/bibliographyScope.test.js +63 -0
  18. package/dist/__tests__/pipeline/bibliographyScope.test.js.map +1 -0
  19. package/dist/__tests__/pipeline/citationMarkers.test.d.ts +2 -0
  20. package/dist/__tests__/pipeline/citationMarkers.test.d.ts.map +1 -0
  21. package/dist/__tests__/pipeline/citationMarkers.test.js +50 -0
  22. package/dist/__tests__/pipeline/citationMarkers.test.js.map +1 -0
  23. package/dist/__tests__/vertical/inlineResourceShortTier.test.d.ts +2 -0
  24. package/dist/__tests__/vertical/inlineResourceShortTier.test.d.ts.map +1 -0
  25. package/dist/__tests__/vertical/inlineResourceShortTier.test.js +52 -0
  26. package/dist/__tests__/vertical/inlineResourceShortTier.test.js.map +1 -0
  27. package/dist/bundle/book.d.ts +1 -1
  28. package/dist/bundle/book.d.ts.map +1 -1
  29. package/dist/bundle/book.js +1 -1
  30. package/dist/bundle/book.js.map +1 -1
  31. package/dist/citations/bibtex.d.ts.map +1 -1
  32. package/dist/citations/bibtex.js +4 -0
  33. package/dist/citations/bibtex.js.map +1 -1
  34. package/dist/defaults/folio.d.ts +25 -0
  35. package/dist/defaults/folio.d.ts.map +1 -0
  36. package/dist/defaults/folio.js +149 -0
  37. package/dist/defaults/folio.js.map +1 -0
  38. package/dist/defaults/index.d.ts +2 -0
  39. package/dist/defaults/index.d.ts.map +1 -1
  40. package/dist/defaults/index.js +9 -0
  41. package/dist/defaults/index.js.map +1 -1
  42. package/dist/index.d.ts +3 -2
  43. package/dist/index.d.ts.map +1 -1
  44. package/dist/index.js +1 -1
  45. package/dist/index.js.map +1 -1
  46. package/dist/parse/blockParser.d.ts.map +1 -1
  47. package/dist/parse/blockParser.js +1 -1
  48. package/dist/parse/blockParser.js.map +1 -1
  49. package/dist/parse/types.d.ts +1 -1
  50. package/dist/parse/types.d.ts.map +1 -1
  51. package/dist/pipeline/build.d.ts.map +1 -1
  52. package/dist/pipeline/build.js +35 -0
  53. package/dist/pipeline/build.js.map +1 -1
  54. package/dist/pipeline/citations.d.ts.map +1 -1
  55. package/dist/pipeline/citations.js +22 -6
  56. package/dist/pipeline/citations.js.map +1 -1
  57. package/dist/pipeline/config.d.ts.map +1 -1
  58. package/dist/pipeline/config.js +3 -1
  59. package/dist/pipeline/config.js.map +1 -1
  60. package/dist/pipeline/contentWarnings.d.ts.map +1 -1
  61. package/dist/pipeline/contentWarnings.js +9 -0
  62. package/dist/pipeline/contentWarnings.js.map +1 -1
  63. package/dist/pipeline/paper.d.ts +49 -0
  64. package/dist/pipeline/paper.d.ts.map +1 -0
  65. package/dist/pipeline/paper.js +167 -0
  66. package/dist/pipeline/paper.js.map +1 -0
  67. package/dist/pipeline/placement.d.ts.map +1 -1
  68. package/dist/pipeline/placement.js +5 -4
  69. package/dist/pipeline/placement.js.map +1 -1
  70. package/dist/types.d.ts +129 -0
  71. package/dist/types.d.ts.map +1 -1
  72. package/dist/vdt.d.ts +21 -1
  73. package/dist/vdt.d.ts.map +1 -1
  74. package/dist/vdt.js.map +1 -1
  75. package/package.json +1 -1
@@ -0,0 +1,167 @@
1
+ /** The stocks `:::paper{type=…}` accepts (see {@link FolioPaperType}). */
2
+ const PAPER_TYPES = new Set([
3
+ 'uncoated', 'bookWove', 'coatedMatte', 'coatedSilk', 'coatedGloss', 'bible', 'newsprint', 'cardStock', 'board',
4
+ ]);
5
+ const PAPER_FINISHES = new Set(['auto', 'uncoated', 'matte', 'silk', 'gloss']);
6
+ const PAPER_TEXTURES = new Set(['auto', 'smooth', 'vellum', 'wove', 'laid', 'linen', 'felt']);
7
+ const HEX_RE = /^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/;
8
+ function positiveNumber(raw) {
9
+ const n = Number(raw.trim());
10
+ return raw.trim() !== '' && Number.isFinite(n) && n > 0 ? n : undefined;
11
+ }
12
+ function shadeOf(raw, palette) {
13
+ const v = raw.trim();
14
+ if (HEX_RE.test(v)) {
15
+ const hex = v.length === 4 ? `#${v[1]}${v[1]}${v[2]}${v[2]}${v[3]}${v[3]}` : v;
16
+ return { hex: hex.toLowerCase(), model: 'hex' };
17
+ }
18
+ const entry = palette?.find((e) => e.id === v);
19
+ return entry ? { hex: entry.value.hex, model: entry.value.model, paletteId: entry.id } : undefined;
20
+ }
21
+ /**
22
+ * The paper stock a `:::paper{…}` fence names, as the partial
23
+ * {@link FolioPaperConfig} it writes (unset fields follow the document's
24
+ * `folio.paper` and the stock), and the attributes it could not read:
25
+ * an unknown stock, finish or texture, a weight, bulk or texture strength
26
+ * that is not a positive number (`textureStrength` may be 0 … 2), a shade
27
+ * that is neither a `#rgb` / `#rrggbb` hex nor a palette entry id, a
28
+ * `showThrough` other than `true` / `false`, and any other key.
29
+ */
30
+ export function parsePaperAttrs(attrs, palette) {
31
+ const paper = {};
32
+ const issues = [];
33
+ for (const [key, value] of Object.entries(attrs ?? {})) {
34
+ const v = value.trim();
35
+ switch (key) {
36
+ case 'id':
37
+ break;
38
+ case 'type':
39
+ if (PAPER_TYPES.has(v))
40
+ paper.type = v;
41
+ else
42
+ issues.push({ key, value });
43
+ break;
44
+ case 'finish':
45
+ if (PAPER_FINISHES.has(v))
46
+ paper.finish = v;
47
+ else
48
+ issues.push({ key, value });
49
+ break;
50
+ case 'texture':
51
+ if (PAPER_TEXTURES.has(v))
52
+ paper.texture = v;
53
+ else
54
+ issues.push({ key, value });
55
+ break;
56
+ case 'grammage':
57
+ case 'bulk': {
58
+ const n = positiveNumber(v);
59
+ if (n !== undefined)
60
+ paper[key] = n;
61
+ else
62
+ issues.push({ key, value });
63
+ break;
64
+ }
65
+ case 'textureStrength': {
66
+ const n = Number(v);
67
+ if (v !== '' && Number.isFinite(n) && n >= 0 && n <= 2)
68
+ paper.textureStrength = n;
69
+ else
70
+ issues.push({ key, value });
71
+ break;
72
+ }
73
+ case 'shade': {
74
+ const shade = shadeOf(v, palette);
75
+ if (shade)
76
+ paper.shade = shade;
77
+ else
78
+ issues.push({ key, value });
79
+ break;
80
+ }
81
+ case 'showThrough':
82
+ // A bare `showThrough` flag reads as true.
83
+ if (v === '' || v === 'true')
84
+ paper.showThrough = true;
85
+ else if (v === 'false')
86
+ paper.showThrough = false;
87
+ else
88
+ issues.push({ key, value });
89
+ break;
90
+ default:
91
+ issues.push({ key, value });
92
+ }
93
+ }
94
+ return { paper, issues };
95
+ }
96
+ /**
97
+ * The paper every content block is printed on: the merged config of the
98
+ * `:::paper` containers around it (an inner fence's fields over the outer
99
+ * one's), `undefined` outside any. Indexed like `blocks`; the fence
100
+ * markers themselves carry the paper they open or close.
101
+ */
102
+ export function paperByBlock(blocks, palette) {
103
+ const out = new Array(blocks.length);
104
+ const stack = [];
105
+ for (let i = 0; i < blocks.length; i++) {
106
+ const b = blocks[i];
107
+ if (b.type === 'containerStart' && b.containerName === 'paper') {
108
+ const outer = stack[stack.length - 1]?.paper;
109
+ stack.push({ id: b.containerId, paper: { ...outer, ...parsePaperAttrs(b.containerAttrs, palette).paper } });
110
+ out[i] = stack[stack.length - 1].paper;
111
+ continue;
112
+ }
113
+ if (b.type === 'containerEnd' && b.containerName === 'paper') {
114
+ out[i] = stack[stack.length - 1]?.paper;
115
+ const at = stack.findIndex((s) => s.id === b.containerId);
116
+ if (at >= 0)
117
+ stack.length = at;
118
+ continue;
119
+ }
120
+ out[i] = stack[stack.length - 1]?.paper;
121
+ }
122
+ return out;
123
+ }
124
+ /** The paper of the first block of `blocks` that names its source block;
125
+ * `null` when none does. */
126
+ function firstPaper(blocks, byBlock) {
127
+ for (const b of blocks ?? []) {
128
+ if (b.contentIndex !== undefined)
129
+ return byBlock[b.contentIndex];
130
+ }
131
+ return null;
132
+ }
133
+ /**
134
+ * Stamps `page.paper` on the pages set with content from inside a
135
+ * `:::paper` container (see {@link paperByBlock}). A run starts and ends on
136
+ * a page boundary, so a page's first block decides — its column flow
137
+ * first, then its floats. A page with neither (a parity blank) between two
138
+ * pages of the same run belongs to the run too: it is printed on the same
139
+ * sheets. Pages outside every run are left without the key.
140
+ */
141
+ export function stampPagePaper(pages, byBlock) {
142
+ const found = pages.map((page) => {
143
+ for (const col of page.columns) {
144
+ const p = firstPaper(col.blocks, byBlock);
145
+ if (p !== null)
146
+ return p;
147
+ }
148
+ return firstPaper(page.floats, byBlock);
149
+ });
150
+ for (let i = 0; i < pages.length; i++) {
151
+ let paper = found[i];
152
+ if (paper === null) {
153
+ let before = null;
154
+ for (let j = i - 1; j >= 0 && before === null; j--)
155
+ before = found[j];
156
+ let after = null;
157
+ for (let j = i + 1; j < pages.length && after === null; j++)
158
+ after = found[j];
159
+ paper = before && before === after ? before : undefined;
160
+ }
161
+ if (paper)
162
+ pages[i].paper = { ...paper };
163
+ else
164
+ delete pages[i].paper;
165
+ }
166
+ }
167
+ //# sourceMappingURL=paper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paper.js","sourceRoot":"","sources":["../../src/pipeline/paper.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"placement.d.ts","sourceRoot":"","sources":["../../src/pipeline/placement.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"placement.d.ts","sourceRoot":"","sources":["../../src/pipeline/placement.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,QAAQ,EACb,KAAK,OAAO,EACZ,KAAK,OAAO,EACZ,KAAK,SAAS,EAEf,MAAM,QAAQ,CAAC;AAChB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAEnD,OAAO,EAAwE,KAAK,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAIxH,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,OAAO,EAAE,EAChB,YAAY,EAAE,MAAM,GACnB,OAAO,EAAE,CASX;AAMD,wEAAwE;AACxE,wBAAgB,YAAY,CAAC,IAAI,EAAE,OAAO,GAAG,cAAc,CAAC,QAAQ,CAAC,GAAG,SAAS,CAEhF;AAED,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,cAAc,EACxB,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,eAAe,SAAI,GAClB,OAAO,CAmBT;AAED;;;;;;;;;6CAS6C;AAC7C,wBAAgB,cAAc,CAC5B,IAAI,EAAE,OAAO,EACb,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,UAAU,GAAG,aAAa,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,GAAG,cAAc,CAAC,CAAC,EAChH,QAAQ,EAAE,cAAc,EACxB,IAAI,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,CAAA;CAAE,EAC7H,eAAe,SAAI,GAClB,OAAO,CA8BT;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,eAAe,GAAG,SAAS,CAElF;AAED;wDACwD;AACxD,wBAAgB,cAAc,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAErD;AAED;;4BAE4B;AAC5B,wBAAgB,cAAc,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAErD;AAeD;iBACiB;AACjB,wBAAgB,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,CAEpE;AAED;;0CAE0C;AAC1C,wBAAgB,YAAY,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAE/E;AAED,8DAA8D;AAC9D,wBAAgB,WAAW,CAAC,IAAI,EAAE,OAAO,GAAG,SAAS,EAAE,CAEtD;AAED;;wDAEwD;AACxD,wBAAgB,cAAc,CAAC,GAAG,EAAE,SAAS,GAAG,MAAM,CAErD;AAED,gFAAgF;AAChF,wBAAgB,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,eAAe,GAAG,MAAM,CAE1E;AAED;;;qEAGqE;AACrE,wBAAgB,WAAW,CAAC,IAAI,EAAE,SAAS,SAAS,EAAE,GAAG,OAAO,CAK/D;AAED;kEACkE;AAClE,wBAAgB,cAAc,CAAC,IAAI,EAAE,SAAS,SAAS,EAAE,GAAG,MAAM,CAMjE;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,OAAO,EACb,IAAI,EAAE,SAAS,SAAS,EAAE,EAC1B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,QAAQ,EACf,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,eAAe,EACvB,aAAa,SAAI,EACjB,WAAW,SAAyB,GACnC,SAAS,CA0DX;AAED,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,WAAW,EAChB,MAAM,EAAE,eAAe,EACvB,QAAQ,EAAE,cAAc,EACxB,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,GAClC,IAAI,CA0BN;AAED;;;0BAG0B;AAC1B,wBAAgB,yBAAyB,CACvC,GAAG,EAAE,WAAW,EAChB,MAAM,EAAE,eAAe,EACvB,QAAQ,EAAE,cAAc,EACxB,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,GAClC,IAAI,CASN;AAED;;;;;;;;;;0EAU0E;AAC1E,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,WAAW,EAChB,MAAM,EAAE,eAAe,EACvB,QAAQ,EAAE,cAAc,EACxB,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,kBAAkB,GACzB,IAAI,CAwCN;AAmBD,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,QAAQ,EACf,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,eAAe,EACvB,GAAG,EAAE,WAAW,EAChB,QAAQ,EAAE,cAAc,EACxB,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM;AACpB;sDACsD;AACtD,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,GAClC,MAAM,CA8BR;AAED,gDAAgD;AAChD,eAAO,MAAM,kBAAkB,yBAAmB,CAAC;AAEnD,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,QAAQ,EACf,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,SAAS,EACd,MAAM,EAAE,eAAe,GACtB,IAAI,CAeN"}
@@ -351,10 +351,11 @@ onNewPage) {
351
351
  // the free height by floating-point noise.
352
352
  if (groupHeight <= available + FIT_EPS)
353
353
  break;
354
- // With `layout.fitFiguresToPage` (screen pages, figures shrunk to fit
355
- // one) an empty column cut short — under an opener band, a float — is
356
- // no place to overflow from when a whole column would hold the group.
357
- const fitsFreshColumn = resolved.layout.fitFiguresToPage && groupHeight <= contentArea.height + FIT_EPS;
354
+ // An empty column cut short — under an opener band, a float — is no
355
+ // place to overflow from when a whole column would hold the group: it
356
+ // moves on, as a box does (#288: an upright figure on a vertical page,
357
+ // as long as the flow is tall, ran off the sheet beside an opener).
358
+ const fitsFreshColumn = groupHeight <= contentArea.height + FIT_EPS;
358
359
  if (col.blocks.length === 0 && col.availableHeight >= 0.5 && !fitsFreshColumn)
359
360
  break;
360
361
  if (guard++ >= 8)
@@ -1 +1 @@
1
- {"version":3,"file":"placement.js","sourceRoot":"","sources":["../../src/pipeline/placement.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"placement.js","sourceRoot":"","sources":["../../src/pipeline/placement.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -2620,6 +2620,133 @@ export interface ResolvedHtmlViewerConfig {
2620
2620
  /** Carried through unchanged; absent when the config sets none. */
2621
2621
  overrides?: HtmlViewerOverrides;
2622
2622
  }
2623
+ /** A paper stock as the trade sells it (see {@link FolioPaperConfig.type}). */
2624
+ export type FolioPaperType = 'uncoated' | 'bookWove' | 'coatedMatte' | 'coatedSilk' | 'coatedGloss' | 'bible' | 'newsprint' | 'cardStock' | 'board';
2625
+ /** How a paper's surface is finished: uncoated (fibre, no sheen), or
2626
+ * coated and calendered to a matte, silk (satin) or gloss surface. */
2627
+ export type FolioPaperFinish = 'auto' | 'uncoated' | 'matte' | 'silk' | 'gloss';
2628
+ /** The relief of a paper's surface: smooth (calendered), vellum (a fine
2629
+ * tooth), wove (the even felt-side texture of book papers), laid (the
2630
+ * laid and chain lines of a dandy roll), linen (an embossed cross-weave),
2631
+ * felt (irregular felt marks). */
2632
+ export type FolioPaperTexture = 'auto' | 'smooth' | 'vellum' | 'wove' | 'laid' | 'linen' | 'felt';
2633
+ /** How the book is bound: a hardcover (case bound, boards larger than the
2634
+ * pages), a paperback (perfect bound: glued, opens less flat), a sewn
2635
+ * softcover, a lay-flat binding that opens without a gutter dip, or a
2636
+ * saddle stitch (folded sheets stapled through the fold, as a magazine or
2637
+ * a booklet: no flat spine). */
2638
+ export type FolioBindingType = 'hardcover' | 'paperback' | 'sewn' | 'layflat' | 'saddleStitch';
2639
+ /** What the cover is made of. `auto`: cloth on a hardcover, card on a
2640
+ * softcover. */
2641
+ export type FolioCoverMaterial = 'auto' | 'cloth' | 'paper' | 'leather';
2642
+ /** What the book lies on. `none` leaves the host's background. */
2643
+ export type FolioSurfaceType = 'oak' | 'walnut' | 'linen' | 'felt' | 'leather' | 'marble' | 'plain' | 'none';
2644
+ /** The light the book is seen in: an environment (reflected by glossy
2645
+ * paper) paired with a key light that casts the shadows. */
2646
+ export type FolioEnvironment = 'studio' | 'daylight' | 'lamp' | 'overcast' | 'night';
2647
+ export interface FolioPaperConfig {
2648
+ /** The stock: its defaults for grammage, bulk, finish, texture and
2649
+ * shade. Default `'uncoated'` (woodfree offset). `cardStock` is cover
2650
+ * card; `board` is rigid board (a board book, a hardcover's leaves) that
2651
+ * turns without bending. */
2652
+ type?: FolioPaperType;
2653
+ /** Weight in g/m². Heavier paper is thicker, stiffer (it curls in a
2654
+ * wider roll) and more opaque. Default: the stock's. */
2655
+ grammage?: number;
2656
+ /** Bulk in cm³/g: thickness per weight (caliper µm = grammage × bulk).
2657
+ * Default: the stock's. */
2658
+ bulk?: number;
2659
+ /** Default `'auto'`: the stock's finish. */
2660
+ finish?: FolioPaperFinish;
2661
+ /** Default `'auto'`: the stock's texture. */
2662
+ texture?: FolioPaperTexture;
2663
+ /** How strongly the texture shows, 0 … 2. Default 1. */
2664
+ textureStrength?: number;
2665
+ /** The colour of the stock (white, natural, cream…); the pages are
2666
+ * printed on it. Default: the stock's. */
2667
+ shade?: ColorValue;
2668
+ /** The reverse page shows faintly through thin paper. Default true. */
2669
+ showThrough?: boolean;
2670
+ }
2671
+ /** Where the book's covers come from: `'case'` draws a case round the
2672
+ * pages; `'pages'` takes the document's first page as the front board and
2673
+ * its last page, when it is a verso, as the back board. The book then
2674
+ * lies closed until the cover is turned and closes again on the last
2675
+ * leaf. The boards are rigid, except on a saddle stitch, where the cover
2676
+ * is a sheet a little heavier than the pages and turns as they do. */
2677
+ export type FolioCoverSource = 'case' | 'pages';
2678
+ export interface FolioBindingConfig {
2679
+ /** Default `'hardcover'`. */
2680
+ type?: FolioBindingType;
2681
+ /** Default `'case'`. */
2682
+ cover?: FolioCoverSource;
2683
+ /** Default `'auto'`. */
2684
+ coverMaterial?: FolioCoverMaterial;
2685
+ /** Default a dark blue cloth. */
2686
+ coverColor?: ColorValue;
2687
+ /** `Resource.id` of a bitmap or SVG printed on the spine: the spine as
2688
+ * seen with the book standing, head up and the front cover to the right
2689
+ * (the picture's height runs from head to tail, its width across the
2690
+ * block). It is fitted to cover the spine, centred. A saddle-stitched
2691
+ * book has no spine and ignores it. Default none. */
2692
+ spineImage?: string;
2693
+ }
2694
+ export interface FolioSurfaceConfig {
2695
+ /** Default `'oak'`. */
2696
+ type?: FolioSurfaceType;
2697
+ /** Tints the surface (`plain`: its colour). Default: the surface's own. */
2698
+ color?: ColorValue;
2699
+ }
2700
+ export interface FolioLightingConfig {
2701
+ /** Default `'studio'`. */
2702
+ environment?: FolioEnvironment;
2703
+ /** Exposure, 0.25 … 2. Default 1. */
2704
+ intensity?: number;
2705
+ /** Shadows cast by the key light. Default true. */
2706
+ shadows?: boolean;
2707
+ }
2708
+ /** How the Folio viewer (`postext-folio`) presents the printed book in 3D:
2709
+ * the view, the paper, the binding, the surface it lies on and the light.
2710
+ * Canvas, PDF and HTML ignore it. */
2711
+ export interface FolioConfig {
2712
+ /** How far the view is tilted from straight above, in degrees (0 … 40):
2713
+ * the foot of the pages comes closer. Default 22. */
2714
+ tilt?: number;
2715
+ paper?: FolioPaperConfig;
2716
+ binding?: FolioBindingConfig;
2717
+ surface?: FolioSurfaceConfig;
2718
+ lighting?: FolioLightingConfig;
2719
+ }
2720
+ export interface ResolvedFolioConfig {
2721
+ tilt: number;
2722
+ paper: {
2723
+ type: FolioPaperType;
2724
+ grammage: number;
2725
+ bulk: number;
2726
+ finish: Exclude<FolioPaperFinish, 'auto'>;
2727
+ texture: Exclude<FolioPaperTexture, 'auto'>;
2728
+ textureStrength: number;
2729
+ shade: ColorValue;
2730
+ showThrough: boolean;
2731
+ };
2732
+ binding: {
2733
+ type: FolioBindingType;
2734
+ cover: FolioCoverSource;
2735
+ coverMaterial: Exclude<FolioCoverMaterial, 'auto'>;
2736
+ coverColor: ColorValue;
2737
+ /** Absent without one, and on a saddle stitch. */
2738
+ spineImage?: string;
2739
+ };
2740
+ surface: {
2741
+ type: FolioSurfaceType;
2742
+ color?: ColorValue;
2743
+ };
2744
+ lighting: {
2745
+ environment: FolioEnvironment;
2746
+ intensity: number;
2747
+ shadows: boolean;
2748
+ };
2749
+ }
2623
2750
  export interface MathConfig {
2624
2751
  /** Enable LaTeX rendering. When false, `$...$` / `$$...$$` spans are
2625
2752
  * still parsed (so warnings track unclosed delimiters) but rendered as
@@ -4022,6 +4149,8 @@ export interface PostextConfig {
4022
4149
  locale?: LocaleTag;
4023
4150
  debug?: DebugConfig;
4024
4151
  htmlViewer?: HtmlViewerConfig;
4152
+ /** The 3D book viewer (`postext-folio`): paper, binding, surface, light. */
4153
+ folio?: FolioConfig;
4025
4154
  pdfGeneration?: PdfGenerationConfig;
4026
4155
  colorPalette?: ColorPaletteEntry[];
4027
4156
  /** User-provided font families. Referenced the same way as Google Fonts: