@openpresentation/opf 0.12.2 → 0.14.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 (416) hide show
  1. package/README.md +28 -23
  2. package/dist/{catalogs-BnI7JKcn.d.ts → catalogs-D-yyQWCQ.d.ts} +86 -208
  3. package/dist/catalogs.d.ts +2 -2
  4. package/dist/catalogs.js +1 -1
  5. package/dist/chart-data-B_3z9VTb.d.ts +188 -0
  6. package/dist/chunk-4LDGKLUC.js +192 -0
  7. package/dist/{chunk-V2537ENL.js → chunk-4VJDTF55.js} +2 -90
  8. package/dist/chunk-5ZU6JAPP.js +83 -0
  9. package/dist/{chunk-HOBSL7AJ.js → chunk-6OXY2CP3.js} +3604 -1644
  10. package/dist/{chunk-RUC7L5DJ.js → chunk-BFLVSVA7.js} +26 -26
  11. package/dist/chunk-CSQHPVGL.js +94 -0
  12. package/dist/{chunk-GJKJL4YY.js → chunk-D3TY4TT6.js} +34 -412
  13. package/dist/chunk-JDJBDYSR.js +4167 -0
  14. package/dist/{chunk-4LAM3N6S.js → chunk-LS2FMPI5.js} +1497 -1097
  15. package/dist/{chunk-SOSOBKQ2.js → chunk-Q2TCMN56.js} +6 -7
  16. package/dist/chunk-UPQQD7MA.js +1840 -0
  17. package/dist/{chunk-AUM5MXBR.js → chunk-XIZUK2XM.js} +36 -32
  18. package/dist/{chunk-E34DJ5LL.js → chunk-XOZ4KMSR.js} +2427 -10820
  19. package/dist/chunk-Z65B2B77.js +601 -0
  20. package/dist/{composition-DWbCiMwF.d.ts → composition-_WEwBe2a.d.ts} +744 -26
  21. package/dist/composition.d.ts +2 -1
  22. package/dist/composition.js +2 -2
  23. package/dist/convert.d.ts +9 -4
  24. package/dist/convert.js +57 -26
  25. package/dist/data.d.ts +5 -4
  26. package/dist/data.js +3 -1
  27. package/dist/diff.d.ts +5 -5
  28. package/dist/diff.js +6 -603
  29. package/dist/docs.js +70 -52
  30. package/dist/examples.d.ts +1 -1
  31. package/dist/examples.js +1466 -2963
  32. package/dist/finding-C_por275.d.ts +212 -0
  33. package/dist/format.d.ts +4 -4
  34. package/dist/format.js +2 -83
  35. package/dist/index.d.ts +318 -281
  36. package/dist/index.js +530 -943
  37. package/dist/markdown.d.ts +28 -25
  38. package/dist/markdown.js +8 -1940
  39. package/dist/pagination-BZpXLvFL.d.ts +119 -0
  40. package/dist/pagination.d.ts +5 -60
  41. package/dist/pagination.js +5 -5
  42. package/dist/patch.d.ts +12 -23
  43. package/dist/patch.js +5 -5
  44. package/dist/{presentation-DcF-MZcz.d.ts → presentation-C5eHkevA.d.ts} +516 -499
  45. package/dist/repo-readme.js +1 -1
  46. package/dist/{schemas-BSjlG8-R.d.ts → schemas-DDpqAgyS.d.ts} +49 -17
  47. package/dist/schemas.d.ts +1 -1
  48. package/dist/schemas.js +1 -1
  49. package/dist/spec/README.md +10 -5
  50. package/dist/spec/catalogs/audiences/index.json +2 -50
  51. package/dist/spec/catalogs/chart-types/100pct-stacked-area.json +21 -0
  52. package/dist/spec/catalogs/chart-types/100pct-stacked-bar.json +22 -0
  53. package/dist/spec/catalogs/chart-types/100pct-stacked-column.json +22 -0
  54. package/dist/spec/catalogs/chart-types/area.json +2 -60
  55. package/dist/spec/catalogs/chart-types/bar.json +2 -48
  56. package/dist/spec/catalogs/chart-types/box-and-whisker.json +2 -132
  57. package/dist/spec/catalogs/chart-types/column.json +2 -52
  58. package/dist/spec/catalogs/chart-types/combo.json +37 -0
  59. package/dist/spec/catalogs/chart-types/doughnut.json +2 -40
  60. package/dist/spec/catalogs/chart-types/filled-radar.json +2 -52
  61. package/dist/spec/catalogs/chart-types/funnel.json +2 -46
  62. package/dist/spec/catalogs/chart-types/histogram.json +2 -149
  63. package/dist/spec/catalogs/chart-types/index.json +50 -520
  64. package/dist/spec/catalogs/chart-types/line-with-markers.json +2 -60
  65. package/dist/spec/catalogs/chart-types/line.json +2 -60
  66. package/dist/spec/catalogs/chart-types/pareto.json +2 -50
  67. package/dist/spec/catalogs/chart-types/pie.json +2 -40
  68. package/dist/spec/catalogs/chart-types/radar-with-markers.json +2 -52
  69. package/dist/spec/catalogs/chart-types/radar.json +2 -52
  70. package/dist/spec/catalogs/chart-types/scatter.json +2 -73
  71. package/dist/spec/catalogs/chart-types/stacked-area.json +21 -0
  72. package/dist/spec/catalogs/chart-types/stacked-bar.json +22 -0
  73. package/dist/spec/catalogs/chart-types/stacked-column.json +22 -0
  74. package/dist/spec/catalogs/chart-types/stacked-line-with-markers.json +22 -0
  75. package/dist/spec/catalogs/chart-types/stacked-line.json +21 -0
  76. package/dist/spec/catalogs/chart-types/treemap.json +2 -48
  77. package/dist/spec/catalogs/chart-types/waterfall.json +2 -52
  78. package/dist/spec/catalogs/chart-types/world.json +2 -64
  79. package/dist/spec/catalogs/font-schemes/angsana-new.json +2 -2
  80. package/dist/spec/catalogs/font-schemes/aparajita.json +3 -3
  81. package/dist/spec/catalogs/font-schemes/aptos.json +1 -1
  82. package/dist/spec/catalogs/font-schemes/arabic-typesetting.json +2 -2
  83. package/dist/spec/catalogs/font-schemes/arial.json +1 -1
  84. package/dist/spec/catalogs/font-schemes/batang.json +2 -2
  85. package/dist/spec/catalogs/font-schemes/bookman.json +1 -1
  86. package/dist/spec/catalogs/font-schemes/calibri.json +1 -1
  87. package/dist/spec/catalogs/font-schemes/century-schoolbook.json +1 -1
  88. package/dist/spec/catalogs/font-schemes/consolas.json +2 -4
  89. package/dist/spec/catalogs/font-schemes/constantia.json +1 -1
  90. package/dist/spec/catalogs/font-schemes/courier-new.json +2 -4
  91. package/dist/spec/catalogs/font-schemes/daunpenh.json +2 -2
  92. package/dist/spec/catalogs/font-schemes/david.json +2 -2
  93. package/dist/spec/catalogs/font-schemes/dilleniaupc.json +2 -2
  94. package/dist/spec/catalogs/font-schemes/fangsong.json +2 -2
  95. package/dist/spec/catalogs/font-schemes/garamond.json +1 -1
  96. package/dist/spec/catalogs/font-schemes/gautami.json +2 -2
  97. package/dist/spec/catalogs/font-schemes/georgia.json +1 -1
  98. package/dist/spec/catalogs/font-schemes/gisha.json +3 -3
  99. package/dist/spec/catalogs/font-schemes/grandview.json +1 -1
  100. package/dist/spec/catalogs/font-schemes/gungsuh.json +2 -2
  101. package/dist/spec/catalogs/font-schemes/impact.json +1 -1
  102. package/dist/spec/catalogs/font-schemes/index.json +1 -1
  103. package/dist/spec/catalogs/font-schemes/kalinga.json +2 -2
  104. package/dist/spec/catalogs/font-schemes/kartika.json +2 -2
  105. package/dist/spec/catalogs/font-schemes/khmer-ui.json +2 -2
  106. package/dist/spec/catalogs/font-schemes/latha.json +2 -2
  107. package/dist/spec/catalogs/font-schemes/lucida-sans.json +1 -1
  108. package/dist/spec/catalogs/font-schemes/malgun-gothic.json +2 -2
  109. package/dist/spec/catalogs/font-schemes/mangal.json +4 -5
  110. package/dist/spec/catalogs/font-schemes/meiryo.json +2 -2
  111. package/dist/spec/catalogs/font-schemes/microsoft-jhenghei.json +2 -2
  112. package/dist/spec/catalogs/font-schemes/microsoft-yahei.json +5 -5
  113. package/dist/spec/catalogs/font-schemes/mingliu.json +2 -2
  114. package/dist/spec/catalogs/font-schemes/miriam.json +2 -2
  115. package/dist/spec/catalogs/font-schemes/montserrat.json +1 -1
  116. package/dist/spec/catalogs/font-schemes/ms-mincho.json +2 -2
  117. package/dist/spec/catalogs/font-schemes/nirmala-ui.json +2 -2
  118. package/dist/spec/catalogs/font-schemes/noto-naksh-arabic.json +2 -2
  119. package/dist/spec/catalogs/font-schemes/noto-nastaliq-urdu.json +3 -3
  120. package/dist/spec/catalogs/font-schemes/noto-sans-arabic.json +4 -4
  121. package/dist/spec/catalogs/font-schemes/noto-sans-armenian.json +2 -2
  122. package/dist/spec/catalogs/font-schemes/noto-sans-bengali.json +3 -3
  123. package/dist/spec/catalogs/font-schemes/noto-sans-devangari.json +3 -3
  124. package/dist/spec/catalogs/font-schemes/noto-sans-ethiopic.json +2 -2
  125. package/dist/spec/catalogs/font-schemes/noto-sans-georgian.json +2 -2
  126. package/dist/spec/catalogs/font-schemes/noto-sans-gujarati.json +2 -2
  127. package/dist/spec/catalogs/font-schemes/noto-sans-gurmukhi.json +2 -2
  128. package/dist/spec/catalogs/font-schemes/noto-sans-hebrew.json +2 -2
  129. package/dist/spec/catalogs/font-schemes/noto-sans-jp.json +2 -2
  130. package/dist/spec/catalogs/font-schemes/noto-sans-kannada.json +2 -2
  131. package/dist/spec/catalogs/font-schemes/noto-sans-khmer.json +2 -2
  132. package/dist/spec/catalogs/font-schemes/noto-sans-kr.json +2 -2
  133. package/dist/spec/catalogs/font-schemes/noto-sans-malayalam.json +2 -2
  134. package/dist/spec/catalogs/font-schemes/noto-sans-mongolian.json +2 -2
  135. package/dist/spec/catalogs/font-schemes/noto-sans-oriya.json +2 -2
  136. package/dist/spec/catalogs/font-schemes/noto-sans-sc.json +5 -5
  137. package/dist/spec/catalogs/font-schemes/noto-sans-tamil.json +2 -2
  138. package/dist/spec/catalogs/font-schemes/noto-sans-tc.json +2 -2
  139. package/dist/spec/catalogs/font-schemes/noto-sans-telugu.json +2 -2
  140. package/dist/spec/catalogs/font-schemes/noto-sans-thai.json +2 -2
  141. package/dist/spec/catalogs/font-schemes/noto-sans.json +5 -5
  142. package/dist/spec/catalogs/font-schemes/nyala.json +2 -2
  143. package/dist/spec/catalogs/font-schemes/open-sans.json +1 -1
  144. package/dist/spec/catalogs/font-schemes/pmingliu.json +2 -2
  145. package/dist/spec/catalogs/font-schemes/poppins.json +1 -1
  146. package/dist/spec/catalogs/font-schemes/pt-serif.json +1 -1
  147. package/dist/spec/catalogs/font-schemes/raavi.json +2 -2
  148. package/dist/spec/catalogs/font-schemes/raleway.json +1 -1
  149. package/dist/spec/catalogs/font-schemes/roboto.json +1 -1
  150. package/dist/spec/catalogs/font-schemes/rockwell.json +1 -1
  151. package/dist/spec/catalogs/font-schemes/sakkal-majalla.json +4 -4
  152. package/dist/spec/catalogs/font-schemes/seaford.json +1 -1
  153. package/dist/spec/catalogs/font-schemes/segoe-ui-light.json +1 -1
  154. package/dist/spec/catalogs/font-schemes/segoe-ui.json +1 -1
  155. package/dist/spec/catalogs/font-schemes/shonar-bangla.json +3 -3
  156. package/dist/spec/catalogs/font-schemes/shruti.json +2 -2
  157. package/dist/spec/catalogs/font-schemes/simsun.json +2 -2
  158. package/dist/spec/catalogs/font-schemes/skeena.json +1 -1
  159. package/dist/spec/catalogs/font-schemes/sylfaen.json +3 -3
  160. package/dist/spec/catalogs/font-schemes/tahoma.json +1 -1
  161. package/dist/spec/catalogs/font-schemes/tenorite.json +1 -1
  162. package/dist/spec/catalogs/font-schemes/times-new-roman.json +1 -1
  163. package/dist/spec/catalogs/font-schemes/traditional-arabic.json +4 -4
  164. package/dist/spec/catalogs/font-schemes/trebuchet-ms.json +1 -1
  165. package/dist/spec/catalogs/font-schemes/tunga.json +2 -2
  166. package/dist/spec/catalogs/font-schemes/verdana.json +1 -1
  167. package/dist/spec/catalogs/font-schemes/vrinda.json +2 -2
  168. package/dist/spec/catalogs/font-schemes/yu-gothic.json +2 -2
  169. package/dist/spec/catalogs/layouts/action-plan.json +9 -15
  170. package/dist/spec/catalogs/layouts/agenda.json +8 -15
  171. package/dist/spec/catalogs/layouts/appendix-index.json +7 -15
  172. package/dist/spec/catalogs/layouts/architecture-stack.json +9 -15
  173. package/dist/spec/catalogs/layouts/assumptions-dependencies.json +9 -15
  174. package/dist/spec/catalogs/layouts/before-after.json +9 -15
  175. package/dist/spec/catalogs/layouts/benchmark-target-table.json +9 -15
  176. package/dist/spec/catalogs/layouts/blank.json +11 -1
  177. package/dist/spec/catalogs/layouts/bullet-list.json +9 -15
  178. package/dist/spec/catalogs/layouts/business-model-canvas.json +9 -15
  179. package/dist/spec/catalogs/layouts/capability-map.json +14 -16
  180. package/dist/spec/catalogs/layouts/case-study.json +9 -15
  181. package/dist/spec/catalogs/layouts/chapter-recap.json +8 -15
  182. package/dist/spec/catalogs/layouts/chart-1x.json +15 -0
  183. package/dist/spec/catalogs/layouts/chart-2x.json +15 -0
  184. package/dist/spec/catalogs/layouts/chart-3x.json +15 -0
  185. package/dist/spec/catalogs/layouts/circular-lifecycle.json +9 -15
  186. package/dist/spec/catalogs/layouts/code-1x.json +10 -0
  187. package/dist/spec/catalogs/layouts/comparison.json +9 -15
  188. package/dist/spec/catalogs/layouts/competitive-landscape.json +14 -16
  189. package/dist/spec/catalogs/layouts/customer-journey.json +14 -16
  190. package/dist/spec/catalogs/layouts/customer-logos.json +9 -15
  191. package/dist/spec/catalogs/layouts/dashboard.json +9 -15
  192. package/dist/spec/catalogs/layouts/data-visualization.json +9 -15
  193. package/dist/spec/catalogs/layouts/decision-tree.json +14 -16
  194. package/dist/spec/catalogs/layouts/detailed-data-table.json +9 -15
  195. package/dist/spec/catalogs/layouts/ecosystem-map.json +14 -16
  196. package/dist/spec/catalogs/layouts/executive-decision.json +9 -15
  197. package/dist/spec/catalogs/layouts/executive-summary.json +9 -15
  198. package/dist/spec/catalogs/layouts/extract/canonical.json +8 -8
  199. package/dist/spec/catalogs/layouts/faq.json +9 -15
  200. package/dist/spec/catalogs/layouts/feature-comparison-matrix.json +9 -15
  201. package/dist/spec/catalogs/layouts/forecast-scenario.json +9 -15
  202. package/dist/spec/catalogs/layouts/funnel-pyramid.json +9 -15
  203. package/dist/spec/catalogs/layouts/gantt-project-plan.json +9 -15
  204. package/dist/spec/catalogs/layouts/geographic-map.json +13 -15
  205. package/dist/spec/catalogs/layouts/heatmap-cohort.json +9 -15
  206. package/dist/spec/catalogs/layouts/hub-and-spoke.json +9 -15
  207. package/dist/spec/catalogs/layouts/icon-grid.json +14 -16
  208. package/dist/spec/catalogs/layouts/image-1x.json +11 -1
  209. package/dist/spec/catalogs/layouts/image-2x.json +12 -2
  210. package/dist/spec/catalogs/layouts/image-3x.json +13 -3
  211. package/dist/spec/catalogs/layouts/image-bleed.json +12 -2
  212. package/dist/spec/catalogs/layouts/image-focus.json +14 -16
  213. package/dist/spec/catalogs/layouts/index.json +1 -1
  214. package/dist/spec/catalogs/layouts/key-takeaway.json +8 -15
  215. package/dist/spec/catalogs/layouts/kpi-scorecard.json +9 -15
  216. package/dist/spec/catalogs/layouts/list-1x.json +17 -1
  217. package/dist/spec/catalogs/layouts/list-2x.json +16 -0
  218. package/dist/spec/catalogs/layouts/list-3x.json +16 -0
  219. package/dist/spec/catalogs/layouts/list-4x.json +16 -0
  220. package/dist/spec/catalogs/layouts/list-5x.json +16 -0
  221. package/dist/spec/catalogs/layouts/list-6x.json +16 -0
  222. package/dist/spec/catalogs/layouts/logic-tree.json +9 -15
  223. package/dist/spec/catalogs/layouts/market-size.json +9 -15
  224. package/dist/spec/catalogs/layouts/matrix-quadrant.json +9 -15
  225. package/dist/spec/catalogs/layouts/media-1x.json +11 -1
  226. package/dist/spec/catalogs/layouts/network-dependency-map.json +13 -15
  227. package/dist/spec/catalogs/layouts/number-1x.json +16 -1
  228. package/dist/spec/catalogs/layouts/number-2x.json +15 -0
  229. package/dist/spec/catalogs/layouts/number-3x.json +15 -0
  230. package/dist/spec/catalogs/layouts/number-4x.json +15 -0
  231. package/dist/spec/catalogs/layouts/number-5x.json +15 -0
  232. package/dist/spec/catalogs/layouts/number-6x.json +15 -0
  233. package/dist/spec/catalogs/layouts/one-column-explainer.json +9 -15
  234. package/dist/spec/catalogs/layouts/org-chart.json +9 -15
  235. package/dist/spec/catalogs/layouts/persona-grid.json +14 -16
  236. package/dist/spec/catalogs/layouts/photo-grid.json +17 -19
  237. package/dist/spec/catalogs/layouts/pricing-table.json +9 -15
  238. package/dist/spec/catalogs/layouts/process-flow.json +9 -15
  239. package/dist/spec/catalogs/layouts/product-feature.json +14 -16
  240. package/dist/spec/catalogs/layouts/pros-cons.json +9 -15
  241. package/dist/spec/catalogs/layouts/qa-discussion.json +7 -15
  242. package/dist/spec/catalogs/layouts/quote-1x.json +11 -1
  243. package/dist/spec/catalogs/layouts/quote-highlight.json +9 -15
  244. package/dist/spec/catalogs/layouts/raci-matrix.json +9 -15
  245. package/dist/spec/catalogs/layouts/risk-heatmap.json +9 -15
  246. package/dist/spec/catalogs/layouts/roadmap.json +9 -15
  247. package/dist/spec/catalogs/layouts/screenshot-walkthrough.json +14 -16
  248. package/dist/spec/catalogs/layouts/section-divider.json +8 -15
  249. package/dist/spec/catalogs/layouts/single-message-statement.json +8 -15
  250. package/dist/spec/catalogs/layouts/stats-metrics.json +9 -15
  251. package/dist/spec/catalogs/layouts/status-rag.json +9 -15
  252. package/dist/spec/catalogs/layouts/swimlane-process.json +14 -16
  253. package/dist/spec/catalogs/layouts/swot-analysis.json +9 -15
  254. package/dist/spec/catalogs/layouts/table-1x.json +10 -0
  255. package/dist/spec/catalogs/layouts/team-bio.json +14 -16
  256. package/dist/spec/catalogs/layouts/testimonial-grid.json +9 -15
  257. package/dist/spec/catalogs/layouts/text-1x.json +11 -1
  258. package/dist/spec/catalogs/layouts/text-2x.json +10 -0
  259. package/dist/spec/catalogs/layouts/text-3x.json +10 -0
  260. package/dist/spec/catalogs/layouts/thank-you-cta.json +8 -15
  261. package/dist/spec/catalogs/layouts/three-column.json +9 -15
  262. package/dist/spec/catalogs/layouts/timeline-1x.json +11 -1
  263. package/dist/spec/catalogs/layouts/timeline.json +9 -15
  264. package/dist/spec/catalogs/layouts/title-slide.json +8 -15
  265. package/dist/spec/catalogs/layouts/title-subtitle.json +11 -1
  266. package/dist/spec/catalogs/layouts/title.json +11 -1
  267. package/dist/spec/catalogs/layouts/two-column.json +9 -15
  268. package/dist/spec/catalogs/layouts/venn-overlap.json +9 -15
  269. package/dist/spec/catalogs/layouts/waterfall-bridge.json +9 -15
  270. package/dist/spec/catalogs/layouts/wheel-radial.json +9 -15
  271. package/dist/spec/catalogs/manifest.json +11 -11
  272. package/dist/spec/catalogs/narratives/board-meeting.json +45 -45
  273. package/dist/spec/catalogs/narratives/business-narrative.json +19 -19
  274. package/dist/spec/catalogs/narratives/business-review.json +27 -27
  275. package/dist/spec/catalogs/narratives/capacity-planning.json +19 -19
  276. package/dist/spec/catalogs/narratives/challenge-resolution.json +17 -17
  277. package/dist/spec/catalogs/narratives/change-story.json +13 -13
  278. package/dist/spec/catalogs/narratives/classic-story.json +17 -17
  279. package/dist/spec/catalogs/narratives/company-intro.json +21 -21
  280. package/dist/spec/catalogs/narratives/conference-talk.json +4 -4
  281. package/dist/spec/catalogs/narratives/data-story.json +13 -14
  282. package/dist/spec/catalogs/narratives/early-startup-pitch.json +27 -27
  283. package/dist/spec/catalogs/narratives/educate.json +21 -21
  284. package/dist/spec/catalogs/narratives/employee-review.json +19 -19
  285. package/dist/spec/catalogs/narratives/failure-analysis.json +23 -23
  286. package/dist/spec/catalogs/narratives/focus.json +27 -27
  287. package/dist/spec/catalogs/narratives/golden-circle.json +4 -4
  288. package/dist/spec/catalogs/narratives/heros-journey.json +13 -13
  289. package/dist/spec/catalogs/narratives/index.json +145 -145
  290. package/dist/spec/catalogs/narratives/innovation.json +21 -21
  291. package/dist/spec/catalogs/narratives/justice.json +25 -25
  292. package/dist/spec/catalogs/narratives/marketing-strategy.json +25 -25
  293. package/dist/spec/catalogs/narratives/performance-improvement-plan.json +19 -19
  294. package/dist/spec/catalogs/narratives/performance-review.json +25 -25
  295. package/dist/spec/catalogs/narratives/persuade.json +17 -17
  296. package/dist/spec/catalogs/narratives/persuasive-sales.json +19 -19
  297. package/dist/spec/catalogs/narratives/pitch-deck.json +6 -6
  298. package/dist/spec/catalogs/narratives/problem-solution.json +5 -5
  299. package/dist/spec/catalogs/narratives/product-launch.json +23 -23
  300. package/dist/spec/catalogs/narratives/project-proposal.json +23 -23
  301. package/dist/spec/catalogs/narratives/pyramid-principle.json +9 -9
  302. package/dist/spec/catalogs/narratives/qbr.json +8 -8
  303. package/dist/spec/catalogs/narratives/rags-to-riches.json +17 -17
  304. package/dist/spec/catalogs/narratives/reveal.json +19 -19
  305. package/dist/spec/catalogs/narratives/scqa.json +4 -4
  306. package/dist/spec/catalogs/narratives/situation-complication-resolution.json +11 -11
  307. package/dist/spec/catalogs/narratives/sparkline.json +11 -11
  308. package/dist/spec/catalogs/narratives/star-method.json +11 -11
  309. package/dist/spec/catalogs/narratives/status-update.json +15 -15
  310. package/dist/spec/catalogs/narratives/strategic-advisory.json +17 -17
  311. package/dist/spec/catalogs/narratives/strategic-narrative.json +4 -4
  312. package/dist/spec/catalogs/narratives/survey-analysis.json +23 -23
  313. package/dist/spec/catalogs/narratives/survival-story.json +23 -23
  314. package/dist/spec/catalogs/narratives/transformation-arc.json +4 -4
  315. package/dist/spec/catalogs/narratives/trend-analysis.json +17 -17
  316. package/dist/spec/catalogs/narratives/underdog-victory.json +19 -19
  317. package/dist/spec/catalogs/narratives/venture-pitch.json +27 -27
  318. package/dist/spec/catalogs/narratives/vision-roadmap.json +13 -13
  319. package/dist/spec/catalogs/narratives/weekly-progress.json +23 -23
  320. package/dist/spec/catalogs/narratives/what-so-what-now-what.json +9 -9
  321. package/dist/spec/openapi.yaml +2 -5
  322. package/dist/spec/reference/engine-defaults.json +2 -2
  323. package/dist/spec/schemas/audience.schema.json +1 -1
  324. package/dist/spec/schemas/catalog-index.schema.json +2 -2
  325. package/dist/spec/schemas/chart-type.schema.json +19 -290
  326. package/dist/spec/schemas/color-scheme.schema.json +20 -12
  327. package/dist/spec/schemas/finding.schema.json +191 -0
  328. package/dist/spec/schemas/font-scheme.schema.json +19 -46
  329. package/dist/spec/schemas/layout.schema.json +100 -159
  330. package/dist/spec/schemas/narrative.schema.json +17 -25
  331. package/dist/spec/schemas/opf.schema.json +503 -339
  332. package/dist/spec/schemas/social-platform.schema.json +1 -26
  333. package/dist/spec/schemas/theme.schema.json +4 -1
  334. package/dist/spec-files.d.ts +1 -1
  335. package/dist/spec-files.js +1 -1
  336. package/dist/symbol-font-encodings.js +18448 -1
  337. package/dist/types.d.ts +4 -4
  338. package/dist/validation-types-zh03LeZy.d.ts +276 -0
  339. package/dist/validator.d.ts +60 -4
  340. package/dist/validator.js +4 -4
  341. package/dist/yaml.d.ts +87 -0
  342. package/dist/yaml.js +321 -0
  343. package/package.json +6 -10
  344. package/dist/audit.d.ts +0 -156
  345. package/dist/audit.js +0 -7
  346. package/dist/chunk-6LZK2IZB.js +0 -1690
  347. package/dist/chunk-FYLJVF7X.js +0 -18448
  348. package/dist/chunk-JKVKYVWL.js +0 -1332
  349. package/dist/chunk-MWPMJE6P.js +0 -622
  350. package/dist/lint.d.ts +0 -70
  351. package/dist/lint.js +0 -6
  352. package/dist/spec/catalogs/audiences/customers.json +0 -27
  353. package/dist/spec/catalogs/audiences/executives.json +0 -27
  354. package/dist/spec/catalogs/audiences/investors.json +0 -27
  355. package/dist/spec/catalogs/audiences/marketing-team.json +0 -27
  356. package/dist/spec/catalogs/audiences/regulators.json +0 -27
  357. package/dist/spec/catalogs/audiences/sales-team.json +0 -27
  358. package/dist/spec/catalogs/chart-types/100pct-bullet-bar-2x.json +0 -91
  359. package/dist/spec/catalogs/chart-types/100pct-bullet-bar-3x.json +0 -103
  360. package/dist/spec/catalogs/chart-types/100pct-bullet-bar.json +0 -79
  361. package/dist/spec/catalogs/chart-types/100pct-bullet-column-2x.json +0 -91
  362. package/dist/spec/catalogs/chart-types/100pct-bullet-column-3x.json +0 -103
  363. package/dist/spec/catalogs/chart-types/100pct-bullet-column.json +0 -79
  364. package/dist/spec/catalogs/chart-types/100pct-progress-bar.json +0 -105
  365. package/dist/spec/catalogs/chart-types/100pct-stacked-area-2x.json +0 -106
  366. package/dist/spec/catalogs/chart-types/100pct-stacked-area-3x.json +0 -123
  367. package/dist/spec/catalogs/chart-types/100pct-stacked-bar-2x.json +0 -89
  368. package/dist/spec/catalogs/chart-types/100pct-stacked-bar-3x.json +0 -100
  369. package/dist/spec/catalogs/chart-types/100pct-stacked-column-2x.json +0 -95
  370. package/dist/spec/catalogs/chart-types/100pct-stacked-column-3x.json +0 -108
  371. package/dist/spec/catalogs/chart-types/australia.json +0 -76
  372. package/dist/spec/catalogs/chart-types/box-and-whisker-2x.json +0 -136
  373. package/dist/spec/catalogs/chart-types/box-and-whisker-3x.json +0 -168
  374. package/dist/spec/catalogs/chart-types/bullet-bar-2x.json +0 -89
  375. package/dist/spec/catalogs/chart-types/bullet-bar-3x.json +0 -101
  376. package/dist/spec/catalogs/chart-types/bullet-bar.json +0 -77
  377. package/dist/spec/catalogs/chart-types/bullet-column-2x.json +0 -89
  378. package/dist/spec/catalogs/chart-types/bullet-column-3x.json +0 -101
  379. package/dist/spec/catalogs/chart-types/bullet-column.json +0 -77
  380. package/dist/spec/catalogs/chart-types/canada.json +0 -86
  381. package/dist/spec/catalogs/chart-types/clustered-bar-2x.json +0 -89
  382. package/dist/spec/catalogs/chart-types/clustered-column.json +0 -95
  383. package/dist/spec/catalogs/chart-types/dot-plot-2x.json +0 -99
  384. package/dist/spec/catalogs/chart-types/dot-plot-3x.json +0 -124
  385. package/dist/spec/catalogs/chart-types/dot-plot-4x.json +0 -149
  386. package/dist/spec/catalogs/chart-types/dot-plot-5x.json +0 -174
  387. package/dist/spec/catalogs/chart-types/dot-plot-6x.json +0 -199
  388. package/dist/spec/catalogs/chart-types/dot-plot.json +0 -74
  389. package/dist/spec/catalogs/chart-types/dumbbell.json +0 -120
  390. package/dist/spec/catalogs/chart-types/line-2x.json +0 -105
  391. package/dist/spec/catalogs/chart-types/line-3x.json +0 -127
  392. package/dist/spec/catalogs/chart-types/line-with-high-low-and-markers.json +0 -144
  393. package/dist/spec/catalogs/chart-types/line-with-high-low.json +0 -144
  394. package/dist/spec/catalogs/chart-types/line-with-markers-2x.json +0 -106
  395. package/dist/spec/catalogs/chart-types/line-with-markers-3x.json +0 -128
  396. package/dist/spec/catalogs/chart-types/sparkline-2x.json +0 -138
  397. package/dist/spec/catalogs/chart-types/sparkline-3x.json +0 -174
  398. package/dist/spec/catalogs/chart-types/sparkline-4x.json +0 -210
  399. package/dist/spec/catalogs/chart-types/sparkline-5x.json +0 -246
  400. package/dist/spec/catalogs/chart-types/sparkline-6x.json +0 -282
  401. package/dist/spec/catalogs/chart-types/sparkline.json +0 -102
  402. package/dist/spec/catalogs/chart-types/stacked-area-2x.json +0 -106
  403. package/dist/spec/catalogs/chart-types/stacked-area-3x.json +0 -123
  404. package/dist/spec/catalogs/chart-types/stacked-bar-2x.json +0 -89
  405. package/dist/spec/catalogs/chart-types/stacked-bar-3x.json +0 -100
  406. package/dist/spec/catalogs/chart-types/stacked-column-2x.json +0 -95
  407. package/dist/spec/catalogs/chart-types/stacked-column-3x.json +0 -108
  408. package/dist/spec/catalogs/chart-types/stacked-line-2x.json +0 -106
  409. package/dist/spec/catalogs/chart-types/stacked-line-3x.json +0 -123
  410. package/dist/spec/catalogs/chart-types/stacked-line-with-markers-2x.json +0 -107
  411. package/dist/spec/catalogs/chart-types/stacked-line-with-markers-3x.json +0 -124
  412. package/dist/spec/catalogs/chart-types/treemap-2x.json +0 -101
  413. package/dist/spec/catalogs/chart-types/treemap-3x.json +0 -122
  414. package/dist/spec/catalogs/chart-types/united-kingdom.json +0 -68
  415. package/dist/spec/catalogs/chart-types/united-states.json +0 -82
  416. package/dist/validator-DfG9yxba.d.ts +0 -172
