@bendyline/squisq 1.1.0 → 1.1.1

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 (211) hide show
  1. package/dist/ContentContainer-DNx460y8.d.ts +88 -0
  2. package/dist/{Doc-1hmT1LZl.d.ts → Doc-Cvt2lyzn.d.ts} +56 -4
  3. package/dist/__tests__/markdownToDoc.test.js +75 -0
  4. package/dist/__tests__/markdownToDoc.test.js.map +1 -1
  5. package/dist/{chunk-PJ7AODIM.js → chunk-3WBJAZZ5.js} +394 -52
  6. package/dist/chunk-3WBJAZZ5.js.map +1 -0
  7. package/dist/{chunk-6YJPI6VI.js → chunk-4X3JQXNM.js} +1 -1
  8. package/dist/{chunk-S4F2RY37.js → chunk-CORGFIFU.js} +1 -1
  9. package/dist/chunk-CORGFIFU.js.map +1 -0
  10. package/dist/chunk-DNJKBAI7.js +1 -0
  11. package/dist/chunk-DNJKBAI7.js.map +1 -0
  12. package/dist/{chunk-VP5SZTZ2.js → chunk-MIBRIRGJ.js} +2 -139
  13. package/dist/chunk-MIBRIRGJ.js.map +1 -0
  14. package/dist/{chunk-URU6QMLY.js → chunk-NJLL5XYC.js} +15 -8
  15. package/dist/chunk-NJLL5XYC.js.map +1 -0
  16. package/dist/chunk-OFU53HI7.js +165 -0
  17. package/dist/chunk-OFU53HI7.js.map +1 -0
  18. package/dist/chunk-TSG2OSE6.js +145 -0
  19. package/dist/chunk-TSG2OSE6.js.map +1 -0
  20. package/dist/{chunk-O5HCIUAD.js → chunk-TVPKD76V.js} +81 -187
  21. package/dist/chunk-TVPKD76V.js.map +1 -0
  22. package/dist/contentExtractor-BNfVJV2U.d.ts +113 -0
  23. package/dist/doc/audioMapping.d.ts +36 -0
  24. package/dist/doc/audioMapping.d.ts.map +1 -0
  25. package/dist/doc/audioMapping.js +279 -0
  26. package/dist/doc/audioMapping.js.map +1 -0
  27. package/dist/doc/index.d.ts +1 -0
  28. package/dist/doc/index.d.ts.map +1 -1
  29. package/dist/doc/index.js +1 -0
  30. package/dist/doc/index.js.map +1 -1
  31. package/dist/doc/markdownToDoc.d.ts.map +1 -1
  32. package/dist/doc/markdownToDoc.js +126 -1
  33. package/dist/doc/markdownToDoc.js.map +1 -1
  34. package/dist/doc/templates/comparisonBar.d.ts.map +1 -1
  35. package/dist/doc/templates/comparisonBar.js +23 -5
  36. package/dist/doc/templates/comparisonBar.js.map +1 -1
  37. package/dist/doc/templates/coverBlock.d.ts.map +1 -1
  38. package/dist/doc/templates/coverBlock.js +3 -0
  39. package/dist/doc/templates/coverBlock.js.map +1 -1
  40. package/dist/doc/templates/dateEvent.d.ts.map +1 -1
  41. package/dist/doc/templates/dateEvent.js +4 -0
  42. package/dist/doc/templates/dateEvent.js.map +1 -1
  43. package/dist/doc/templates/definitionCard.d.ts.map +1 -1
  44. package/dist/doc/templates/definitionCard.js +4 -1
  45. package/dist/doc/templates/definitionCard.js.map +1 -1
  46. package/dist/doc/templates/factCard.d.ts.map +1 -1
  47. package/dist/doc/templates/factCard.js +4 -0
  48. package/dist/doc/templates/factCard.js.map +1 -1
  49. package/dist/doc/templates/fullBleedQuote.d.ts.map +1 -1
  50. package/dist/doc/templates/fullBleedQuote.js +2 -1
  51. package/dist/doc/templates/fullBleedQuote.js.map +1 -1
  52. package/dist/doc/templates/imageWithCaption.d.ts.map +1 -1
  53. package/dist/doc/templates/imageWithCaption.js +4 -0
  54. package/dist/doc/templates/imageWithCaption.js.map +1 -1
  55. package/dist/doc/templates/listBlock.d.ts.map +1 -1
  56. package/dist/doc/templates/listBlock.js +3 -0
  57. package/dist/doc/templates/listBlock.js.map +1 -1
  58. package/dist/doc/templates/mapBlock.d.ts.map +1 -1
  59. package/dist/doc/templates/mapBlock.js +3 -0
  60. package/dist/doc/templates/mapBlock.js.map +1 -1
  61. package/dist/doc/templates/photoGrid.d.ts.map +1 -1
  62. package/dist/doc/templates/photoGrid.js +3 -0
  63. package/dist/doc/templates/photoGrid.js.map +1 -1
  64. package/dist/doc/templates/pullQuote.d.ts.map +1 -1
  65. package/dist/doc/templates/pullQuote.js +4 -0
  66. package/dist/doc/templates/pullQuote.js.map +1 -1
  67. package/dist/doc/templates/quoteBlock.d.ts.map +1 -1
  68. package/dist/doc/templates/quoteBlock.js +4 -0
  69. package/dist/doc/templates/quoteBlock.js.map +1 -1
  70. package/dist/doc/templates/sectionHeader.d.ts.map +1 -1
  71. package/dist/doc/templates/sectionHeader.js +3 -2
  72. package/dist/doc/templates/sectionHeader.js.map +1 -1
  73. package/dist/doc/templates/statHighlight.d.ts.map +1 -1
  74. package/dist/doc/templates/statHighlight.js +4 -1
  75. package/dist/doc/templates/statHighlight.js.map +1 -1
  76. package/dist/doc/templates/titleBlock.d.ts.map +1 -1
  77. package/dist/doc/templates/titleBlock.js +3 -0
  78. package/dist/doc/templates/titleBlock.js.map +1 -1
  79. package/dist/doc/templates/twoColumn.d.ts.map +1 -1
  80. package/dist/doc/templates/twoColumn.js +7 -1
  81. package/dist/doc/templates/twoColumn.js.map +1 -1
  82. package/dist/doc/templates/videoPullQuote.d.ts.map +1 -1
  83. package/dist/doc/templates/videoPullQuote.js +4 -0
  84. package/dist/doc/templates/videoPullQuote.js.map +1 -1
  85. package/dist/doc/templates/videoWithCaption.d.ts.map +1 -1
  86. package/dist/doc/templates/videoWithCaption.js +3 -0
  87. package/dist/doc/templates/videoWithCaption.js.map +1 -1
  88. package/dist/doc/utils/themeUtils.d.ts +9 -0
  89. package/dist/doc/utils/themeUtils.d.ts.map +1 -1
  90. package/dist/doc/utils/themeUtils.js +26 -0
  91. package/dist/doc/utils/themeUtils.js.map +1 -1
  92. package/dist/markdown/convert.d.ts.map +1 -1
  93. package/dist/markdown/convert.js +16 -7
  94. package/dist/markdown/convert.js.map +1 -1
  95. package/dist/markdown/types.d.ts +4 -2
  96. package/dist/markdown/types.d.ts.map +1 -1
  97. package/dist/schemas/BlockTemplates.d.ts +2 -2
  98. package/dist/schemas/BlockTemplates.d.ts.map +1 -1
  99. package/dist/schemas/BlockTemplates.js +2 -2
  100. package/dist/schemas/BlockTemplates.js.map +1 -1
  101. package/dist/schemas/Doc.d.ts +52 -0
  102. package/dist/schemas/Doc.d.ts.map +1 -1
  103. package/dist/schemas/Doc.js.map +1 -1
  104. package/dist/schemas/themeLibrary.d.ts +2 -2
  105. package/dist/schemas/themeLibrary.d.ts.map +1 -1
  106. package/dist/schemas/themeLibrary.js +91 -26
  107. package/dist/schemas/themeLibrary.js.map +1 -1
  108. package/dist/story/index.d.ts +50 -5
  109. package/dist/story/index.js +15 -5
  110. package/dist/{themeLibrary-DR1VRo-8.d.ts → themeLibrary-VOHfPzRB.d.ts} +3 -3
  111. package/dist/transform/applyTransform.d.ts +22 -0
  112. package/dist/transform/applyTransform.d.ts.map +1 -0
  113. package/dist/transform/applyTransform.js +68 -0
  114. package/dist/transform/applyTransform.js.map +1 -0
  115. package/dist/transform/blockAnalyzer.d.ts +48 -0
  116. package/dist/transform/blockAnalyzer.d.ts.map +1 -0
  117. package/dist/transform/blockAnalyzer.js +135 -0
  118. package/dist/transform/blockAnalyzer.js.map +1 -0
  119. package/dist/transform/index.d.ts +6 -0
  120. package/dist/transform/index.d.ts.map +1 -0
  121. package/dist/transform/index.js +4 -0
  122. package/dist/transform/index.js.map +1 -0
  123. package/dist/transform/registry.d.ts +19 -0
  124. package/dist/transform/registry.d.ts.map +1 -0
  125. package/dist/transform/registry.js +41 -0
  126. package/dist/transform/registry.js.map +1 -0
  127. package/dist/transform/styles/dataDriven.d.ts +4 -0
  128. package/dist/transform/styles/dataDriven.d.ts.map +1 -0
  129. package/dist/transform/styles/dataDriven.js +15 -0
  130. package/dist/transform/styles/dataDriven.js.map +1 -0
  131. package/dist/transform/styles/documentary.d.ts +4 -0
  132. package/dist/transform/styles/documentary.d.ts.map +1 -0
  133. package/dist/transform/styles/documentary.js +15 -0
  134. package/dist/transform/styles/documentary.js.map +1 -0
  135. package/dist/transform/styles/index.d.ts +6 -0
  136. package/dist/transform/styles/index.d.ts.map +1 -0
  137. package/dist/transform/styles/index.js +6 -0
  138. package/dist/transform/styles/index.js.map +1 -0
  139. package/dist/transform/styles/magazine.d.ts +4 -0
  140. package/dist/transform/styles/magazine.d.ts.map +1 -0
  141. package/dist/transform/styles/magazine.js +15 -0
  142. package/dist/transform/styles/magazine.js.map +1 -0
  143. package/dist/transform/styles/minimal.d.ts +4 -0
  144. package/dist/transform/styles/minimal.d.ts.map +1 -0
  145. package/dist/transform/styles/minimal.js +15 -0
  146. package/dist/transform/styles/minimal.js.map +1 -0
  147. package/dist/transform/styles/narrative.d.ts +4 -0
  148. package/dist/transform/styles/narrative.d.ts.map +1 -0
  149. package/dist/transform/styles/narrative.js +15 -0
  150. package/dist/transform/styles/narrative.js.map +1 -0
  151. package/dist/transform/templateSelector.d.ts +30 -0
  152. package/dist/transform/templateSelector.d.ts.map +1 -0
  153. package/dist/transform/templateSelector.js +218 -0
  154. package/dist/transform/templateSelector.js.map +1 -0
  155. package/dist/transform/timingAllocator.d.ts +21 -0
  156. package/dist/transform/timingAllocator.d.ts.map +1 -0
  157. package/dist/transform/timingAllocator.js +111 -0
  158. package/dist/transform/timingAllocator.js.map +1 -0
  159. package/dist/transform/types.d.ts +86 -0
  160. package/dist/transform/types.d.ts.map +1 -0
  161. package/dist/transform/types.js +9 -0
  162. package/dist/transform/types.js.map +1 -0
  163. package/dist/{types-DHiv_Pnm.d.ts → types-DYAzisMG.d.ts} +4 -2
  164. package/package.json +6 -1
  165. package/src/__tests__/markdownToDoc.test.ts +96 -0
  166. package/src/doc/audioMapping.ts +346 -0
  167. package/src/doc/index.ts +1 -0
  168. package/src/doc/markdownToDoc.ts +136 -2
  169. package/src/doc/templates/comparisonBar.ts +23 -5
  170. package/src/doc/templates/coverBlock.ts +3 -0
  171. package/src/doc/templates/dateEvent.ts +4 -0
  172. package/src/doc/templates/definitionCard.ts +4 -1
  173. package/src/doc/templates/factCard.ts +4 -0
  174. package/src/doc/templates/fullBleedQuote.ts +2 -1
  175. package/src/doc/templates/imageWithCaption.ts +4 -0
  176. package/src/doc/templates/listBlock.ts +3 -0
  177. package/src/doc/templates/mapBlock.ts +3 -0
  178. package/src/doc/templates/photoGrid.ts +3 -0
  179. package/src/doc/templates/pullQuote.ts +4 -0
  180. package/src/doc/templates/quoteBlock.ts +4 -0
  181. package/src/doc/templates/sectionHeader.ts +3 -2
  182. package/src/doc/templates/statHighlight.ts +4 -1
  183. package/src/doc/templates/titleBlock.ts +3 -0
  184. package/src/doc/templates/twoColumn.ts +7 -1
  185. package/src/doc/templates/videoPullQuote.ts +4 -0
  186. package/src/doc/templates/videoWithCaption.ts +3 -0
  187. package/src/doc/utils/themeUtils.ts +29 -0
  188. package/src/markdown/convert.ts +17 -7
  189. package/src/markdown/types.ts +4 -2
  190. package/src/schemas/BlockTemplates.ts +2 -2
  191. package/src/schemas/Doc.ts +60 -0
  192. package/src/schemas/themeLibrary.ts +95 -26
  193. package/src/transform/applyTransform.ts +83 -0
  194. package/src/transform/blockAnalyzer.ts +181 -0
  195. package/src/transform/index.ts +20 -0
  196. package/src/transform/registry.ts +47 -0
  197. package/src/transform/styles/dataDriven.ts +16 -0
  198. package/src/transform/styles/documentary.ts +16 -0
  199. package/src/transform/styles/index.ts +5 -0
  200. package/src/transform/styles/magazine.ts +16 -0
  201. package/src/transform/styles/minimal.ts +16 -0
  202. package/src/transform/styles/narrative.ts +16 -0
  203. package/src/transform/templateSelector.ts +294 -0
  204. package/src/transform/timingAllocator.ts +126 -0
  205. package/src/transform/types.ts +105 -0
  206. package/dist/chunk-O5HCIUAD.js.map +0 -1
  207. package/dist/chunk-PJ7AODIM.js.map +0 -1
  208. package/dist/chunk-S4F2RY37.js.map +0 -1
  209. package/dist/chunk-URU6QMLY.js.map +0 -1
  210. package/dist/chunk-VP5SZTZ2.js.map +0 -1
  211. /package/dist/{chunk-6YJPI6VI.js.map → chunk-4X3JQXNM.js.map} +0 -0
