@openpresentation/opf 0.12.1 → 0.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/README.md +1 -1
  2. package/dist/audit.d.ts +9 -130
  3. package/dist/audit.js +5 -5
  4. package/dist/{catalogs-BnI7JKcn.d.ts → catalogs-ywCamd8C.d.ts} +1 -1
  5. package/dist/catalogs.d.ts +2 -2
  6. package/dist/chart-data-Cdr6rRVV.d.ts +177 -0
  7. package/dist/{chunk-6LZK2IZB.js → chunk-7N4VMAT4.js} +11 -7
  8. package/dist/{chunk-4LAM3N6S.js → chunk-7QBCWNWL.js} +424 -18
  9. package/dist/{chunk-SOSOBKQ2.js → chunk-ATGDDJPX.js} +4 -5
  10. package/dist/{chunk-V2537ENL.js → chunk-II5EYKZU.js} +9 -7
  11. package/dist/{chunk-MWPMJE6P.js → chunk-INU7ZNSB.js} +50 -2
  12. package/dist/{chunk-RUC7L5DJ.js → chunk-IS2CPNVJ.js} +1 -1
  13. package/dist/{chunk-JKVKYVWL.js → chunk-IYCJUKWD.js} +90 -471
  14. package/dist/{chunk-HOBSL7AJ.js → chunk-MPM7NRG7.js} +2396 -1408
  15. package/dist/{chunk-AUM5MXBR.js → chunk-RAYB46AB.js} +8 -6
  16. package/dist/{composition-DWbCiMwF.d.ts → composition-D7we69Tr.d.ts} +7 -0
  17. package/dist/composition.d.ts +2 -1
  18. package/dist/composition.js +1 -1
  19. package/dist/convert.d.ts +4 -1
  20. package/dist/convert.js +33 -16
  21. package/dist/data.d.ts +2 -1
  22. package/dist/data.js +3 -1
  23. package/dist/diff.d.ts +1 -1
  24. package/dist/diff.js +8 -7
  25. package/dist/docs.js +32 -26
  26. package/dist/examples.d.ts +1 -1
  27. package/dist/examples.js +102 -57
  28. package/dist/format.js +1 -1
  29. package/dist/index.d.ts +13 -10
  30. package/dist/index.js +8 -8
  31. package/dist/lint-B7azdiuE.d.ts +197 -0
  32. package/dist/lint.d.ts +7 -70
  33. package/dist/lint.js +4 -4
  34. package/dist/markdown.d.ts +7 -5
  35. package/dist/markdown.js +5 -5
  36. package/dist/pagination.d.ts +2 -1
  37. package/dist/pagination.js +4 -4
  38. package/dist/patch.js +4 -4
  39. package/dist/{presentation-DcF-MZcz.d.ts → presentation-mG-IYErQ.d.ts} +187 -14
  40. package/dist/repo-readme.js +1 -1
  41. package/dist/{schemas-BSjlG8-R.d.ts → schemas-BbPonsTz.d.ts} +18 -0
  42. package/dist/schemas.d.ts +1 -1
  43. package/dist/schemas.js +1 -1
  44. package/dist/spec/catalogs/manifest.json +3 -3
  45. package/dist/spec/schemas/opf.schema.json +238 -20
  46. package/dist/types.d.ts +4 -4
  47. package/dist/{validator-DfG9yxba.d.ts → validator-CIylxoIm.d.ts} +3 -3
  48. package/dist/validator.d.ts +4 -4
  49. package/dist/validator.js +3 -3
  50. package/package.json +3 -3
@@ -1,4 +1,4 @@
1
- import { P as Presentation } from './presentation-DcF-MZcz.js';
1
+ import { P as Presentation } from './presentation-mG-IYErQ.js';
2
2
 