@@ -9,9 +9,9 @@
9
9
  "team-leads",
10
10
  "cross-functional-teams"
11
11
  ],
12
- "durationRange": {
13
- "minMinutes": 15,
14
- "maxMinutes": 45
12
+ "duration": {
13
+ "min": 15,
14
+ "max": 45
15
15
  },
16
16
  "tags": [
17
17
  "change-management",
@@ -25,40 +25,40 @@
25
25
  "name": "Why Change",
26
26
  "description": "Acknowledge the current state and the external or internal forces requiring change. Don't skip the burning platform.",
27
27
  "instructions": "Explain why the current state cannot continue.",
28
- "slideType": "text",
29
- "layoutHint": "text-2x"
28
+ "type": "text",
29
+ "layout": "text-2x"
30
30
  },
31
31
  {
32
32
  "id": "why-now",
33
33
  "name": "Why Now",
34
34
  "description": "Explain the urgency. What changes if we wait? What window is closing?",
35
35
  "instructions": "Make the timing urgent and concrete.",
36
- "slideType": "metric",
37
- "layoutHint": "number-1x"
36
+ "type": "metric",
37
+ "layout": "number-1x"
38
38
  },
39
39
  {
40
40
  "id": "why-this-way",
41
41
  "name": "Why This Way",
42
42
  "description": "Show that alternatives were considered. Build trust by demonstrating thoughtful decision-making.",
43
43
  "instructions": "Describe the proposed path and why it fits.",
44
- "slideType": "timeline",
45
- "layoutHint": "timeline-1x"
44
+ "type": "timeline",
45
+ "layout": "timeline-1x"
46
46
  },
47
47
  {
48
48
  "id": "whats-at-stake",
49
49
  "name": "What's at Stake",
50
50
  "description": "Make consequences concrete for the organization, the team, and individuals. Avoid abstract language.",
51
51
  "instructions": "Show the risks and rewards attached to the choice.",
52
- "slideType": "text",
53
- "layoutHint": "text-2x"
52
+ "type": "text",
53
+ "layout": "text-2x"
54
54
  },
55
55
  {
56
56
  "id": "how-we-win-together",
57
57
  "name": "How We Win Together",
58
58
  "description": "Paint a shared vision of success. Make the audience the protagonist of the new story.",
59
59
  "instructions": "Close with shared ownership and first commitments.",
60
- "slideType": "text",
61
- "layoutHint": "title"
60
+ "type": "text",
61
+ "layout": "title"
62
62
  }
63
63
  ]
