@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
@@ -8,9 +8,9 @@
8
8
  "academics",
9
9
  "professionals"
10
10
  ],
11
- "durationRange": {
12
- "minMinutes": 15,
13
- "maxMinutes": 25
11
+ "duration": {
12
+ "min": 15,
13
+ "max": 25
14
14
  },
15
15
  "tags": [
16
16
  "keynote",
@@ -24,64 +24,64 @@
24
24
  "name": "Personal Story",
25
25
  "description": "Open with a personal experience that establishes why the topic matters to you. Specificity earns intimacy; intimacy earns the audience's permission to be moved.",
26
26
  "instructions": "Share personal experiences to connect with the audience",
27
- "slideType": "text",
28
- "layoutHint": "text-1x"
27
+ "type": "text",
28
+ "layout": "text-1x"
29
29
  },
30
30
  {
31
31
  "id": "research-exposition",
32
32
  "name": "Research Exposition",
33
33
  "description": "Lay out the scientific or empirical data that backs the premise. Be rigorous but not academic — the audience needs to understand the evidence well enough to defend it later.",
34
34
  "instructions": "Unravel scientific data backing the premise",
35
- "slideType": "text",
36
- "layoutHint": "text-1x"
35
+ "type": "text",
36
+ "layout": "text-1x"
37
37
  },
38
38
  {
39
39
  "id": "real-life-anecdote",
40
40
  "name": "Real-Life Anecdote",
41
41
  "description": "Illustrate the research with a story from the field. Make the abstract finding feel like something that happens to people the audience could imagine being.",
42
42
  "instructions": "Illustrate with stories to make the point relatable",
43
- "slideType": "text",
44
- "layoutHint": "text-1x"
43
+ "type": "text",
44
+ "layout": "text-1x"
45
45
  },
46
46
  {
47
47
  "id": "critical-insights",
48
48
  "name": "Critical Insights",
49
49
  "description": "Summarize the two or three findings the audience must walk away with. Distill them into language a non-specialist could repeat without distortion.",
50
50
  "instructions": "Summarize key points",
51
- "slideType": "text",
52
- "layoutHint": "text-1x"
51
+ "type": "text",
52
+ "layout": "text-1x"
53
53
  },
54
54
  {
55
55
  "id": "break-stereotypes",
56
56
  "name": "Break Stereotypes",
57
57
  "description": "Question redundant norms or beliefs the research undermines. Be specific about what's being challenged so the audience knows what to update.",
58
58
  "instructions": "Question redundant norms and belief systems",
59
- "slideType": "text",
60
- "layoutHint": "text-1x"
59
+ "type": "text",
60
+ "layout": "text-1x"
61
61
  },
62
62
  {
63
63
  "id": "empowering-advice",
64
64
  "name": "Empowering Advice",
65
65
  "description": "Translate the insights into a small, actionable practice. The advice should be doable today, not only next quarter — the goal is movement, not aspiration.",
66
66
  "instructions": "Motivational message to act upon",
67
- "slideType": "text",
68
- "layoutHint": "text-1x"
67
+ "type": "text",
68
+ "layout": "text-1x"
69
69
  },
70
70
  {
71
71
  "id": "authenticity",
72
72
  "name": "Authenticity",
73
73
  "description": "Speak honestly about your own struggle with the topic. Vulnerability, used with restraint, is what turns research into a felt truth.",
74
74
  "instructions": "Honest and real communication to demonstrate authenticity",
75
- "slideType": "text",
76
- "layoutHint": "text-1x"
75
+ "type": "text",
76
+ "layout": "text-1x"
77
77
  },
78
78
  {
79
79
  "id": "close-with-impact",
80
80
  "name": "Close With Impact",
81
81
  "description": "End on a motivational high — the line, image, or invitation you want to follow the audience out of the room. Close the talk where it began, transformed.",
82
- "layoutHint": "title",
82
+ "layout": "title",
83
83
  "instructions": "End on a motivational high",
84
- "slideType": "text"
84
+ "type": "text"
85
85
  }
86
86
  ]
87
87
  }
@@ -8,9 +8,9 @@
8
8
  "boards",
9
9
  "leadership-teams"
10
10
  ],