@@ -0,0 +1,88 @@
1
+ /**
2
+ * ContentContainer — virtual file system for document containers.
3
+ *
4
+ * A Squisq document is more than just markdown: it's a container of files
5
+ * including the primary markdown document, images, audio, timing data, and
6
+ * other media. ContentContainer provides an abstract async file system
7
+ * interface for reading, writing, and listing these files.
8
+ *
9
+ * Paths are forward-slash separated strings relative to the container root
10
+ * (e.g., 'images/hero.jpg', 'index.md'). No leading slash.
11
+ *
12
+ * Implementations:
13
+ * - MemoryContentContainer — in-memory Map (for zip import, tests, transient use)
14
+ * - SlotContentContainer — backed by IndexedDB slot storage (in the site package)
15
+ */
16
+ /**
17
+ * Metadata about a file in a ContentContainer.
18
+ */
19
+ interface ContentEntry {
20
+ /** Relative path within the container (e.g., 'images/hero.jpg') */
21
+ path: string;
22
+ /** MIME type (e.g., 'image/jpeg') */
23
+ mimeType: string;
24
+ /** File size in bytes */
25
+ size: number;
26
+ }
27
+ /**
28
+ * Abstract async file system for document containers.
29
+ *
30
+ * All paths are forward-slash separated, relative to the container root,
31
+ * with no leading slash. Example: 'images/hero.jpg', 'index.md'.
32
+ */
33
+ interface ContentContainer {
34
+ /** Read a file's binary content. Returns null if the file does not exist. */
35
+ readFile(path: string): Promise<ArrayBuffer | null>;
36
+ /** Write a file. Creates or overwrites. */
37
+ writeFile(path: string, data: ArrayBuffer | Uint8Array, mimeType?: string): Promise<void>;
38
+ /** Remove a file. No-op if the file does not exist. */
39
+ removeFile(path: string): Promise<void>;
40
+ /**
41
+ * List files in the container.
42
+ * @param prefix — Optional path prefix to filter by (e.g., 'images/')
43
+ */
44
+ listFiles(prefix?: string): Promise<ContentEntry[]>;
45
+ /** Check whether a file exists. */
46
+ exists(path: string): Promise<boolean>;
47
+ /**
48
+ * Find the primary markdown document path.
49
+ *
50
+ * Discovery order: index.md → doc.md → document.md → first *.md at root.
51
+ * Returns null if no markdown file is found at the root level.
52
+ */
53
+ getDocumentPath(): Promise<string | null>;
54
+ /**
55
+ * Convenience: read the primary markdown document as a UTF-8 string.
56
+ * Returns null if no markdown file is found.
57
+ */
58
+ readDocument(): Promise<string | null>;
59
+ /**
60
+ * Convenience: write a markdown document.
61
+ * @param markdown — The markdown content
62
+ * @param filename — Filename to use (defaults to 'index.md')
63
+ */
64
+ writeDocument(markdown: string, filename?: string): Promise<void>;
65
+ }
66
+ /**
67
+ * Find the primary markdown path from a list of file entries.
68
+ * Exported for reuse by other ContentContainer implementations.
69
+ */
70
+ declare function findDocumentPath(entries: ContentEntry[]): string | null;
71
+ /**
72
+ * In-memory ContentContainer backed by a Map.
73
+ *
74
+ * Used for zip import (deserialize into memory), tests, and transient operations.
75
+ */
76
+ declare class MemoryContentContainer implements ContentContainer {
77
+ private files;
78
+ readFile(path: string): Promise<ArrayBuffer | null>;
79
+ writeFile(path: string, data: ArrayBuffer | Uint8Array, mimeType?: string): Promise<void>;
80
+ removeFile(path: string): Promise<void>;
81
+ listFiles(prefix?: string): Promise<ContentEntry[]>;
82
+ exists(path: string): Promise<boolean>;
83
+ getDocumentPath(): Promise<string | null>;
84
+ readDocument(): Promise<string | null>;
85
+ writeDocument(markdown: string, filename?: string): Promise<void>;
86
+ }
87
+
88
+ export { type ContentContainer as C, MemoryContentContainer as M, type ContentEntry as a, findDocumentPath as f };
@@ -1,4 +1,4 @@
1
- import { M as MarkdownBlockNode, p as MarkdownHeading } from './types-DHiv_Pnm.js';
1
+ import { M as MarkdownBlockNode, p as MarkdownHeading } from './types-DYAzisMG.js';
2
2
 