64
64
  }
@@ -8,9 +8,9 @@
8
8
  "customers",
9
9
  "internal-teams"
10
10
  ],
11
- "durationRange": {
12
- "minMinutes": 5,
13
- "maxMinutes": 30
11
+ "duration": {
12
+ "min": 5,
13
+ "max": 30
14
14
  },
15
15
  "tags": [
16
16
  "storytelling",
@@ -23,56 +23,56 @@
23
23
  "name": "Opening",
24
24
  "description": "Capture attention with a vivid moment, image, or question that sets the world of the story. The audience should immediately know what kind of room they're in. Avoid agendas — the opening is the first scene, not a preamble.",
25
25
  "instructions": "Capture audience attention",
26
- "slideType": "text",
27
- "layoutHint": "text-1x"
26
+ "type": "text",
27
+ "layout": "text-1x"
28
28
  },
29
29
  {
30
30
  "id": "context",
31
31
  "name": "Context",
32
32
  "description": "Establish what's normal in this world before anything goes wrong. Just enough background for the audience to feel the stakes when the villain shows up. Keep it tight; backstory is fuel, not the engine.",
33
33
  "instructions": "Give background & importance",
34
- "slideType": "text",
35
- "layoutHint": "text-1x"
34
+ "type": "text",
35
+ "layout": "text-1x"
36
36
  },
37
37
  {
38
38
  "id": "villain",
39
39
  "name": "Villain",
40
40
  "description": "Introduce the antagonist — a problem, a competitor, a market force, an inertia. Give it a face and a name where you can. The clearer the villain, the more the audience cares about how the story turns out.",
41
41
  "instructions": "Introduce problem",
42
- "slideType": "text",
43
- "layoutHint": "text-1x"
42
+ "type": "text",
43
+ "layout": "text-1x"
44
44
  },
45
45
  {
46
46
  "id": "despair",
47
47
  "name": "Despair",
48
48
  "description": "Show what's at risk if the villain wins. Emphasize the human or business cost of inaction. Don't rush past this beat — the discomfort here is what makes the resolution land.",
49
49
  "instructions": "Emphasize negative impact",
50
- "slideType": "text",
51
- "layoutHint": "text-1x"
50
+ "type": "text",
51
+ "layout": "text-1x"
52
52
  },
53
53
  {
54
54
  "id": "hero",
55
55
  "name": "Hero",
56
56
  "description": "Reveal the hero of the story. Often this is the audience themselves, your team, or your product. Frame the hero by what they uniquely bring to the fight, not by their résumé.",
57
57
  "instructions": "Present solution",
58
- "slideType": "text",
59
- "layoutHint": "text-1x"
58
+ "type": "text",
59
+ "layout": "text-1x"
60
60
  },
61
61
  {
62
62
  "id": "plan",
63
63
  "name": "Plan",
64
64
  "description": "Walk through how the hero defeats the villain. Concrete, sequential, credible. Generic plans signal weak heroes; specific plans earn belief that the ending you're promising is reachable.",
65
65
  "instructions": "Detail implementation",
66
- "slideType": "text",
67
- "layoutHint": "text-1x"
66
+ "type": "text",
67
+ "layout": "text-1x"
68
68
  },
69
69
  {
70
70
  "id": "closing",
71
71
  "name": "Closing",
72
72
  "description": "End with the resolution and the lesson. Show what the world looks like after the villain loses, and leave the audience with the feeling — and the line — they'll repeat afterwards.",
73
- "layoutHint": "title",
73
+ "layout": "title",
74
74
  "instructions": "Inspire & conclude",
75
- "slideType": "text"
75
+ "type": "text"
76
76
  }
77
77
  ]