11
- "durationRange": {
12
- "minMinutes": 5,
13
- "maxMinutes": 20
11
+ "duration": {
12
+ "min": 5,
13
+ "max": 20
14
14
  },
15
15
  "tags": [
16
16
  "executive",
@@ -39,7 +39,7 @@
39
39
  "id": "answer",
40
40
  "name": "Answer",
41
41
  "description": "Deliver the recommendation in a single sentence, up front. No arguments yet, no caveats — just the conclusion the rest of the deck will defend. This is the apex of the Minto pyramid; everything that follows supports it.",
42
- "layoutHint": "title"
42
+ "layout": "title"
43
43
  },
44
44
  {
45
45
  "id": "key-arguments",
@@ -9,9 +9,9 @@
9
9
  "consultants",
10
10
  "strategy-teams"
11
11
  ],
12
- "durationRange": {
13
- "minMinutes": 5,
14
- "maxMinutes": 20
12
+ "duration": {
13
+ "min": 5,
14
+ "max": 20
15
15
  },
16
16
  "tags": [
17
17
  "strategy",
@@ -25,32 +25,32 @@
25
25
  "name": "Situation",
26
26
  "description": "Set the scene with relevant background and context everyone agrees on.",
27
27
  "instructions": "State the shared context the audience already accepts.",
28
- "slideType": "list",
29
- "layoutHint": "list-1x"
28
+ "type": "list",
29
+ "layout": "list-1x"
30
30
  },
31
31
  {
32
32
  "id": "complication",
33
33
  "name": "Complication",
34
34
  "description": "Introduce what has changed or what challenge has emerged.",
35
35
  "instructions": "Introduce the change, risk, or tension.",
36
- "slideType": "text",
37
- "layoutHint": "text-2x"
36
+ "type": "text",
37
+ "layout": "text-2x"
38
38
  },
39
39
  {
40
40
  "id": "question",
41
41
  "name": "Question",
42
42
  "description": "Articulate the key question that the complication raises.",
43
43
  "instructions": "Frame the decision question raised by the complication.",
44
- "slideType": "text",
45
- "layoutHint": "title"
44
+ "type": "text",
45
+ "layout": "title"
46
46
  },
47
47
  {
48
48
  "id": "answer",
49
49
  "name": "Answer",
50
50
  "description": "Deliver your recommendation or insight that resolves the question.",
51
51
  "instructions": "Deliver the recommendation that resolves the question.",
52
- "slideType": "timeline",
53
- "layoutHint": "timeline-1x"
52
+ "type": "timeline",
53
+ "layout": "timeline-1x"
54
54
  }
55
55
  ]
56
56
  }
@@ -9,9 +9,9 @@
9
9
  "skeptical-stakeholders",
10
10
  "evaluation-committees"
11
11
  ],
12
- "durationRange": {
13
- "minMinutes": 3,
14
- "maxMinutes": 15
12
+ "duration": {
13
+ "min": 3,
14
+ "max": 15
15
15
  },
16
16
  "tags": [
17
17
  "contrast",
@@ -25,32 +25,32 @@
25
25
  "name": "Before State",
26
26
  "description": "Make the current pain or limitation vivid with numbers, stories, or visuals that make the problem real.",
27
27
  "instructions": "Make the current pain or limitation vivid.",
28
- "slideType": "text",
29
- "layoutHint": "text-2x"
28
+ "type": "text",
29
+ "layout": "text-2x"
30
30
  },
31
31
  {
32
32
  "id": "contrast-moment",
33
33
  "name": "Contrast Moment",
34
34
  "description": "Introduce the change agent, product, or decision that shifts the trajectory.",
35
35
  "instructions": "Introduce the decision, product, or event that changes the trajectory.",
36
- "slideType": "text",
37
- "layoutHint": "title"
36
+ "type": "text",
37
+ "layout": "title"
38
38
  },
39
39
  {
40
40
  "id": "after-state",
41
41
  "name": "After State",
42
42
  "description": "Show the improved reality. Make it concrete and specific instead of relying on vague benefit language.",
43
43
  "instructions": "Show the new reality created by the change.",
44
- "slideType": "text",
45
- "layoutHint": "text-1x"
44
+ "type": "text",
45
+ "layout": "text-1x"
46
46
  },
47
47
  {
48
48
  "id": "proof",
49
49
  "name": "Proof",
50
50
  "description": "Validate the after state with metrics, testimonials, or third-party evidence.",
51
51
  "instructions": "Validate the change with evidence.",
52
- "slideType": "metric",
53
- "layoutHint": "number-1x"
52
+ "type": "metric",
53
+ "layout": "number-1x"
54
54
  }
55
55
  ]
56
56
  }
@@ -9,9 +9,9 @@
9
9
  "performance-reviewers",
10
10
  "award-committees"
11
11
  ],