3
3
  /**
4
4
  * Viewport Configuration
@@ -352,11 +352,11 @@ type ColorScheme = string;
352
352
  * PT Serif provides a classic, readable appearance for documentary-style content.
353
353
  * Used as a fallback in TextLayer when no font is specified.
354
354
  */
355
- declare const DEFAULT_DOC_FONT = "\"PT Serif\", Georgia, \"Times New Roman\", serif";
355
+ declare const DEFAULT_DOC_FONT = "system-ui, -apple-system, \"Segoe UI\", Roboto, sans-serif";
356
356
  /**
357
357
  * Default font family for titles.
358
358
  */
359
- declare const DEFAULT_TITLE_FONT = "\"PT Serif\", Georgia, \"Times New Roman\", serif";
359
+ declare const DEFAULT_TITLE_FONT = "Georgia, \"Times New Roman\", serif";
360
360
  /**
361
361
  * Position options for accent images on text-based blocks.
362
362
  * Accents are tasteful image additions that complement rather than overwhelm text.
@@ -1004,6 +1004,12 @@ interface Block {
1004
1004
  transition?: Transition;
1005
1005
  /** Template name that generated this block (for debugging) */
1006
1006
  template?: string;
1007
+ /**
1008
+ * Display title for template rendering.
1009
+ * Extracted from the sourceHeading when the block is created by markdownToDoc().
1010
+ * Templates like sectionHeader and titleBlock read this for their title layer.
1011
+ */
1012
+ title?: string;
1007
1013
  /**
1008
1014
  * Nested sub-blocks (heading hierarchy).
1009
1015
  * When a doc is derived from markdown, sub-headings within this
@@ -1250,6 +1256,18 @@ interface AudioTrack {
1250
1256
  /** Audio segments in playback order */