78
78
  }
@@ -9,9 +9,9 @@
9
9
  "press",
10
10
  "candidates"
11
11
  ],
12
- "durationRange": {
13
- "minMinutes": 10,
14
- "maxMinutes": 30
12
+ "duration": {
13
+ "min": 10,
14
+ "max": 30
15
15
  },
16
16
  "tags": [
17
17
  "overview",
@@ -24,73 +24,73 @@
24
24
  "id": "logo",
25
25
  "name": "Logo",
26
26
  "description": "Cover slide with the logo, tagline, and a single line of positioning. Set the visual tone — confident, branded, uncluttered.",
27
- "layoutHint": "title",
27
+ "layout": "title",
28
28
  "instructions": "Establish brand identity",
29
- "slideType": "text"
29
+ "type": "text"
30
30
  },
31
31
  {
32
32
  "id": "about",
33
33
  "name": "About",
34
34
  "description": "Capture the company in three or four lines: what you do, who you do it for, and how long you've been at it. Avoid jargon; an outsider should grok the business in fifteen seconds.",
35
35
  "instructions": "Capture attention",
36
- "slideType": "text",
37
- "layoutHint": "text-1x"
36
+ "type": "text",
37
+ "layout": "text-1x"
38
38
  },
39
39
  {
40
40
  "id": "competitive-advantage",
41
41
  "name": "Competitive Advantage",
42
42
  "description": "State the one or two things you do that the alternatives can't. Frame it as a structural advantage, not a feature list. The audience should leave able to repeat the differentiator in their own words.",
43
43
  "instructions": "Stand out",
44
- "slideType": "text",
45
- "layoutHint": "text-1x"
44
+ "type": "text",
45
+ "layout": "text-1x"
46
46
  },
47
47
  {
48
48
  "id": "company-story",
49
49
  "name": "Company Story",
50
50
  "description": "Share the founding insight or origin moment — why this company exists, told as a short story. Specific people, specific problems, a specific 'aha.' Story beats biography.",
51
51
  "instructions": "Share origin",
52
- "slideType": "text",
53
- "layoutHint": "text-1x"
52
+ "type": "text",
53
+ "layout": "text-1x"
54
54
  },
55
55
  {
56
56
  "id": "offerings",
57
57
  "name": "Offerings",
58
58
  "description": "Map the products and services into a coherent picture. Show how they fit together rather than listing them flat. The shape of the portfolio is itself a message.",
59
59
  "instructions": "Highlight products/services",
60
- "slideType": "text",
61
- "layoutHint": "text-1x"
60
+ "type": "text",
61
+ "layout": "text-1x"
62
62
  },
63
63
  {
64
64
  "id": "ideal-customer",
65
65
  "name": "Ideal Customer",
66
66
  "description": "Define who you serve best. Industry, size, role, situation. Specificity here helps the audience self-select and signals you understand the customer well enough to be choosy.",
67
67
  "instructions": "Define target market",
68
- "slideType": "text",
69
- "layoutHint": "text-1x"
68
+ "type": "text",
69
+ "layout": "text-1x"
70
70
  },
71
71
  {
72
72
  "id": "key-benefits",
73
73
  "name": "Key Benefits",
74
74
  "description": "Translate offerings into three to five customer outcomes. Lead with the result, not the mechanism. Each benefit should answer 'what becomes easier or better for me?'",
75
75
  "instructions": "Emphasize value",
76
- "slideType": "text",
77
- "layoutHint": "text-1x"
76
+ "type": "text",
77
+ "layout": "text-1x"
78
78
  },
79
79
  {
80
80
  "id": "success-story",
81
81
  "name": "Success Story",
82
82
  "description": "Tell one named customer's story with concrete before/after metrics. A single specific story is more persuasive than a logo grid; pick one that mirrors the audience you're presenting to.",
83
83
  "instructions": "Showcase satisfied customer",
84
- "slideType": "text",
85
- "layoutHint": "text-1x"
84
+ "type": "text",
85
+ "layout": "text-1x"
86
86
  },
87
87
  {
88
88
  "id": "closing-cta",
89
89
  "name": "Closing & CTA",
90
90
  "description": "Close with one line of why now and one specific next step — a discovery call, a pilot, a partner program. End with contact info that's easy to act on without searching.",
91
- "layoutHint": "title",
91
+ "layout": "title",
92
92
  "instructions": "Encourage action",
93
- "slideType": "text"
93
+ "type": "text"
94
94
  }
95
95
  ]
