@bendyline/squisq 2.3.1 → 2.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -18,7 +18,7 @@ npm install @bendyline/squisq
18
18
  | Module | Description |
19
19
  | ------------ | -------------------------------------------------------------------------------- |
20
20
  | **schemas** | Type definitions — `Doc`, `BlockTemplate`, `Viewport`, `Theme`, `LayoutStrategy` |
21
- | **doc** | Template registry, 25 block templates, animation/theme utilities |
21
+ | **doc** | Template registry, 26 block templates, animation/theme utilities |
22
22
  | **markdown** | Markdown parsing, stringifying, AST types (`MarkdownDocument`), tree utilities |
23
23
  | **spatial** | Haversine distance, Geohash encode/decode |
24
24
  | **storage** | `StorageAdapter` interface, Memory + LocalStorage + LocalForage adapters |
@@ -271,6 +271,7 @@ declare function getSafeTextBounds(orientation: ViewportOrientation): {
271
271
  * Template Types:
272
272
  * - title: Doc intro with title + subtitle
273
273
  * - sectionHeader: Colored section divider
274
+ * - content: Heading with the complete Markdown body
274
275
  * - statHighlight: Big number/stat with description
275
276
  * - quote: Large centered quote
276
277
  * - factCard: Key fact with explanation
@@ -394,6 +395,18 @@ interface SectionHeaderInput extends BaseTemplateBlock {
394
395
  /** Ambient motion for background image */
395
396
  ambientMotion?: 'zoomIn' | 'zoomOut' | 'panLeft' | 'panRight';
396
397
  }
398
+ /**
399
+ * Content block - loss-averse heading and body layout.
400
+ *
401
+ * This is the safe default for agent-authored presentation drafts: it renders
402
+ * the complete plain-text projection of the block body and lets preview
403
+ * diagnostics report overflow before a later visual-optimization pass.
404
+ */
405
+ interface ContentBlockInput extends BaseTemplateBlock {
406
+ template: 'content';
407
+ /** Heading shown above the body. */
408
+ title: string;
409
+ }
397
410
  /**
398
411
  * Stat highlight - big number with description and optional detail.
399
412
  */
@@ -929,7 +942,7 @@ interface DataTableInput extends BaseTemplateBlock {
929
942
  /**
930
943
  * Union of all template block types.
931
944
  */
932
- type TemplateBlock = TitleBlockInput | SectionHeaderInput | StatHighlightInput | QuoteBlockInput | FactCardInput | TwoColumnInput | DateEventInput | ImageWithCaptionInput | LeftFeatureInput | RightFeatureInput | MapBlockInput | FullBleedQuoteInput | ListBlockInput | PhotoGridInput | DefinitionCardInput | ComparisonBarInput | PullQuoteInput | VideoWithCaptionInput | VideoPullQuoteInput | DataTableInput | DiagramBlockInput | TreeBlockInput | TimelineBlockInput | DrawingBlockInput | RawLayersInput;
945
+ type TemplateBlock = TitleBlockInput | SectionHeaderInput | ContentBlockInput | StatHighlightInput | QuoteBlockInput | FactCardInput | TwoColumnInput | DateEventInput | ImageWithCaptionInput | LeftFeatureInput | RightFeatureInput | MapBlockInput | FullBleedQuoteInput | ListBlockInput | PhotoGridInput | DefinitionCardInput | ComparisonBarInput | PullQuoteInput | VideoWithCaptionInput | VideoPullQuoteInput | DataTableInput | DiagramBlockInput | TreeBlockInput | TimelineBlockInput | DrawingBlockInput | RawLayersInput;
933
946
  /**
934
947
  * A block can be either a raw Block or a TemplateBlock.
935
948
  */
@@ -2544,4 +2557,4 @@ declare function getBlockAtTime(blocks: Block[], time: number): Block | null;
2544
2557
  */
2545
2558
  declare function getCaptionAtTime(captions: CaptionTrack | undefined, time: number): CaptionPhrase | null;
2546
2559
 
2547
- export { type MapBlockInput as $, type AccentImage as A, type Block as B, type CaptionPhrase as C, DARK_SURFACE as D, type DiagramTemplateNode as E, type Doc as F, type DocBlock as G, type DocDiagnostic as H, type DrawingBlockInput as I, FRONTMATTER_CUSTOM_TEMPLATES_KEY as J, FRONTMATTER_CUSTOM_THEMES_KEY as K, type FactCardInput as L, type FontFamily as M, type FontFamilyKind as N, type FullBleedQuoteInput as O, type GradientBackgroundConfig as P, type ImageBackgroundConfig as Q, type ImageLayer as R, type ImageTreatment as S, type ImageWithCaptionInput as T, LIGHT_SURFACE as U, type Layer as V, type LayerRepeat as W, type LayoutHints as X, type LeftFeatureInput as Y, type LinearGradient as Z, type ListBlockInput as _, type AccentPosition as a, type TextLayer as a$, type MapLayer as a0, type MapMarker as a1, type MapTileStyle as a2, type MarkerStyle as a3, type MediaClip as a4, type MermaidLayer as a5, PAGE_ACCENT_STRATEGIES as a6, PAGE_BACKGROUNDS as a7, PAGE_BACKGROUND_RHYTHMS as a8, PAGE_DESIGN_FAMILIES as a9, type PersistentLayerTemplate as aA, type PersistentLayerTemplateConfig as aB, type PersistentLayerTemplateType as aC, type PhotoGridInput as aD, type Position as aE, type ProgressIndicatorConfig as aF, type PullQuoteInput as aG, type QuoteBlockInput as aH, type RawLayersInput as aI, type RenderStyle as aJ, type RightFeatureInput as aK, type ScheduledClip as aL, type SectionHeaderInput as aM, type ShapeFilter as aN, type ShapeLayer as aO, type ShapePattern as aP, type SolidBackgroundConfig as aQ, type StartBlockConfig as aR, type StatHighlightInput as aS, type SurfaceScheme as aT, THEME_SCHEMA_VERSION as aU, type TableLayer as aV, type TableLayerStyle as aW, type TemplateBlock as aX, type TemplateContext as aY, type TemplateFunction as aZ, type TemplateRegistry as a_, PAGE_DIVIDERS as aa, PAGE_EMPHASES as ab, PAGE_EYEBROWS as ac, PAGE_HEADING_CASES as ad, PAGE_HEADING_SCALES as ae, PAGE_HEADING_UNDERLINES as af, PAGE_HERO_STYLES as ag, PAGE_IMAGE_FRAMINGS as ah, PAGE_NUMERAL_STYLES as ai, PAGE_PATTERNS as aj, PAGE_QUOTE_MARKS as ak, PAGE_SECTION_KINDS as al, PAGE_SECTION_SPACINGS as am, PAGE_SHADOWS as an, type PageAccentRotation as ao, type PageBackground as ap, type PageDesignFamily as aq, type PageEmphasis as ar, type PageHeadingTreatment as as, type PageSectionKind as at, type PageSectionOverride as au, type PageTokens as av, type PathLayer as aw, type PatternBackgroundConfig as ax, type PersistentLayer as ay, type PersistentLayerConfig as az, type AmbientGradientConfig as b, type TextStyle as b0, type Theme as b1, type ThemeColorPalette as b2, type ThemeColorScheme as b3, type ThemePageStyle as b4, type ThemeRegistry as b5, type ThemeSchemaVersion as b6, type ThemeSeedColors as b7, type ThemeStyle as b8, type ThemeTypography as b9, getAspectRatioString as bA, getBlockAtTime as bB, getCaptionAtTime as bC, getDocPlaybackDuration as bD, getLayoutHints as bE, getSafeTextBounds as bF, getSegmentAtTime as bG, getTwoColumnPositions as bH, getViewport as bI, getViewportOrientation as bJ, isPersistentLayerTemplate as bK, isTemplateBlock as bL, scaledFontSize$1 as bM, resolveMediaSchedule as bN, scaledFontSize as bO, type TimelineBlockInput as ba, type TimelineTemplateEvent as bb, type TimelineTemplateLink as bc, type TimelineTemplateTrack as bd, type TitleBlockInput as be, type TitleCaptionConfig as bf, type TreeBlockInput as bg, type TreeLayer as bh, type TreeLayerItem as bi, type TreeLayerStyle as bj, type TreeTemplateItem as bk, type TwoColumnInput as bl, VIEWPORT_PRESETS as bm, type VideoLayer as bn, type VideoPullQuoteInput as bo, type VideoWithCaptionInput as bp, type ViewportConfig as bq, type ViewportOrientation as br, type ViewportPreset as bs, type VignetteConfig as bt, applySurface as bu, calculateDuration as bv, calculateFontScale as bw, createTemplateContext as bx, createTheme as by, createThemeRegistry as bz, type Animation as c, type AnimationType as d, type AudioBookmark as e, type AudioSegment as f, type AudioTimingData as g, type AudioTrack as h, type BlockConnection as i, type BorderStyle as j, type CaptionTrack as k, type CaptionWord as l, type ColorScheme as m, type ComparisonBarInput as n, type CornerBrandingConfig as o, type CustomTemplateDefinition as p, type CustomTemplateLayer as q, DEFAULT_DOC_FONT as r, DEFAULT_TITLE_FONT as s, type DataTableInput as t, type DateEventInput as u, type DeepPartial as v, type DefinitionCardInput as w, type DiagramBlockInput as x, type DiagramEdgeAnchor as y, type DiagramTemplateEdge as z };
2560
+ export { type ListBlockInput as $, type AccentImage as A, type Block as B, type CaptionPhrase as C, DARK_SURFACE as D, type DiagramTemplateEdge as E, type DiagramTemplateNode as F, type Doc as G, type DocBlock as H, type DocDiagnostic as I, type DrawingBlockInput as J, FRONTMATTER_CUSTOM_TEMPLATES_KEY as K, FRONTMATTER_CUSTOM_THEMES_KEY as L, type FactCardInput as M, type FontFamily as N, type FontFamilyKind as O, type FullBleedQuoteInput as P, type GradientBackgroundConfig as Q, type ImageBackgroundConfig as R, type ImageLayer as S, type ImageTreatment as T, type ImageWithCaptionInput as U, LIGHT_SURFACE as V, type Layer as W, type LayerRepeat as X, type LayoutHints as Y, type LeftFeatureInput as Z, type LinearGradient as _, type AccentPosition as a, type TemplateRegistry as a$, type MapBlockInput as a0, type MapLayer as a1, type MapMarker as a2, type MapTileStyle as a3, type MarkerStyle as a4, type MediaClip as a5, type MermaidLayer as a6, PAGE_ACCENT_STRATEGIES as a7, PAGE_BACKGROUNDS as a8, PAGE_BACKGROUND_RHYTHMS as a9, type PersistentLayerConfig as aA, type PersistentLayerTemplate as aB, type PersistentLayerTemplateConfig as aC, type PersistentLayerTemplateType as aD, type PhotoGridInput as aE, type Position as aF, type ProgressIndicatorConfig as aG, type PullQuoteInput as aH, type QuoteBlockInput as aI, type RawLayersInput as aJ, type RenderStyle as aK, type RightFeatureInput as aL, type ScheduledClip as aM, type SectionHeaderInput as aN, type ShapeFilter as aO, type ShapeLayer as aP, type ShapePattern as aQ, type SolidBackgroundConfig as aR, type StartBlockConfig as aS, type StatHighlightInput as aT, type SurfaceScheme as aU, THEME_SCHEMA_VERSION as aV, type TableLayer as aW, type TableLayerStyle as aX, type TemplateBlock as aY, type TemplateContext as aZ, type TemplateFunction as a_, PAGE_DESIGN_FAMILIES as aa, PAGE_DIVIDERS as ab, PAGE_EMPHASES as ac, PAGE_EYEBROWS as ad, PAGE_HEADING_CASES as ae, PAGE_HEADING_SCALES as af, PAGE_HEADING_UNDERLINES as ag, PAGE_HERO_STYLES as ah, PAGE_IMAGE_FRAMINGS as ai, PAGE_NUMERAL_STYLES as aj, PAGE_PATTERNS as ak, PAGE_QUOTE_MARKS as al, PAGE_SECTION_KINDS as am, PAGE_SECTION_SPACINGS as an, PAGE_SHADOWS as ao, type PageAccentRotation as ap, type PageBackground as aq, type PageDesignFamily as ar, type PageEmphasis as as, type PageHeadingTreatment as at, type PageSectionKind as au, type PageSectionOverride as av, type PageTokens as aw, type PathLayer as ax, type PatternBackgroundConfig as ay, type PersistentLayer as az, type AmbientGradientConfig as b, type TextLayer as b0, type TextStyle as b1, type Theme as b2, type ThemeColorPalette as b3, type ThemeColorScheme as b4, type ThemePageStyle as b5, type ThemeRegistry as b6, type ThemeSchemaVersion as b7, type ThemeSeedColors as b8, type ThemeStyle as b9, createThemeRegistry as bA, getAspectRatioString as bB, getBlockAtTime as bC, getCaptionAtTime as bD, getDocPlaybackDuration as bE, getLayoutHints as bF, getSafeTextBounds as bG, getSegmentAtTime as bH, getTwoColumnPositions as bI, getViewport as bJ, getViewportOrientation as bK, isPersistentLayerTemplate as bL, isTemplateBlock as bM, scaledFontSize$1 as bN, resolveMediaSchedule as bO, scaledFontSize as bP, type ThemeTypography as ba, type TimelineBlockInput as bb, type TimelineTemplateEvent as bc, type TimelineTemplateLink as bd, type TimelineTemplateTrack as be, type TitleBlockInput as bf, type TitleCaptionConfig as bg, type TreeBlockInput as bh, type TreeLayer as bi, type TreeLayerItem as bj, type TreeLayerStyle as bk, type TreeTemplateItem as bl, type TwoColumnInput as bm, VIEWPORT_PRESETS as bn, type VideoLayer as bo, type VideoPullQuoteInput as bp, type VideoWithCaptionInput as bq, type ViewportConfig as br, type ViewportOrientation as bs, type ViewportPreset as bt, type VignetteConfig as bu, applySurface as bv, calculateDuration as bw, calculateFontScale as bx, createTemplateContext as by, createTheme as bz, type Animation as c, type AnimationType as d, type AudioBookmark as e, type AudioSegment as f, type AudioTimingData as g, type AudioTrack as h, type BlockConnection as i, type BorderStyle as j, type CaptionTrack as k, type CaptionWord as l, type ColorScheme as m, type ComparisonBarInput as n, type ContentBlockInput as o, type CornerBrandingConfig as p, type CustomTemplateDefinition as q, type CustomTemplateLayer as r, DEFAULT_DOC_FONT as s, DEFAULT_TITLE_FONT as t, type DataTableInput as u, type DateEventInput as v, type DeepPartial as w, type DefinitionCardInput as x, type DiagramBlockInput as y, type DiagramEdgeAnchor as z };
@@ -1,4 +1,4 @@
1
- import { R as ImageLayer, a$ as TextLayer, aO as ShapeLayer, aw as PathLayer } from './Doc-COe-rPQB.js';
1
+ import { S as ImageLayer, b0 as TextLayer, aP as ShapeLayer, ax as PathLayer } from './Doc-BrgZC7SE.js';
2
2
 
3
3
  /**
4
4
  * ImageEditDoc — JSON document describing a layered, editable image.
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  expectedSyllablesAt,
3
3
  wordPosAtExpectedSyllables
4
- } from "./chunk-E3RXZUNP.js";
4
+ } from "./chunk-CKZY6K5R.js";
5
5
 
6
6
  // src/narration/types.ts
7
7
  var DEFAULT_FEATURE_CONFIG = Object.freeze({
@@ -944,6 +944,65 @@ function sectionHeader(input, context) {
944
944
  return layers;
945
945
  }
946
946
 
947
+ // src/doc/templates/contentBlock.ts
948
+ function completeBodyText(context) {
949
+ return (context.block?.contents ?? []).map((node) => extractPlainText(node)).join("\n").trim();
950
+ }
951
+ function bodyFontSize(body, context) {
952
+ const base = body.length > 1800 ? 18 : body.length > 1100 ? 21 : body.length > 650 ? 24 : 28;
953
+ return themedFontSize(base, context, false);
954
+ }
955
+ function contentBlock(input, context) {
956
+ const { theme } = context;
957
+ const title = input.title ?? context.block?.title ?? "";
958
+ const body = completeBodyText(context);
959
+ const layers = [createBackgroundLayer("bg", theme.colors.background)];
960
+ if (title) {
961
+ layers.push({
962
+ type: "text",
963
+ id: "title",
964
+ content: {
965
+ text: title,
966
+ style: {
967
+ fontSize: themedFontSize(46, context, true),
968
+ fontFamily: getThemeFont(context, "title"),
969
+ fontWeight: "bold",
970
+ color: theme.colors.text,
971
+ textAlign: "left",
972
+ lineHeight: 1.15,
973
+ shadow: shouldUseShadow(context)
974
+ }
975
+ },
976
+ position: { x: "8%", y: "9%", width: "84%", height: "15%", anchor: "top-left" }
977
+ });
978
+ }
979
+ if (body) {
980
+ layers.push({
981
+ type: "text",
982
+ id: "body",
983
+ content: {
984
+ text: body,
985
+ style: {
986
+ fontSize: bodyFontSize(body, context),
987
+ fontFamily: getThemeFont(context, "body"),
988
+ color: theme.colors.text,
989
+ textAlign: "left",
990
+ lineHeight: 1.35,
991
+ shadow: shouldUseShadow(context)
992
+ }
993
+ },
994
+ position: {
995
+ x: "8%",
996
+ y: title ? "28%" : "10%",
997
+ width: "84%",
998
+ height: title ? "64%" : "82%",
999
+ anchor: "top-left"
1000
+ }
1001
+ });
1002
+ }
1003
+ return layers;
1004
+ }
1005
+
947
1006
  // src/doc/templates/statHighlight.ts
948
1007
  function statHighlight(input, context) {
949
1008
  const { stat, description, detail, colorScheme = "blue", accentImage } = input;
@@ -1704,7 +1763,7 @@ function buildFeatureLayers(input, context, side) {
1704
1763
  const sized = (imageWidth ?? 0) > 0 || (imageHeight ?? 0) > 0;
1705
1764
  const stack = layout.stackColumns;
1706
1765
  const titleFontSize = themedFontSize(48, context, true);
1707
- const bodyFontSize = themedFontSize(24, context, false);
1766
+ const bodyFontSize2 = themedFontSize(24, context, false);
1708
1767
  let imgX;
1709
1768
  let imgY;
1710
1769
  let imgW;
@@ -1789,7 +1848,7 @@ function buildFeatureLayers(input, context, side) {
1789
1848
  content: {
1790
1849
  text: body,
1791
1850
  style: {
1792
- fontSize: bodyFontSize,
1851
+ fontSize: bodyFontSize2,
1793
1852
  fontFamily: getThemeFont(context, "body"),
1794
1853
  color: theme.colors.textMuted,
1795
1854
  textAlign,
@@ -4812,6 +4871,7 @@ function makeCustomTemplateFn(def) {
4812
4871
  var templateRegistry = {
4813
4872
  title: titleBlock,
4814
4873
  sectionHeader,
4874
+ content: contentBlock,
4815
4875
  statHighlight,
4816
4876
  quote: quoteBlock,
4817
4877
  factCard,
@@ -4964,6 +5024,18 @@ var TEMPLATE_INPUT_DESCRIPTORS = {
4964
5024
  { key: "subtitle", description: "Subtitle or tagline" },
4965
5025
  { key: "backgroundColor", description: "Background color", valueHint: "CSS color" }
4966
5026
  ],
5027
+ sectionHeader: [
5028
+ { key: "title", description: "Section title" },
5029
+ {
5030
+ key: "colorScheme",
5031
+ description: "Fallback background color scheme",
5032
+ valueHint: COLOR_SCHEME_HINT
5033
+ },
5034
+ { key: "imageSrc", description: "Optional background image path" },
5035
+ { key: "imageAlt", description: "Alt text for the background image" },
5036
+ { key: "ambientMotion", description: "Slow zoom/pan effect", values: AMBIENT_MOTION_VALUES }
5037
+ ],
5038
+ content: [{ key: "title", description: "Heading shown above the complete body" }],
4967
5039
  statHighlight: [
4968
5040
  { key: "stat", description: 'The statistic (e.g. "89%", "2x")' },
4969
5041
  { key: "description", description: "What the stat means" },
@@ -5981,6 +6053,13 @@ var BLOCK_MEDIA_LAYOUT_POLICIES = {
5981
6053
  unconsumedMedia: "reserve-when-no-native-media",
5982
6054
  variants: TITLE_VARIANTS
5983
6055
  },
6056
+ content: {
6057
+ summary: "Preserves the complete heading and body; supplemental media receives a companion field.",
6058
+ noMedia: "template-default",
6059
+ ownership: "supplemental",
6060
+ unconsumedMedia: "reserved-slot",
6061
+ variants: TEXT_VARIANTS
6062
+ },
5984
6063
  statHighlight: {
5985
6064
  summary: "Uses its optional accent image natively; otherwise supplemental media occupies a companion field.",
5986
6065
  noMedia: "template-without-optional-media",
@@ -7034,7 +7113,11 @@ var TEMPLATE_METADATA = {
7034
7113
  },
7035
7114
  sectionHeader: {
7036
7115
  label: "Section Header",
7037
- description: "A clean section break with a prominent title and optional subtitle."
7116
+ description: "A clean section break with a prominent title and optional background image."
7117
+ },
7118
+ content: {
7119
+ label: "Content",
7120
+ description: "Shows a heading and the complete body in a loss-averse content-first layout."
7038
7121
  },
7039
7122
  statHighlight: {
7040
7123
  label: "Stat Highlight",
@@ -7130,6 +7213,161 @@ var TEMPLATE_METADATA = {
7130
7213
  }
7131
7214
  };
7132
7215
 
7216
+ // src/doc/templates/authoringMetadata.ts
7217
+ var TEMPLATE_AUTHORING_METADATA = {
7218
+ title: {
7219
+ role: "opener",
7220
+ bodyPolicy: "ignored",
7221
+ safeForContentFirst: false,
7222
+ placement: "heading"
7223
+ },
7224
+ sectionHeader: {
7225
+ role: "divider",
7226
+ bodyPolicy: "ignored",
7227
+ safeForContentFirst: false,
7228
+ placement: "heading"
7229
+ },
7230
+ content: {
7231
+ role: "content",
7232
+ bodyPolicy: "complete",
7233
+ safeForContentFirst: true,
7234
+ placement: "heading"
7235
+ },
7236
+ statHighlight: {
7237
+ role: "highlight",
7238
+ bodyPolicy: "derived",
7239
+ safeForContentFirst: false,
7240
+ placement: "heading"
7241
+ },
7242
+ quote: { role: "quote", bodyPolicy: "derived", safeForContentFirst: false, placement: "heading" },
7243
+ factCard: {
7244
+ role: "highlight",
7245
+ bodyPolicy: "derived",
7246
+ safeForContentFirst: false,
7247
+ placement: "heading"
7248
+ },
7249
+ twoColumn: {
7250
+ role: "comparison",
7251
+ bodyPolicy: "structured",
7252
+ safeForContentFirst: false,
7253
+ placement: "heading"
7254
+ },
7255
+ dateEvent: {
7256
+ role: "event",
7257
+ bodyPolicy: "derived",
7258
+ safeForContentFirst: false,
7259
+ placement: "heading"
7260
+ },
7261
+ imageWithCaption: {
7262
+ role: "media",
7263
+ bodyPolicy: "derived",
7264
+ safeForContentFirst: false,
7265
+ placement: "heading"
7266
+ },
7267
+ leftFeature: {
7268
+ role: "media",
7269
+ bodyPolicy: "derived",
7270
+ safeForContentFirst: false,
7271
+ placement: "heading"
7272
+ },
7273
+ rightFeature: {
7274
+ role: "media",
7275
+ bodyPolicy: "derived",
7276
+ safeForContentFirst: false,
7277
+ placement: "heading"
7278
+ },
7279
+ map: {
7280
+ role: "spatial",
7281
+ bodyPolicy: "structured",
7282
+ safeForContentFirst: false,
7283
+ placement: "heading"
7284
+ },
7285
+ fullBleedQuote: {
7286
+ role: "quote",
7287
+ bodyPolicy: "derived",
7288
+ safeForContentFirst: false,
7289
+ placement: "heading"
7290
+ },
7291
+ list: {
7292
+ role: "content",
7293
+ bodyPolicy: "derived",
7294
+ safeForContentFirst: false,
7295
+ placement: "heading"
7296
+ },
7297
+ photoGrid: {
7298
+ role: "media",
7299
+ bodyPolicy: "structured",
7300
+ safeForContentFirst: false,
7301
+ placement: "heading"
7302
+ },
7303
+ definitionCard: {
7304
+ role: "content",
7305
+ bodyPolicy: "derived",
7306
+ safeForContentFirst: false,
7307
+ placement: "heading"
7308
+ },
7309
+ comparisonBar: {
7310
+ role: "comparison",
7311
+ bodyPolicy: "structured",
7312
+ safeForContentFirst: false,
7313
+ placement: "heading"
7314
+ },
7315
+ pullQuote: {
7316
+ role: "quote",
7317
+ bodyPolicy: "derived",
7318
+ safeForContentFirst: false,
7319
+ placement: "heading"
7320
+ },
7321
+ videoWithCaption: {
7322
+ role: "media",
7323
+ bodyPolicy: "derived",
7324
+ safeForContentFirst: false,
7325
+ placement: "heading"
7326
+ },
7327
+ videoPullQuote: {
7328
+ role: "media",
7329
+ bodyPolicy: "derived",
7330
+ safeForContentFirst: false,
7331
+ placement: "heading"
7332
+ },
7333
+ dataTable: {
7334
+ role: "data",
7335
+ bodyPolicy: "structured",
7336
+ safeForContentFirst: false,
7337
+ placement: "heading"
7338
+ },
7339
+ diagram: {
7340
+ role: "spatial",
7341
+ bodyPolicy: "structured",
7342
+ safeForContentFirst: false,
7343
+ placement: "heading"
7344
+ },
7345
+ tree: {
7346
+ role: "spatial",
7347
+ bodyPolicy: "structured",
7348
+ safeForContentFirst: false,
7349
+ placement: "heading"
7350
+ },
7351
+ timeline: {
7352
+ role: "spatial",
7353
+ bodyPolicy: "structured",
7354
+ safeForContentFirst: false,
7355
+ placement: "heading"
7356
+ },
7357
+ drawing: {
7358
+ role: "spatial",
7359
+ bodyPolicy: "structured",
7360
+ safeForContentFirst: false,
7361
+ placement: "heading"
7362
+ },
7363
+ layout: {
7364
+ role: "spatial",
7365
+ bodyPolicy: "structured",
7366
+ safeForContentFirst: false,
7367
+ placement: "heading"
7368
+ }
7369
+ };
7370
+
7133
7371
  // src/doc/templates/coverBlock.ts
7134
7372
  var COVER_TITLE_BASE_PX = 120;
7135
7373
  var COVER_TITLE_COMFORTABLE_CHARS = 26;
@@ -8969,6 +9207,7 @@ export {
8969
9207
  createAccentLayers,
8970
9208
  adjustY,
8971
9209
  sectionHeader,
9210
+ contentBlock,
8972
9211
  statHighlight,
8973
9212
  quoteBlock,
8974
9213
  factCard,
@@ -9039,6 +9278,7 @@ export {
9039
9278
  getBlockMediaLayoutPolicy,
9040
9279
  materializeBlockLayers,
9041
9280
  TEMPLATE_METADATA,
9281
+ TEMPLATE_AUTHORING_METADATA,
9042
9282
  coverBlock,
9043
9283
  expandCoverBlock,
9044
9284
  expandDocBlocks,
@@ -24,7 +24,7 @@ import {
24
24
  templateRegistry,
25
25
  writeCustomTemplatesToFrontmatter,
26
26
  writeCustomThemesToFrontmatter
27
- } from "./chunk-E3RXZUNP.js";
27
+ } from "./chunk-CKZY6K5R.js";
28
28
  import {
29
29
  ASCII_TREE_VOCAB,
30
30
  ASCII_VOCAB,
@@ -633,6 +633,13 @@ var sectionHeader = (input) => {
633
633
  mediaBackground: !!s.imageSrc
634
634
  };
635
635
  };
636
+ var content = (input) => {
637
+ const c = input;
638
+ return {
639
+ kind: "prose",
640
+ slots: { title: c.title, body: bodyRichText(input) }
641
+ };
642
+ };
636
643
  var statHighlight = (input) => {
637
644
  const s = input;
638
645
  return {
@@ -899,6 +906,7 @@ var layout = (input, ctx) => canvasDraft("layout", ctx, input);
899
906
  var sectionExtractors = {
900
907
  title,
901
908
  sectionHeader,
909
+ content,
902
910
  statHighlight,
903
911
  quote,
904
912
  factCard,
@@ -1,11 +1,11 @@
1
- import { aX as TemplateBlock, aY as TemplateContext, V as Layer, p as CustomTemplateDefinition, a_ as TemplateRegistry, b1 as Theme, bq as ViewportConfig, az as PersistentLayerConfig, G as DocBlock, br as ViewportOrientation, ay as PersistentLayer, be as TitleBlockInput, aM as SectionHeaderInput, aS as StatHighlightInput, aH as QuoteBlockInput, L as FactCardInput, bl as TwoColumnInput, u as DateEventInput, T as ImageWithCaptionInput, Y as LeftFeatureInput, aK as RightFeatureInput, $ as MapBlockInput, aR as StartBlockConfig, O as FullBleedQuoteInput, _ as ListBlockInput, aD as PhotoGridInput, w as DefinitionCardInput, n as ComparisonBarInput, aG as PullQuoteInput, bp as VideoWithCaptionInput, bo as VideoPullQuoteInput, t as DataTableInput, x as DiagramBlockInput, bg as TreeBlockInput, ba as TimelineBlockInput, B as Block, I as DrawingBlockInput, a3 as MarkerStyle, A as AccentImage, S as ImageTreatment, a as AccentPosition, c as Animation, d as AnimationType, b3 as ThemeColorScheme, F as Doc, b5 as ThemeRegistry, ar as PageEmphasis, b4 as ThemePageStyle, H as DocDiagnostic, E as DiagramTemplateNode, z as DiagramTemplateEdge, bd as TimelineTemplateTrack, bc as TimelineTemplateLink } from '../Doc-COe-rPQB.js';
2
- export { J as FRONTMATTER_CUSTOM_TEMPLATES_KEY, K as FRONTMATTER_CUSTOM_THEMES_KEY, X as LayoutHints, aJ as RenderStyle, b2 as ThemeColorPalette, b8 as ThemeStyle, b9 as ThemeTypography, bm as VIEWPORT_PRESETS, bs as ViewportPreset, bx as createTemplateContext, bE as getLayoutHints, bH as getTwoColumnPositions, bI as getViewport, bJ as getViewportOrientation, bL as isTemplateBlock, bO as scaledFontSize } from '../Doc-COe-rPQB.js';
1
+ import { aY as TemplateBlock, aZ as TemplateContext, W as Layer, q as CustomTemplateDefinition, a$ as TemplateRegistry, b2 as Theme, br as ViewportConfig, aA as PersistentLayerConfig, H as DocBlock, bs as ViewportOrientation, az as PersistentLayer, bf as TitleBlockInput, aN as SectionHeaderInput, o as ContentBlockInput, aT as StatHighlightInput, aI as QuoteBlockInput, M as FactCardInput, bm as TwoColumnInput, v as DateEventInput, U as ImageWithCaptionInput, Z as LeftFeatureInput, aL as RightFeatureInput, a0 as MapBlockInput, aS as StartBlockConfig, P as FullBleedQuoteInput, $ as ListBlockInput, aE as PhotoGridInput, x as DefinitionCardInput, n as ComparisonBarInput, aH as PullQuoteInput, bq as VideoWithCaptionInput, bp as VideoPullQuoteInput, u as DataTableInput, y as DiagramBlockInput, bh as TreeBlockInput, bb as TimelineBlockInput, B as Block, J as DrawingBlockInput, a4 as MarkerStyle, A as AccentImage, T as ImageTreatment, a as AccentPosition, c as Animation, d as AnimationType, b4 as ThemeColorScheme, G as Doc, b6 as ThemeRegistry, as as PageEmphasis, b5 as ThemePageStyle, I as DocDiagnostic, F as DiagramTemplateNode, E as DiagramTemplateEdge, be as TimelineTemplateTrack, bd as TimelineTemplateLink } from '../Doc-BrgZC7SE.js';
2
+ export { K as FRONTMATTER_CUSTOM_TEMPLATES_KEY, L as FRONTMATTER_CUSTOM_THEMES_KEY, Y as LayoutHints, aK as RenderStyle, b3 as ThemeColorPalette, b9 as ThemeStyle, ba as ThemeTypography, bn as VIEWPORT_PRESETS, bt as ViewportPreset, by as createTemplateContext, bF as getLayoutHints, bI as getTwoColumnPositions, bJ as getViewport, bK as getViewportOrientation, bM as isTemplateBlock, bP as scaledFontSize } from '../Doc-BrgZC7SE.js';
3
3
  import { K as MarkdownNode, a2 as TransitionType, a1 as TransitionDirection, M as MarkdownBlockNode, r as MarkdownHeading, n as MarkdownDocument, S as MarkdownTable, i as MarkdownCodeBlock, F as MarkdownList } from '../types-CUNc9biN.js';
4
4
  import { C as CoercedBlockMeta } from '../annotationCoercion-PtRQhk5V.js';
5
- import { c as PageSection } from '../materializePageSection-BSMOocve.js';
6
- export { M as MaterializePageSectionOptions, a as MaterializePageSectionsOptions, P as PageMedia, b as PageRichText, d as PageSectionDiagnostic, e as PageSectionItem, f as PageSectionMaterialization, g as PageSectionSource, h as PageSpatialKind, i as PageTransformHints, m as materializePageSection, j as materializePageSections, r as resolvePageStyle } from '../materializePageSection-BSMOocve.js';
5
+ import { c as PageSection } from '../materializePageSection-DAbyLi-k.js';
6
+ export { M as MaterializePageSectionOptions, a as MaterializePageSectionsOptions, P as PageMedia, b as PageRichText, d as PageSectionDiagnostic, e as PageSectionItem, f as PageSectionMaterialization, g as PageSectionSource, h as PageSpatialKind, i as PageTransformHints, m as materializePageSection, j as materializePageSections, r as resolvePageStyle } from '../materializePageSection-DAbyLi-k.js';
7
7
  import { C as ContentContainer } from '../ContentContainer-B2w9sUoL.js';
8
- export { D as DEFAULT_THEME, g as getAvailableThemes, b as getThemeSummaries, r as resolveTheme } from '../themeLibrary-BUTWjufL.js';
8
+ export { D as DEFAULT_THEME, g as getAvailableThemes, b as getThemeSummaries, r as resolveTheme } from '../themeLibrary-DJt89gyP.js';
9
9
 
10
10
  /** Runtime registry composition for built-in and document-scoped templates. */
11
11
 
@@ -107,6 +107,182 @@ interface TemplateMetadata {
107
107
  }
108
108
  declare const TEMPLATE_METADATA: Record<string, TemplateMetadata>;
109
109
 
110
+ /** Agent-oriented behavior metadata for every built-in template. */
111
+ type TemplateAuthoringRole = 'opener' | 'divider' | 'content' | 'highlight' | 'quote' | 'comparison' | 'event' | 'media' | 'data' | 'spatial';
112
+ type TemplateBodyPolicy = 'complete' | 'derived' | 'ignored' | 'structured';
113
+ interface TemplateAuthoringMetadata {
114
+ /** Broad semantic job, independent of visual theme. */
115
+ role: TemplateAuthoringRole;
116
+ /** How source body prose participates in the rendered result. */
117
+ bodyPolicy: TemplateBodyPolicy;
118
+ /** Whether this template is a loss-averse default before visual optimization. */
119
+ safeForContentFirst: boolean;
120
+ /** Preferred annotation placement. Standalone annotations remain supported for deliberate extra blocks. */
121
+ placement: 'heading';
122
+ }
123
+ /**
124
+ * Kept exhaustive over TemplateBlock so adding a template requires an explicit
125
+ * statement about content retention before it can ship.
126
+ */
127
+ declare const TEMPLATE_AUTHORING_METADATA: {
128
+ readonly title: {
129
+ readonly role: "opener";
130
+ readonly bodyPolicy: "ignored";
131
+ readonly safeForContentFirst: false;
132
+ readonly placement: "heading";
133
+ };
134
+ readonly sectionHeader: {
135
+ readonly role: "divider";
136
+ readonly bodyPolicy: "ignored";
137
+ readonly safeForContentFirst: false;
138
+ readonly placement: "heading";
139
+ };
140
+ readonly content: {
141
+ readonly role: "content";
142
+ readonly bodyPolicy: "complete";
143
+ readonly safeForContentFirst: true;
144
+ readonly placement: "heading";
145
+ };
146
+ readonly statHighlight: {
147
+ readonly role: "highlight";
148
+ readonly bodyPolicy: "derived";
149
+ readonly safeForContentFirst: false;
150
+ readonly placement: "heading";
151
+ };
152
+ readonly quote: {
153
+ readonly role: "quote";
154
+ readonly bodyPolicy: "derived";
155
+ readonly safeForContentFirst: false;
156
+ readonly placement: "heading";
157
+ };
158
+ readonly factCard: {
159
+ readonly role: "highlight";
160
+ readonly bodyPolicy: "derived";
161
+ readonly safeForContentFirst: false;
162
+ readonly placement: "heading";
163
+ };
164
+ readonly twoColumn: {
165
+ readonly role: "comparison";
166
+ readonly bodyPolicy: "structured";
167
+ readonly safeForContentFirst: false;
168
+ readonly placement: "heading";
169
+ };
170
+ readonly dateEvent: {
171
+ readonly role: "event";
172
+ readonly bodyPolicy: "derived";
173
+ readonly safeForContentFirst: false;
174
+ readonly placement: "heading";
175
+ };
176
+ readonly imageWithCaption: {
177
+ readonly role: "media";
178
+ readonly bodyPolicy: "derived";
179
+ readonly safeForContentFirst: false;
180
+ readonly placement: "heading";
181
+ };
182
+ readonly leftFeature: {
183
+ readonly role: "media";
184
+ readonly bodyPolicy: "derived";
185
+ readonly safeForContentFirst: false;
186
+ readonly placement: "heading";
187
+ };
188
+ readonly rightFeature: {
189
+ readonly role: "media";
190
+ readonly bodyPolicy: "derived";
191
+ readonly safeForContentFirst: false;
192
+ readonly placement: "heading";
193
+ };
194
+ readonly map: {
195
+ readonly role: "spatial";
196
+ readonly bodyPolicy: "structured";
197
+ readonly safeForContentFirst: false;
198
+ readonly placement: "heading";
199
+ };
200
+ readonly fullBleedQuote: {
201
+ readonly role: "quote";
202
+ readonly bodyPolicy: "derived";
203
+ readonly safeForContentFirst: false;
204
+ readonly placement: "heading";
205
+ };
206
+ readonly list: {
207
+ readonly role: "content";
208
+ readonly bodyPolicy: "derived";
209
+ readonly safeForContentFirst: false;
210
+ readonly placement: "heading";
211
+ };
212
+ readonly photoGrid: {
213
+ readonly role: "media";
214
+ readonly bodyPolicy: "structured";
215
+ readonly safeForContentFirst: false;
216
+ readonly placement: "heading";
217
+ };
218
+ readonly definitionCard: {
219
+ readonly role: "content";
220
+ readonly bodyPolicy: "derived";
221
+ readonly safeForContentFirst: false;
222
+ readonly placement: "heading";
223
+ };
224
+ readonly comparisonBar: {
225
+ readonly role: "comparison";
226
+ readonly bodyPolicy: "structured";
227
+ readonly safeForContentFirst: false;
228
+ readonly placement: "heading";
229
+ };
230
+ readonly pullQuote: {
231
+ readonly role: "quote";
232
+ readonly bodyPolicy: "derived";
233
+ readonly safeForContentFirst: false;
234
+ readonly placement: "heading";
235
+ };
236
+ readonly videoWithCaption: {
237
+ readonly role: "media";
238
+ readonly bodyPolicy: "derived";
239
+ readonly safeForContentFirst: false;
240
+ readonly placement: "heading";
241
+ };
242
+ readonly videoPullQuote: {
243
+ readonly role: "media";
244
+ readonly bodyPolicy: "derived";
245
+ readonly safeForContentFirst: false;
246
+ readonly placement: "heading";
247
+ };
248
+ readonly dataTable: {
249
+ readonly role: "data";
250
+ readonly bodyPolicy: "structured";
251
+ readonly safeForContentFirst: false;
252
+ readonly placement: "heading";
253
+ };
254
+ readonly diagram: {
255
+ readonly role: "spatial";
256
+ readonly bodyPolicy: "structured";
257
+ readonly safeForContentFirst: false;
258
+ readonly placement: "heading";
259
+ };
260
+ readonly tree: {
261
+ readonly role: "spatial";
262
+ readonly bodyPolicy: "structured";
263
+ readonly safeForContentFirst: false;
264
+ readonly placement: "heading";
265
+ };
266
+ readonly timeline: {
267
+ readonly role: "spatial";
268
+ readonly bodyPolicy: "structured";
269
+ readonly safeForContentFirst: false;
270
+ readonly placement: "heading";
271
+ };
272
+ readonly drawing: {
273
+ readonly role: "spatial";
274
+ readonly bodyPolicy: "structured";
275
+ readonly safeForContentFirst: false;
276
+ readonly placement: "heading";
277
+ };
278
+ readonly layout: {
279
+ readonly role: "spatial";
280
+ readonly bodyPolicy: "structured";
281
+ readonly safeForContentFirst: false;
282
+ readonly placement: "heading";
283
+ };
284
+ };
285
+
110
286
  /**
111
287
  * Exhaustive media-layout policy for every built-in block template.
112
288
  *
@@ -150,7 +326,7 @@ interface BlockMediaLayoutPolicy {
150
326
  variants?: SupplementalMediaVariantMatrix;
151
327
  }
152
328
  /**
153
- * Canonical media contract for all 25 built-in templates. Entries are kept
329
+ * Canonical media contract for all built-in templates. Entries are kept
154
330
  * in registry/gallery order to make policy reviews easy to scan.
155
331
  */
156
332
  declare const BLOCK_MEDIA_LAYOUT_POLICIES: {
@@ -170,6 +346,13 @@ declare const BLOCK_MEDIA_LAYOUT_POLICIES: {
170
346
  readonly unconsumedMedia: "reserve-when-no-native-media";
171
347
  readonly variants: SupplementalMediaVariantMatrix;
172
348
  };
349
+ readonly content: {
350
+ readonly summary: "Preserves the complete heading and body; supplemental media receives a companion field.";
351
+ readonly noMedia: "template-default";
352
+ readonly ownership: "supplemental";
353
+ readonly unconsumedMedia: "reserved-slot";
354
+ readonly variants: SupplementalMediaVariantMatrix;
355
+ };
173
356
  readonly statHighlight: {
174
357
  readonly summary: "Uses its optional accent image natively; otherwise supplemental media occupies a companion field.";
175
358
  readonly noMedia: "template-without-optional-media";
@@ -439,6 +622,17 @@ declare function titleBlock(input: TitleBlockInput, context: TemplateContext): L
439
622
 
440
623
  declare function sectionHeader(input: SectionHeaderInput, context: TemplateContext): Layer[];
441
624
 
625
+ /**
626
+ * Content-first template.
627
+ *
628
+ * Unlike visual-summary templates, this template deliberately preserves the
629
+ * complete plain-text projection of a Markdown block. It is intended as the
630
+ * loss-averse first pass for generated decks; authors can replace it with a
631
+ * more visual template after validation and preview.
632
+ */
633
+
634
+ declare function contentBlock(input: ContentBlockInput, context: TemplateContext): Layer[];
635
+
442
636
  /**
443
637
  * Stat Highlight Template
444
638
  *
@@ -2768,4 +2962,4 @@ declare function treeFromMarkdownList(list: MarkdownList): Tree;
2768
2962
  /** Find the first top-level markdown list in a block's body, if any. */
2769
2963
  declare function findFirstList(contents: MarkdownBlockNode[] | undefined): MarkdownList | undefined;
2770
2964
 
2771
- export { ASCII_CHAR_H, ASCII_CHAR_W, ASCII_DIAGRAM_FENCE_LANGS, ASCII_TIMELINE_FENCE_LANGS, type AccentLayout, type AsciiDiagram, type AsciiDiagramDetection, type AsciiDiagramEdge, type AsciiDiagramNode, type AsciiTimeline, type AsciiTimelineDetection, type AsciiTimelineEvent, type AsciiTimelineLink, type AsciiTimelineMarker, type AsciiTimelineSide, type AsciiTimelineStats, type AsciiTimelineStyle, type AsciiTimelineTrack, type AudioSegmentTiming, BASE_INPUT_DESCRIPTORS, BLOCK_MEDIA_LAYOUT_POLICIES, type BlockLayerMaterialization, type BlockMediaLayoutPolicy, type BuiltInTemplateName, CONTAINER_TEMPLATES, type ClipBox, type ConnectorAnchor, type ConnectorPort, type ConnectorRouting, type ConnectorSnapPoint, type CoverBlockInput, DEFAULT_LAYOUT, DIAGRAM_LABEL_HORIZONTAL_PADDING, DIAGRAM_LABEL_LINE_HEIGHT, DIAGRAM_LABEL_MIN_FONT_SIZE, DIAGRAM_LABEL_VERTICAL_PADDING, type DataFenceParseResult, type DeriveTemplateInputsOptions, type DetectAsciiTimelineOptions, type DiagramEdge, type DiagramLabelFit, type DiagramLayout, type DiagramLayoutOptions, type DiagramNodePosition, DocBlock, type DrawingConnector, type DrawingLayout, type DrawingLayoutOptions, type DrawingShape, type DrawingShapeKind, type EmbeddedVideo, type ExpandDocBlocksOptions, type ExtractedTableData, type FirstImage, type InputCoercion, type LayerMaterializationDiagnostic, type LayerMaterializationFailureMode, type LayerMaterializationSource, type LayoutLayerDefaults, type LayoutLayersResult, type MarkdownToDocOptions, type MarkdownValidationResult, type MaterializeBlockLayersOptions, type NarrationResolution, type NativeMediaLayout, type NoMediaLayout, PAGE_BASE_CSS, PATH_SHAPE_KINDS, PageSection, type PageSectionContext, type PageSectionDraft, PersistentLayerConfig, type RenderAsciiDiagramOptions, type RenderAsciiTimelineOptions, type RenderTreeOptions, type RepairResult, type ResolvedPageBlock, type RuntimeTemplateRegistry, SHAPE_NAMES, type SectionExtractor, type SupplementalMediaLayoutVariant, type SupplementalMediaShape, type SupplementalMediaVariantMatrix, TEMPLATE_INPUT_DESCRIPTORS, TEMPLATE_METADATA, TREE_FENCE_LANGS, TemplateBlock, TemplateContext, type TemplateInputDescriptor, type TemplateMediaOwnership, type TemplateMetadata, type TemplateParamFinding, Theme, ThemeColorScheme, type Tree, type TreeDetection, type TreeItem, type TreeNode, type UnconsumedMediaBehavior, type ValidateOptions, ViewportConfig, ViewportOrientation, adjustY, anchorPoint, applyNarrationTiming, applyRenderStyleToLayers, asciiCellToCanvas, asciiDiagramFromBlocks, asciiDiagramFromTemplateData, asciiDiagramToTemplateData, asciiTimelineToTemplateData, autoTemplatePreservesContent, buildPageCss, buildPageCssVars, buildRegistry, canvasToAsciiCell, clipEndpoints, clipPoint, coerceTemplateParams, comparisonBar, computeDiagramLayout, computeDrawingLayout, computeLayoutLayers, connectorPath, countBlocks, coverBlock, createAccentLayers, cssFilterForTreatment, dataTable, dateEvent, definitionCard, deriveTemplateInputs, detectAsciiDiagram, detectAsciiTimeline, detectTree, diagramBlock, docToMarkdown, drawingBlock, expandCoverBlock, expandDocBlocks, expandPersistentLayers, extractBlockquoteText, extractBodyPlainText, extractEmbeddedVideos, extractFirstEmbeddedVideo, extractFirstImage, extractImages, extractListItems, extractTableData, extractTableFromContents, factCard, fallbackBlockLayers, findFirstList, findFirstTable, fitDiagramLabel, flattenBlocks, flattenRenderableBlocks, fullBleedQuote, getAccentLayout, getAnimationProgress, getAnimationStyle, getAvailableTemplates, getBlockBodyText, getBlockDepth, getBlockMediaLayoutPolicy, getDefaultAnimation, getDefaultAnimationDuration, getOverlayOpacity, getPersistentLayersFromTheme, getPinnedBlockMeta, getTemplateHint, getThemeFont, getTransitionClass, hasTemplate, imageWithCaption, isAsciiDiagramFence, isAsciiTimelineFence, isContainerTemplate, isDataFence, isEligibleAsciiFenceLang, isEligibleAsciiTimelineFenceLang, isEligibleTreeFenceLang, isExplicitDiagramLang, isExplicitTimelineLang, isExplicitTreeLang, isRepairableDiagram, isShapeName, isTemplatedPageBlock, isTreeFence, isWrappedFlowTimelineSource, layoutBlock, leftFeature, lineStyleDasharray, lintTemplateParams, listBlock, mapBlock, markdownToDoc, markerPath, materializeBlockLayers, nearestSnapPoint, normalizeShapeKind, pageStyleDataAttributes, parseAsciiDiagram, parseAsciiTimeline, parseAsciiTimelineWithStats, parseDataFence, parseTree, parseWrappedFlowTimeline, parseYamlSubset, photoGrid, pullQuote, quoteBlock, readCustomTemplatesFromFrontmatter, readCustomThemesFromFrontmatter, renderAsciiDiagram, renderAsciiTimeline, renderTree, repairAsciiDiagram, replaceDataFence, resolveAudioMapping, resolveColorScheme, resolvePageBlock, resolvePersistentLayers, resolveTemplateName, resolveThemeForDoc, rightFeature, scaleAnimationDuration, scoreTextSimilarity, sectionExtractors, sectionHeader, shapePath, shouldUseShadow, snapEndpoints, snapPoints, statHighlight, templateRegistry, themeWantsAmbientMotion, themedEntrance, themedFontSize, themedImageTreatment, themedScrim, themedSurfaceGradient, timelineBlock, titleBlock, treeBlock, treeFromMarkdownList, treeFromTemplateData, treeToTemplateData, twoColumn, validateMarkdownDoc, validateMarkdownSource, videoPullQuote, videoWithCaption, wrapWithPersistentLayers, writeCustomTemplatesToFrontmatter, writeCustomThemesToFrontmatter };
2965
+ export { ASCII_CHAR_H, ASCII_CHAR_W, ASCII_DIAGRAM_FENCE_LANGS, ASCII_TIMELINE_FENCE_LANGS, type AccentLayout, type AsciiDiagram, type AsciiDiagramDetection, type AsciiDiagramEdge, type AsciiDiagramNode, type AsciiTimeline, type AsciiTimelineDetection, type AsciiTimelineEvent, type AsciiTimelineLink, type AsciiTimelineMarker, type AsciiTimelineSide, type AsciiTimelineStats, type AsciiTimelineStyle, type AsciiTimelineTrack, type AudioSegmentTiming, BASE_INPUT_DESCRIPTORS, BLOCK_MEDIA_LAYOUT_POLICIES, type BlockLayerMaterialization, type BlockMediaLayoutPolicy, type BuiltInTemplateName, CONTAINER_TEMPLATES, type ClipBox, type ConnectorAnchor, type ConnectorPort, type ConnectorRouting, type ConnectorSnapPoint, type CoverBlockInput, DEFAULT_LAYOUT, DIAGRAM_LABEL_HORIZONTAL_PADDING, DIAGRAM_LABEL_LINE_HEIGHT, DIAGRAM_LABEL_MIN_FONT_SIZE, DIAGRAM_LABEL_VERTICAL_PADDING, type DataFenceParseResult, type DeriveTemplateInputsOptions, type DetectAsciiTimelineOptions, type DiagramEdge, type DiagramLabelFit, type DiagramLayout, type DiagramLayoutOptions, type DiagramNodePosition, DocBlock, type DrawingConnector, type DrawingLayout, type DrawingLayoutOptions, type DrawingShape, type DrawingShapeKind, type EmbeddedVideo, type ExpandDocBlocksOptions, type ExtractedTableData, type FirstImage, type InputCoercion, type LayerMaterializationDiagnostic, type LayerMaterializationFailureMode, type LayerMaterializationSource, type LayoutLayerDefaults, type LayoutLayersResult, type MarkdownToDocOptions, type MarkdownValidationResult, type MaterializeBlockLayersOptions, type NarrationResolution, type NativeMediaLayout, type NoMediaLayout, PAGE_BASE_CSS, PATH_SHAPE_KINDS, PageSection, type PageSectionContext, type PageSectionDraft, PersistentLayerConfig, type RenderAsciiDiagramOptions, type RenderAsciiTimelineOptions, type RenderTreeOptions, type RepairResult, type ResolvedPageBlock, type RuntimeTemplateRegistry, SHAPE_NAMES, type SectionExtractor, type SupplementalMediaLayoutVariant, type SupplementalMediaShape, type SupplementalMediaVariantMatrix, TEMPLATE_AUTHORING_METADATA, TEMPLATE_INPUT_DESCRIPTORS, TEMPLATE_METADATA, TREE_FENCE_LANGS, type TemplateAuthoringMetadata, type TemplateAuthoringRole, TemplateBlock, type TemplateBodyPolicy, TemplateContext, type TemplateInputDescriptor, type TemplateMediaOwnership, type TemplateMetadata, type TemplateParamFinding, Theme, ThemeColorScheme, type Tree, type TreeDetection, type TreeItem, type TreeNode, type UnconsumedMediaBehavior, type ValidateOptions, ViewportConfig, ViewportOrientation, adjustY, anchorPoint, applyNarrationTiming, applyRenderStyleToLayers, asciiCellToCanvas, asciiDiagramFromBlocks, asciiDiagramFromTemplateData, asciiDiagramToTemplateData, asciiTimelineToTemplateData, autoTemplatePreservesContent, buildPageCss, buildPageCssVars, buildRegistry, canvasToAsciiCell, clipEndpoints, clipPoint, coerceTemplateParams, comparisonBar, computeDiagramLayout, computeDrawingLayout, computeLayoutLayers, connectorPath, contentBlock, countBlocks, coverBlock, createAccentLayers, cssFilterForTreatment, dataTable, dateEvent, definitionCard, deriveTemplateInputs, detectAsciiDiagram, detectAsciiTimeline, detectTree, diagramBlock, docToMarkdown, drawingBlock, expandCoverBlock, expandDocBlocks, expandPersistentLayers, extractBlockquoteText, extractBodyPlainText, extractEmbeddedVideos, extractFirstEmbeddedVideo, extractFirstImage, extractImages, extractListItems, extractTableData, extractTableFromContents, factCard, fallbackBlockLayers, findFirstList, findFirstTable, fitDiagramLabel, flattenBlocks, flattenRenderableBlocks, fullBleedQuote, getAccentLayout, getAnimationProgress, getAnimationStyle, getAvailableTemplates, getBlockBodyText, getBlockDepth, getBlockMediaLayoutPolicy, getDefaultAnimation, getDefaultAnimationDuration, getOverlayOpacity, getPersistentLayersFromTheme, getPinnedBlockMeta, getTemplateHint, getThemeFont, getTransitionClass, hasTemplate, imageWithCaption, isAsciiDiagramFence, isAsciiTimelineFence, isContainerTemplate, isDataFence, isEligibleAsciiFenceLang, isEligibleAsciiTimelineFenceLang, isEligibleTreeFenceLang, isExplicitDiagramLang, isExplicitTimelineLang, isExplicitTreeLang, isRepairableDiagram, isShapeName, isTemplatedPageBlock, isTreeFence, isWrappedFlowTimelineSource, layoutBlock, leftFeature, lineStyleDasharray, lintTemplateParams, listBlock, mapBlock, markdownToDoc, markerPath, materializeBlockLayers, nearestSnapPoint, normalizeShapeKind, pageStyleDataAttributes, parseAsciiDiagram, parseAsciiTimeline, parseAsciiTimelineWithStats, parseDataFence, parseTree, parseWrappedFlowTimeline, parseYamlSubset, photoGrid, pullQuote, quoteBlock, readCustomTemplatesFromFrontmatter, readCustomThemesFromFrontmatter, renderAsciiDiagram, renderAsciiTimeline, renderTree, repairAsciiDiagram, replaceDataFence, resolveAudioMapping, resolveColorScheme, resolvePageBlock, resolvePersistentLayers, resolveTemplateName, resolveThemeForDoc, rightFeature, scaleAnimationDuration, scoreTextSimilarity, sectionExtractors, sectionHeader, shapePath, shouldUseShadow, snapEndpoints, snapPoints, statHighlight, templateRegistry, themeWantsAmbientMotion, themedEntrance, themedFontSize, themedImageTreatment, themedScrim, themedSurfaceGradient, timelineBlock, titleBlock, treeBlock, treeFromMarkdownList, treeFromTemplateData, treeToTemplateData, twoColumn, validateMarkdownDoc, validateMarkdownSource, videoPullQuote, videoWithCaption, wrapWithPersistentLayers, writeCustomTemplatesToFrontmatter, writeCustomThemesToFrontmatter };
package/dist/doc/index.js CHANGED
@@ -26,7 +26,7 @@ import {
26
26
  sectionExtractors,
27
27
  validateMarkdownDoc,
28
28
  validateMarkdownSource
29
- } from "../chunk-3FRUQLQR.js";
29
+ } from "../chunk-ZAFLMJPD.js";
30
30
  import {
31
31
  ASCII_CHAR_H,
32
32
  ASCII_CHAR_W,
@@ -39,6 +39,7 @@ import {
39
39
  DIAGRAM_LABEL_MIN_FONT_SIZE,
40
40
  DIAGRAM_LABEL_VERTICAL_PADDING,
41
41
  SHAPE_NAMES,
42
+ TEMPLATE_AUTHORING_METADATA,
42
43
  TEMPLATE_INPUT_DESCRIPTORS,
43
44
  TEMPLATE_METADATA,
44
45
  adjustY,
@@ -56,6 +57,7 @@ import {
56
57
  computeDiagramLayout,
57
58
  computeDrawingLayout,
58
59
  computeLayoutLayers,
60
+ contentBlock,
59
61
  countBlocks,
60
62
  coverBlock,
61
63
  createAccentLayers,
@@ -144,7 +146,7 @@ import {
144
146
  wrapWithPersistentLayers,
145
147
  writeCustomTemplatesToFrontmatter,
146
148
  writeCustomThemesToFrontmatter
147
- } from "../chunk-E3RXZUNP.js";
149
+ } from "../chunk-CKZY6K5R.js";
148
150
  import {
149
151
  PATH_SHAPE_KINDS,
150
152
  anchorPoint,
@@ -227,6 +229,7 @@ export {
227
229
  PAGE_BASE_CSS,
228
230
  PATH_SHAPE_KINDS,
229
231
  SHAPE_NAMES,
232
+ TEMPLATE_AUTHORING_METADATA,
230
233
  TEMPLATE_INPUT_DESCRIPTORS,
231
234
  TEMPLATE_METADATA,
232
235
  TREE_FENCE_LANGS,
@@ -253,6 +256,7 @@ export {
253
256
  computeDrawingLayout,
254
257
  computeLayoutLayers,
255
258
  connectorPath,
259
+ contentBlock,
256
260
  countBlocks,
257
261
  coverBlock,
258
262
  createAccentLayers,
@@ -1,6 +1,6 @@
1
1
  import { E as ExtractedElement } from '../contentExtractor-BNfVJV2U.js';
2
2
  export { C as ComparisonData, D as DateData, a as DefinitionData, b as ExtractionOptions, c as ExtractionResult, d as ExtractionType, F as FactData, I as ImpactLineData, L as ListData, Q as QuoteData, S as StatData, e as extractContent, s as stripMarkdown } from '../contentExtractor-BNfVJV2U.js';
3
- import { m as ColorScheme, A as AccentImage, aX as TemplateBlock } from '../Doc-COe-rPQB.js';
3
+ import { m as ColorScheme, A as AccentImage, aY as TemplateBlock } from '../Doc-BrgZC7SE.js';
4
4
  import '../types-CUNc9biN.js';
5
5
 
6
6
  /**
@@ -1,8 +1,8 @@
1
- import { a as ImageEditDoc, b as ImageEditLayer } from '../ImageEditDoc-dtKahVyD.js';
2
- export { E as EditorLayerMeta, I as ImageEditCanvas, c as ImageEditLayerKind, d as ImageEditMeta } from '../ImageEditDoc-dtKahVyD.js';
1
+ import { a as ImageEditDoc, b as ImageEditLayer } from '../ImageEditDoc-rum0Xb9P.js';
2
+ export { E as EditorLayerMeta, I as ImageEditCanvas, c as ImageEditLayerKind, d as ImageEditMeta } from '../ImageEditDoc-rum0Xb9P.js';
3
3
  import { C as ContentContainer } from '../ContentContainer-B2w9sUoL.js';
4
4
  import { V as Version, C as CoalesceOptions, P as PrunePolicy } from '../types-8QjefM9J.js';
5
- import '../Doc-COe-rPQB.js';
5
+ import '../Doc-BrgZC7SE.js';
6
6
  import '../types-CUNc9biN.js';
7
7
 
8
8
  /**
package/dist/index.d.ts CHANGED
@@ -1,12 +1,12 @@
1
1
  export { B as BoundingBox, C as Coordinates } from './Types-sh2VRxfo.js';
2
- export { A as AccentImage, a as AccentPosition, b as AmbientGradientConfig, c as Animation, d as AnimationType, e as AudioBookmark, f as AudioSegment, g as AudioTimingData, h as AudioTrack, B as Block, i as BlockConnection, j as BorderStyle, C as CaptionPhrase, k as CaptionTrack, l as CaptionWord, m as ColorScheme, n as ComparisonBarInput, o as CornerBrandingConfig, p as CustomTemplateDefinition, q as CustomTemplateLayer, D as DARK_SURFACE, r as DEFAULT_DOC_FONT, s as DEFAULT_TITLE_FONT, t as DataTableInput, u as DateEventInput, v as DeepPartial, w as DefinitionCardInput, x as DiagramBlockInput, y as DiagramEdgeAnchor, z as DiagramTemplateEdge, E as DiagramTemplateNode, F as Doc, G as DocBlock, H as DocDiagnostic, I as DrawingBlockInput, J as FRONTMATTER_CUSTOM_TEMPLATES_KEY, K as FRONTMATTER_CUSTOM_THEMES_KEY, L as FactCardInput, M as FontFamily, N as FontFamilyKind, O as FullBleedQuoteInput, P as GradientBackgroundConfig, Q as ImageBackgroundConfig, R as ImageLayer, S as ImageTreatment, T as ImageWithCaptionInput, U as LIGHT_SURFACE, V as Layer, W as LayerRepeat, X as LayoutHints, Y as LeftFeatureInput, Z as LinearGradient, _ as ListBlockInput, $ as MapBlockInput, a0 as MapLayer, a1 as MapMarker, a2 as MapTileStyle, a3 as MarkerStyle, a4 as MediaClip, a5 as MermaidLayer, a6 as PAGE_ACCENT_STRATEGIES, a7 as PAGE_BACKGROUNDS, a8 as PAGE_BACKGROUND_RHYTHMS, a9 as PAGE_DESIGN_FAMILIES, aa as PAGE_DIVIDERS, ab as PAGE_EMPHASES, ac as PAGE_EYEBROWS, ad as PAGE_HEADING_CASES, ae as PAGE_HEADING_SCALES, af as PAGE_HEADING_UNDERLINES, ag as PAGE_HERO_STYLES, ah as PAGE_IMAGE_FRAMINGS, ai as PAGE_NUMERAL_STYLES, aj as PAGE_PATTERNS, ak as PAGE_QUOTE_MARKS, al as PAGE_SECTION_KINDS, am as PAGE_SECTION_SPACINGS, an as PAGE_SHADOWS, ao as PageAccentRotation, ap as PageBackground, aq as PageDesignFamily, ar as PageEmphasis, as as PageHeadingTreatment, at as PageSectionKind, au as PageSectionOverride, av as PageTokens, aw as PathLayer, ax as PatternBackgroundConfig, ay as PersistentLayer, az as PersistentLayerConfig, aA as PersistentLayerTemplate, aB as PersistentLayerTemplateConfig, aC as PersistentLayerTemplateType, aD as PhotoGridInput, aE as Position, aF as ProgressIndicatorConfig, aG as PullQuoteInput, aH as QuoteBlockInput, aI as RawLayersInput, aJ as RenderStyle, aK as RightFeatureInput, aL as ScheduledClip, aM as SectionHeaderInput, aN as ShapeFilter, aO as ShapeLayer, aP as ShapePattern, aQ as SolidBackgroundConfig, aR as StartBlockConfig, aS as StatHighlightInput, aT as SurfaceScheme, aU as THEME_SCHEMA_VERSION, aV as TableLayer, aW as TableLayerStyle, aX as TemplateBlock, aY as TemplateContext, aZ as TemplateFunction, a_ as TemplateRegistry, a$ as TextLayer, b0 as TextStyle, b1 as Theme, b2 as ThemeColorPalette, b3 as ThemeColorScheme, b4 as ThemePageStyle, b5 as ThemeRegistry, b6 as ThemeSchemaVersion, b7 as ThemeSeedColors, b8 as ThemeStyle, b9 as ThemeTypography, ba as TimelineBlockInput, bb as TimelineTemplateEvent, bc as TimelineTemplateLink, bd as TimelineTemplateTrack, be as TitleBlockInput, bf as TitleCaptionConfig, bg as TreeBlockInput, bh as TreeLayer, bi as TreeLayerItem, bj as TreeLayerStyle, bk as TreeTemplateItem, bl as TwoColumnInput, bm as VIEWPORT_PRESETS, bn as VideoLayer, bo as VideoPullQuoteInput, bp as VideoWithCaptionInput, bq as ViewportConfig, br as ViewportOrientation, bs as ViewportPreset, bt as VignetteConfig, bu as applySurface, bv as calculateDuration, bw as calculateFontScale, bx as createTemplateContext, by as createTheme, bz as createThemeRegistry, bA as getAspectRatioString, bB as getBlockAtTime, bC as getCaptionAtTime, bD as getDocPlaybackDuration, bE as getLayoutHints, bF as getSafeTextBounds, bG as getSegmentAtTime, bH as getTwoColumnPositions, bI as getViewport, bJ as getViewportOrientation, bK as isPersistentLayerTemplate, bL as isTemplateBlock, bM as layoutScaledFontSize, bN as resolveMediaSchedule, bO as scaledFontSize } from './Doc-COe-rPQB.js';
2
+ export { A as AccentImage, a as AccentPosition, b as AmbientGradientConfig, c as Animation, d as AnimationType, e as AudioBookmark, f as AudioSegment, g as AudioTimingData, h as AudioTrack, B as Block, i as BlockConnection, j as BorderStyle, C as CaptionPhrase, k as CaptionTrack, l as CaptionWord, m as ColorScheme, n as ComparisonBarInput, o as ContentBlockInput, p as CornerBrandingConfig, q as CustomTemplateDefinition, r as CustomTemplateLayer, D as DARK_SURFACE, s as DEFAULT_DOC_FONT, t as DEFAULT_TITLE_FONT, u as DataTableInput, v as DateEventInput, w as DeepPartial, x as DefinitionCardInput, y as DiagramBlockInput, z as DiagramEdgeAnchor, E as DiagramTemplateEdge, F as DiagramTemplateNode, G as Doc, H as DocBlock, I as DocDiagnostic, J as DrawingBlockInput, K as FRONTMATTER_CUSTOM_TEMPLATES_KEY, L as FRONTMATTER_CUSTOM_THEMES_KEY, M as FactCardInput, N as FontFamily, O as FontFamilyKind, P as FullBleedQuoteInput, Q as GradientBackgroundConfig, R as ImageBackgroundConfig, S as ImageLayer, T as ImageTreatment, U as ImageWithCaptionInput, V as LIGHT_SURFACE, W as Layer, X as LayerRepeat, Y as LayoutHints, Z as LeftFeatureInput, _ as LinearGradient, $ as ListBlockInput, a0 as MapBlockInput, a1 as MapLayer, a2 as MapMarker, a3 as MapTileStyle, a4 as MarkerStyle, a5 as MediaClip, a6 as MermaidLayer, a7 as PAGE_ACCENT_STRATEGIES, a8 as PAGE_BACKGROUNDS, a9 as PAGE_BACKGROUND_RHYTHMS, aa as PAGE_DESIGN_FAMILIES, ab as PAGE_DIVIDERS, ac as PAGE_EMPHASES, ad as PAGE_EYEBROWS, ae as PAGE_HEADING_CASES, af as PAGE_HEADING_SCALES, ag as PAGE_HEADING_UNDERLINES, ah as PAGE_HERO_STYLES, ai as PAGE_IMAGE_FRAMINGS, aj as PAGE_NUMERAL_STYLES, ak as PAGE_PATTERNS, al as PAGE_QUOTE_MARKS, am as PAGE_SECTION_KINDS, an as PAGE_SECTION_SPACINGS, ao as PAGE_SHADOWS, ap as PageAccentRotation, aq as PageBackground, ar as PageDesignFamily, as as PageEmphasis, at as PageHeadingTreatment, au as PageSectionKind, av as PageSectionOverride, aw as PageTokens, ax as PathLayer, ay as PatternBackgroundConfig, az as PersistentLayer, aA as PersistentLayerConfig, aB as PersistentLayerTemplate, aC as PersistentLayerTemplateConfig, aD as PersistentLayerTemplateType, aE as PhotoGridInput, aF as Position, aG as ProgressIndicatorConfig, aH as PullQuoteInput, aI as QuoteBlockInput, aJ as RawLayersInput, aK as RenderStyle, aL as RightFeatureInput, aM as ScheduledClip, aN as SectionHeaderInput, aO as ShapeFilter, aP as ShapeLayer, aQ as ShapePattern, aR as SolidBackgroundConfig, aS as StartBlockConfig, aT as StatHighlightInput, aU as SurfaceScheme, aV as THEME_SCHEMA_VERSION, aW as TableLayer, aX as TableLayerStyle, aY as TemplateBlock, aZ as TemplateContext, a_ as TemplateFunction, a$ as TemplateRegistry, b0 as TextLayer, b1 as TextStyle, b2 as Theme, b3 as ThemeColorPalette, b4 as ThemeColorScheme, b5 as ThemePageStyle, b6 as ThemeRegistry, b7 as ThemeSchemaVersion, b8 as ThemeSeedColors, b9 as ThemeStyle, ba as ThemeTypography, bb as TimelineBlockInput, bc as TimelineTemplateEvent, bd as TimelineTemplateLink, be as TimelineTemplateTrack, bf as TitleBlockInput, bg as TitleCaptionConfig, bh as TreeBlockInput, bi as TreeLayer, bj as TreeLayerItem, bk as TreeLayerStyle, bl as TreeTemplateItem, bm as TwoColumnInput, bn as VIEWPORT_PRESETS, bo as VideoLayer, bp as VideoPullQuoteInput, bq as VideoWithCaptionInput, br as ViewportConfig, bs as ViewportOrientation, bt as ViewportPreset, bu as VignetteConfig, bv as applySurface, bw as calculateDuration, bx as calculateFontScale, by as createTemplateContext, bz as createTheme, bA as createThemeRegistry, bB as getAspectRatioString, bC as getBlockAtTime, bD as getCaptionAtTime, bE as getDocPlaybackDuration, bF as getLayoutHints, bG as getSafeTextBounds, bH as getSegmentAtTime, bI as getTwoColumnPositions, bJ as getViewport, bK as getViewportOrientation, bL as isPersistentLayerTemplate, bM as isTemplateBlock, bN as layoutScaledFontSize, bO as resolveMediaSchedule, bP as scaledFontSize } from './Doc-BrgZC7SE.js';
3
3
  export { D as DEFAULT_MARKDOWN_SAFETY_LIMITS, a as DEFAULT_TRANSITION_DURATION_SECONDS, H as HeadingAttributes, b as HeadingTemplateAnnotation, c as HtmlComment, d as HtmlElement, e as HtmlNode, f as HtmlText, M as MarkdownBlockNode, g as MarkdownBlockquote, h as MarkdownBreak, i as MarkdownCodeBlock, j as MarkdownContainerDirective, k as MarkdownDefinitionDescription, l as MarkdownDefinitionList, m as MarkdownDefinitionTerm, n as MarkdownDocument, o as MarkdownEmphasis, p as MarkdownFootnoteDefinition, q as MarkdownFootnoteReference, r as MarkdownHeading, s as MarkdownHtmlBlock, t as MarkdownImage, u as MarkdownImageReference, v as MarkdownInlineCode, w as MarkdownInlineHtml, x as MarkdownInlineMath, y as MarkdownInlineNode, z as MarkdownLeafDirective, A as MarkdownLimitError, B as MarkdownLink, C as MarkdownLinkDefinition, E as MarkdownLinkReference, F as MarkdownList, G as MarkdownListItem, I as MarkdownMathBlock, J as MarkdownMention, K as MarkdownNode, L as MarkdownParagraph, N as MarkdownPoint, O as MarkdownSafetyLimits, P as MarkdownSourcePosition, Q as MarkdownStrikethrough, R as MarkdownStrong, S as MarkdownTable, T as MarkdownTableCell, U as MarkdownTableRow, V as MarkdownText, W as MarkdownTextDirective, X as MarkdownThematicBreak, Y as ParseOptions, Z as StringifyOptions, _ as TRANSITION_DIRECTIONS, $ as TRANSITION_TYPES, a0 as Transition, a1 as TransitionDirection, a2 as TransitionType, a3 as assertMarkdownDocumentWithinLimits, a4 as assertMarkdownSourceWithinLimits, a5 as isTransitionType, a6 as normalizeTransitionDirection, a7 as normalizeTransitionType, a8 as resolveBlockTransition, a9 as resolveMarkdownSafetyLimits, aa as resolveTransitionDuration } from './types-CUNc9biN.js';
4
4
  export { AVAILABLE_FONT_STACKS, CompileOptions, ContrastPreset, FONT_FALLBACKS, FontStack, MermaidThemeVariables, STARTER_THEME, ValidationError, ValidationResult, accentToColorScheme, assertTheme, buildGoogleFontsUrl, buildMermaidThemeVariables, compileTheme, contrastRatio, defaultPageStyle, deriveColorPalette, deriveScale, fontStack, getFontStack, guessFontFallback, hexHueDegrees, isHex, matchFontFamily, oklchDarken, oklchLighten, oklchSetChroma, parseTheme, pickContrastingText, relativeLuminance, resolveFontFamily, serializeTheme, validateTheme, withAlpha } from './schemas/index.js';
5
- export { D as DEFAULT_THEME, a as DEFAULT_THEME_ID, T as THEMES, g as getAvailableThemes, b as getThemeSummaries, r as resolveTheme } from './themeLibrary-BUTWjufL.js';
5
+ export { D as DEFAULT_THEME, a as DEFAULT_THEME_ID, T as THEMES, g as getAvailableThemes, b as getThemeSummaries, r as resolveTheme } from './themeLibrary-DJt89gyP.js';
6
6
  export { M as MediaEntry, a as MediaProvider } from './MediaProvider-wpSe21B3.js';
7
- export { E as EditorLayerMeta, I as ImageEditCanvas, a as ImageEditDoc, b as ImageEditLayer, c as ImageEditLayerKind, d as ImageEditMeta } from './ImageEditDoc-dtKahVyD.js';
8
- export { ASCII_CHAR_H, ASCII_CHAR_W, ASCII_DIAGRAM_FENCE_LANGS, ASCII_TIMELINE_FENCE_LANGS, AccentLayout, AsciiDiagram, AsciiDiagramDetection, AsciiDiagramEdge, AsciiDiagramNode, AsciiTimeline, AsciiTimelineDetection, AsciiTimelineEvent, AsciiTimelineLink, AsciiTimelineMarker, AsciiTimelineSide, AsciiTimelineStats, AsciiTimelineStyle, AsciiTimelineTrack, AudioSegmentTiming, BASE_INPUT_DESCRIPTORS, BLOCK_MEDIA_LAYOUT_POLICIES, BlockLayerMaterialization, BlockMediaLayoutPolicy, BuiltInTemplateName, CONTAINER_TEMPLATES, ClipBox, ConnectorAnchor, ConnectorPort, ConnectorRouting, ConnectorSnapPoint, CoverBlockInput, DEFAULT_LAYOUT, DIAGRAM_LABEL_HORIZONTAL_PADDING, DIAGRAM_LABEL_LINE_HEIGHT, DIAGRAM_LABEL_MIN_FONT_SIZE, DIAGRAM_LABEL_VERTICAL_PADDING, DataFenceParseResult, DeriveTemplateInputsOptions, DetectAsciiTimelineOptions, DiagramEdge, DiagramLabelFit, DiagramLayout, DiagramLayoutOptions, DiagramNodePosition, DrawingConnector, DrawingLayout, DrawingLayoutOptions, DrawingShape, DrawingShapeKind, EmbeddedVideo, ExpandDocBlocksOptions, ExtractedTableData, FirstImage, InputCoercion, LayerMaterializationDiagnostic, LayerMaterializationFailureMode, LayerMaterializationSource, LayoutLayerDefaults, LayoutLayersResult, MarkdownToDocOptions, MarkdownValidationResult, MaterializeBlockLayersOptions, NarrationResolution, NativeMediaLayout, NoMediaLayout, PAGE_BASE_CSS, PATH_SHAPE_KINDS, PageSectionContext, PageSectionDraft, RenderAsciiDiagramOptions, RenderAsciiTimelineOptions, RenderTreeOptions, RepairResult, ResolvedPageBlock, RuntimeTemplateRegistry, SHAPE_NAMES, SectionExtractor, SupplementalMediaLayoutVariant, SupplementalMediaShape, SupplementalMediaVariantMatrix, TEMPLATE_INPUT_DESCRIPTORS, TEMPLATE_METADATA, TREE_FENCE_LANGS, TemplateInputDescriptor, TemplateMediaOwnership, TemplateMetadata, TemplateParamFinding, Tree, TreeDetection, TreeItem, TreeNode, UnconsumedMediaBehavior, ValidateOptions, adjustY, anchorPoint, applyNarrationTiming, applyRenderStyleToLayers, asciiCellToCanvas, asciiDiagramFromBlocks, asciiDiagramFromTemplateData, asciiDiagramToTemplateData, asciiTimelineToTemplateData, autoTemplatePreservesContent, buildPageCss, buildPageCssVars, buildRegistry, canvasToAsciiCell, clipEndpoints, clipPoint, coerceTemplateParams, comparisonBar, computeDiagramLayout, computeDrawingLayout, computeLayoutLayers, connectorPath, countBlocks, coverBlock, createAccentLayers, cssFilterForTreatment, dataTable, dateEvent, definitionCard, deriveTemplateInputs, detectAsciiDiagram, detectAsciiTimeline, detectTree, diagramBlock, docToMarkdown, drawingBlock, expandCoverBlock, expandDocBlocks, expandPersistentLayers, extractBlockquoteText, extractBodyPlainText, extractEmbeddedVideos, extractFirstEmbeddedVideo, extractFirstImage, extractImages, extractListItems, extractTableData, extractTableFromContents, factCard, fallbackBlockLayers, findFirstList, findFirstTable, fitDiagramLabel, flattenBlocks, flattenRenderableBlocks, fullBleedQuote, getAccentLayout, getAnimationProgress, getAnimationStyle, getAvailableTemplates, getBlockBodyText, getBlockDepth, getBlockMediaLayoutPolicy, getDefaultAnimation, getDefaultAnimationDuration, getOverlayOpacity, getPersistentLayersFromTheme, getPinnedBlockMeta, getTemplateHint, getThemeFont, getTransitionClass, hasTemplate, imageWithCaption, isAsciiDiagramFence, isAsciiTimelineFence, isContainerTemplate, isDataFence, isEligibleAsciiFenceLang, isEligibleAsciiTimelineFenceLang, isEligibleTreeFenceLang, isExplicitDiagramLang, isExplicitTimelineLang, isExplicitTreeLang, isRepairableDiagram, isShapeName, isTemplatedPageBlock, isTreeFence, isWrappedFlowTimelineSource, layoutBlock, leftFeature, lineStyleDasharray, lintTemplateParams, listBlock, mapBlock, markdownToDoc, markerPath, materializeBlockLayers, nearestSnapPoint, normalizeShapeKind, pageStyleDataAttributes, parseAsciiDiagram, parseAsciiTimeline, parseAsciiTimelineWithStats, parseDataFence, parseTree, parseWrappedFlowTimeline, parseYamlSubset, photoGrid, pullQuote, quoteBlock, readCustomTemplatesFromFrontmatter, readCustomThemesFromFrontmatter, renderAsciiDiagram, renderAsciiTimeline, renderTree, repairAsciiDiagram, replaceDataFence, resolveAudioMapping, resolveColorScheme, resolvePageBlock, resolvePersistentLayers, resolveTemplateName, resolveThemeForDoc, rightFeature, scaleAnimationDuration, scoreTextSimilarity, sectionExtractors, sectionHeader, shapePath, shouldUseShadow, snapEndpoints, snapPoints, statHighlight, templateRegistry, themeWantsAmbientMotion, themedEntrance, themedFontSize, themedImageTreatment, themedScrim, themedSurfaceGradient, timelineBlock, titleBlock, treeBlock, treeFromMarkdownList, treeFromTemplateData, treeToTemplateData, twoColumn, validateMarkdownDoc, validateMarkdownSource, videoPullQuote, videoWithCaption, wrapWithPersistentLayers, writeCustomTemplatesToFrontmatter, writeCustomThemesToFrontmatter } from './doc/index.js';
9
- export { M as MaterializePageSectionOptions, a as MaterializePageSectionsOptions, P as PageMedia, b as PageRichText, c as PageSection, d as PageSectionDiagnostic, e as PageSectionItem, f as PageSectionMaterialization, g as PageSectionSource, h as PageSpatialKind, i as PageTransformHints, m as materializePageSection, j as materializePageSections, r as resolvePageStyle } from './materializePageSection-BSMOocve.js';
7
+ export { E as EditorLayerMeta, I as ImageEditCanvas, a as ImageEditDoc, b as ImageEditLayer, c as ImageEditLayerKind, d as ImageEditMeta } from './ImageEditDoc-rum0Xb9P.js';
8
+ export { ASCII_CHAR_H, ASCII_CHAR_W, ASCII_DIAGRAM_FENCE_LANGS, ASCII_TIMELINE_FENCE_LANGS, AccentLayout, AsciiDiagram, AsciiDiagramDetection, AsciiDiagramEdge, AsciiDiagramNode, AsciiTimeline, AsciiTimelineDetection, AsciiTimelineEvent, AsciiTimelineLink, AsciiTimelineMarker, AsciiTimelineSide, AsciiTimelineStats, AsciiTimelineStyle, AsciiTimelineTrack, AudioSegmentTiming, BASE_INPUT_DESCRIPTORS, BLOCK_MEDIA_LAYOUT_POLICIES, BlockLayerMaterialization, BlockMediaLayoutPolicy, BuiltInTemplateName, CONTAINER_TEMPLATES, ClipBox, ConnectorAnchor, ConnectorPort, ConnectorRouting, ConnectorSnapPoint, CoverBlockInput, DEFAULT_LAYOUT, DIAGRAM_LABEL_HORIZONTAL_PADDING, DIAGRAM_LABEL_LINE_HEIGHT, DIAGRAM_LABEL_MIN_FONT_SIZE, DIAGRAM_LABEL_VERTICAL_PADDING, DataFenceParseResult, DeriveTemplateInputsOptions, DetectAsciiTimelineOptions, DiagramEdge, DiagramLabelFit, DiagramLayout, DiagramLayoutOptions, DiagramNodePosition, DrawingConnector, DrawingLayout, DrawingLayoutOptions, DrawingShape, DrawingShapeKind, EmbeddedVideo, ExpandDocBlocksOptions, ExtractedTableData, FirstImage, InputCoercion, LayerMaterializationDiagnostic, LayerMaterializationFailureMode, LayerMaterializationSource, LayoutLayerDefaults, LayoutLayersResult, MarkdownToDocOptions, MarkdownValidationResult, MaterializeBlockLayersOptions, NarrationResolution, NativeMediaLayout, NoMediaLayout, PAGE_BASE_CSS, PATH_SHAPE_KINDS, PageSectionContext, PageSectionDraft, RenderAsciiDiagramOptions, RenderAsciiTimelineOptions, RenderTreeOptions, RepairResult, ResolvedPageBlock, RuntimeTemplateRegistry, SHAPE_NAMES, SectionExtractor, SupplementalMediaLayoutVariant, SupplementalMediaShape, SupplementalMediaVariantMatrix, TEMPLATE_AUTHORING_METADATA, TEMPLATE_INPUT_DESCRIPTORS, TEMPLATE_METADATA, TREE_FENCE_LANGS, TemplateAuthoringMetadata, TemplateAuthoringRole, TemplateBodyPolicy, TemplateInputDescriptor, TemplateMediaOwnership, TemplateMetadata, TemplateParamFinding, Tree, TreeDetection, TreeItem, TreeNode, UnconsumedMediaBehavior, ValidateOptions, adjustY, anchorPoint, applyNarrationTiming, applyRenderStyleToLayers, asciiCellToCanvas, asciiDiagramFromBlocks, asciiDiagramFromTemplateData, asciiDiagramToTemplateData, asciiTimelineToTemplateData, autoTemplatePreservesContent, buildPageCss, buildPageCssVars, buildRegistry, canvasToAsciiCell, clipEndpoints, clipPoint, coerceTemplateParams, comparisonBar, computeDiagramLayout, computeDrawingLayout, computeLayoutLayers, connectorPath, contentBlock, countBlocks, coverBlock, createAccentLayers, cssFilterForTreatment, dataTable, dateEvent, definitionCard, deriveTemplateInputs, detectAsciiDiagram, detectAsciiTimeline, detectTree, diagramBlock, docToMarkdown, drawingBlock, expandCoverBlock, expandDocBlocks, expandPersistentLayers, extractBlockquoteText, extractBodyPlainText, extractEmbeddedVideos, extractFirstEmbeddedVideo, extractFirstImage, extractImages, extractListItems, extractTableData, extractTableFromContents, factCard, fallbackBlockLayers, findFirstList, findFirstTable, fitDiagramLabel, flattenBlocks, flattenRenderableBlocks, fullBleedQuote, getAccentLayout, getAnimationProgress, getAnimationStyle, getAvailableTemplates, getBlockBodyText, getBlockDepth, getBlockMediaLayoutPolicy, getDefaultAnimation, getDefaultAnimationDuration, getOverlayOpacity, getPersistentLayersFromTheme, getPinnedBlockMeta, getTemplateHint, getThemeFont, getTransitionClass, hasTemplate, imageWithCaption, isAsciiDiagramFence, isAsciiTimelineFence, isContainerTemplate, isDataFence, isEligibleAsciiFenceLang, isEligibleAsciiTimelineFenceLang, isEligibleTreeFenceLang, isExplicitDiagramLang, isExplicitTimelineLang, isExplicitTreeLang, isRepairableDiagram, isShapeName, isTemplatedPageBlock, isTreeFence, isWrappedFlowTimelineSource, layoutBlock, leftFeature, lineStyleDasharray, lintTemplateParams, listBlock, mapBlock, markdownToDoc, markerPath, materializeBlockLayers, nearestSnapPoint, normalizeShapeKind, pageStyleDataAttributes, parseAsciiDiagram, parseAsciiTimeline, parseAsciiTimelineWithStats, parseDataFence, parseTree, parseWrappedFlowTimeline, parseYamlSubset, photoGrid, pullQuote, quoteBlock, readCustomTemplatesFromFrontmatter, readCustomThemesFromFrontmatter, renderAsciiDiagram, renderAsciiTimeline, renderTree, repairAsciiDiagram, replaceDataFence, resolveAudioMapping, resolveColorScheme, resolvePageBlock, resolvePersistentLayers, resolveTemplateName, resolveThemeForDoc, rightFeature, scaleAnimationDuration, scoreTextSimilarity, sectionExtractors, sectionHeader, shapePath, shouldUseShadow, snapEndpoints, snapPoints, statHighlight, templateRegistry, themeWantsAmbientMotion, themedEntrance, themedFontSize, themedImageTreatment, themedScrim, themedSurfaceGradient, timelineBlock, titleBlock, treeBlock, treeFromMarkdownList, treeFromTemplateData, treeToTemplateData, twoColumn, validateMarkdownDoc, validateMarkdownSource, videoPullQuote, videoWithCaption, wrapWithPersistentLayers, writeCustomTemplatesToFrontmatter, writeCustomThemesToFrontmatter } from './doc/index.js';
9
+ export { M as MaterializePageSectionOptions, a as MaterializePageSectionsOptions, P as PageMedia, b as PageRichText, c as PageSection, d as PageSectionDiagnostic, e as PageSectionItem, f as PageSectionMaterialization, g as PageSectionSource, h as PageSpatialKind, i as PageTransformHints, m as materializePageSection, j as materializePageSections, r as resolvePageStyle } from './materializePageSection-DAbyLi-k.js';
10
10
  export { calculateBearing, decodeGeohash, encodeGeohash, geohashOverlapsBounds, geohashToHierarchicalPath, getGeohash4Neighbors, getGeohashPath, getGeohashPrefix, getNeighbors, haversineDistance } from './spatial/index.js';
11
11
  export { LocalForageAdapter, LocalForageAdapterOptions, LocalStorageAdapter, MemoryStorageAdapter, ScopedContentContainer, StorageAdapter, createMediaProviderFromContainer, scopeContainer } from './storage/index.js';
12
12
  export { C as ContentContainer, a as ContentEntry, M as MemoryContentContainer, f as findDocumentPath } from './ContentContainer-B2w9sUoL.js';
package/dist/index.js CHANGED
@@ -23,7 +23,7 @@ import {
23
23
  reanchorSession,
24
24
  traceWordPosAt,
25
25
  vadStep
26
- } from "./chunk-FYRWV6AJ.js";
26
+ } from "./chunk-BCHAXKKI.js";
27
27
  import {
28
28
  DEFAULT_TRANSFORM_STYLE_ID,
29
29
  analyzeBlocks,
@@ -162,7 +162,7 @@ import {
162
162
  sectionExtractors,
163
163
  validateMarkdownDoc,
164
164
  validateMarkdownSource
165
- } from "./chunk-3FRUQLQR.js";
165
+ } from "./chunk-ZAFLMJPD.js";
166
166
  import {
167
167
  ASCII_CHAR_H,
168
168
  ASCII_CHAR_W,
@@ -175,6 +175,7 @@ import {
175
175
  DIAGRAM_LABEL_MIN_FONT_SIZE,
176
176
  DIAGRAM_LABEL_VERTICAL_PADDING,
177
177
  SHAPE_NAMES,
178
+ TEMPLATE_AUTHORING_METADATA,
178
179
  TEMPLATE_INPUT_DESCRIPTORS,
179
180
  TEMPLATE_METADATA,
180
181
  adjustY,
@@ -194,6 +195,7 @@ import {
194
195
  computeDiagramLayout,
195
196
  computeDrawingLayout,
196
197
  computeLayoutLayers,
198
+ contentBlock,
197
199
  countBlocks,
198
200
  coverBlock,
199
201
  createAccentLayers,
@@ -288,7 +290,7 @@ import {
288
290
  wrapWithPersistentLayers,
289
291
  writeCustomTemplatesToFrontmatter,
290
292
  writeCustomThemesToFrontmatter
291
- } from "./chunk-E3RXZUNP.js";
293
+ } from "./chunk-CKZY6K5R.js";
292
294
  import {
293
295
  PATH_SHAPE_KINDS,
294
296
  anchorPoint,
@@ -576,6 +578,7 @@ export {
576
578
  STARTER_THEME,
577
579
  ScopedContentContainer,
578
580
  SeededRandom,
581
+ TEMPLATE_AUTHORING_METADATA,
579
582
  TEMPLATE_INPUT_DESCRIPTORS,
580
583
  TEMPLATE_METADATA,
581
584
  THEMES,
@@ -637,6 +640,7 @@ export {
637
640
  computeDrawingLayout,
638
641
  computeLayoutLayers,
639
642
  connectorPath,
643
+ contentBlock,
640
644
  contrastRatio,
641
645
  countBlocks,
642
646
  countNodes,
@@ -1,4 +1,4 @@
1
- import { b1 as Theme, aT as SurfaceScheme } from '../Doc-COe-rPQB.js';
1
+ import { b2 as Theme, aU as SurfaceScheme } from '../Doc-BrgZC7SE.js';
2
2
  import '../types-CUNc9biN.js';
3
3
 
4
4
  /**
@@ -1,4 +1,4 @@
1
- import { B as Block, at as PageSectionKind, ar as PageEmphasis, b3 as ThemeColorScheme, ap as PageBackground, b1 as Theme, bq as ViewportConfig, p as CustomTemplateDefinition, aR as StartBlockConfig, F as Doc, b4 as ThemePageStyle } from './Doc-COe-rPQB.js';
1
+ import { B as Block, au as PageSectionKind, as as PageEmphasis, b4 as ThemeColorScheme, aq as PageBackground, b2 as Theme, br as ViewportConfig, q as CustomTemplateDefinition, aS as StartBlockConfig, G as Doc, b5 as ThemePageStyle } from './Doc-BrgZC7SE.js';
2
2
  import { M as MarkdownBlockNode } from './types-CUNc9biN.js';
3
3
 
4
4
  /**
@@ -1,4 +1,4 @@
1
- import { F as Doc, e as AudioBookmark } from '../Doc-COe-rPQB.js';
1
+ import { G as Doc, e as AudioBookmark } from '../Doc-BrgZC7SE.js';
2
2
  import '../types-CUNc9biN.js';
3
3
 
4
4
  /**
@@ -23,7 +23,7 @@ import {
23
23
  reanchorSession,
24
24
  traceWordPosAt,
25
25
  vadStep
26
- } from "../chunk-FYRWV6AJ.js";
26
+ } from "../chunk-BCHAXKKI.js";
27
27
  import {
28
28
  buildNarrationScript,
29
29
  buildNarrationTimingJson,
@@ -33,7 +33,7 @@ import {
33
33
  wordIndexAtChar,
34
34
  wordIndexAtTime,
35
35
  wordPosAtExpectedSyllables
36
- } from "../chunk-E3RXZUNP.js";
36
+ } from "../chunk-CKZY6K5R.js";
37
37
  import "../chunk-PUS54YU6.js";
38
38
  import "../chunk-QWCFK5FN.js";
39
39
  import "../chunk-C33GTPUZ.js";
@@ -1,10 +1,10 @@
1
1
  export { B as BoundingBox, C as Coordinates } from '../Types-sh2VRxfo.js';
2
- import { b1 as Theme, b4 as ThemePageStyle, b3 as ThemeColorScheme, v as DeepPartial, b7 as ThemeSeedColors, b2 as ThemeColorPalette, N as FontFamilyKind, M as FontFamily } from '../Doc-COe-rPQB.js';
3
- export { A as AccentImage, a as AccentPosition, b as AmbientGradientConfig, c as Animation, d as AnimationType, e as AudioBookmark, f as AudioSegment, g as AudioTimingData, h as AudioTrack, B as Block, i as BlockConnection, j as BorderStyle, C as CaptionPhrase, k as CaptionTrack, l as CaptionWord, m as ColorScheme, n as ComparisonBarInput, o as CornerBrandingConfig, p as CustomTemplateDefinition, q as CustomTemplateLayer, D as DARK_SURFACE, r as DEFAULT_DOC_FONT, s as DEFAULT_TITLE_FONT, t as DataTableInput, u as DateEventInput, w as DefinitionCardInput, x as DiagramBlockInput, y as DiagramEdgeAnchor, z as DiagramTemplateEdge, E as DiagramTemplateNode, F as Doc, G as DocBlock, H as DocDiagnostic, I as DrawingBlockInput, J as FRONTMATTER_CUSTOM_TEMPLATES_KEY, K as FRONTMATTER_CUSTOM_THEMES_KEY, L as FactCardInput, O as FullBleedQuoteInput, P as GradientBackgroundConfig, Q as ImageBackgroundConfig, R as ImageLayer, S as ImageTreatment, T as ImageWithCaptionInput, U as LIGHT_SURFACE, V as Layer, W as LayerRepeat, X as LayoutHints, Y as LeftFeatureInput, Z as LinearGradient, _ as ListBlockInput, $ as MapBlockInput, a0 as MapLayer, a1 as MapMarker, a2 as MapTileStyle, a3 as MarkerStyle, a4 as MediaClip, a5 as MermaidLayer, a6 as PAGE_ACCENT_STRATEGIES, a7 as PAGE_BACKGROUNDS, a8 as PAGE_BACKGROUND_RHYTHMS, a9 as PAGE_DESIGN_FAMILIES, aa as PAGE_DIVIDERS, ab as PAGE_EMPHASES, ac as PAGE_EYEBROWS, ad as PAGE_HEADING_CASES, ae as PAGE_HEADING_SCALES, af as PAGE_HEADING_UNDERLINES, ag as PAGE_HERO_STYLES, ah as PAGE_IMAGE_FRAMINGS, ai as PAGE_NUMERAL_STYLES, aj as PAGE_PATTERNS, ak as PAGE_QUOTE_MARKS, al as PAGE_SECTION_KINDS, am as PAGE_SECTION_SPACINGS, an as PAGE_SHADOWS, ao as PageAccentRotation, ap as PageBackground, aq as PageDesignFamily, ar as PageEmphasis, as as PageHeadingTreatment, at as PageSectionKind, au as PageSectionOverride, av as PageTokens, aw as PathLayer, ax as PatternBackgroundConfig, ay as PersistentLayer, az as PersistentLayerConfig, aA as PersistentLayerTemplate, aB as PersistentLayerTemplateConfig, aC as PersistentLayerTemplateType, aD as PhotoGridInput, aE as Position, aF as ProgressIndicatorConfig, aG as PullQuoteInput, aH as QuoteBlockInput, aI as RawLayersInput, aJ as RenderStyle, aK as RightFeatureInput, aL as ScheduledClip, aM as SectionHeaderInput, aN as ShapeFilter, aO as ShapeLayer, aP as ShapePattern, aQ as SolidBackgroundConfig, aR as StartBlockConfig, aS as StatHighlightInput, aT as SurfaceScheme, aU as THEME_SCHEMA_VERSION, aV as TableLayer, aW as TableLayerStyle, aX as TemplateBlock, aY as TemplateContext, aZ as TemplateFunction, a_ as TemplateRegistry, a$ as TextLayer, b0 as TextStyle, b5 as ThemeRegistry, b6 as ThemeSchemaVersion, b8 as ThemeStyle, b9 as ThemeTypography, ba as TimelineBlockInput, bb as TimelineTemplateEvent, bc as TimelineTemplateLink, bd as TimelineTemplateTrack, be as TitleBlockInput, bf as TitleCaptionConfig, bg as TreeBlockInput, bh as TreeLayer, bi as TreeLayerItem, bj as TreeLayerStyle, bk as TreeTemplateItem, bl as TwoColumnInput, bm as VIEWPORT_PRESETS, bn as VideoLayer, bo as VideoPullQuoteInput, bp as VideoWithCaptionInput, bq as ViewportConfig, br as ViewportOrientation, bs as ViewportPreset, bt as VignetteConfig, bu as applySurface, bv as calculateDuration, bw as calculateFontScale, bx as createTemplateContext, by as createTheme, bz as createThemeRegistry, bA as getAspectRatioString, bB as getBlockAtTime, bC as getCaptionAtTime, bD as getDocPlaybackDuration, bE as getLayoutHints, bF as getSafeTextBounds, bG as getSegmentAtTime, bH as getTwoColumnPositions, bI as getViewport, bJ as getViewportOrientation, bK as isPersistentLayerTemplate, bL as isTemplateBlock, bM as layoutScaledFontSize, bN as resolveMediaSchedule, bO as scaledFontSize } from '../Doc-COe-rPQB.js';
2
+ import { b2 as Theme, b5 as ThemePageStyle, b4 as ThemeColorScheme, w as DeepPartial, b8 as ThemeSeedColors, b3 as ThemeColorPalette, O as FontFamilyKind, N as FontFamily } from '../Doc-BrgZC7SE.js';
3
+ export { A as AccentImage, a as AccentPosition, b as AmbientGradientConfig, c as Animation, d as AnimationType, e as AudioBookmark, f as AudioSegment, g as AudioTimingData, h as AudioTrack, B as Block, i as BlockConnection, j as BorderStyle, C as CaptionPhrase, k as CaptionTrack, l as CaptionWord, m as ColorScheme, n as ComparisonBarInput, o as ContentBlockInput, p as CornerBrandingConfig, q as CustomTemplateDefinition, r as CustomTemplateLayer, D as DARK_SURFACE, s as DEFAULT_DOC_FONT, t as DEFAULT_TITLE_FONT, u as DataTableInput, v as DateEventInput, x as DefinitionCardInput, y as DiagramBlockInput, z as DiagramEdgeAnchor, E as DiagramTemplateEdge, F as DiagramTemplateNode, G as Doc, H as DocBlock, I as DocDiagnostic, J as DrawingBlockInput, K as FRONTMATTER_CUSTOM_TEMPLATES_KEY, L as FRONTMATTER_CUSTOM_THEMES_KEY, M as FactCardInput, P as FullBleedQuoteInput, Q as GradientBackgroundConfig, R as ImageBackgroundConfig, S as ImageLayer, T as ImageTreatment, U as ImageWithCaptionInput, V as LIGHT_SURFACE, W as Layer, X as LayerRepeat, Y as LayoutHints, Z as LeftFeatureInput, _ as LinearGradient, $ as ListBlockInput, a0 as MapBlockInput, a1 as MapLayer, a2 as MapMarker, a3 as MapTileStyle, a4 as MarkerStyle, a5 as MediaClip, a6 as MermaidLayer, a7 as PAGE_ACCENT_STRATEGIES, a8 as PAGE_BACKGROUNDS, a9 as PAGE_BACKGROUND_RHYTHMS, aa as PAGE_DESIGN_FAMILIES, ab as PAGE_DIVIDERS, ac as PAGE_EMPHASES, ad as PAGE_EYEBROWS, ae as PAGE_HEADING_CASES, af as PAGE_HEADING_SCALES, ag as PAGE_HEADING_UNDERLINES, ah as PAGE_HERO_STYLES, ai as PAGE_IMAGE_FRAMINGS, aj as PAGE_NUMERAL_STYLES, ak as PAGE_PATTERNS, al as PAGE_QUOTE_MARKS, am as PAGE_SECTION_KINDS, an as PAGE_SECTION_SPACINGS, ao as PAGE_SHADOWS, ap as PageAccentRotation, aq as PageBackground, ar as PageDesignFamily, as as PageEmphasis, at as PageHeadingTreatment, au as PageSectionKind, av as PageSectionOverride, aw as PageTokens, ax as PathLayer, ay as PatternBackgroundConfig, az as PersistentLayer, aA as PersistentLayerConfig, aB as PersistentLayerTemplate, aC as PersistentLayerTemplateConfig, aD as PersistentLayerTemplateType, aE as PhotoGridInput, aF as Position, aG as ProgressIndicatorConfig, aH as PullQuoteInput, aI as QuoteBlockInput, aJ as RawLayersInput, aK as RenderStyle, aL as RightFeatureInput, aM as ScheduledClip, aN as SectionHeaderInput, aO as ShapeFilter, aP as ShapeLayer, aQ as ShapePattern, aR as SolidBackgroundConfig, aS as StartBlockConfig, aT as StatHighlightInput, aU as SurfaceScheme, aV as THEME_SCHEMA_VERSION, aW as TableLayer, aX as TableLayerStyle, aY as TemplateBlock, aZ as TemplateContext, a_ as TemplateFunction, a$ as TemplateRegistry, b0 as TextLayer, b1 as TextStyle, b6 as ThemeRegistry, b7 as ThemeSchemaVersion, b9 as ThemeStyle, ba as ThemeTypography, bb as TimelineBlockInput, bc as TimelineTemplateEvent, bd as TimelineTemplateLink, be as TimelineTemplateTrack, bf as TitleBlockInput, bg as TitleCaptionConfig, bh as TreeBlockInput, bi as TreeLayer, bj as TreeLayerItem, bk as TreeLayerStyle, bl as TreeTemplateItem, bm as TwoColumnInput, bn as VIEWPORT_PRESETS, bo as VideoLayer, bp as VideoPullQuoteInput, bq as VideoWithCaptionInput, br as ViewportConfig, bs as ViewportOrientation, bt as ViewportPreset, bu as VignetteConfig, bv as applySurface, bw as calculateDuration, bx as calculateFontScale, by as createTemplateContext, bz as createTheme, bA as createThemeRegistry, bB as getAspectRatioString, bC as getBlockAtTime, bD as getCaptionAtTime, bE as getDocPlaybackDuration, bF as getLayoutHints, bG as getSafeTextBounds, bH as getSegmentAtTime, bI as getTwoColumnPositions, bJ as getViewport, bK as getViewportOrientation, bL as isPersistentLayerTemplate, bM as isTemplateBlock, bN as layoutScaledFontSize, bO as resolveMediaSchedule, bP as scaledFontSize } from '../Doc-BrgZC7SE.js';
4
4
  export { a as DEFAULT_TRANSITION_DURATION_SECONDS, _ as TRANSITION_DIRECTIONS, $ as TRANSITION_TYPES, a0 as Transition, a1 as TransitionDirection, a2 as TransitionType, a5 as isTransitionType, a6 as normalizeTransitionDirection, a7 as normalizeTransitionType, a8 as resolveBlockTransition, aa as resolveTransitionDuration } from '../types-CUNc9biN.js';
5
- export { D as DEFAULT_THEME, a as DEFAULT_THEME_ID, T as THEMES, g as getAvailableThemes, b as getThemeSummaries, r as resolveTheme } from '../themeLibrary-BUTWjufL.js';
5
+ export { D as DEFAULT_THEME, a as DEFAULT_THEME_ID, T as THEMES, g as getAvailableThemes, b as getThemeSummaries, r as resolveTheme } from '../themeLibrary-DJt89gyP.js';
6
6
  export { M as MediaEntry, a as MediaProvider } from '../MediaProvider-wpSe21B3.js';
7
- export { E as EditorLayerMeta, I as ImageEditCanvas, a as ImageEditDoc, b as ImageEditLayer, c as ImageEditLayerKind, d as ImageEditMeta } from '../ImageEditDoc-dtKahVyD.js';
7
+ export { E as EditorLayerMeta, I as ImageEditCanvas, a as ImageEditDoc, b as ImageEditLayer, c as ImageEditLayerKind, d as ImageEditMeta } from '../ImageEditDoc-rum0Xb9P.js';
8
8
 
9
9
  /**
10
10
  * Page Style Defaults
@@ -1,4 +1,4 @@
1
- import { b1 as Theme, b5 as ThemeRegistry } from './Doc-COe-rPQB.js';
1
+ import { b2 as Theme, b6 as ThemeRegistry } from './Doc-BrgZC7SE.js';
2
2
 
3
3
  /**
4
4
  * Built-in Theme Library
@@ -1,5 +1,5 @@
1
- import { m as ColorScheme, F as Doc, B as Block } from '../Doc-COe-rPQB.js';
2
- import { i as PageTransformHints } from '../materializePageSection-BSMOocve.js';
1
+ import { m as ColorScheme, G as Doc, B as Block } from '../Doc-BrgZC7SE.js';
2
+ import { i as PageTransformHints } from '../materializePageSection-DAbyLi-k.js';
3
3
  import { d as ExtractionType, E as ExtractedElement, b as ExtractionOptions } from '../contentExtractor-BNfVJV2U.js';
4
4
  import '../types-CUNc9biN.js';
5
5
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bendyline/squisq",
3
- "version": "2.3.1",
3
+ "version": "2.3.2",
4
4
  "description": "Headless utilities for doc/block rendering, spatial math, Markdown, and storage",
5
5
  "license": "MIT",
6
6
  "author": "Bendyline",