1251
1257
  segments: AudioSegment[];
1252
1258
  }
1259
+ /**
1260
+ * A single word with precise timing, used for word-level highlighting
1261
+ * in social-style captions. Populated from TTS timing data when available.
1262
+ */
1263
+ interface CaptionWord {
1264
+ /** The word text */
1265
+ text: string;
1266
+ /** Start time in seconds (relative to doc start) */
1267
+ startTime: number;
1268
+ /** End time in seconds */
1269
+ endTime: number;
1270
+ }
1253
1271
  /**
1254
1272
  * A single caption phrase to display during playback.
1255
1273
  */
@@ -1262,6 +1280,13 @@ interface CaptionPhrase {
1262
1280
  endTime: number;
1263
1281
  /** Which audio segment this caption belongs to (0-indexed) */
1264
1282
  audioSegment: number;
1283
+ /**
1284
+ * Optional per-word timing from TTS timing data.
1285
+ * When present, enables precise word-level highlighting in social
1286
+ * caption style. When absent, word timing is interpolated evenly
1287
+ * across the phrase duration.
1288
+ */
1289
+ words?: CaptionWord[];
1265
1290
  }
1266
1291
  /**
1267
1292
  * Caption track for a doc.
@@ -1287,6 +1312,33 @@ interface AudioSegment {
1287
1312
  /** Start time in overall timeline (calculated) */