96
96
  }
@@ -8,9 +8,9 @@
8
8
  "general-audience",
9
9
  "industry-peers"
10
10
  ],
11
- "durationRange": {
12
- "minMinutes": 15,
13
- "maxMinutes": 45
11
+ "duration": {
12
+ "min": 15,
13
+ "max": 45
14
14
  },
15
15
  "tags": [
16
16
  "talk",
@@ -48,7 +48,7 @@
48
48
  "id": "recap",
49
49
  "name": "Recap",
50
50
  "description": "Restate the promise, the mechanism, and the call to action in a single short slide. Give the audience the line they'll repeat to a colleague and the one image that will stick with them after the lights come up.",
51
- "layoutHint": "title"
51
+ "layout": "title"
52
52
  }
53
53
  ]
54
54
  }
@@ -10,9 +10,9 @@
10
10
  "product-managers",
11
11
  "analytics-stakeholders"
12
12
  ],
13
- "durationRange": {
14
- "minMinutes": 10,
15
- "maxMinutes": 30
13
+ "duration": {
14
+ "min": 10,
15
+ "max": 30
16
16
  },
17
17
  "tags": [
18
18
  "analytics",
@@ -26,41 +26,40 @@
26
26
  "name": "Context",
27
27
  "description": "Frame why this analysis matters now. What question is this data answering?",
28
28
  "instructions": "Set up the business question and data scope.",
29
- "slideType": "list",
30
- "layoutHint": "list-1x"
29
+ "type": "list",
30
+ "layout": "list-1x"
31
31
  },
32
32
  {
33
33
  "id": "key-finding",
34
34
  "name": "Key Finding",
35
35
  "description": "State the single most important thing the data shows. One slide, one insight.",
36
36
  "instructions": "State the one finding the audience must remember.",
37
- "slideType": "metric",
38
- "layoutHint": "number-1x"
37
+ "type": "metric",
38
+ "layout": "number-1x"
39
39
  },
40
40
  {
41
41
  "id": "analysis",
42
42
  "name": "Analysis",
43
43
  "description": "Unpack the data rigorously. Show sources, methodology, and supporting charts.",
44
44
  "instructions": "Explain the drivers behind the finding.",
45
- "slideCount": 2,
46
- "slideType": "chart",
47
- "layoutHint": "chart-1x"
45
+ "type": "chart",
46
+ "layout": "chart-1x"
48
47
  },
49
48
  {
50
49
  "id": "implications",
51
50
  "name": "Implications",
52
51
  "description": "Translate findings into business language. What does this mean for strategy, operations, or customers?",
53
52
  "instructions": "Translate the analysis into business consequences.",
54
- "slideType": "text",
55
- "layoutHint": "text-2x"
53
+ "type": "text",
54
+ "layout": "text-2x"
56
55
  },
57
56
  {
58
57
  "id": "recommendation",
59
58
  "name": "Recommendation",
60
59
  "description": "Make an explicit, actionable recommendation backed by the data. Include confidence level and assumptions.",
61
60
  "instructions": "Recommend the next decision or action.",
62
- "slideType": "text",
63
- "layoutHint": "title"
61
+ "type": "text",
62
+ "layout": "title"
64
63
  }
65
64
  ]