3
3
  interface ExampleRecord {
4
4
  /** Filename slug, without the `.opf.json` suffix. */
package/dist/examples.js CHANGED
@@ -39214,7 +39214,8 @@ var examplesData = Object.freeze([
39214
39214
  "custom": {
39215
39215
  "signal": "#BE123C",
39216
39216
  "risk": "#B45309"
39217
- }
39217
+ },
39218
+ "accent5": "#CBD5E1"
39218
39219
  },
39219
39220
  "fontScheme": {
39220
39221
  "id": "traditional-arabic",
@@ -39244,10 +39245,6 @@ var examplesData = Object.freeze([
39244
39245
  "imageFill": "fit",
39245
39246
  "listBullet": "image",
39246
39247
  "logo": "asset:brand-logo",
39247
- "watermark": {
39248
- "src": "asset:watermark",
39249
- "opacity": 0.06
39250
- },
39251
39248
  "header": {
39252
39249
  "left": {
39253
39250
  "section": true
@@ -39261,7 +39258,7 @@ var examplesData = Object.freeze([
39261
39258
  "organization": true
39262
39259
  },
39263
39260
  "center": {
39264
- "text": "Decision review"
39261
+ "text": "Developer conference"
39265
39262
  },
39266
39263
  "right": {
39267
39264
  "slideNumber": true
@@ -39279,8 +39276,8 @@ var examplesData = Object.freeze([
39279
39276
  "layout": "title",
39280
39277
  "tag": "Conference talk",
39281
39278
  "title": "Developer Conference Talk",
39282
- "subtitle": "VectorTrail Conference talk",
39283
- "notes": "Open by naming the decision: Teach builders how to design observable agent workflows."
39279
+ "subtitle": "Designing observable agent workflows",
39280
+ "notes": "Open with the problem: agents fail quietly unless the workflow is designed to be observed."
39284
39281
  },
39285
39282
  {
39286
39283
  "id": "s2",
@@ -39288,28 +39285,28 @@ var examplesData = Object.freeze([
39288
39285
  "layout": "text-3x",
39289
39286
  "title": "Why This Matters",
39290
39287
  "text": [
39291
- "VectorTrail should focus the next cycle on ",
39288
+ "Agents fail quietly. VectorTrail helps builders ",
39292
39289
  {
39293
- "text": "teach builders how to design observable agent workflows",
39290
+ "text": "design agent workflows they can observe",
39294
39291
  "bold": true,
39295
39292
  "color": "#0F172A"
39296
39293
  },
39297
- " while making the operating tradeoffs clear to conference talk stakeholders."
39294
+ ": every step traced, every tool call measured, every regression caught before users notice."
39298
39295
  ]
39299
39296
  },
39300
39297
  {
39301
39298
  "id": "s3",
39302
39299
  "section": "Evidence",
39303
- "layout": "chart-3x",
39300
+ "layout": "chart-1x",
39304
39301
  "title": "Signal Trend",
39305
39302
  "type": "chart",
39306
39303
  "chart": {
39307
- "type": "100pct-stacked-area-2x",
39304
+ "type": "line-with-markers",
39308
39305
  "data": {
39309
39306
  "columns": [
39310
39307
  "Quarter",
39311
- "Current",
39312
- "Baseline"
39308
+ "Traced workflows (%)",
39309
+ "Baseline (%)"
39313
39310
  ],
39314
39311
  "rows": [
39315
39312
  [
@@ -39350,20 +39347,20 @@ var examplesData = Object.freeze([
39350
39347
  ],
39351
39348
  "rows": [
39352
39349
  [
39353
- "Conference talk",
39354
- "Program lead",
39355
- "At risk",
39356
- "Continue"
39350
+ "Tracing SDK",
39351
+ "Platform",
39352
+ "On track",
39353
+ "Ship the public beta"
39357
39354
  ],
39358
39355
  [
39359
- "Data and reporting",
39356
+ "Evaluation dashboards",
39360
39357
  "Analytics",
39361
- "On track",
39358
+ "At risk",
39362
39359
  "Tighten metric definitions"
39363
39360
  ],
39364
39361
  [
39365
- "Field adoption",
39366
- "Operations",
39362
+ "Docs and samples",
39363
+ "Developer relations",
39367
39364
  "Watch",
39368
39365
  "Add weekly office hours"
39369
39366
  ]
@@ -39377,11 +39374,11 @@ var examplesData = Object.freeze([
39377
39374
  "title": "Execution Timeline",
39378
39375
  "type": "timeline",
39379
39376
  "timeline": {
39380
- "name": "Conference talk execution path",
39381
- "description": "Major milestones for VectorTrail.",
39377
+ "name": "From pilot to default",
39378
+ "description": "Milestones for VectorTrail tracing.",
39382
39379
  "events": [
39383
39380
  {
39384
- "when": "Oct",
39381
+ "when": "Apr",
39385
39382
  "what": "Baseline",
39386
39383
  "description": "Confirm current state, owners, and constraints."
39387
39384
  },
@@ -39410,15 +39407,15 @@ var examplesData = Object.freeze([
39410
39407
  "title": "The Ask",
39411
39408
  "bullets": [
39412
39409
  {
39413
- "text": "Approve the next milestone for teach builders how to design observable agent workflows.",
39410
+ "text": "Instrument one agent workflow end to end this week.",
39414
39411
  "level": 0
39415
39412
  },
39416
39413
  {
39417
- "text": "Assign an executive sponsor and one accountable owner.",
39414
+ "text": "Pick one owner for traces, evaluations and alerts.",
39418
39415
  "level": 0
39419
39416
  },
39420
39417
  {
39421
- "text": "Review progress in the next operating meeting.",
39418
+ "text": "Review the regressions you caught at your next retro.",
39422
39419
  "level": 0
39423
39420
  }
39424
39421
  ]
@@ -39498,12 +39495,6 @@ var examplesData = Object.freeze([
39498
39495
  "src": "./data/developer-conference-talk.csv",
39499
39496
  "format": "csv",
39500
39497
  "title": "Developer Conference Talk data"
39501
- },
39502
- "watermark": {
39503
- "src": "data:image/png;base64,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",
39504
- "alt": "VectorTrail watermark",
39505
- "mediaType": "image/png",
39506
- "description": "Original abstract demonstration artwork for this fictional organization. MIT licensed with OpenPresentation/opf; generated by scripts/gallery-artwork.mjs (v1). No fonts or external images are used."
39507
39498
  }
39508
39499
  },
39509
39500
  "extensions": {
@@ -43813,7 +43804,7 @@ var examplesData = Object.freeze([
43813
43804
  "deck": {
43814
43805
  "$schema": "https://openpresentation.org/schema/opf/v1",
43815
43806
  "name": "Full Feature Tour",
43816
- "description": "Technical fixture exercising every major surface of the OPF presentation schema in one document: intent metadata, organizations and speakers, narrative beats, design with slide overrides, assets, inline catalog records, all content payload kinds, blocks, regions, and extensions.",
43807
+ "description": "Technical fixture exercising every major surface of the OPF presentation schema in one self-contained document: intent metadata, organizations and speakers, narrative beats, design with slide overrides, embedded assets, inline catalog records, all content payload kinds, blocks, regions, and extensions.",
43817
43808
  "filename": "full-feature-tour.pptx",
43818
43809
  "author": "OPF Maintainers",
43819
43810
  "audience": [
@@ -43896,10 +43887,6 @@ var examplesData = Object.freeze([
43896
43887
  "dimensions": "widescreen",
43897
43888
  "titleAlignment": "left",
43898
43889
  "contentAlignment": "left",
43899
- "watermark": {
43900
- "src": "asset:acme-logo",
43901
- "opacity": 0.05
43902
- },
43903
43890
  "footer": {
43904
43891
  "left": {
43905
43892
  "organization": true
@@ -43914,22 +43901,29 @@ var examplesData = Object.freeze([
43914
43901
  },
43915
43902
  "assets": {
43916
43903
  "acme-logo": {
43917
- "src": "./assets/acme-logo.svg",
43918
- "alt": "Acme Corp logo"
43904
+ "src": "data:image/png;base64,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",
43905
+ "alt": "Acme Corp logo",
43906
+ "mediaType": "image/png",
43907
+ "description": "Original artwork for this fictional organization, MIT licensed with OpenPresentation/opf. No fonts, photographs or external resources."
43908
+ },
43909
+ "acme-mark": {
43910
+ "src": "data:image/png;base64,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",
43911
+ "alt": "Acme Corp mark",
43912
+ "mediaType": "image/png",
43913
+ "description": "Original artwork for this fictional organization, MIT licensed with OpenPresentation/opf. No fonts, photographs or external resources."
43919
43914
  },
43920
43915
  "alice-headshot": {
43921
- "src": "./assets/alice.jpg",
43922
- "alt": "Alice Chen headshot"
43916
+ "src": "data:image/png;base64,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",
43917
+ "alt": "Alice Chen avatar",
43918
+ "mediaType": "image/png",
43919
+ "description": "Original artwork for this fictional organization, MIT licensed with OpenPresentation/opf. No fonts, photographs or external resources."
43923
43920
  },
43924
43921
  "rollout-photo": {
43925
- "src": "https://cdn.example.com/rollout-floor.jpg",
43922
+ "src": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA8AAAAIcCAMAAAAOgzdJAAACdlBMVEVGYnqobzff2b3YtDvywjDgezmfs8Q7VGjJi0okSWsPHy5Pw/ccOlXz0rPrvjM9VWfxwTDwwTDtvzHSsD3vwDFNZndHY3o/VmfiuTbEqERndWznvDXluzTetjfpvDOHhl5CWGZKZHhabXERITCDhGBdb3Cdk1VHY3lMXmN4fmRfal1hcW7PrTuml1FaZl6Pilqrm09MZXfguDYUJTXX07lWZGDGqkNPZ3a0n0tlbVu2nkJtd2nApD/ApkYlOUzHqD1SYmHVsjxJXGTVsTi3oUnLqzxkcm2jk0jLrEFWa3NRaHTSrzqwnUwkLi68pEeMhU9DWWVUaXSolkZHZHx1fGaGlZZQYGKxmkSpmU9ac4NEX3e7oUGWj1fctTdJgqNOteVYbHLbtToTIi4XJi6hlVM9V22gkUnGtaW4okkbLT5+gWFrd2qtmUXZszdnXi6Qh05xdVeXj1h/fVOGgVFpcFmLiFxGW2SYjEvrvS/Prj/nujB7gGOWi0x8e1RtclhLl76PpLZAXHN0i514kKSbr8B0e2aakVaAekOTjViJg1Dcsy/szbF0d1ZscVlxemfDpj7SqjApP1IzS2CvtahcdISDf1Kxtaidj0pFWmVedoR2aS8aLDw9QC6utKmwtqh2d1ZOv/FfcoJ5eVVveWiRjFmUiUzYwKrDs6PQqjAySFE3PC6kl1GjiS9ze2ZBQy/y0bNUb4bU0bmWlpUwR1KkizBsYi9+by/V0rogNEXKpS9LocxoeIWVlZTawqtLoMuFmqzGozBRaX6jii8cL0GInrGqo5upoprywzehm4lMoswzSVHyx1xVcIdbWDZkdYTyyFyCfUqlkT85H+QBAAAACXBIWXMAAAsTAAALEwEAmpwYAAAcv0lEQVR42u3d+X+V1Z3A8aM5chSckORmJwuBJBgjBKESBKFG2QIRi6QYkUKAAJG40UotouKKUKuOtrbWsa37UmrtaFtn1M5MZ6bL7P/SJOQuz12ey5Nnu+c85/P5qe2rPJF7ztubk5x8I64iImMTvAREACYiABMRgIkATEQAJiIAExGAiQBMRAAmIgATAZiIAExEACYiABMBmIgATEQAJiIAEwGYiABMRFoC/umPv3a5Rn3t5z8yZl146XjpKg74m5dr1zcN2YS8dLx0FQf808s17C4z3kR46XjpKg74xzq+lD80Yhfy0vHSVR7w5zq+lJ8bsQt56XjpAFyyv2cX8tIl6aWLEPDPdXwpf2bELuSl46WrPOAf8ZUYXjpeOnO/iMX3QnjpeOkM/jbSVVfd9UOtTiSf/+yuq0yJl46XjquURFdxlZKIAExEACYiABMBmIgATEQAJgIwEQGYiABMRAAmAjARAZiIAExEACYCMBEBmIgATARgIgIwEQGYiABMBGAiAjARAZgIwEQEYCICMBEBmAjARARgIgIwEQGYCMBEBGAiAjARgIkIwEQEYCICMBGAiQjARARgIgIwEYCJCMBEBGAiABMRgIkIwEQEYCIAExGAiQjARARgIgATEYCJKATA8xwl969ux9/SruzbuQAGMGsKYBabWFMAs9jEmgKYxQYwgAFMrCmAWWxiTQHMYhNrai7gy0IKwABO1s4FMIABDGAAE4ABDGACMIABDGAAA5gAnBzAYX1wAFO8gJO9cwEMYAADOOqX4cqQAjCAk7VzAQxgAAMYwARgAAOYAAxgAAMYwAAmACcHcFgfHMAUL+Bk71wAAxjAAAYwARjAACYA6ws4zj8JYADbsHMBDGAAAxjABGAAA5gADGAAAxjAACYAAxjABGAAA5gADGAAAxjAACYAAxjABGAAA5gADGACMIABTAAGMIAJwAAGMIABDGACMIABTAAGMIAJwAAGMIABDGACMIABTAAGMIAJwAAmAAMYwARgAAOYAAxgAAMYwAAmAAMYwARgAAOYAAxgAAMYwAAmAAMYwARgAAMYwAC+wrrY+snIvp0LYAADGMAAJgADGMAEYAADGMAABjABGMAAJgADGMAEYAADGMAABjABWGfAdlwy5Cola2r+3xLAAGZNAcxiE2sKYBabWFMAs9gABjCAiTUFMItNrCmAWWxiTQEMYAADmMUm1hTALDaxpgBmsQnAACbWFMAsNrGmAGaxiTUFMIsNYACz2MSaApjFJtbUbMCXBY7Fpkqsqc47F8AABjCAAUwABjCACcAABjCAAQxgAjCAAUwABjCACcCVBXxl4ABMlVhTnXcugAEMYAADmAAMYAATgKMDHOwfHsBUKcDJ3bkABjCAAQxgAjCAAUwATj7gcF5GAAPY/J0LYAADGMAAJgADGMAEYAADGMAABjABGMAAJgADGMAEYAADGMAABjABGMAAJgADGMAEYAATgAEMYAIwgAFMAAYwgAEMYAATgAEMYAIwgAFMAAYwgAEMYAATgAEMYAIwgAFMAAYwARjAACYAAxjABGAAAxjAAAYwARjAACYAAxjABGAAAxjAAAYwARjAACYAAxjAAAYwgAnAAAYwAbgSgK+wLrZ+MrJv5wIYwAAGMIAJwAAGMAEYwAAGMIABTAAGMIAJwAAGMAEYwAAGMIABTADWGbAdlwy5Ssmamv+3BDCAWVMAs9jEmgKYxSbWFMAsNoABDGBiTQHMYhNrCmAWm1hTAAMYwABmsYk11QWwKpHz/6ASm1l/y1flbCMi0kbSH+ZV1tSMvyWAzfhbXls3C2uoIVrA16dmP079jawpgFnssLqmfdZVdb+IuP6O2Y+06hrWFMAsdjg1vZT+zLZTRF53+kN9vYk1BTCLHUpH06hWihjKHIOPsqYAZrHD6LE0qVRDHIAzx2D5bdYUwCx28FZUx3UAnq0nfQyuvpY1BTCLHbTv3pd+R+wWMXU8/QG/dQtrCmAWO1gL705zGhOxNZb+kDctZE0BzGIH6uFYD8CzdZ1Kf9BHWVMAs9hBerB2ltKiHhFjSxbNftSaX7CmAGax/XdDRtJxEWuna2Y/bscK1hTA4XVZwExb7MU70p/LLveBsKEqnZ9PvpenP/CtrwFY550LYK0Br0szOtXl59tBGcB+Pvvu2pb+0OsADGAA++t2GeQAvD4DeL2vY3Bb+oPfDmAAA9hPD9WnD8Cn/X07NwPY3x/vSx+Dax8HcAIAXxZKAJ5De5rT74ET/r4QdTIDeMDfn7+Q/vBtNxsNONk7F8DaAm7anAa0rcsfwN4M4F6f3w3OHIOvWwxgAAN4jt2ROQAv8fmtoJUZwH5/iGk8cwy+E8AABvDc+k4aT82o3+/l7swA3un3Cc/WGjZhB8CavwxXBswcwDemZ+jIXt+XMbZlAG/z/YgJadaEHft2LoD1BJyZoSPXdPnF11WVzfczlrVIoybsABjAes3QaR73/e45ngPs/yHDzUZN2AEwgLVoa+YA/Kz/68ytOcCt/p/yYq1JE3YA7PoyXBlKAFZzmaET4AA8fREjB7gvwGN6pUETduzbuQDWEHBmho5c0xhAXmcOcJBhltljsAkTdgAc08sQ158zEnB2hk7zcJCfCDyRA3wiyHOGV5kzYce+nQtg7QBnZ+jUPhvEnVieA7w80INerDdmwg6AAax0maEjA71vCrEpB3hTsCedlaZM2AEwgJUmM3TkhmXB2K3JAV4T7EmNO6UhE3YADGClxwwduWpXMHXLhnKAhwL+u2B75lqJ7hN2AAzgyvaNzAyd+ncCTrXaVeUo4L8MxFSdGRN2AAxgpcUMHXku6Fi6LU7AgX+nwz5pxIQdAAO4oj2QcbKhMSi5j52APw76tOwxWO8JOwAGsNJgho5sD/o57/SvCXUCDv5bWbYflAZM2AEwgJUGM3Tq1wcGJ845Ab8b/HmtdQZM2AEwgCvX4swMHRmCNzHhBDwRwgPflfpP2AEwgCvXvRkhOxtD8DbiBDwSwgMbJ6X2E3YADGBV6Rk6sn17GL8cpcUJeEMYT8weg+V3AAxgAKvSM3TqWsPQJlJOwKlQHtlarfuEHQADWFV4ho4cENo2kPlnXLUHwAAGsCqeoSMnhcatlXpP2AEwgFVFZ+jIg4M6Ax6syvxzbgUwgAGsCmfohHQAjqwt1VpP2AEwgFUlZ+jIk0LzTkqdJ+wAGMCqgjN05CahfdljsI4TdgAMYFW5GTqyalB/wA1DUt8JOwAGsKrcDB3dD8CFx+CHAQxgAGdn6MhOYUTdUtsJOwAGsKrUDB05IgxpROo6YQfAAFYVmqEjhxpMAXx9Smo6YQfAAFYVmqFT3S+Mqacj8099N4ABbDPg7Awd2S0MKnsMlg8AGMD2An4hM0NHrhRGtVJqOWEHwABWlZihI1MNZgHOHYO1mrADYACrSszQMekAXHgM1mnCDoABrCowQ8esA/Bsx6WGE3YADGAV/wwdOSYMbEzqN2EHwABWsc/Qkae6TATctU1qN2EHwABWsc/QWdQjjGzJIu0m7AD4YldYl6rgDJ2a48LQ+mp0m7Bj384FcIUAZ2foyAvC2JZLzSbsABjAKt4ZOoYegAuPwZpM2AEwgFW8M3QWLREGt6Qt+7PM1wIYwLYAzs3QqTktjC53DNZiwg6AAazinKEjJ4ThTUidJuwAGMAqxhk6cltEB+CGqqIaIj8GPwxgANsAODdDJ5QD8FufHnv/+effP/bpW46zaTHgqM7a420aTdgBMIBVfDN0akYDfQFpMvvzBM46dk7/YERrMeDIBuZ9XKvPhB0AA1jFNkNH9oZzD6qw6ff10WLAo5Edg3ulNhN2AEye8nsJTjlm6Mg1gX6P96R0bVJ0FwMO/ANP2ct7hS1rkZpO2LEgAMcMODdDp3k8kKcOd8AdYqAY8EBkgMVws6YTdgBMIQPOzdCpeTaYJ1km0VsMuDc6wOLFWj0n7ACYwgWcm6Ejzwb0VPYdeKwY8FiEgB3HYK0m7ACYQgWcm6ET8AA83c5yZ+DJYsCuvzfN69+jHGDHMVinCTsAplAB52boNA8HfUPsd/8q9LhoKQbcEiVgMdyu44QdAFOYgHMzdGqfDf7dm7/+119K8f3L//1ViFQx4FSkgMU79RpO2AEwhQg4N0NHngjh26/H/salD0rdpHS/SxkOYHFW6jdhB8AUHuDcDB25YVkIgP/gBvgPpW5Sut+lDAlwY+5Qrs2EHQBTaIBzM3Tkql1hXIB63g3w86VuUrrfpQwJsNie+xeULhN2AEyhAd7q9f8fAuDRUoBHIwYspupCnbDTdH5zdemv0lVvPs+/IQAcL+DHZNiAXT+Ffr/UTUr3u5ShARbnZIgTdvZcV+6qynV8lg7gOAFPz9AJG3CZL2INlAI8EDlgxzE48ISdprJ+pwXzHgzg+ADPzNAJG/CnboC/KnWT0v0uZXiAxfaDMqwJO+flJTrPLgRwXIAX3iTDB/yWG+C3St2kdL9LGSJg0VoX1oSdzZcCvJldCOC4AF+coRM2YLfPoY+JUjcp3e9ShglYvCtDmrDTcSnAHexCAMcE+MGaSAB/+Ukpv598KUrdpHS/SxkqYMePKQebsCMvGbsQwPEATs/QCR2w+FMpwH8WJW9Sut+lDBfwYJUMZcIOgAGsCeDMDJ3wAe8u8Un0sd2i9E1K17uU4QIWW6pDmbCT/XL2c59dnddHz9UBGMAxAs7M0AkfsPhjkeBjfyw9k7LMXcqQAYsBGcaEncwjnru6qOcADOAYAcvoAIvdf8o7B3/y54s/ZdxaGnBrPIDFWhnChJ3MEz4rBvwZgAGcEMBC/O8HjrffL2f/t9HSgEdjAuw4BvufsJN5wtUlAjCAEwN4+vvBX30wM9j9g6+yg927SwPujgmw8xjse8IOgAFsCeASp9DSgAfiAixOysATdgAMYL0Ab4oG8O79Xxx4c8F0bx74Yv/u9Ii50oB7YwPsPAbfCWAAJwBw1WAkgPcfWODowP6L/+NYacBj8QFuGJIBJ+wAGMA6Aa7eIiIAvPvMgoLOzHwZerI04E3xAXYeg/1N2AEwgHUC3CmiAFzkd1qwcLlJ6XqXMhLAolsGm7ADYABrBHhERAF4/4IS7Xe5Sel6lzIawGLE8YNDTQAGsMmAhxqiALz7QCnAB3a73KR0u0sZEeDrUzLIhB0AA1gbwNX9IgrAJd+Ap9+Cl7gBXhInYNHTEWTCDoABrA3gbhEJ4P8oDfifWt0At8YK2HkMnvuEHQADWBfAK0U0gA+UBnxg1A3waLyAxUrpf8IOgAGsCeBUQ0SA3ywN+M1uN8DdMQPuchyD5zphB8AA1gRwv4gI8AKXBtwAD8QMOO8Y/DCAAWwkYBE34F43wL1xAxbHc4Br3gYwgAHsAfCYG+Ax11/aPbfmIHhM+pywA2AA2wp40g3wpvgBd22T/ibsZP7QR8V+/xPAAE4y4BY3wC3xAxZL2vxN2GGkDoBtBZxyA5yqAGDRV+Nrwk5uqN1HDLUDcHhd/9QTz8yLqWeeePq/fQCeg64YAIvl0s+EHcbKAjiCjjw1L+ae3m06YOcx2PuEHQADOAK//zwv9v59t+GA847BnifsABjA4ffUvAr0tOmA847BdwIYwBU7/86rSL+JDrDwgd3HH52Qc56wA2AAJ+MN2P0t2BzAzmOwxwk7AAZw6D1RGcBPGA9YDDfPdcIOgAEces9UBvAz5gMWH9fOccIOgAEMYH0Ai145twk7AAYwn0JrBHhZi8PeqwAGMF/EqhjgLWND1VKLqndsXQFgUnwbyTvgrpU1UqNqtzYBmCy9yOEH8BqpWS81AZiUlVcp/QCW2rUVwGTnDzMkA3DtCgCTnj9O+Jtof5wwGYDlUQDTHMps5cx//8atjs10IrZv2AA40w4AUwDA6xx7acMyAMdeB4DJP+AHHFtp1a74rky4DXa3D7AEMPkG/ILjmm/9+hjvPLn9ahUAA5g8A77ZMW9Cnovz0uIXLr/cDMAAJq+AF1/nPAA3xgnY7deLAhjA5BXwvY5t1L4r1h8bcPsF3wAGMHkEfN6xi+qnYv65n/1xvgEDGMDJA3xjnWMXDcT+g3tniv2eEQAGMHkDfE27YxPtbIwdcGOR4DONAAYweQPc9HXHHjo4GP+Pzs/PtGBB9j8CGMDkDfBWxxaqaxUABjCATQLs3EInRSUB5/1HAAOY5gh4UgAYwAA2FXDVIIABDGBTAYd5AAYwgAEcM+BOAWAAA9hUwJsEgAEMYFMBh3sABjCAARwn4OotAsAABrCpgDsFgAEMYFMBjwgAAxjABvWCcysPNQAYwAA2qJvbHFu5ul8AGMAANqfpGTqOrdwtdANcVb4GAAPY6qZn6OS28kphGuAeAAPY5mZm6GS3cqrBOMBTAAawxV2coZPZyh39wjjAfQAGsL3NztDJbOXjwjzAnQAGsLWlZ+h4BqYh4H0ABrC13SGNB3wBwAC2tcek+YDXAhjAlnZtdQIAtwAYwHZ2y30yAYBTAAawlS28SSYBsP+rWAAGsMn9RCYDcA+AAWxhP6hJCOApAAPYvm7okAkB3AdgAFvXa7fKpADuBDCArWudc7e0GQ14H4ABbFvvOTdLzajQJT+ALwAYwJb1Qq1zs/QKowGvBTCAlWUzdJx7ZU2j2YBbAAxgZdkMHUfN48JswCkAA1hZNkNHywNwiRqqPNQAYAAru2bo5Dqrs1/R4wVwD4ABrOyaoZOtpVFrwFNeAE8BGMDWdM2qvAPwsNZ+RZ8XwH0ABrCya4ZOuvp39PYrOr0A7gQwgJVdM3TS7dPcrzjhBfA+AANY2TVDZ7YNjboDvuAF8AUAA1jZNUPnYu27dPcr1noBvBbAALaiW76VdwBer71f0eIFcEskgB/51f1v3Hbo0G1v3P+vj4TN89LPBjCpMjN0Zjqnv1+R8gI4FQHgD+8/nL0KNv/w/R+GydfLswFMqswMHSMOwB4vYvm+iuUO+HuvH5qf16HXvxcWX2/PBjCpMjN0jDgAe7yI5fsqlivgD385v6hffz+kt19vzwYwqTIzdGT9lAF+vV3ECvILCqfrKMLzL7fNL9Ft/xiGX4/P7gAwqTIzdOSACX69XcQK8gsKpxsqeo8saWxaWQjvwV6fvQPApNxn6MhJI/x6u4gV5BcUTjdWeEb95XyX3gh8Dvb87KMAJuU6Q0ceHDQD8AlvgANdKNtSm4/s9fmu/T4oYK/Prl0BYFKuM3TqWs3w6+0iVpBfUFj8FvzhIXdkhwN+Eu352VsVgEm5zdCRJw3x6+0iVpBfUDhTV4vztbl/fpl+Fwyw12ff1ARgUm4zdOQmU/x6u4gV5BcUzgoey31+8sjhcsgOB7qT5fHZtVtt9gtgdYkZOrJq0BjAKW+AU0E/zpblQ+lb4r+aX7bfBgHs5dkdO46usHuzAliVn6FjzAHY80WsAL+gsKiN5ZFtjPDZ/8BOBbC65Awd2WmMX68XsQL8gsKi7imP7J4In/13bFUAq0vN0DHoAOz5IlbAq1h5rS6PbHWUz2avAlhdYoaOHGowCHCfV8B9oX3IpeWRLY3y2WxWAKtLzNCp7jfIr9eLWAGvYgEYwMqQGTomHYC9X8QKeBWLT6EBrMyYoSNHjPLr9SJW0KtYfBELwMqEGToy1WAW4LVeAa8VfBsJwCrpM3TMOgB7v4gV+CqWo1fKI3slwme/zIYFsCozQ0d2G+bX60WsEK5iZdtb9itNS/dG+Gz2K4BVmRk6csw0v54vYsV2FWtjhM/mM2gAqzIzdIw7AM/hIlaYV7GOlHuTPBLds+e/wo4FsHKfodNh2gF4DhexwryKJV4uc0qN8Nkb2bEAVu4zdORx4/x6v4gV5lUssdf1uz337I3u2b9et5AtC2DlNkPHvAPwXC5ihXkVS4gnXS5crH4yumdPD7V7jz0LYOUyQ0ee6jIQ8AnvgEP9NYtHSipbfSS6Z8+Mla19kF0LYFV6hs6iHgP9er+IFeZVrIvvk/9W4vPnJ6N79uxg97ab2bcAVqVm6NScNtGv94tYYV7Fmj2rvlzwLdulL++N7NmHfp8eKbtjMTsXwKp4ho68YKRf7xexwryKlXmj3OhgtnTjkcieffh3f5tdpzvZuQCe6fZ8v9u6zASc8g44Ff5H3/vKxntWL126+p6Nr+yN7Nn/89u8MXnn2bsALpqhs2iJIE0bz/9aRf1D7F4AF8zQMfQAbEl9+dddV+0BsGKGTl4TKNG5ifzV2twEYMUMHUdrukCic40t+et1B4AVM3RyNY9jRO+Gm/NX7FUAK2boZA/AowjRvRfzL83VXQtgxQyddL340L/e/DVrvwXAihk6swfgRnjo37KCY/BL/HIzxQydiwfgYXQYcQzO/8af/AmAFTN0OAAbewyueRvAihk68iwyTOls/sp1rACwsn2GjmzhAGzOMXhD/trd910AK8tn6KzahQtz2t6ev3p3LwSwZT2avwPq30GFSU3V56/fewBWNs/QkfswYVb78tfP2gk7ghk6M23gAGxYjTvzV9DWCTuCGTozt3k4ABt/DLZ0wo5ghs70AXg9Hgw8BucPYrB0wo5gho6U59BgYucKlvF2ACsbZ+hwAE7IMdjKCTvC+hk6sn07Fgw9Bh+U1k/YEdbP0KmfQoKptdZZP2FH2D5DRw7gwNwGpO0TdoTlM3TkJApMbpO0fMKOsHuGjjw4CAKTG6ySdk/YEXbP0KlrxYDZbam2e8KOsHqGjjyJANM7Ka2esGMX4KMFi72J/W9+a6XNE3aExTN0ZBUH4ATUMCQtnrAjLJ6hwwE4mcdgqybsCHtn6MhO9n4y6pT2TtgR1s7Q4QCcnEaktRN2hK0zdORQAxs/McfgVMHiPgpglfAZOtX97Pvk1N9h64QdYekMHQ7Ayaq7YHnbbgCwSvAMHTnCnk/2MdiWCTvCyhk6MsUBOGFdX3gMvhPAKrEzdDgAJ6+eDisn7FgB+MaCKeCym/2evI5LGyfsCAtn6MgxdnsSGytY5uY9AFYJnKHDATihdZ2S9k3YEfbN0FnUw15PZksW2TdhR1g3Q6fmODs9qZ2usW7CjrBtho5czj635xic/Ak7wrIZOvJUF9s8wcfgbQXL3X4NgFWSZuhwAE74MbjNsgk7wq4ZOjWn2ePJrq/wGHwUwCoxM3TkBXZ40rtQsOTybQCrhMzQkds4ANt3DK5eAWCVjBk6i5awv5PfeJtNE3aERTN0OABbegxO8oQdYc8MHTnB3rajCWnPhJ3kAn68YIaOXMMB2JIaW6Q1E3aENTN0msfZ2bY03Fz41Y8bAKzMnqFTM8q+tqcXa22ZsCMsmaEje9nVNtUrLZmwI+yYoSPXNLKpbWpZ4TE4qRN2hB0zdJqH2dOWHYNX2TFhR1gxQ4cDsIXH4HorJuwIG2boyLPsZ/s6K22YsCMsmKEjWzgAcwxO6ISdBAL+duG6rdrFbrax7e0y+RN2RPJn6NS/w162s6n65E/YEYmfoSP3sZNtbZ9M/IQdkfQZOnIDB2Bra9wpkz5hRyR8ho5s5wBs8zH4oEz4hJ2EAf5F4Y+C1q9nF1t9DK5L+IQdkewZOvJd9rDdnZPJnrAjEj1DR+7kAMwxONETdpIEeOHdRQfg7exgjsGFu+KmhQBWRszQqWtl/1JrdZIn7CQI8IOFP8QtB9i9JMRA4b6o+QGANfwCVuHvlpST7F2aaW3hzui4AcC6tXhH4SodHGTr0kyDVYV749bXAKz0HgLNAZiybSk6Bq8DsNJ7ho48yb6lTCdlUifsJATwQ4U/dyI3sWupzDG49nEA69OewjnAsooDMDlqGCrcIW03A1iXmjZzAKa5HoOvWwxgpekMHdnJjqX8Oos2yb1J2Pv/D8ocOM68+LIbAAAAAElFTkSuQmCC",
43926
43923
  "alt": "Distribution floor during the pilot rollout",
43927
- "title": "Pilot rollout floor"
43928
- },
43929
- "adoption-csv": {
43930
- "src": "./data/adoption.csv",
43931
- "mediaType": "text/csv",
43932
- "description": "Monthly active teams by region."
43924
+ "title": "Pilot rollout floor",
43925
+ "mediaType": "image/png",
43926
+ "description": "Original illustration, MIT licensed with OpenPresentation/opf. Not a photograph."
43933
43927
  },
43934
43928
  "walkthrough-clip": {
43935
43929
  "src": "https://cdn.example.com/walkthrough.mp4",
@@ -43943,8 +43937,15 @@ var examplesData = Object.freeze([
43943
43937
  {
43944
43938
  "id": "acme-night",
43945
43939
  "accent1": "#4FC3F7",
43940
+ "accent2": "#81D4FA",
43941
+ "accent3": "#F2C230",
43942
+ "accent4": "#E07B39",
43943
+ "accent5": "#2E4A63",
43944
+ "accent6": "#A5D6A7",
43946
43945
  "light1": "#FFFFFF",
43946
+ "light2": "#CFE3F2",
43947
43947
  "dark1": "#0B1B2B",
43948
+ "dark2": "#13283D",
43948
43949
  "background": "#0B1B2B",
43949
43950
  "text": "#E8F1F8",
43950
43951
  "$schema": "https://openpresentation.org/schema/opf-color-scheme/v1",
@@ -43959,8 +43960,9 @@ var examplesData = Object.freeze([
43959
43960
  "beat": "objectives",
43960
43961
  "title": "Full Feature Tour",
43961
43962
  "subtitle": "Q3 Business Review \u2014 Acme Corp",
43962
- "tag": "FIXTURE",
43963
- "notes": "Cover slide: title layout, beat reference, tag badge, footer furniture."
43963
+ "tag": "Feature tour",
43964
+ "notes": "Cover slide: title layout, beat reference, tag badge, organization logo, watermark and footer furniture.",
43965
+ "section": "Overview"
43964
43966
  },
43965
43967
  {
43966
43968
  "layout": "text-1x",
@@ -43983,7 +43985,8 @@ var examplesData = Object.freeze([
43983
43985
  "href": "https://openpresentation.org"
43984
43986
  },
43985
43987
  " segments."
43986
- ]
43988
+ ],
43989
+ "section": "Overview"
43987
43990
  },
43988
43991
  {
43989
43992
  "beat": "performance-headline",
@@ -44001,15 +44004,40 @@ var examplesData = Object.freeze([
44001
44004
  "chart": {
44002
44005
  "type": "line",
44003
44006
  "data": {
44004
- "src": "asset:adoption-csv",
44005
44007
  "columns": [
44006
44008
  "Month",
44007
44009
  "Active Teams"
44010
+ ],
44011
+ "rows": [
44012
+ [
44013
+ "Apr",
44014
+ 96
44015
+ ],
44016
+ [
44017
+ "May",
44018
+ 112
44019
+ ],
44020
+ [
44021
+ "Jun",
44022
+ 131
44023
+ ],
44024
+ [
44025
+ "Jul",
44026
+ 188
44027
+ ],
44028
+ [
44029
+ "Aug",
44030
+ 236
44031
+ ],
44032
+ [
44033
+ "Sep",
44034
+ 288
44035
+ ]
44008
44036
  ]
44009
44037
  }
44010
44038
  }
44011
44039
  },
44012
- "notes": "Regions plus asset-backed chart data."
44040
+ "notes": "Promoted regions: a metric on the left, an inline-data line chart across center and right. Q3 active teams (712) are 2.1x Q2 (339)."
44013
44041
  },
44014
44042
  {
44015
44043
  "layout": "chart-1x",
@@ -44117,6 +44145,11 @@ var examplesData = Object.freeze([
44117
44145
  "timeline": {
44118
44146
  "name": "Regional Rollout",
44119
44147
  "events": [
44148
+ {
44149
+ "when": "Q3 2025",
44150
+ "what": "Americas pilot",
44151
+ "description": "Twelve teams in two regions."
44152
+ },
44120
44153
  {
44121
44154
  "when": "Q4 2025",
44122
44155
  "what": "Expand pilot",
@@ -44125,6 +44158,11 @@ var examplesData = Object.freeze([
44125
44158
  {
44126
44159
  "when": "Q1 2026",
44127
44160
  "what": "General availability"
44161
+ },
44162
+ {
44163
+ "when": "Q2 2026",
44164
+ "what": "Retire legacy tier",
44165
+ "description": "Migrate the last accounts."
44128
44166
  }
44129
44167
  ]
44130
44168
  }
@@ -44156,7 +44194,14 @@ var examplesData = Object.freeze([
44156
44194
  "beat": "asks",
44157
44195
  "section": "Decision",
44158
44196
  "title": "The Ask",
44159
- "text": "Approve $1.2M to expand the rollout to all regions in Q4."
44197
+ "text": "Approve $1.2M to expand the rollout to all regions in Q4.",
44198
+ "design": {
44199
+ "watermark": {
44200
+ "src": "asset:acme-mark",
44201
+ "opacity": 0.05
44202
+ }
44203
+ },
44204
+ "notes": "Slide-level design: the watermark appears on this closing slide only."
44160
44205
  }
44161
44206
  ],
44162
44207
  "extensions": {
package/dist/format.js CHANGED
@@ -1,4 +1,4 @@
1
- import { presentation } from './chunk-4LAM3N6S.js';
1
+ import { presentation } from './chunk-7QBCWNWL.js';
2
2
 
3
3
  // src/format.ts
4
4
  var FormatError = class extends Error {
package/dist/index.d.ts CHANGED
@@ -1,16 +1,17 @@
1
- export { S as SchemaEntry, a as SchemaName, b as audience, c as chartType, d as colorScheme, f as fontScheme, l as language, e as layout, n as narrative, p as presentation, g as purpose, s as schemaEntries, h as schemaNames, i as schemas, j as socialPlatform, t as theme, k as tone } from './schemas-BSjlG8-R.js';
2
- import { C as CatalogKind } from './catalogs-BnI7JKcn.js';
3
- export { A as Audience, a as CatalogEntry, b as CatalogIndex, c as CatalogIndexRecord, d as CatalogRecord, e as ChartType, f as ColorScheme, F as FontScheme, L as Language, g as Layout, N as Narrative, P as Purpose, S as SocialPlatform, T as Theme, h as Tone, i as audiences, j as catalogEntries, k as catalogIndexes, l as catalogKinds, m as catalogSchemaNames, n as catalogs, o as chartTypes, p as colorSchemes, q as fontSchemes, r as languages, s as layouts, t as narratives, u as purposes, v as socialPlatforms, w as themes, x as tones } from './catalogs-BnI7JKcn.js';
4
- export { D as DEFAULT_VARIABLE_DATE_FORMAT, O as OPFValidationError, a as OPFVariableError, R as ResolveVariablesOptions, b as ResolveVariablesResult, c as VARIABLE_KINDS, d as ValidateOptions, V as ValidationIssue, e as ValidationResult, f as VariableDeclaration, g as VariableDiagnostic, h as VariableDiagnosticCode, i as VariableDiagnosticSeverity, j as VariableInfo, k as VariableKind, l as VariableUse, m as VariableUseForm, n as VariableValues, o as assertValid, p as assertValidCatalogRecord, q as assertValidPresentation, r as coerceVariableValue, s as formatVariableNumber, t as hasContentVariables, u as isTemplate, v as listVariables, w as resolveVariables, x as validate, y as validateCatalogRecord, z as validatePresentation, A as variableDeclarations } from './validator-DfG9yxba.js';
1
+ export { S as SchemaEntry, a as SchemaName, b as audience, c as chartType, d as colorScheme, f as fontScheme, l as language, e as layout, n as narrative, p as presentation, g as purpose, s as schemaEntries, h as schemaNames, i as schemas, j as socialPlatform, t as theme, k as tone } from './schemas-BbPonsTz.js';
2
+ import { C as CatalogKind } from './catalogs-ywCamd8C.js';
3
+ export { A as Audience, a as CatalogEntry, b as CatalogIndex, c as CatalogIndexRecord, d as CatalogRecord, e as ChartType, f as ColorScheme, F as FontScheme, L as Language, g as Layout, N as Narrative, P as Purpose, S as SocialPlatform, T as Theme, h as Tone, i as audiences, j as catalogEntries, k as catalogIndexes, l as catalogKinds, m as catalogSchemaNames, n as catalogs, o as chartTypes, p as colorSchemes, q as fontSchemes, r as languages, s as layouts, t as narratives, u as purposes, v as socialPlatforms, w as themes, x as tones } from './catalogs-ywCamd8C.js';
4
+ export { D as DEFAULT_VARIABLE_DATE_FORMAT, O as OPFValidationError, a as OPFVariableError, R as ResolveVariablesOptions, b as ResolveVariablesResult, c as VARIABLE_KINDS, d as ValidateOptions, V as ValidationIssue, e as ValidationResult, f as VariableDeclaration, g as VariableDiagnostic, h as VariableDiagnosticCode, i as VariableDiagnosticSeverity, j as VariableInfo, k as VariableKind, l as VariableUse, m as VariableUseForm, n as VariableValues, o as assertValid, p as assertValidCatalogRecord, q as assertValidPresentation, r as coerceVariableValue, s as formatVariableNumber, t as hasContentVariables, u as isTemplate, v as listVariables, w as resolveVariables, x as validate, y as validateCatalogRecord, z as validatePresentation, A as variableDeclarations } from './validator-CIylxoIm.js';
5
5
  export { SpecFileEntry, SpecFileKind, SpecFilePath, specFileEntries, specFileKinds, specFilePaths } from './spec-files.js';
6
6
  export { LayoutPreviewIndex, LayoutPreviewRecord, getLayoutPreview, hasLayoutPreview, layoutPreviewIndex, layoutPreviewSlugs, layoutPreviews } from './previews.js';
7
- export { P as Presentation } from './presentation-DcF-MZcz.js';
8
- export { LintContract, LintDiagnostic, LintLocation, LintOptions, LintReport, LintSeverity, LintSuggestion, lintPresentation, lintSource } from './lint.js';
9
- export { AuditCategory, AuditDiagnostic, AuditFix, AuditOptions, AuditPatchOperation, AuditReport, AuditRuleInfo, AuditSeverity, AuditThresholds, DEFAULT_AUDIT_THRESHOLDS, DEFAULT_CHART_PALETTE, auditPresentation, auditRules, auditSource, findAuditRule } from './audit.js';
10
- import { M as MetricLayout } from './composition-DWbCiMwF.js';
11
- export { A as AnnotatedRun, a as AnnotationFitter, b as AnnotationLayoutOptions, c as CAPTIONABLE_FIELDS, d as CAPTION_FONT_RATIO, e as CAPTION_MAX_RATIO, f as CHART_SERIES_MIN_DIFFERENCE, g as CHART_SERIES_MIN_LIGHTNESS_STEP, h as CITATION_MARKER_RAISE, i as CITATION_MARKER_SCALE, j as Caption, k as CaptionAlignment, l as CaptionObject, m as CaptionPosition, n as CaptionSettings, o as ChartLabelContent, p as ChartLabelPosition, q as ChartLegendPosition, r as ChartOptionDiagnostic, s as ChartOptionKind, t as ChartOptionSupport, u as ChartOptionTarget, v as CitationMarker, w as CitationNote, x as CodeContent, y as CodeLayout, z as CodeLayoutDiagnostic, B as CodeLayoutOptions, D as CodeLineSegment, E as CodeLineSource, G as CodeTextFit, H as CodeTextPart, C as ComposeSlideOptions, I as ComposedCaption, J as ComposedFlow, K as ComposedFootnoteEntry, N as ComposedFootnotes, O as ComposedGroup, P as ComposedItem, Q as ComposedLogo, R as ComposedSlideImage, S as Composition, U as CompositionCandidate, V as CompositionDecision, W as CompositionExplanation, X as CompositionPenalties, Y as CompositionTrack, Z as DEFAULT_CHART_LABEL_SEPARATOR, _ as DEFAULT_FONT_SCHEME, $ as DEFAULT_FURNITURE_DATE_FORMAT, a0 as DEFAULT_SLIDE_NUMBER_FORMAT, a1 as DeckCitations, a2 as FONT_SIZE_GRID_PER_PX, a3 as FOOTNOTE_MAX_RATIO, a4 as FontFamilies, F as FontSchemeDiagnostic, a5 as FootnoteLayoutOptions, a6 as FurnitureField, a7 as FurnitureImagePart, a8 as FurnitureLayout, a9 as FurniturePart, aa as FurniturePartBase, ab as FurnitureSocialLink, ac as FurnitureTextExtras, ad as FurnitureTextPart, ae as LayoutBox, L as LayoutDiagnostic, af as ListBulletImage, ag as ListEntryLayout, ah as ListFit, ai as ListFitOptions, aj as ListNumber, ak as ListText, al as ListValue, am as LogoSlot, an as MAX_COMPOSITION_DEPTH, ao as MAX_NUMBERING_LEVELS, ap as MAX_NUMBERING_VALUE, aq as MAX_ROMAN_VALUE, ar as MeasureTextWidth, as as MetricContent, at as MetricLayoutDiagnostic, au as MetricLayoutOptions, av as MetricTextPart, aw as MetricTextSource, ax as NUMBERING_STYLES, ay as NUMBERING_SUFFIXES, az as Numbering, aA as NumberingInput, aB as NumberingStyleName, aC as NumberingSuffix, aD as OPFCompositionError, aE as PICTURE_BULLET_SCALE, aF as PhysicalAlignment, aG as QuoteContent, aH as QuoteLayout, aI as QuoteLayoutDiagnostic, aJ as QuoteLayoutOptions, aK as QuoteTextPart, aL as QuoteTextSource, aM as Reference, aN as ReferencesSlideOptions, aO as ResolveColorRefOptions, aP as ResolveColorRefRoles, aQ as ResolveLogoOptions, aR as ResolvedChartDataLabels, aS as ResolvedChartOptions, aT as ResolvedFontScheme, aU as ResolvedLogo, aV as ResolvedNumbering, aW as RichText, aX as RichTextFit, aY as RichTextFragment, aZ as RichTextLine, a_ as RichTextOptions, a$ as RichTextRun, b0 as SlideCitations, b1 as SlideComposition, b2 as SlideImageShape, b3 as SocialPlatformRecord, b4 as SocialProfile, b5 as TextDirection, b6 as TextFit, b7 as TextLineInk, T as TextMeasurement, b8 as TextPlacement, b9 as TextPlacementLine, ba as TextStyle, bb as TimelineContent, bc as TimelineEvent, bd as TimelineLayout, be as TimelineLayoutDiagnostic, bf as TimelineLayoutOptions, bg as TimelineTextPart, bh as annotationText, bi as captionSettings, bj as chartColorForFill, bk as chartLabelText, bl as chartOptionSupport, bm as chartOptionTarget, bn as chartPaletteForFill, bo as citationMarkerText, bp as collectCitations, bq as colorContrast, br as composeSlide, bs as fitList, bt as fitRichText, bu as fitText, bv as formatChartLabelNumber, bw as formatChartLabelPercent, bx as formatFurnitureDate, by as formatListNumber, bz as formatSlideNumber, bA as layoutCaption, bB as layoutCode, bC as layoutFootnotes, bD as layoutFurniture, bE as layoutMetric, bF as layoutQuote, bG as layoutTimeline, bH as listNumbers, bI as measureText, bJ as measureTextOutline, bK as normalizeHexColor, bL as numberingAtLevel, bM as numberingStyleDraws, bN as paragraphDirection, bO as paragraphDirectionAt, bP as physicalAlignment, bQ as placeTextLines, bR as referencesSlide, bS as resolveCanvasDimensions, bT as resolveChartOptions, bU as resolveColorRef, bV as resolveFontFamilies, bW as resolveFontSchemeReference, bX as resolveLogo, bY as resolveNumbering, bZ as resolveSocialProfile, b_ as resolveTextStyle, b$ as sliceNumberedItems, c0 as slideCitations, c1 as snapFontSizeDown, c2 as snapFontSizeUp, c3 as textColorForFill, c4 as textWidthMeasurer, c5 as walkCitationRuns, c6 as wrapText } from './composition-DWbCiMwF.js';
7
+ export { P as Presentation } from './presentation-mG-IYErQ.js';
8
+ export { d as AuditCategory, e as AuditDiagnostic, f as AuditFix, a as AuditOptions, g as AuditPatchOperation, b as AuditReport, c as AuditRuleInfo, h as AuditSeverity, A as AuditThresholds, k as LintContract, L as LintDiagnostic, i as LintLocation, l as LintOptions, m as LintReport, j as LintSeverity, n as LintSuggestion, o as lintPresentation, p as lintSource } from './lint-B7azdiuE.js';
9
+ export { DEFAULT_AUDIT_THRESHOLDS, DEFAULT_CHART_PALETTE, auditPresentation, auditRules, auditSource, findAuditRule } from './audit.js';
10
+ import { M as MetricLayout } from './composition-D7we69Tr.js';
11
+ export { A as AnnotatedRun, a as AnnotationFitter, b as AnnotationLayoutOptions, c as CAPTIONABLE_FIELDS, d as CAPTION_FONT_RATIO, e as CAPTION_MAX_RATIO, f as CHART_SERIES_MIN_DIFFERENCE, g as CHART_SERIES_MIN_LIGHTNESS_STEP, h as CITATION_MARKER_RAISE, i as CITATION_MARKER_SCALE, j as Caption, k as CaptionAlignment, l as CaptionObject, m as CaptionPosition, n as CaptionSettings, o as ChartLabelContent, p as ChartLabelPosition, q as ChartLegendPosition, r as ChartOptionDiagnostic, s as ChartOptionKind, t as ChartOptionSupport, u as ChartOptionTarget, v as CitationMarker, w as CitationNote, x as CodeContent, y as CodeLayout, z as CodeLayoutDiagnostic, B as CodeLayoutOptions, D as CodeLineSegment, E as CodeLineSource, G as CodeTextFit, H as CodeTextPart, C as ComposeSlideOptions, I as ComposedCaption, J as ComposedFlow, K as ComposedFootnoteEntry, N as ComposedFootnotes, O as ComposedGroup, P as ComposedItem, Q as ComposedLogo, R as ComposedSlideImage, S as Composition, U as CompositionCandidate, V as CompositionDecision, W as CompositionExplanation, X as CompositionPenalties, Y as CompositionTrack, Z as DEFAULT_CHART_LABEL_SEPARATOR, _ as DEFAULT_FONT_SCHEME, $ as DEFAULT_FURNITURE_DATE_FORMAT, a0 as DEFAULT_SLIDE_NUMBER_FORMAT, a1 as DeckCitations, a2 as FONT_SIZE_GRID_PER_PX, a3 as FOOTNOTE_MAX_RATIO, a4 as FontFamilies, F as FontSchemeDiagnostic, a5 as FootnoteLayoutOptions, a6 as FurnitureField, a7 as FurnitureImagePart, a8 as FurnitureLayout, a9 as FurniturePart, aa as FurniturePartBase, ab as FurnitureSocialLink, ac as FurnitureTextExtras, ad as FurnitureTextPart, ae as LayoutBox, L as LayoutDiagnostic, af as ListBulletImage, ag as ListEntryLayout, ah as ListFit, ai as ListFitOptions, aj as ListNumber, ak as ListText, al as ListValue, am as LogoSlot, an as MAX_COMPOSITION_DEPTH, ao as MAX_NUMBERING_LEVELS, ap as MAX_NUMBERING_VALUE, aq as MAX_ROMAN_VALUE, ar as MeasureTextWidth, as as MetricContent, at as MetricLayoutDiagnostic, au as MetricLayoutOptions, av as MetricTextPart, aw as MetricTextSource, ax as NUMBERING_STYLES, ay as NUMBERING_SUFFIXES, az as Numbering, aA as NumberingInput, aB as NumberingStyleName, aC as NumberingSuffix, aD as OPFCompositionError, aE as PICTURE_BULLET_SCALE, aF as PhysicalAlignment, aG as QuoteContent, aH as QuoteLayout, aI as QuoteLayoutDiagnostic, aJ as QuoteLayoutOptions, aK as QuoteTextPart, aL as QuoteTextSource, aM as Reference, aN as ReferencesSlideOptions, aO as ResolveColorRefOptions, aP as ResolveColorRefRoles, aQ as ResolveLogoOptions, aR as ResolvedChartDataLabels, aS as ResolvedChartOptions, aT as ResolvedFontScheme, aU as ResolvedLogo, aV as ResolvedNumbering, aW as RichText, aX as RichTextFit, aY as RichTextFragment, aZ as RichTextLine, a_ as RichTextOptions, a$ as RichTextRun, b0 as SlideCitations, b1 as SlideComposition, b2 as SlideImageShape, b3 as SocialPlatformRecord, b4 as SocialProfile, b5 as TextDirection, b6 as TextFit, b7 as TextLineInk, T as TextMeasurement, b8 as TextPlacement, b9 as TextPlacementLine, ba as TextStyle, bb as TimelineContent, bc as TimelineEvent, bd as TimelineLayout, be as TimelineLayoutDiagnostic, bf as TimelineLayoutOptions, bg as TimelineTextPart, bh as annotationText, bi as captionSettings, bj as chartColorForFill, bk as chartLabelText, bl as chartOptionSupport, bm as chartOptionTarget, bn as chartPaletteForFill, bo as citationMarkerText, bp as collectCitations, bq as colorContrast, br as composeSlide, bs as fitList, bt as fitRichText, bu as fitText, bv as formatChartLabelNumber, bw as formatChartLabelPercent, bx as formatFurnitureDate, by as formatListNumber, bz as formatSlideNumber, bA as layoutCaption, bB as layoutCode, bC as layoutFootnotes, bD as layoutFurniture, bE as layoutMetric, bF as layoutQuote, bG as layoutTimeline, bH as listNumbers, bI as measureText, bJ as measureTextOutline, bK as normalizeHexColor, bL as numberingAtLevel, bM as numberingStyleDraws, bN as paragraphDirection, bO as paragraphDirectionAt, bP as physicalAlignment, bQ as placeTextLines, bR as referencesSlide, bS as resolveCanvasDimensions, bT as resolveChartOptions, bU as resolveColorRef, bV as resolveFontFamilies, bW as resolveFontSchemeReference, bX as resolveLogo, bY as resolveNumbering, bZ as resolveSocialProfile, b_ as resolveTextStyle, b$ as sliceNumberedItems, c0 as slideCitations, c1 as snapFontSizeDown, c2 as snapFontSizeUp, c3 as textColorForFill, c4 as textWidthMeasurer, c5 as walkCitationRuns, c6 as wrapText } from './composition-D7we69Tr.js';
12
12
  export { OPFPaginationError, PaginatedPage, PaginationMapping, PaginationOptions, PaginationResult, PresentationPaginationOptions, PresentationPaginationResult, paginatePresentation, paginateSlide } from './pagination.js';
13
13
  export { DataCell, DataContentOptions, DataImportOptions, OPFDataImportError, TabularData, createDataContent, parseTabularData } from './data.js';
14
+ export { C as ChartMapping, a as ChartNumberFix, b as ChartNumberFixOperation, c as ChartNumberFixOptions, D as DataCellValue, d as DataColumn, e as DataDiagnostic, f as DataDiagnosticCode, g as DataResolveOptions, h as DataSourceRef, i as DataStyledCell, j as DataTableCell, k as DataTableHeader, l as DataTableValue, m as DataTextRun, n as Dataset, o as DatasetRef, R as ResolvedChartData, p as ResolvedTableData, q as chartNumber, r as datasetDiagnostics, s as excelNumberFormat, t as formatDataNumber, u as inlineChartData, v as inlineDatasets, w as inlineTableData, x as isDatasetRef, y as isXYChartType, z as numberFormatError, A as numberFormatFromExcel, B as resolveChartData, E as resolveTableData, F as suggestChartNumberFix, G as tableCellDisplayValue, H as unusedDatasets } from './chart-data-Cdr6rRVV.js';
14
15
  export { FONT_POLICY, FontAvailability, FontAvailabilityCode, FontAvailabilityDiagnostic, FontLicenseClass, FontPolicyDecision, FontPolicyEntry, FontPolicyTable, FontReplacement, FontReplacementCompatibility, FontReplacementMeasurement, applyFontPolicyDecisions, fontAvailabilityDiagnostics, fontPolicyFor } from './font-policy.js';
15
16
  export { SYMBOL_FONT_ENCODINGS, SYMBOL_FONT_FAMILIES, SymbolFontCode, SymbolFontEncoding, SymbolFontEncodingTable, SymbolFontFamily, SymbolTextCharacter, isSymbolEncodedFamily, mapSymbolText, symbolCodeForUnicode, symbolCodeOf, symbolFontEncodingFor, symbolUnicodeFor } from './symbol-font-encodings.js';
16
17
 
@@ -149,7 +150,9 @@ interface ResolvedScriptFonts extends ScriptFontSlots {
149
150
  /**
150
151
  * Supplemental theme font for the language's script. Present only when an explicit slot, the
151
152
  * design scheme's own script family or the language's font scheme supplies one; absent for
152
- * Latin, Cyrillic, Greek and for scripts with no script font.
153
+ * Latin, Cyrillic, Greek and for scripts with no script font. For Armenian, Georgian and
154
+ * Ethiopic (latin slot) an explicit `complexScript` slot or a design `cs` scheme that serves the
155
+ * language replaces the language's own font scheme.
153
156
  */
154
157
  supplement?: ScriptFontSupplement;
155
158
  sources: {
package/dist/index.js CHANGED
@@ -1,17 +1,17 @@
1
1
  export { specFileEntries, specFileKinds, specFilePaths } from './chunk-GJKJL4YY.js';
2
2
  export { getLayoutPreview, hasLayoutPreview, layoutPreviewIndex, layoutPreviewSlugs, layoutPreviews } from './chunk-PIQXLBBJ.js';
3
3
  export { SYMBOL_FONT_ENCODINGS, SYMBOL_FONT_FAMILIES, isSymbolEncodedFamily, mapSymbolText, symbolCodeForUnicode, symbolCodeOf, symbolFontEncodingFor, symbolUnicodeFor } from './chunk-FYLJVF7X.js';
4
- export { OPFDataImportError, createDataContent, parseTabularData } from './chunk-SOSOBKQ2.js';
5
- export { OPFPaginationError, paginatePresentation, paginateSlide } from './chunk-AUM5MXBR.js';
6
- export { DEFAULT_AUDIT_THRESHOLDS, DEFAULT_CHART_PALETTE, auditPresentation, auditRules, auditSource, findAuditRule } from './chunk-6LZK2IZB.js';
7
- export { lintPresentation, lintSource } from './chunk-MWPMJE6P.js';
8
- export { DEFAULT_VARIABLE_DATE_FORMAT, OPFValidationError, OPFVariableError, VARIABLE_KINDS, assertValid, assertValidCatalogRecord, assertValidPresentation, coerceVariableValue, formatVariableNumber, hasContentVariables, isTemplate, listVariables, resolveVariables, validate, validateCatalogRecord, validatePresentation, variableDeclarations } from './chunk-JKVKYVWL.js';
9
- import { isRecord, visitContentPayloads, bareIdPattern } from './chunk-HOBSL7AJ.js';
10
- export { CAPTIONABLE_FIELDS, CAPTION_FONT_RATIO, CAPTION_MAX_RATIO, CHART_SERIES_MIN_DIFFERENCE, CHART_SERIES_MIN_LIGHTNESS_STEP, CITATION_MARKER_RAISE, CITATION_MARKER_SCALE, DEFAULT_CHART_LABEL_SEPARATOR, DEFAULT_FONT_SCHEME, DEFAULT_FURNITURE_DATE_FORMAT, DEFAULT_SLIDE_NUMBER_FORMAT, FONT_SIZE_GRID_PER_PX, FOOTNOTE_MAX_RATIO, MAX_COMPOSITION_DEPTH, MAX_NUMBERING_LEVELS, MAX_NUMBERING_VALUE, MAX_ROMAN_VALUE, NUMBERING_STYLES, NUMBERING_SUFFIXES, OPFCompositionError, PICTURE_BULLET_SCALE, annotationText, captionSettings, chartColorForFill, chartLabelText, chartOptionSupport, chartOptionTarget, chartPaletteForFill, citationMarkerText, collectCitations, colorContrast, composeSlide, fitList, fitRichText, fitText, formatChartLabelNumber, formatChartLabelPercent, formatFurnitureDate, formatListNumber, formatSlideNumber, layoutCaption, layoutCode, layoutFootnotes, layoutFurniture, layoutMetric, layoutQuote, layoutTimeline, listNumbers, measureText, measureTextOutline, normalizeHexColor, numberingAtLevel, numberingStyleDraws, paragraphDirection, paragraphDirectionAt, physicalAlignment, placeTextLines, referencesSlide, resolveCanvasDimensions, resolveChartOptions, resolveColorRef, resolveFontFamilies, resolveFontSchemeReference, resolveLogo, resolveNumbering, resolveScriptFonts, resolveSlideDirection, resolveSocialProfile, resolveTextStyle, scriptFontRole, sliceNumberedItems, slideCitations, snapFontSizeDown, snapFontSizeUp, textColorForFill, textWidthMeasurer, walkCitationRuns, wrapText } from './chunk-HOBSL7AJ.js';
4
+ export { OPFDataImportError, createDataContent, parseTabularData } from './chunk-ATGDDJPX.js';
5
+ export { OPFPaginationError, paginatePresentation, paginateSlide } from './chunk-RAYB46AB.js';
6
+ export { DEFAULT_AUDIT_THRESHOLDS, DEFAULT_CHART_PALETTE, auditPresentation, auditRules, auditSource, findAuditRule } from './chunk-7N4VMAT4.js';
7
+ export { lintPresentation, lintSource } from './chunk-INU7ZNSB.js';
8
+ export { OPFValidationError, assertValid, assertValidCatalogRecord, assertValidPresentation, validate, validateCatalogRecord, validatePresentation } from './chunk-IYCJUKWD.js';
9
+ import { isRecord, visitContentPayloads, bareIdPattern } from './chunk-MPM7NRG7.js';
10
+ export { CAPTIONABLE_FIELDS, CAPTION_FONT_RATIO, CAPTION_MAX_RATIO, CHART_SERIES_MIN_DIFFERENCE, CHART_SERIES_MIN_LIGHTNESS_STEP, CITATION_MARKER_RAISE, CITATION_MARKER_SCALE, DEFAULT_CHART_LABEL_SEPARATOR, DEFAULT_FONT_SCHEME, DEFAULT_FURNITURE_DATE_FORMAT, DEFAULT_SLIDE_NUMBER_FORMAT, DEFAULT_VARIABLE_DATE_FORMAT, FONT_SIZE_GRID_PER_PX, FOOTNOTE_MAX_RATIO, MAX_COMPOSITION_DEPTH, MAX_NUMBERING_LEVELS, MAX_NUMBERING_VALUE, MAX_ROMAN_VALUE, NUMBERING_STYLES, NUMBERING_SUFFIXES, OPFCompositionError, OPFVariableError, PICTURE_BULLET_SCALE, VARIABLE_KINDS, annotationText, captionSettings, chartColorForFill, chartLabelText, chartNumber, chartOptionSupport, chartOptionTarget, chartPaletteForFill, citationMarkerText, coerceVariableValue, collectCitations, colorContrast, composeSlide, datasetDiagnostics, excelNumberFormat, fitList, fitRichText, fitText, formatChartLabelNumber, formatChartLabelPercent, formatDataNumber, formatFurnitureDate, formatListNumber, formatSlideNumber, formatVariableNumber, hasContentVariables, inlineChartData, inlineDatasets, inlineTableData, isDatasetRef, isTemplate, isXYChartType, layoutCaption, layoutCode, layoutFootnotes, layoutFurniture, layoutMetric, layoutQuote, layoutTimeline, listNumbers, listVariables, measureText, measureTextOutline, normalizeHexColor, numberFormatError, numberFormatFromExcel, numberingAtLevel, numberingStyleDraws, paragraphDirection, paragraphDirectionAt, physicalAlignment, placeTextLines, referencesSlide, resolveCanvasDimensions, resolveChartData, resolveChartOptions, resolveColorRef, resolveFontFamilies, resolveFontSchemeReference, resolveLogo, resolveNumbering, resolveScriptFonts, resolveSlideDirection, resolveSocialProfile, resolveTableData, resolveTextStyle, resolveVariables, scriptFontRole, sliceNumberedItems, slideCitations, snapFontSizeDown, snapFontSizeUp, suggestChartNumberFix, tableCellDisplayValue, textColorForFill, textWidthMeasurer, unusedDatasets, variableDeclarations, walkCitationRuns, wrapText } from './chunk-MPM7NRG7.js';
11
11
  import './chunk-S5W34SIJ.js';
12
12
  import { catalogEntries } from './chunk-E34DJ5LL.js';
13
13
  export { audiences, catalogEntries, catalogIndexes, catalogKinds, catalogSchemaNames, catalogs, chartTypes, colorSchemes, fontSchemes, languages, layouts, narratives, purposes, socialPlatforms, themes, tones } from './chunk-E34DJ5LL.js';
14
- export { audience, chartType, colorScheme, fontScheme, language, layout, narrative, presentation, purpose, schemaEntries, schemaNames, schemas, socialPlatform, theme, tone } from './chunk-4LAM3N6S.js';
14
+ export { audience, chartType, colorScheme, fontScheme, language, layout, narrative, presentation, purpose, schemaEntries, schemaNames, schemas, socialPlatform, theme, tone } from './chunk-7QBCWNWL.js';
15
15
  export { FONT_POLICY, applyFontPolicyDecisions, fontAvailabilityDiagnostics, fontPolicyFor } from './chunk-WXSPETQ6.js';
16
16
 
17
17
  // src/bundle.ts