1288
1313
  startTime: number;
1289
1314
  }
1315
+ /**
1316
+ * A single word-level timing bookmark from TTS synthesis.
1317
+ * Used for precise audio-to-content mapping and word-level caption sync.
1318
+ */
1319
+ interface AudioBookmark {
1320
+ /** Unique identifier (e.g., "word-0", "word-1") */
1321
+ id: string;
1322
+ /** Timestamp in seconds from audio start */
1323
+ time: number;
1324
+ /** Character offset in the source text */
1325
+ charOffset: number;
1326
+ /** The word text at this position */
1327
+ textFragment?: string;
1328
+ }
1329
+ /**
1330
+ * Timing data for an audio segment, typically from a `.timing.json` file
1331
+ * generated alongside TTS audio. Contains the source text and per-word
1332
+ * timing bookmarks for precise content matching and caption sync.
1333
+ */
1334
+ interface AudioTimingData {
1335
+ /** The normalized plain text that was synthesized */
1336
+ sourceText: string;
1337
+ /** Word-level timing bookmarks */
1338
+ bookmarks: AudioBookmark[];
1339
+ /** Total audio duration in seconds */
1340
+ duration: number;
1341
+ }
1290
1342
  /**
1291
1343
  * Calculate total duration from audio segments.
1292
1344
  */