66
65
  }
@@ -8,9 +8,9 @@
8
8
  "angels",
9
9
  "advisors"
10
10
  ],
11
- "durationRange": {
12
- "minMinutes": 10,
13
- "maxMinutes": 20
11
+ "duration": {
12
+ "min": 10,
13
+ "max": 20
14
14
  },
15
15
  "tags": [
16
16
  "startup",
@@ -23,97 +23,97 @@
23
23
  "id": "logo",
24
24
  "name": "Logo",
25
25
  "description": "Cover slide with the company name, logo, and one-line positioning. Simple, branded, confident.",
26
- "layoutHint": "title",
26
+ "layout": "title",
27
27
  "instructions": "Establish presence",
28
- "slideType": "text"
28
+ "type": "text"
29
29
  },
30
30
  {
31
31
  "id": "monumental-change",
32
32
  "name": "Monumental Change",
33
33
  "description": "Open by naming a large, undeniable shift in the world. Tech, regulatory, behavioral. The shift is the reason this company exists — investors should feel its weight before they hear about the product.",
34
34
  "instructions": "Highlight market transformation",
35
- "slideType": "text",
36
- "layoutHint": "text-1x"
35
+ "type": "text",
36
+ "layout": "text-1x"
37
37
  },
38
38
  {
39
39
  "id": "past-struggle",
40
40
  "name": "Past Struggle",
41
41
  "description": "Show what the world tried to do about the problem before the shift, and why those approaches fell short. Honest credit to predecessors makes the new game more credible.",
42
42
  "instructions": "Emphasize previous challenges",
43
- "slideType": "text",
44
- "layoutHint": "text-1x"
43
+ "type": "text",
44
+ "layout": "text-1x"
45
45
  },
46
46
  {
47
47
  "id": "innovative-breakthrough",
48
48
  "name": "Innovative Breakthrough",
49
49
  "description": "Present the founding insight or breakthrough that makes a new approach possible. This is the 'secret' the company is built on — name it plainly.",
50
50
  "instructions": "Present innovative solution",
51
- "slideType": "text",
52
- "layoutHint": "text-1x"
51
+ "type": "text",
52
+ "layout": "text-1x"
53
53
  },
54
54
  {
55
55
  "id": "unique-offering",
56
56
  "name": "Unique Offering",
57
57
  "description": "Detail the product or service. Lead with the customer-visible thing they touch; the architecture can wait. Show why this offering is structurally different from the past struggle.",
58
58
  "instructions": "Detail product or service",
59
- "slideType": "text",
60
- "layoutHint": "text-1x"
59
+ "type": "text",
60
+ "layout": "text-1x"
61
61
  },
62
62
  {
63
63
  "id": "costly-issues",
64
64
  "name": "Costly Issues",
65
65
  "description": "Quantify the pain customers experience without your offering. Time, dollars, opportunity cost. Specific numbers convert sympathy into urgency.",
66
66
  "instructions": "Quantify problems faced",
67
- "slideType": "text",
68
- "layoutHint": "text-1x"
67
+ "type": "text",
68
+ "layout": "text-1x"
69
69
  },
70
70
  {
71
71
  "id": "effective-solutions",
72
72
  "name": "Effective Solutions",
73
73
  "description": "Demonstrate the customer outcome your offering produces. Before/after numbers from early users, even small N. Early-stage pitches are won by leading indicators, not by trailing ones.",
74
74
  "instructions": "Demonstrate benefits",
75
- "slideType": "text",
76
- "layoutHint": "text-1x"
75
+ "type": "text",
76
+ "layout": "text-1x"
77
77
  },
78
78
  {
79
79
  "id": "unit-economics",
80
80
  "name": "Unit Economics",
81
81
  "description": "Explain the financial model. Cost to acquire, gross margin, payback. Investors don't expect maturity — they expect that you've thought about it.",
82
82
  "instructions": "Explain financial model",
83
- "slideType": "text",
84
- "layoutHint": "text-1x"
83
+ "type": "text",
84
+ "layout": "text-1x"
85
85
  },
86
86
  {
87
87
  "id": "talented-team",
88
88
  "name": "Talented Team",
89
89
  "description": "Introduce the founders and key early hires. Show why this team uniquely sees and can execute on this opportunity. Insight beats résumé at the seed stage.",
90
90
  "instructions": "Introduce key players",
91
- "slideType": "text",
92
- "layoutHint": "text-1x"
91
+ "type": "text",
92
+ "layout": "text-1x"
93
93
  },
94
94
  {
95
95
  "id": "traction",
96
96
  "name": "Traction",
97
97
  "description": "Showcase the early signal: pilots, design partners, waitlist, retention data, anything credible. Frame it honestly — investors at this stage discount inflation aggressively.",
98
98
  "instructions": "Showcase accomplishments",
99
- "slideType": "text",
100
- "layoutHint": "text-1x"
99
+ "type": "text",
100
+ "layout": "text-1x"
101
101
  },
102
102
  {
103
103
  "id": "investment-opportunity",
104
104
  "name": "Investment Opportunity",
105
105
  "description": "Detail the round size, structure, and use of funds. Tie the raise to specific milestones it takes the company to. Specificity here signals operational maturity.",
106
106
  "instructions": "Detail funding needs",
107
- "slideType": "text",
108
- "layoutHint": "text-1x"
107
+ "type": "text",
108
+ "layout": "text-1x"
109
109
  },
110
110
  {
111
111
  "id": "closing-logo",
112
112
  "name": "Closing Logo",
113
113
  "description": "Close on the brand and contact info. Leave the room with the line you most want repeated when the partner pitches you to the rest of the firm.",
114
- "layoutHint": "title",
114
+ "layout": "title",
115
115
  "instructions": "Leave a lasting impression",
116
- "slideType": "text"
116
+ "type": "text"
117
117
  }
118
118
  ]