12
- "durationRange": {
13
- "minMinutes": 5,
14
- "maxMinutes": 15
12
+ "duration": {
13
+ "min": 5,
14
+ "max": 15
15
15
  },
16
16
  "tags": [
17
17
  "case-study",
@@ -25,32 +25,32 @@
25
25
  "name": "Situation",
26
26
  "description": "Describe the context and background of the scenario.",
27
27
  "instructions": "Describe the relevant context and constraints.",
28
- "slideType": "text",
29
- "layoutHint": "text-1x"
28
+ "type": "text",
29
+ "layout": "text-1x"
30
30
  },
31
31
  {
32
32
  "id": "task",
33
33
  "name": "Task",
34
34
  "description": "Explain your specific role and responsibilities in this situation.",
35
35
  "instructions": "Explain the responsibility or target outcome.",
36
- "slideType": "list",
37
- "layoutHint": "list-2x"
36
+ "type": "list",
37
+ "layout": "list-2x"
38
38
  },
39
39
  {
40
40
  "id": "action",
41
41
  "name": "Action",
42
42
  "description": "Detail the specific steps you took to address the challenge.",
43
43
  "instructions": "Detail the actions taken and choices made.",
44
- "slideType": "timeline",
45
- "layoutHint": "timeline-1x"
44
+ "type": "timeline",
45
+ "layout": "timeline-1x"
46
46
  },
47
47
  {
48
48
  "id": "result",
49
49
  "name": "Result",
50
50
  "description": "Share the measurable outcomes and impact of your actions.",
51
51
  "instructions": "Show measurable impact and proof.",
52
- "slideType": "metric",
53
- "layoutHint": "number-1x"
52
+ "type": "metric",
53
+ "layout": "number-1x"
54
54
  }
55
55
  ]
56
56
  }
@@ -9,9 +9,9 @@
9
9
  "customers",
10
10
  "executives"
11
11
  ],
12
- "durationRange": {
13
- "minMinutes": 5,
14
- "maxMinutes": 15
12
+ "duration": {
13
+ "min": 5,
14
+ "max": 15
15
15
  },
16
16
  "tags": [
17
17
  "reporting",
@@ -24,49 +24,49 @@
24
24
  "id": "headline",
25
25
  "name": "Headline",
26
26
  "description": "Open with the single most important sentence the audience needs to know — on track, off track, or shifted. The headline replaces 'how's it going' with a clear answer.",
27
- "layoutHint": "title",
27
+ "layout": "title",
28
28
  "instructions": "Title & date",
29
- "slideType": "text"
29
+ "type": "text"
30
30
  },
31
31
  {
32
32
  "id": "brief",
33
33
  "name": "Brief",
34
34
  "description": "State the objective for the period and what was promised. One slide, three lines. Frames the rest of the update so progress is read against a clear bar.",
35
35
  "instructions": "Summary/objectives",
36
- "slideType": "text",
37
- "layoutHint": "text-1x"
36
+ "type": "text",
37
+ "layout": "text-1x"
38
38
  },
39
39
  {
40
40
  "id": "progress",
41
41
  "name": "Progress",
42
42
  "description": "Walk through the actions taken since the last update. Specific, attributable, dated. Avoid effort theater — list outcomes and material moves, not activity for its own sake.",
43
43
  "instructions": "Explain actions taken",
44
- "slideType": "text",
45
- "layoutHint": "text-1x"
44
+ "type": "text",
45
+ "layout": "text-1x"
46
46
  },
47
47
  {
48
48
  "id": "results",
49
49
  "name": "Results",
50
50
  "description": "Show the outcomes those actions produced. Metrics, customer signals, decisions made. Keep the comparison crisp — versus plan, versus last period, versus benchmark.",
51
51
  "instructions": "Show outcomes",
52
- "slideType": "text",
53
- "layoutHint": "text-1x"
52
+ "type": "text",
53
+ "layout": "text-1x"
54
54
  },
55
55
  {
56
56
  "id": "action-plan",
57
57
  "name": "Action Plan",
58
58
  "description": "Outline the next steps and who owns them. Be specific about the next decision point and what would have to happen to slip the schedule.",
59
59
  "instructions": "Outline next steps",
60
- "slideType": "text",
61
- "layoutHint": "text-1x"
60
+ "type": "text",
61
+ "layout": "text-1x"
62
62
  },
63
63
  {
64
64
  "id": "feedback",
65
65
  "name": "Feedback",
66
66
  "description": "Invite the audience to weigh in: where you'd like input, where you need a decision, where help would unblock you. End the update with an open hand, not a closed file.",
67
- "layoutHint": "title",
67
+ "layout": "title",
68
68
  "instructions": "Ask for response",
69
- "slideType": "text"
69
+ "type": "text"
70
70
  }
71
71
  ]