@@ -1308,4 +1360,4 @@ declare function getCaptionAtTime(captions: CaptionTrack | undefined, time: numb
1308
1360
  */
1309
1361
  declare function validateDoc(script: Doc): string[];
1310
1362
 
1311
- export { type TextLayer as $, type AccentImage as A, type Block as B, type CaptionPhrase as C, DEFAULT_DOC_FONT as D, type PersistentLayerTemplateConfig as E, type FactCardInput as F, type GradientBackgroundConfig as G, type PersistentLayerTemplateType as H, type ImageBackgroundConfig as I, type PhotoGridInput as J, type Position as K, type Layer as L, type MapBlockInput as M, type ProgressIndicatorConfig as N, type PullQuoteInput as O, type PatternBackgroundConfig as P, type QuoteBlockInput as Q, type RenderStyle as R, type SectionHeaderInput as S, type ShapeLayer as T, type SolidBackgroundConfig as U, type StartBlockConfig as V, type StatHighlightInput as W, type TemplateBlock as X, type TemplateContext as Y, type TemplateFunction as Z, type TemplateRegistry as _, type AccentPosition as a, type TextStyle as a0, type Theme as a1, type ThemeColorPalette as a2, type ThemeColorScheme as a3, type ThemeStyle as a4, type ThemeTypography as a5, type TitleBlockInput as a6, type TitleCaptionConfig as a7, type Transition as a8, type TransitionType as a9, type TwoColumnInput as aa, VIEWPORT_PRESETS as ab, type VideoLayer as ac, type VideoPullQuoteInput as ad, type VideoWithCaptionInput as ae, type ViewportConfig as af, type ViewportOrientation as ag, type ViewportPreset as ah, calculateDuration as ai, calculateFontScale as aj, createTemplateContext as ak, createTheme as al, getAspectRatioString as am, getBlockAtTime as an, getCaptionAtTime as ao, getLayoutHints as ap, getSafeTextBounds as aq, getSegmentAtTime as ar, getTwoColumnPositions as as, getViewport as at, getViewportOrientation as au, isPersistentLayerTemplate as av, isTemplateBlock as aw, scaledFontSize$1 as ax, scaledFontSize as ay, validateDoc as az, type Animation as b, type AnimationType as c, type AudioSegment as d, type AudioTrack as e, type CaptionTrack as f, type ColorScheme as g, type ComparisonBarInput as h, type CornerBrandingConfig as i, DEFAULT_TITLE_FONT as j, type DateEventInput as k, type DeepPartial as l, type DefinitionCardInput as m, type Doc as n, type DocBlock as o, type FullBleedQuoteInput as p, type ImageLayer as q, type ImageWithCaptionInput as r, type LayoutHints as s, type ListBlockInput as t, type MapLayer as u, type MapMarker as v, type MapTileStyle as w, type PersistentLayer as x, type PersistentLayerConfig as y, type PersistentLayerTemplate as z };
1363
+ export { type TemplateContext as $, type AccentImage as A, type Block as B, type CaptionPhrase as C, DEFAULT_DOC_FONT as D, type PersistentLayer as E, type FactCardInput as F, type GradientBackgroundConfig as G, type PersistentLayerConfig as H, type ImageBackgroundConfig as I, type PersistentLayerTemplate as J, type PersistentLayerTemplateConfig as K, type Layer as L, type MapBlockInput as M, type PersistentLayerTemplateType as N, type PhotoGridInput as O, type PatternBackgroundConfig as P, type Position as Q, type ProgressIndicatorConfig as R, type PullQuoteInput as S, type QuoteBlockInput as T, type RenderStyle as U, type SectionHeaderInput as V, type ShapeLayer as W, type SolidBackgroundConfig as X, type StartBlockConfig as Y, type StatHighlightInput as Z, type TemplateBlock as _, type AccentPosition as a, type TemplateFunction as a0, type TemplateRegistry as a1, type TextLayer as a2, type TextStyle as a3, type Theme as a4, type ThemeColorPalette as a5, type ThemeColorScheme as a6, type ThemeStyle as a7, type ThemeTypography as a8, type TitleBlockInput as a9, scaledFontSize$1 as aA, scaledFontSize as aB, validateDoc as aC, type TitleCaptionConfig as aa, type Transition as ab, type TransitionType as ac, type TwoColumnInput as ad, VIEWPORT_PRESETS as ae, type VideoLayer as af, type VideoPullQuoteInput as ag, type VideoWithCaptionInput as ah, type ViewportConfig as ai, type ViewportOrientation as aj, type ViewportPreset as ak, calculateDuration as al, calculateFontScale as am, createTemplateContext as an, createTheme as ao, getAspectRatioString as ap, getBlockAtTime as aq, getCaptionAtTime as ar, getLayoutHints as as, getSafeTextBounds as at, getSegmentAtTime as au, getTwoColumnPositions as av, getViewport as aw, getViewportOrientation as ax, isPersistentLayerTemplate as ay, isTemplateBlock as az, type Animation as b, type AnimationType as c, type AudioBookmark as d, type AudioSegment as e, type AudioTimingData as f, type AudioTrack as g, type CaptionTrack as h, type CaptionWord as i, type ColorScheme as j, type ComparisonBarInput as k, type CornerBrandingConfig as l, DEFAULT_TITLE_FONT as m, type DateEventInput as n, type DeepPartial as o, type DefinitionCardInput as p, type Doc as q, type DocBlock as r, type FullBleedQuoteInput as s, type ImageLayer as t, type ImageWithCaptionInput as u, type LayoutHints as v, type ListBlockInput as w, type MapLayer as x, type MapMarker as y, type MapTileStyle as z };
@@ -310,4 +310,79 @@ describe('template annotation in markdownToDoc', () => {
310
310
  expect(doc.blocks[0].children[0].template).toBe('chart');
311
311
  });
312
312
  });