119
119
  }
@@ -8,9 +8,9 @@
8
8
  "students",
9
9
  "practitioners"
10
10
  ],
11
- "durationRange": {
12
- "minMinutes": 15,
13
- "maxMinutes": 45
11
+ "duration": {
12
+ "min": 15,
13
+ "max": 45
14
14
  },
15
15
  "tags": [
16
16
  "keynote",
@@ -24,72 +24,72 @@
24
24
  "name": "Introduction",
25
25
  "description": "Introduce the topic in a way that respects the audience's time and curiosity. Frame why this question is worth asking, and signal the shape of the journey ahead without giving away the destination.",
26
26
  "instructions": "Introduce the topic",
27
- "slideType": "text",
28
- "layoutHint": "text-1x"
27
+ "type": "text",
28
+ "layout": "text-1x"
29
29
  },
30
30
  {
31
31
  "id": "surprising-fact",
32
32
  "name": "Surprising Fact",
33
33
  "description": "Lead with a single curious fact that recasts how the audience thinks about the topic. The fact should be small, specific, and unforgettable — the cognitive door the rest of the talk walks through.",
34
34
  "instructions": "Share a curious fact",
35
- "slideType": "text",
36
- "layoutHint": "text-1x"
35
+ "type": "text",
36
+ "layout": "text-1x"
37
37
  },
38
38
  {
39
39
  "id": "experiment",
40
40
  "name": "Experiment",
41
41
  "description": "Walk through a method, study, or thought experiment that probes the surprising fact. Show how knowledge here gets made — the audience should feel like they're shoulder-to-shoulder with the investigator.",
42
42
  "instructions": "Explain a tried method",
43
- "slideType": "text",
44
- "layoutHint": "text-1x"
43
+ "type": "text",
44
+ "layout": "text-1x"
45
45
  },
46
46
  {
47
47
  "id": "amusing-anecdote",
48
48
  "name": "Amusing Anecdote",
49
49
  "description": "Drop in a story or moment from the field that brings the topic to human scale. Personality and humor here keep the audience leaning forward; technical depth without warmth loses the room.",
50
50
  "instructions": "Relay an interesting story",
51
- "slideType": "text",
52
- "layoutHint": "text-1x"
51
+ "type": "text",
52
+ "layout": "text-1x"
53
53
  },
54
54
  {
55
55
  "id": "intriguing-information",
56
56
  "name": "Intriguing Information",
57
57
  "description": "Layer in the more complex data or detail. By this point the audience is invested enough to do real work alongside you. Visualize generously — make the numbers tangible.",
58
58
  "instructions": "Share complex data",
59
- "slideType": "text",
60
- "layoutHint": "text-1x"
59
+ "type": "text",
60
+ "layout": "text-1x"
61
61
  },
62
62
  {
63
63
  "id": "skeptical-scrutiny",
64
64
  "name": "Skeptical Scrutiny",
65
65
  "description": "Question the easy interpretations. Challenge the audience's defaults and your own. Showing where the evidence is contested is what separates a teacher from a publicist.",
66
66
  "instructions": "Encourage questioning of accepted truths",
67
- "slideType": "text",
68
- "layoutHint": "text-1x"
67
+ "type": "text",
68
+ "layout": "text-1x"
69
69
  },
70
70
  {
71
71
  "id": "extraordinary-explanation",
72
72
  "name": "Extraordinary Explanation",
73
73
  "description": "Present the most counterintuitive or beautiful explanation the topic offers. Take your time here — this is the payoff slide the audience came for.",
74
74
  "instructions": "Break down unusual research findings",
75
- "slideType": "text",
76
- "layoutHint": "text-1x"
75
+ "type": "text",
76
+ "layout": "text-1x"
77
77
  },
78
78
  {
79
79
  "id": "unconventional-use",
80
80
  "name": "Unconventional Use",
81
81
  "description": "Show an unexpected application or implication of the idea. Surprise reinforces the lesson and gives the audience a story to retell tomorrow.",
82
82
  "instructions": "Expand on unique aspects",
83
- "slideType": "text",
84
- "layoutHint": "text-1x"
83
+ "type": "text",
84
+ "layout": "text-1x"
85
85
  },
86
86
  {
87
87
  "id": "captivating-conclusion",
88
88
  "name": "Captivating Conclusion",
89
89
  "description": "Close with a thoughtful, slightly poetic wrap-up. Echo the surprising fact, name the lesson, and leave the audience with a new question instead of a tidy answer.",
90
- "layoutHint": "title",
90
+ "layout": "title",
91
91
  "instructions": "Provide a thoughtful wrap-up",
92
- "slideType": "text"
92
+ "type": "text"
93
93
  }
94
94
  ]
95
95
  }