72
72
  }
@@ -9,9 +9,9 @@
9
9
  "leadership-teams",
10
10
  "clients"
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
  "consulting",
@@ -24,9 +24,9 @@
24
24
  "id": "title",
25
25
  "name": "Title",
26
26
  "description": "Open with a one-line summary statement that captures the recommendation, not the topic. The title slide is the headline of the entire engagement — make it specific enough that someone reading only this slide already understands the position.",
27
- "layoutHint": "title",
27
+ "layout": "title",
28
28
  "instructions": "Brief summary sentence",
29
- "slideType": "text"
29
+ "type": "text"
30
30
  },
31
31
  {
32
32
  "id": "scq",
@@ -38,48 +38,48 @@
38
38
  "name": "Answer",
39
39
  "description": "Deliver the recommendation in a single sentence. No arguments yet, no caveats. The answer is the apex of the pyramid; the rest of the deck supports it.",
40
40
  "instructions": "A solution in one sentence, no arguments yet",
41
- "slideType": "text",
42
- "layoutHint": "text-1x"
41
+ "type": "text",
42
+ "layout": "text-1x"
43
43
  },
44
44
  {
45
45
  "id": "arguments",
46
46
  "name": "Arguments",
47
47
  "description": "Preview the three top-level arguments that defend the answer. One slide naming all three so the audience knows where the deck is going. Each argument should be a complete claim, not a topic.",
48
48
  "instructions": "Support the solution",
49
- "slideType": "text",
50
- "layoutHint": "text-1x"
49
+ "type": "text",
50
+ "layout": "text-1x"
51
51
  },
52
52
  {
53
53
  "id": "argument-1",
54
54
  "name": "Argument 1",
55
55
  "description": "Develop the first argument with supporting data, examples, and reasoning. Lead with the claim, then the evidence — Minto-style. The slide should stand alone if pulled out.",
56
56
  "instructions": "First key point",
57
- "slideType": "text",
58
- "layoutHint": "text-1x"
57
+ "type": "text",
58
+ "layout": "text-1x"
59
59
  },
60
60
  {
61
61
  "id": "argument-2",
62
62
  "name": "Argument 2",
63
63
  "description": "Develop the second argument the same way. Vary the type of evidence — quantitative, qualitative, comparative — so the audience hears the case from multiple angles.",
64
64
  "instructions": "Second key point",
65
- "slideType": "text",
66
- "layoutHint": "text-1x"
65
+ "type": "text",
66
+ "layout": "text-1x"
67
67
  },
68
68
  {
69
69
  "id": "argument-3",
70
70
  "name": "Argument 3",
71
71
  "description": "Develop the third argument and walk through the supporting process or methodology. This is often where the 'how' lives — the implementation insight that makes the recommendation feel actionable.",
72
72
  "instructions": "Third key point with a process",
73
- "slideType": "text",
74
- "layoutHint": "text-1x"
73
+ "type": "text",
74
+ "layout": "text-1x"
75
75
  },
76
76
  {
77
77
  "id": "summary",
78
78
  "name": "Summary",
79
79
  "description": "Recap the answer and arguments in a single slide and point to additional resources. Close with the explicit next step you want the audience to take.",
80
- "layoutHint": "title",
80
+ "layout": "title",
81
81
  "instructions": "Recap the answer, provide additional resources",
82
- "slideType": "text"
82
+ "type": "text"
83
83
  }
84
84
  ]
85
85
  }
@@ -10,9 +10,9 @@
10
10
  "investors",
11
11
  "executives"
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
  "strategic",
@@ -55,7 +55,7 @@
55
55
  "id": "ask",
56
56
  "name": "Call to Action",
57
57
  "description": "Close with the single decision you want the audience to make. Frame it as the obvious next move given the shift, the stakes, and the new game. Make it small enough to say yes to today and large enough to start a real engagement.",
58
- "layoutHint": "title"
58
+ "layout": "title"
59
59
  }
60
60
  ]
61
61
  }
@@ -9,9 +9,9 @@
9
9
  "stakeholders",
10
10
  "marketing-teams"
11
11
  ],