313
+ // ============================================
314
+ // Reading-time durations & caption generation
315
+ // ============================================
316
+ describe('reading-time durations', () => {
317
+ it('sets block duration based on body content reading time', () => {
318
+ // ~50 words at 200 WPM = 15 seconds
319
+ const body = Array.from({ length: 50 }, (_, i) => `word${i}`).join(' ');
320
+ const md = parseMarkdown(`# Title\n\n${body}`);
321
+ const doc = markdownToDoc(md);
322
+ const block = doc.blocks[0];
323
+ expect(block.duration).toBeGreaterThan(5); // more than default
324
+ expect(block.duration).toBe(15); // 50 words / 200 WPM * 60 = 15s
325
+ });
326
+ it('applies minimum 3s duration for very short content', () => {
327
+ const md = parseMarkdown('# Title\n\nHi.');
328
+ const doc = markdownToDoc(md);
329
+ expect(doc.blocks[0].duration).toBe(3);
330
+ });
331
+ it('uses defaultDuration for blocks with no body content', () => {
332
+ const md = parseMarkdown('# Title');
333
+ const doc = markdownToDoc(md);
334
+ expect(doc.blocks[0].duration).toBe(5); // default
335
+ });
336
+ it('doc.duration sums all reading-time block durations', () => {
337
+ // Block A: no body → 5s default. Block B: ~20 words → 6s
338
+ const body = Array.from({ length: 20 }, (_, i) => `word${i}`).join(' ');
339
+ const md = parseMarkdown(`# A\n\n# B\n\n${body}`);
340
+ const doc = markdownToDoc(md);
341
+ const flat = flattenBlocks(doc.blocks);
342
+ expect(flat[0].duration).toBe(5); // A: no body
343
+ expect(flat[1].duration).toBe(6); // B: 20 words / 200 WPM * 60 = 6s
344
+ expect(doc.duration).toBe(11);
345
+ });
346
+ });
347
+ describe('caption generation', () => {
348
+ it('generates captions from body content', () => {
349
+ const md = parseMarkdown('# Title\n\nThis is the first sentence. This is the second sentence.');
350
+ const doc = markdownToDoc(md);
351
+ expect(doc.captions).toBeDefined();
352
+ expect(doc.captions.phrases.length).toBeGreaterThanOrEqual(2);
353
+ expect(doc.captions.phrases[0].text).toContain('first sentence');
354
+ expect(doc.captions.phrases[1].text).toContain('second sentence');
355
+ });
356
+ it('caption times span the block duration', () => {
357
+ const md = parseMarkdown('# Section\n\nSome text here. More text follows.');
358
+ const doc = markdownToDoc(md);
359
+ expect(doc.captions).toBeDefined();
360
+ const phrases = doc.captions.phrases;
361
+ // First phrase starts at block start
362
+ expect(phrases[0].startTime).toBe(doc.blocks[0].startTime);
363
+ // Last phrase ends at block end
364
+ const last = phrases[phrases.length - 1];
365
+ expect(last.endTime).toBeCloseTo(doc.blocks[0].startTime + doc.blocks[0].duration, 1);
366
+ });
367
+ it('does not generate captions for blocks without body content', () => {
368
+ const md = parseMarkdown('# A\n\n# B\n\n# C');
369
+ const doc = markdownToDoc(md);
370
+ // No body content anywhere → no captions
371
+ expect(doc.captions).toBeUndefined();
372
+ });
373
+ it('generates captions version and timestamp', () => {
374
+ const md = parseMarkdown('# Title\n\nHello world and more text.');
375
+ const doc = markdownToDoc(md);
376
+ expect(doc.captions.version).toBe(1);
377
+ expect(doc.captions.generatedAt).toBeTruthy();
378
+ });
379
+ it('caption phrases have sequential non-overlapping times', () => {
380
+ const md = parseMarkdown('# A\n\nFirst sentence here. Second sentence here.\n\n# B\n\nThird sentence. Fourth sentence.');
381
+ const doc = markdownToDoc(md);
382
+ const phrases = doc.captions.phrases;
383
+ for (let i = 1; i < phrases.length; i++) {
384
+ expect(phrases[i].startTime).toBeGreaterThanOrEqual(phrases[i - 1].endTime - 0.001);
385
+ }
386
+ });
387
+ });
313
388
  //# sourceMappingURL=markdownToDoc.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"markdownToDoc.test.js","sourceRoot":"","sources":["../../src/__tests__/markdownToDoc.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"markdownToDoc.test.js","sourceRoot":"","sources":["../../src/__tests__/markdownToDoc.test.ts"],"names":[],"mappings":"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"}