12
- "durationRange": {
13
- "minMinutes": 20,
14
- "maxMinutes": 60
12
+ "duration": {
13
+ "min": 20,
14
+ "max": 60
15
15
  },
16
16
  "tags": [
17
17
  "data-driven",
@@ -25,80 +25,80 @@
25
25
  "name": "Introduction",
26
26
  "description": "Open by naming the question the survey was meant to answer. Why this, why now, who commissioned it. Anchor the audience in the decision the survey is designed to inform.",
27
27
  "instructions": "Present survey topic",
28
- "slideType": "text",
29
- "layoutHint": "text-1x"
28
+ "type": "text",
29
+ "layout": "text-1x"
30
30
  },
31
31
  {
32
32
  "id": "executive-summary",
33
33
  "name": "Executive Summary",
34
34
  "description": "State the top three findings in plain language on a single slide. A reader who only sees this slide should still be able to make the right call. Avoid hedging — synthesis is the point.",
35
35
  "instructions": "Summarize key findings",
36
- "slideType": "text",
37
- "layoutHint": "text-1x"
36
+ "type": "text",
37
+ "layout": "text-1x"
38
38
  },
39
39
  {
40
40
  "id": "context",
41
41
  "name": "Context",
42
42
  "description": "Detail the situation behind the survey: prior knowledge, related research, the gap this work fills. Just enough to position the findings as new information rather than restated common sense.",
43
43
  "instructions": "Detail survey background",
44
- "slideType": "text",
45
- "layoutHint": "text-1x"
44
+ "type": "text",
45
+ "layout": "text-1x"
46
46
  },
47
47
  {
48
48
  "id": "data-methodology",
49
49
  "name": "Data & Methodology",
50
50
  "description": "Describe how the data was collected and from whom. Sample size, recruitment, instrument, timing. Be honest about limitations; methodological transparency is what gives the findings their weight.",
51
51
  "instructions": "Discuss sourcing and collection",
52
- "slideType": "text",
53
- "layoutHint": "text-1x"
52
+ "type": "text",
53
+ "layout": "text-1x"
54
54
  },
55
55
  {
56
56
  "id": "data-summary",
57
57
  "name": "Data Summary",
58
58
  "description": "Give the audience an overview of the dataset before drilling in. Demographics, response rates, distribution of key variables. Help them calibrate what 'most' and 'few' mean in this study.",
59
59
  "instructions": "Provide data overview",
60
- "slideType": "text",
61
- "layoutHint": "text-1x"
60
+ "type": "text",
61
+ "layout": "text-1x"
62
62
  },
63
63
  {
64
64
  "id": "findings",
65
65
  "name": "Findings",
66
66
  "description": "Present the key insights one at a time. Lead each finding with the claim, then the chart. Avoid burying the point under the visualization — captions should restate the insight in words.",
67
67
  "instructions": "Highlight key insights",
68
- "slideType": "text",
69
- "layoutHint": "text-1x"
68
+ "type": "text",
69
+ "layout": "text-1x"
70
70
  },
71
71
  {
72
72
  "id": "data-analysis",
73
73
  "name": "Data Analysis",
74
74
  "description": "Break down the data behind each finding: cross-tabs, segment splits, statistical confidence. This is the slide skeptics will scrutinize — make it scrutinizable.",
75
75
  "instructions": "Break down data",
76
- "slideType": "text",
77
- "layoutHint": "text-1x"
76
+ "type": "text",
77
+ "layout": "text-1x"
78
78
  },
79
79
  {
80
80
  "id": "implications",
81
81
  "name": "Implications",
82
82
  "description": "Translate findings into 'so what.' What changes for product, marketing, ops, the customer? Implications without consequences are interesting trivia, not research.",
83
83
  "instructions": "Discuss survey implications",
84
- "slideType": "text",
85
- "layoutHint": "text-1x"
84
+ "type": "text",
85
+ "layout": "text-1x"
86
86
  },
87
87
  {
88
88
  "id": "recommendations",
89
89
  "name": "Recommendations",
90
90
  "description": "Provide the actions that follow from the implications. Prioritize, attach owners, mark which require decisions. This is where research becomes useful.",
91
91
  "instructions": "Provide action plans",
92
- "slideType": "text",
93
- "layoutHint": "text-1x"
92
+ "type": "text",
93
+ "layout": "text-1x"
94
94
  },
95
95
  {
96
96
  "id": "conclusion",
97
97
  "name": "Conclusion",
98
98
  "description": "Recap the headline finding and the most important recommendation. End with the next step — a follow-on study, a workshop, a decision — so the work doesn't sit on a shelf.",
99
- "layoutHint": "title",
99
+ "layout": "title",
100
100
  "instructions": "Recap and finalize",
101
- "slideType": "text"
101
+ "type": "text"
102
102
  }
103
103
  ]
104
104
  }