@openpresentation/opf 0.1.0 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (499) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +146 -103
  3. package/dist/catalogs.d.ts +11 -1531
  4. package/dist/catalogs.js +5 -613
  5. package/dist/catalogs.js.map +1 -1
  6. package/dist/index.d.ts +3 -1
  7. package/dist/index.js +3831 -649
  8. package/dist/index.js.map +1 -1
  9. package/dist/previews.d.ts +40 -0
  10. package/dist/previews.js +447 -0
  11. package/dist/previews.js.map +1 -0
  12. package/dist/schemas.d.ts +105 -105
  13. package/dist/schemas.js +35 -35
  14. package/dist/schemas.js.map +1 -1
  15. package/dist/spec/catalogs/audiences/all-hands.json +23 -23
  16. package/dist/spec/catalogs/audiences/board.json +22 -22
  17. package/dist/spec/catalogs/audiences/candidates.json +23 -23
  18. package/dist/spec/catalogs/audiences/customers.json +23 -23
  19. package/dist/spec/catalogs/audiences/engineering-team.json +23 -23
  20. package/dist/spec/catalogs/audiences/executives.json +23 -23
  21. package/dist/spec/catalogs/audiences/index.json +67 -67
  22. package/dist/spec/catalogs/audiences/investors.json +23 -23
  23. package/dist/spec/catalogs/audiences/marketing-team.json +23 -23
  24. package/dist/spec/catalogs/audiences/regulators.json +23 -23
  25. package/dist/spec/catalogs/audiences/sales-team.json +23 -23
  26. package/dist/spec/catalogs/chart-types/100pct-bullet-bar-2x.json +86 -90
  27. package/dist/spec/catalogs/chart-types/100pct-bullet-bar-3x.json +98 -102
  28. package/dist/spec/catalogs/chart-types/100pct-bullet-bar.json +74 -78
  29. package/dist/spec/catalogs/chart-types/100pct-bullet-column-2x.json +86 -90
  30. package/dist/spec/catalogs/chart-types/100pct-bullet-column-3x.json +98 -102
  31. package/dist/spec/catalogs/chart-types/100pct-bullet-column.json +74 -78
  32. package/dist/spec/catalogs/chart-types/100pct-progress-bar.json +95 -99
  33. package/dist/spec/catalogs/chart-types/100pct-stacked-area-2x.json +96 -100
  34. package/dist/spec/catalogs/chart-types/100pct-stacked-area-3x.json +118 -122
  35. package/dist/spec/catalogs/chart-types/100pct-stacked-bar-2x.json +79 -83
  36. package/dist/spec/catalogs/chart-types/100pct-stacked-bar-3x.json +95 -99
  37. package/dist/spec/catalogs/chart-types/100pct-stacked-column-2x.json +85 -89
  38. package/dist/spec/catalogs/chart-types/100pct-stacked-column-3x.json +103 -107
  39. package/dist/spec/catalogs/chart-types/area.json +73 -77
  40. package/dist/spec/catalogs/chart-types/australia.json +66 -70
  41. package/dist/spec/catalogs/chart-types/bar.json +63 -67
  42. package/dist/spec/catalogs/chart-types/box-and-whisker-2x.json +126 -130
  43. package/dist/spec/catalogs/chart-types/box-and-whisker-3x.json +158 -162
  44. package/dist/spec/catalogs/chart-types/box-and-whisker.json +94 -98
  45. package/dist/spec/catalogs/chart-types/bullet-bar-2x.json +84 -88
  46. package/dist/spec/catalogs/chart-types/bullet-bar-3x.json +96 -100
  47. package/dist/spec/catalogs/chart-types/bullet-bar.json +72 -76
  48. package/dist/spec/catalogs/chart-types/bullet-column-2x.json +84 -88
  49. package/dist/spec/catalogs/chart-types/bullet-column-3x.json +96 -100
  50. package/dist/spec/catalogs/chart-types/bullet-column.json +72 -76
  51. package/dist/spec/catalogs/chart-types/canada.json +76 -80
  52. package/dist/spec/catalogs/chart-types/clustered-bar-2x.json +79 -83
  53. package/dist/spec/catalogs/chart-types/clustered-column.json +85 -89
  54. package/dist/spec/catalogs/chart-types/column.json +67 -71
  55. package/dist/spec/catalogs/chart-types/dot-plot-2x.json +94 -98
  56. package/dist/spec/catalogs/chart-types/dot-plot-3x.json +119 -123
  57. package/dist/spec/catalogs/chart-types/dot-plot-4x.json +144 -148
  58. package/dist/spec/catalogs/chart-types/dot-plot-5x.json +169 -173
  59. package/dist/spec/catalogs/chart-types/dot-plot-6x.json +194 -198
  60. package/dist/spec/catalogs/chart-types/dot-plot.json +69 -73
  61. package/dist/spec/catalogs/chart-types/doughnut.json +53 -57
  62. package/dist/spec/catalogs/chart-types/dumbbell.json +115 -119
  63. package/dist/spec/catalogs/chart-types/filled-radar.json +66 -70
  64. package/dist/spec/catalogs/chart-types/funnel.json +60 -64
  65. package/dist/spec/catalogs/chart-types/histogram.json +141 -145
  66. package/dist/spec/catalogs/chart-types/index.json +539 -843
  67. package/dist/spec/catalogs/chart-types/line-2x.json +95 -99
  68. package/dist/spec/catalogs/chart-types/line-3x.json +117 -121
  69. package/dist/spec/catalogs/chart-types/line-with-high-low-and-markers.json +139 -143
  70. package/dist/spec/catalogs/chart-types/line-with-high-low.json +139 -143
  71. package/dist/spec/catalogs/chart-types/line-with-markers-2x.json +96 -100
  72. package/dist/spec/catalogs/chart-types/line-with-markers-3x.json +118 -122
  73. package/dist/spec/catalogs/chart-types/line-with-markers.json +74 -78
  74. package/dist/spec/catalogs/chart-types/line.json +73 -77
  75. package/dist/spec/catalogs/chart-types/pareto.json +159 -163
  76. package/dist/spec/catalogs/chart-types/pie.json +53 -57
  77. package/dist/spec/catalogs/chart-types/radar-with-markers.json +66 -70
  78. package/dist/spec/catalogs/chart-types/radar.json +66 -70
  79. package/dist/spec/catalogs/chart-types/scatter.json +87 -91
  80. package/dist/spec/catalogs/chart-types/sparkline-2x.json +133 -137
  81. package/dist/spec/catalogs/chart-types/sparkline-3x.json +169 -173
  82. package/dist/spec/catalogs/chart-types/sparkline-4x.json +205 -209
  83. package/dist/spec/catalogs/chart-types/sparkline-5x.json +241 -245
  84. package/dist/spec/catalogs/chart-types/sparkline-6x.json +277 -281
  85. package/dist/spec/catalogs/chart-types/sparkline.json +97 -101
  86. package/dist/spec/catalogs/chart-types/stacked-area-2x.json +96 -100
  87. package/dist/spec/catalogs/chart-types/stacked-area-3x.json +118 -122
  88. package/dist/spec/catalogs/chart-types/stacked-bar-2x.json +79 -83
  89. package/dist/spec/catalogs/chart-types/stacked-bar-3x.json +95 -99
  90. package/dist/spec/catalogs/chart-types/stacked-column-2x.json +85 -89
  91. package/dist/spec/catalogs/chart-types/stacked-column-3x.json +103 -107
  92. package/dist/spec/catalogs/chart-types/stacked-line-2x.json +96 -100
  93. package/dist/spec/catalogs/chart-types/stacked-line-3x.json +118 -122
  94. package/dist/spec/catalogs/chart-types/stacked-line-with-markers-2x.json +97 -101
  95. package/dist/spec/catalogs/chart-types/stacked-line-with-markers-3x.json +119 -123
  96. package/dist/spec/catalogs/chart-types/treemap-2x.json +91 -95
  97. package/dist/spec/catalogs/chart-types/treemap-3x.json +112 -116
  98. package/dist/spec/catalogs/chart-types/treemap.json +62 -66
  99. package/dist/spec/catalogs/chart-types/{united-kindom.json → united-kingdom.json} +58 -62
  100. package/dist/spec/catalogs/chart-types/united-states.json +72 -76
  101. package/dist/spec/catalogs/chart-types/waterfall.json +66 -70
  102. package/dist/spec/catalogs/chart-types/world.json +78 -82
  103. package/dist/spec/catalogs/color-schemes/black-and-white.json +17 -17
  104. package/dist/spec/catalogs/color-schemes/bold-red.json +17 -17
  105. package/dist/spec/catalogs/color-schemes/boost.json +17 -17
  106. package/dist/spec/catalogs/color-schemes/burnt-orange.json +17 -17
  107. package/dist/spec/catalogs/color-schemes/cool-horizon.json +17 -17
  108. package/dist/spec/catalogs/color-schemes/corporate-blue.json +17 -17
  109. package/dist/spec/catalogs/color-schemes/deep-purple.json +17 -17
  110. package/dist/spec/catalogs/color-schemes/forest-green.json +17 -17
  111. package/dist/spec/catalogs/color-schemes/golden-yellow.json +17 -17
  112. package/dist/spec/catalogs/color-schemes/index.json +77 -77
  113. package/dist/spec/catalogs/color-schemes/luxury.json +17 -17
  114. package/dist/spec/catalogs/color-schemes/pastel-red.json +17 -17
  115. package/dist/spec/catalogs/color-schemes/slate-gray.json +17 -17
  116. package/dist/spec/catalogs/color-schemes/steel-blue.json +17 -17
  117. package/dist/spec/catalogs/color-schemes/vibes.json +17 -17
  118. package/dist/spec/catalogs/font-schemes/angsana-new.json +14 -14
  119. package/dist/spec/catalogs/font-schemes/aparajita.json +15 -15
  120. package/dist/spec/catalogs/font-schemes/aptos.json +12 -12
  121. package/dist/spec/catalogs/font-schemes/arabic-typesetting.json +14 -14
  122. package/dist/spec/catalogs/font-schemes/arial.json +12 -12
  123. package/dist/spec/catalogs/font-schemes/batang.json +14 -14
  124. package/dist/spec/catalogs/font-schemes/bookman.json +12 -12
  125. package/dist/spec/catalogs/font-schemes/calibri.json +12 -12
  126. package/dist/spec/catalogs/font-schemes/century-schoolbook.json +12 -12
  127. package/dist/spec/catalogs/font-schemes/consolas.json +12 -12
  128. package/dist/spec/catalogs/font-schemes/constantia.json +12 -12
  129. package/dist/spec/catalogs/font-schemes/courier-new.json +12 -12
  130. package/dist/spec/catalogs/font-schemes/daunpenh.json +14 -14
  131. package/dist/spec/catalogs/font-schemes/david.json +14 -14
  132. package/dist/spec/catalogs/font-schemes/dilleniaupc.json +14 -14
  133. package/dist/spec/catalogs/font-schemes/fangsong.json +14 -14
  134. package/dist/spec/catalogs/font-schemes/garamond.json +12 -12
  135. package/dist/spec/catalogs/font-schemes/gautami.json +14 -14
  136. package/dist/spec/catalogs/font-schemes/georgia.json +12 -12
  137. package/dist/spec/catalogs/font-schemes/gisha.json +15 -15
  138. package/dist/spec/catalogs/font-schemes/grandview.json +12 -12
  139. package/dist/spec/catalogs/font-schemes/gungsuh.json +14 -14
  140. package/dist/spec/catalogs/font-schemes/impact.json +12 -12
  141. package/dist/spec/catalogs/font-schemes/index.json +452 -452
  142. package/dist/spec/catalogs/font-schemes/kalinga.json +14 -14
  143. package/dist/spec/catalogs/font-schemes/kartika.json +14 -14
  144. package/dist/spec/catalogs/font-schemes/khmer-ui.json +14 -14
  145. package/dist/spec/catalogs/font-schemes/latha.json +14 -14
  146. package/dist/spec/catalogs/font-schemes/lucida-sans.json +12 -12
  147. package/dist/spec/catalogs/font-schemes/malgun-gothic.json +14 -14
  148. package/dist/spec/catalogs/font-schemes/mangal.json +17 -17
  149. package/dist/spec/catalogs/font-schemes/meiryo.json +14 -14
  150. package/dist/spec/catalogs/font-schemes/microsoft-jhenghei.json +14 -14
  151. package/dist/spec/catalogs/font-schemes/microsoft-yahei.json +17 -17
  152. package/dist/spec/catalogs/font-schemes/mingliu.json +14 -14
  153. package/dist/spec/catalogs/font-schemes/miriam.json +14 -14
  154. package/dist/spec/catalogs/font-schemes/montserrat.json +12 -12
  155. package/dist/spec/catalogs/font-schemes/ms-mincho.json +14 -14
  156. package/dist/spec/catalogs/font-schemes/nirmala-ui.json +14 -14
  157. package/dist/spec/catalogs/font-schemes/noto-naksh-arabic.json +14 -14
  158. package/dist/spec/catalogs/font-schemes/noto-nastaliq-urdu.json +15 -15
  159. package/dist/spec/catalogs/font-schemes/noto-sans-arabic.json +16 -16
  160. package/dist/spec/catalogs/font-schemes/noto-sans-armenian.json +14 -14
  161. package/dist/spec/catalogs/font-schemes/noto-sans-bengali.json +15 -15
  162. package/dist/spec/catalogs/font-schemes/noto-sans-devangari.json +15 -15
  163. package/dist/spec/catalogs/font-schemes/noto-sans-ethiopic.json +14 -14
  164. package/dist/spec/catalogs/font-schemes/noto-sans-georgian.json +14 -14
  165. package/dist/spec/catalogs/font-schemes/noto-sans-gujarati.json +14 -14
  166. package/dist/spec/catalogs/font-schemes/noto-sans-gurmukhi.json +14 -14
  167. package/dist/spec/catalogs/font-schemes/noto-sans-hebrew.json +14 -14
  168. package/dist/spec/catalogs/font-schemes/noto-sans-jp.json +14 -14
  169. package/dist/spec/catalogs/font-schemes/noto-sans-kannada.json +14 -14
  170. package/dist/spec/catalogs/font-schemes/noto-sans-khmer.json +14 -14
  171. package/dist/spec/catalogs/font-schemes/noto-sans-kr.json +14 -14
  172. package/dist/spec/catalogs/font-schemes/noto-sans-malayalam.json +14 -14
  173. package/dist/spec/catalogs/font-schemes/noto-sans-mongolian.json +14 -14
  174. package/dist/spec/catalogs/font-schemes/noto-sans-oriya.json +14 -14
  175. package/dist/spec/catalogs/font-schemes/noto-sans-sc.json +17 -17
  176. package/dist/spec/catalogs/font-schemes/noto-sans-tamil.json +14 -14
  177. package/dist/spec/catalogs/font-schemes/noto-sans-tc.json +14 -14
  178. package/dist/spec/catalogs/font-schemes/noto-sans-telugu.json +14 -14
  179. package/dist/spec/catalogs/font-schemes/noto-sans-thai.json +14 -14
  180. package/dist/spec/catalogs/font-schemes/noto-sans.json +17 -17
  181. package/dist/spec/catalogs/font-schemes/nyala.json +14 -14
  182. package/dist/spec/catalogs/font-schemes/open-sans.json +12 -12
  183. package/dist/spec/catalogs/font-schemes/pmingliu.json +14 -14
  184. package/dist/spec/catalogs/font-schemes/poppins.json +12 -12
  185. package/dist/spec/catalogs/font-schemes/pt-serif.json +12 -12
  186. package/dist/spec/catalogs/font-schemes/raavi.json +14 -14
  187. package/dist/spec/catalogs/font-schemes/raleway.json +12 -12
  188. package/dist/spec/catalogs/font-schemes/roboto.json +12 -12
  189. package/dist/spec/catalogs/font-schemes/rockwell.json +12 -12
  190. package/dist/spec/catalogs/font-schemes/sakkal-majalla.json +16 -16
  191. package/dist/spec/catalogs/font-schemes/seaford.json +12 -12
  192. package/dist/spec/catalogs/font-schemes/segoe-ui-light.json +12 -12
  193. package/dist/spec/catalogs/font-schemes/segoe-ui.json +12 -12
  194. package/dist/spec/catalogs/font-schemes/shonar-bangla.json +15 -15
  195. package/dist/spec/catalogs/font-schemes/shruti.json +14 -14
  196. package/dist/spec/catalogs/font-schemes/simsun.json +14 -14
  197. package/dist/spec/catalogs/font-schemes/skeena.json +12 -12
  198. package/dist/spec/catalogs/font-schemes/sylfaen.json +15 -15
  199. package/dist/spec/catalogs/font-schemes/tahoma.json +12 -12
  200. package/dist/spec/catalogs/font-schemes/tenorite.json +12 -12
  201. package/dist/spec/catalogs/font-schemes/times-new-roman.json +12 -12
  202. package/dist/spec/catalogs/font-schemes/traditional-arabic.json +16 -16
  203. package/dist/spec/catalogs/font-schemes/trebuchet-ms.json +12 -12
  204. package/dist/spec/catalogs/font-schemes/tunga.json +14 -14
  205. package/dist/spec/catalogs/font-schemes/verdana.json +12 -12
  206. package/dist/spec/catalogs/font-schemes/vrinda.json +14 -14
  207. package/dist/spec/catalogs/font-schemes/yu-gothic.json +14 -14
  208. package/dist/spec/catalogs/languages/afrikaans.json +9 -9
  209. package/dist/spec/catalogs/languages/albanian.json +9 -9
  210. package/dist/spec/catalogs/languages/amharic.json +9 -9
  211. package/dist/spec/catalogs/languages/arabic.json +9 -9
  212. package/dist/spec/catalogs/languages/armenian.json +9 -9
  213. package/dist/spec/catalogs/languages/aymara.json +9 -9
  214. package/dist/spec/catalogs/languages/azerbaijani.json +9 -9
  215. package/dist/spec/catalogs/languages/bengali.json +9 -9
  216. package/dist/spec/catalogs/languages/berber-latin.json +9 -9
  217. package/dist/spec/catalogs/languages/bosnian-latin.json +9 -9
  218. package/dist/spec/catalogs/languages/bulgarian.json +9 -9
  219. package/dist/spec/catalogs/languages/catalan.json +9 -9
  220. package/dist/spec/catalogs/languages/cebuano.json +9 -9
  221. package/dist/spec/catalogs/languages/chinese-simplified.json +9 -9
  222. package/dist/spec/catalogs/languages/chinese-traditional.json +9 -9
  223. package/dist/spec/catalogs/languages/chittagonian.json +9 -9
  224. package/dist/spec/catalogs/languages/croatian.json +9 -9
  225. package/dist/spec/catalogs/languages/czech.json +9 -9
  226. package/dist/spec/catalogs/languages/danish.json +9 -9
  227. package/dist/spec/catalogs/languages/dutch.json +9 -9
  228. package/dist/spec/catalogs/languages/english-au.json +9 -9
  229. package/dist/spec/catalogs/languages/english-ca.json +9 -9
  230. package/dist/spec/catalogs/languages/english-gb.json +9 -9
  231. package/dist/spec/catalogs/languages/english-in.json +9 -9
  232. package/dist/spec/catalogs/languages/english-us.json +9 -9
  233. package/dist/spec/catalogs/languages/english.json +9 -9
  234. package/dist/spec/catalogs/languages/estonian.json +9 -9
  235. package/dist/spec/catalogs/languages/filipino.json +9 -9
  236. package/dist/spec/catalogs/languages/finnish.json +9 -9
  237. package/dist/spec/catalogs/languages/french.json +9 -9
  238. package/dist/spec/catalogs/languages/fulfulde.json +9 -9
  239. package/dist/spec/catalogs/languages/galician.json +9 -9
  240. package/dist/spec/catalogs/languages/georgian.json +9 -9
  241. package/dist/spec/catalogs/languages/german.json +9 -9
  242. package/dist/spec/catalogs/languages/greek.json +9 -9
  243. package/dist/spec/catalogs/languages/gujarati.json +9 -9
  244. package/dist/spec/catalogs/languages/hausa.json +9 -9
  245. package/dist/spec/catalogs/languages/hebrew.json +9 -9
  246. package/dist/spec/catalogs/languages/hindi.json +9 -9
  247. package/dist/spec/catalogs/languages/hungarian.json +9 -9
  248. package/dist/spec/catalogs/languages/igbo.json +9 -9
  249. package/dist/spec/catalogs/languages/index.json +565 -565
  250. package/dist/spec/catalogs/languages/indonesian.json +9 -9
  251. package/dist/spec/catalogs/languages/italian.json +9 -9
  252. package/dist/spec/catalogs/languages/japanese.json +9 -9
  253. package/dist/spec/catalogs/languages/kannada.json +9 -9
  254. package/dist/spec/catalogs/languages/kazakh.json +9 -9
  255. package/dist/spec/catalogs/languages/khmer.json +9 -9
  256. package/dist/spec/catalogs/languages/kinyarwanda.json +9 -9
  257. package/dist/spec/catalogs/languages/korean.json +9 -9
  258. package/dist/spec/catalogs/languages/kurmanji.json +9 -9
  259. package/dist/spec/catalogs/languages/latvian.json +9 -9
  260. package/dist/spec/catalogs/languages/lithuanian.json +9 -9
  261. package/dist/spec/catalogs/languages/macedonian.json +9 -9
  262. package/dist/spec/catalogs/languages/malagasy.json +9 -9
  263. package/dist/spec/catalogs/languages/malay.json +9 -9
  264. package/dist/spec/catalogs/languages/malayalam.json +9 -9
  265. package/dist/spec/catalogs/languages/maori.json +9 -9
  266. package/dist/spec/catalogs/languages/marathi.json +9 -9
  267. package/dist/spec/catalogs/languages/mongolian.json +9 -9
  268. package/dist/spec/catalogs/languages/nepali.json +9 -9
  269. package/dist/spec/catalogs/languages/norwegian.json +9 -9
  270. package/dist/spec/catalogs/languages/odia.json +9 -9
  271. package/dist/spec/catalogs/languages/oromo.json +9 -9
  272. package/dist/spec/catalogs/languages/pashto.json +9 -9
  273. package/dist/spec/catalogs/languages/persian.json +9 -9
  274. package/dist/spec/catalogs/languages/polish.json +9 -9
  275. package/dist/spec/catalogs/languages/portuguese.json +9 -9
  276. package/dist/spec/catalogs/languages/punjabi-gurmukhi.json +9 -9
  277. package/dist/spec/catalogs/languages/punjabi-shahmukhi.json +9 -9
  278. package/dist/spec/catalogs/languages/romanian.json +9 -9
  279. package/dist/spec/catalogs/languages/russian.json +9 -9
  280. package/dist/spec/catalogs/languages/serbian-cyrillic.json +9 -9
  281. package/dist/spec/catalogs/languages/serbian-latin.json +9 -9
  282. package/dist/spec/catalogs/languages/shona.json +9 -9
  283. package/dist/spec/catalogs/languages/slovak.json +9 -9
  284. package/dist/spec/catalogs/languages/slovenian.json +9 -9
  285. package/dist/spec/catalogs/languages/somali.json +9 -9
  286. package/dist/spec/catalogs/languages/spanish.json +9 -9
  287. package/dist/spec/catalogs/languages/swahili.json +9 -9
  288. package/dist/spec/catalogs/languages/swedish.json +9 -9
  289. package/dist/spec/catalogs/languages/tagalog.json +9 -9
  290. package/dist/spec/catalogs/languages/tajik.json +9 -9
  291. package/dist/spec/catalogs/languages/tamil.json +9 -9
  292. package/dist/spec/catalogs/languages/telugu.json +9 -9
  293. package/dist/spec/catalogs/languages/thai.json +9 -9
  294. package/dist/spec/catalogs/languages/turkish.json +9 -9
  295. package/dist/spec/catalogs/languages/ukrainian.json +9 -9
  296. package/dist/spec/catalogs/languages/urdu.json +9 -9
  297. package/dist/spec/catalogs/languages/uzbek-latin.json +9 -9
  298. package/dist/spec/catalogs/languages/vietnamese-quoc-ngu.json +9 -9
  299. package/dist/spec/catalogs/languages/xhosa.json +9 -9
  300. package/dist/spec/catalogs/languages/yoruba.json +9 -9
  301. package/dist/spec/catalogs/languages/zulu.json +9 -9
  302. package/dist/spec/catalogs/layouts/blank.json +6 -6
  303. package/dist/spec/catalogs/layouts/chart-1x.json +16 -16
  304. package/dist/spec/catalogs/layouts/chart-2x.json +22 -22
  305. package/dist/spec/catalogs/layouts/chart-3x.json +28 -28
  306. package/dist/spec/catalogs/layouts/code-1x.json +16 -16
  307. package/dist/spec/catalogs/layouts/extract/canonical.json +487 -487
  308. package/dist/spec/catalogs/layouts/image-1x.json +16 -16
  309. package/dist/spec/catalogs/layouts/image-2x.json +22 -22
  310. package/dist/spec/catalogs/layouts/image-3x.json +28 -28
  311. package/dist/spec/catalogs/layouts/image-bleed.json +10 -10
  312. package/dist/spec/catalogs/layouts/index.json +147 -147
  313. package/dist/spec/catalogs/layouts/list-1x.json +13 -13
  314. package/dist/spec/catalogs/layouts/list-2x.json +16 -16
  315. package/dist/spec/catalogs/layouts/list-3x.json +19 -19
  316. package/dist/spec/catalogs/layouts/list-4x.json +22 -22
  317. package/dist/spec/catalogs/layouts/list-5x.json +25 -25
  318. package/dist/spec/catalogs/layouts/list-6x.json +28 -28
  319. package/dist/spec/catalogs/layouts/media-1x.json +16 -16
  320. package/dist/spec/catalogs/layouts/number-1x.json +13 -13
  321. package/dist/spec/catalogs/layouts/number-2x.json +16 -16
  322. package/dist/spec/catalogs/layouts/number-3x.json +19 -19
  323. package/dist/spec/catalogs/layouts/number-4x.json +22 -22
  324. package/dist/spec/catalogs/layouts/number-5x.json +25 -25
  325. package/dist/spec/catalogs/layouts/number-6x.json +28 -28
  326. package/dist/spec/catalogs/layouts/table-1x.json +16 -16
  327. package/dist/spec/catalogs/layouts/text-1x.json +13 -13
  328. package/dist/spec/catalogs/layouts/text-2x.json +16 -16
  329. package/dist/spec/catalogs/layouts/text-3x.json +19 -19
  330. package/dist/spec/catalogs/layouts/title-subtitle.json +13 -13
  331. package/dist/spec/catalogs/layouts/title.json +10 -10
  332. package/dist/spec/catalogs/narratives/board-meeting.json +192 -192
  333. package/dist/spec/catalogs/narratives/business-narrative.json +87 -87
  334. package/dist/spec/catalogs/narratives/business-review.json +119 -119
  335. package/dist/spec/catalogs/narratives/capacity-planning.json +88 -88
  336. package/dist/spec/catalogs/narratives/challenge-resolution.json +80 -80
  337. package/dist/spec/catalogs/narratives/classic-story.json +78 -78
  338. package/dist/spec/catalogs/narratives/company-intro.json +96 -96
  339. package/dist/spec/catalogs/narratives/conference-talk.json +54 -54
  340. package/dist/spec/catalogs/narratives/early-startup-pitch.json +119 -119
  341. package/dist/spec/catalogs/narratives/educate.json +95 -95
  342. package/dist/spec/catalogs/narratives/employee-review.json +87 -87
  343. package/dist/spec/catalogs/narratives/failure-analysis.json +104 -104
  344. package/dist/spec/catalogs/narratives/focus.json +120 -120
  345. package/dist/spec/catalogs/narratives/golden-circle.json +50 -50
  346. package/dist/spec/catalogs/narratives/index.json +358 -358
  347. package/dist/spec/catalogs/narratives/innovation.json +96 -96
  348. package/dist/spec/catalogs/narratives/justice.json +112 -112
  349. package/dist/spec/catalogs/narratives/marketing-strategy.json +111 -111
  350. package/dist/spec/catalogs/narratives/performance-improvement-plan.json +87 -87
  351. package/dist/spec/catalogs/narratives/performance-review.json +111 -111
  352. package/dist/spec/catalogs/narratives/persuade.json +94 -94
  353. package/dist/spec/catalogs/narratives/persuasive-sales.json +87 -87
  354. package/dist/spec/catalogs/narratives/pitch-deck.json +107 -107
  355. package/dist/spec/catalogs/narratives/problem-solution.json +61 -61
  356. package/dist/spec/catalogs/narratives/product-launch.json +104 -104
  357. package/dist/spec/catalogs/narratives/project-proposal.json +104 -104
  358. package/dist/spec/catalogs/narratives/qbr.json +85 -85
  359. package/dist/spec/catalogs/narratives/rags-to-riches.json +80 -80
  360. package/dist/spec/catalogs/narratives/reveal.json +87 -87
  361. package/dist/spec/catalogs/narratives/scqa.json +55 -55
  362. package/dist/spec/catalogs/narratives/status-update.json +72 -72
  363. package/dist/spec/catalogs/narratives/strategic-advisory.json +85 -85
  364. package/dist/spec/catalogs/narratives/strategic-narrative.json +61 -61
  365. package/dist/spec/catalogs/narratives/survey-analysis.json +104 -104
  366. package/dist/spec/catalogs/narratives/survival-story.json +103 -103
  367. package/dist/spec/catalogs/narratives/transformation-arc.json +50 -50
  368. package/dist/spec/catalogs/narratives/trend-analysis.json +79 -79
  369. package/dist/spec/catalogs/narratives/underdog-victory.json +87 -87
  370. package/dist/spec/catalogs/narratives/venture-pitch.json +109 -109
  371. package/dist/spec/catalogs/narratives/weekly-progress.json +103 -103
  372. package/dist/spec/catalogs/purposes/align.json +16 -16
  373. package/dist/spec/catalogs/purposes/decide.json +16 -16
  374. package/dist/spec/catalogs/purposes/educate.json +16 -16
  375. package/dist/spec/catalogs/purposes/index.json +61 -61
  376. package/dist/spec/catalogs/purposes/inform.json +16 -16
  377. package/dist/spec/catalogs/purposes/persuade.json +16 -16
  378. package/dist/spec/catalogs/purposes/pitch.json +16 -16
  379. package/dist/spec/catalogs/purposes/plan.json +16 -16
  380. package/dist/spec/catalogs/purposes/report.json +16 -16
  381. package/dist/spec/catalogs/purposes/sell.json +16 -16
  382. package/dist/spec/catalogs/social-platforms/bluesky.json +14 -14
  383. package/dist/spec/catalogs/social-platforms/facebook.json +14 -14
  384. package/dist/spec/catalogs/social-platforms/github.json +15 -15
  385. package/dist/spec/catalogs/social-platforms/index.json +68 -68
  386. package/dist/spec/catalogs/social-platforms/instagram.json +13 -13
  387. package/dist/spec/catalogs/social-platforms/linkedin.json +15 -15
  388. package/dist/spec/catalogs/social-platforms/mastodon.json +14 -14
  389. package/dist/spec/catalogs/social-platforms/threads.json +13 -13
  390. package/dist/spec/catalogs/social-platforms/tiktok.json +14 -14
  391. package/dist/spec/catalogs/social-platforms/x.json +14 -14
  392. package/dist/spec/catalogs/social-platforms/youtube.json +14 -14
  393. package/dist/spec/catalogs/themes/bold.json +13 -13
  394. package/dist/spec/catalogs/themes/classic.json +13 -13
  395. package/dist/spec/catalogs/themes/dark.json +13 -13
  396. package/dist/spec/catalogs/themes/index.json +31 -31
  397. package/dist/spec/catalogs/themes/minimal.json +13 -13
  398. package/dist/spec/catalogs/tones/authoritative.json +31 -31
  399. package/dist/spec/catalogs/tones/casual.json +31 -31
  400. package/dist/spec/catalogs/tones/conversational.json +31 -31
  401. package/dist/spec/catalogs/tones/formal.json +31 -31
  402. package/dist/spec/catalogs/tones/index.json +49 -49
  403. package/dist/spec/catalogs/tones/inspirational.json +31 -31
  404. package/dist/spec/catalogs/tones/persuasive.json +32 -32
  405. package/dist/spec/catalogs/tones/technical.json +31 -31
  406. package/dist/spec/openapi.yaml +776 -776
  407. package/dist/spec/previews/layouts/action-plan.html +1 -0
  408. package/dist/spec/previews/layouts/agenda.html +1 -0
  409. package/dist/spec/previews/layouts/appendix-index.html +1 -0
  410. package/dist/spec/previews/layouts/architecture-stack.html +1 -0
  411. package/dist/spec/previews/layouts/assumptions-dependencies.html +1 -0
  412. package/dist/spec/previews/layouts/before-after.html +1 -0
  413. package/dist/spec/previews/layouts/benchmark-target-table.html +1 -0
  414. package/dist/spec/previews/layouts/bullet-list.html +1 -0
  415. package/dist/spec/previews/layouts/business-model-canvas.html +1 -0
  416. package/dist/spec/previews/layouts/capability-map.html +1 -0
  417. package/dist/spec/previews/layouts/case-study.html +1 -0
  418. package/dist/spec/previews/layouts/chapter-recap.html +1 -0
  419. package/dist/spec/previews/layouts/circular-lifecycle.html +1 -0
  420. package/dist/spec/previews/layouts/comparison.html +1 -0
  421. package/dist/spec/previews/layouts/competitive-landscape.html +1 -0
  422. package/dist/spec/previews/layouts/customer-journey.html +1 -0
  423. package/dist/spec/previews/layouts/customer-logos.html +1 -0
  424. package/dist/spec/previews/layouts/dashboard.html +1 -0
  425. package/dist/spec/previews/layouts/data-visualization.html +1 -0
  426. package/dist/spec/previews/layouts/decision-tree.html +1 -0
  427. package/dist/spec/previews/layouts/detailed-data-table.html +1 -0
  428. package/dist/spec/previews/layouts/ecosystem-map.html +1 -0
  429. package/dist/spec/previews/layouts/executive-decision.html +1 -0
  430. package/dist/spec/previews/layouts/executive-summary.html +1 -0
  431. package/dist/spec/previews/layouts/faq.html +1 -0
  432. package/dist/spec/previews/layouts/feature-comparison-matrix.html +1 -0
  433. package/dist/spec/previews/layouts/forecast-scenario.html +1 -0
  434. package/dist/spec/previews/layouts/funnel-pyramid.html +1 -0
  435. package/dist/spec/previews/layouts/gantt-project-plan.html +1 -0
  436. package/dist/spec/previews/layouts/geographic-map.html +1 -0
  437. package/dist/spec/previews/layouts/heatmap-cohort.html +1 -0
  438. package/dist/spec/previews/layouts/hub-and-spoke.html +1 -0
  439. package/dist/spec/previews/layouts/icon-grid.html +1 -0
  440. package/dist/spec/previews/layouts/image-focus.html +1 -0
  441. package/dist/spec/previews/layouts/index.json +357 -0
  442. package/dist/spec/previews/layouts/key-takeaway.html +1 -0
  443. package/dist/spec/previews/layouts/kpi-scorecard.html +1 -0
  444. package/dist/spec/previews/layouts/logic-tree.html +1 -0
  445. package/dist/spec/previews/layouts/market-size.html +1 -0
  446. package/dist/spec/previews/layouts/matrix-quadrant.html +1 -0
  447. package/dist/spec/previews/layouts/network-dependency-map.html +1 -0
  448. package/dist/spec/previews/layouts/one-column-explainer.html +1 -0
  449. package/dist/spec/previews/layouts/org-chart.html +1 -0
  450. package/dist/spec/previews/layouts/persona-grid.html +1 -0
  451. package/dist/spec/previews/layouts/photo-grid.html +1 -0
  452. package/dist/spec/previews/layouts/pricing-table.html +1 -0
  453. package/dist/spec/previews/layouts/process-flow.html +1 -0
  454. package/dist/spec/previews/layouts/product-feature.html +1 -0
  455. package/dist/spec/previews/layouts/pros-cons.html +1 -0
  456. package/dist/spec/previews/layouts/qa-discussion.html +1 -0
  457. package/dist/spec/previews/layouts/quote-highlight.html +1 -0
  458. package/dist/spec/previews/layouts/raci-matrix.html +1 -0
  459. package/dist/spec/previews/layouts/risk-heatmap.html +1 -0
  460. package/dist/spec/previews/layouts/roadmap.html +1 -0
  461. package/dist/spec/previews/layouts/screenshot-walkthrough.html +1 -0
  462. package/dist/spec/previews/layouts/section-divider.html +1 -0
  463. package/dist/spec/previews/layouts/single-message-statement.html +1 -0
  464. package/dist/spec/previews/layouts/stats-metrics.html +1 -0
  465. package/dist/spec/previews/layouts/status-rag.html +1 -0
  466. package/dist/spec/previews/layouts/swimlane-process.html +1 -0
  467. package/dist/spec/previews/layouts/swot-analysis.html +1 -0
  468. package/dist/spec/previews/layouts/team-bio.html +1 -0
  469. package/dist/spec/previews/layouts/testimonial-grid.html +1 -0
  470. package/dist/spec/previews/layouts/thank-you-cta.html +1 -0
  471. package/dist/spec/previews/layouts/three-column.html +1 -0
  472. package/dist/spec/previews/layouts/timeline.html +1 -0
  473. package/dist/spec/previews/layouts/title-slide.html +1 -0
  474. package/dist/spec/previews/layouts/two-column.html +1 -0
  475. package/dist/spec/previews/layouts/venn-overlap.html +1 -0
  476. package/dist/spec/previews/layouts/waterfall-bridge.html +1 -0
  477. package/dist/spec/previews/layouts/wheel-radial.html +1 -0
  478. package/dist/spec/reference/engine-defaults.json +35 -35
  479. package/dist/spec/schemas/audience.schema.json +156 -156
  480. package/dist/spec/schemas/chart-type.schema.json +537 -537
  481. package/dist/spec/schemas/color-scheme.schema.json +200 -200
  482. package/dist/spec/schemas/font-scheme.schema.json +174 -174
  483. package/dist/spec/schemas/language.schema.json +158 -158
  484. package/dist/spec/schemas/layout.schema.json +280 -280
  485. package/dist/spec/schemas/narrative.schema.json +207 -207
  486. package/dist/spec/schemas/opf.schema.json +2536 -2537
  487. package/dist/spec/schemas/purpose.schema.json +92 -92
  488. package/dist/spec/schemas/social-platform.schema.json +183 -184
  489. package/dist/spec/schemas/theme.schema.json +168 -168
  490. package/dist/spec/schemas/tone.schema.json +146 -146
  491. package/dist/spec-files.d.ts +2388 -0
  492. package/dist/spec-files.js +3349 -0
  493. package/dist/spec-files.js.map +1 -0
  494. package/dist/types.d.ts +5 -5
  495. package/dist/{validator-Be5EzqAt.d.ts → validator-D7WwzKyx.d.ts} +16 -16
  496. package/dist/validator.d.ts +1 -1
  497. package/dist/validator.js +35 -35
  498. package/dist/validator.js.map +1 -1
  499. package/package.json +91 -80
@@ -1,192 +1,192 @@
1
- {
2
- "$schema": "https://openpresentation.org/schema/opf-narrative/v1",
3
- "id": "board-meeting",
4
- "name": "Board Meeting",
5
- "summary": "Comprehensive board update covering CEO commentary, key metrics, financials, functional updates, and forward-looking topics. Designed to keep directors informed, aligned, and ready to advise. Use the full set for in-person quarterly meetings; trim sections for monthly checkpoints.",
6
- "audienceFit": [
7
- "board",
8
- "directors",
9
- "executives",
10
- "investors"
11
- ],
12
- "durationRange": {
13
- "minMinutes": 60,
14
- "maxMinutes": 180
15
- },
16
- "tags": [
17
- "rhythm-of-business",
18
- "board",
19
- "governance",
20
- "executive"
21
- ],
22
- "beats": [
23
- {
24
- "id": "introduction",
25
- "name": "Introduction",
26
- "description": "Set the tone for the meeting and walk through the agenda in one slide. Signal which sections are for discussion versus information so directors know where their time is most valuable.",
27
- "layoutHint": "title-left",
28
- "instructions": "Set the tone",
29
- "slideType": "text"
30
- },
31
- {
32
- "id": "ceo-update",
33
- "name": "CEO Update",
34
- "description": "Deliver the CEO's view of the period: what changed, what mattered, where the company stands. Two or three sentences in the speaker's voice — board members read this slide first.",
35
- "instructions": "Deliver company insights",
36
- "slideType": "text",
37
- "layoutHint": "text-1x-left"
38
- },
39
- {
40
- "id": "highlights",
41
- "name": "Highlights",
42
- "description": "Share major successes across the business. Customer wins, launches, hires, milestones. Specific and brief; this is the slide that sets the tone, not the slide that proves the case.",
43
- "instructions": "Share major successes",
44
- "slideType": "text",
45
- "layoutHint": "text-1x-left"
46
- },
47
- {
48
- "id": "challenges",
49
- "name": "Challenges",
50
- "description": "Address the obstacles facing the business honestly. Boards earn their value when surfaced to real problems; under-disclosure here erodes trust faster than the problems themselves.",
51
- "instructions": "Address potential obstacles",
52
- "slideType": "text",
53
- "layoutHint": "text-1x-left"
54
- },
55
- {
56
- "id": "company-needs",
57
- "name": "Company Needs",
58
- "description": "Identify where the business needs the board's help: introductions, decisions, advice. Specific asks turn the meeting from a report into a working session.",
59
- "instructions": "Identify support requirements",
60
- "slideType": "text",
61
- "layoutHint": "text-1x-left"
62
- },
63
- {
64
- "id": "funnel-metrics",
65
- "name": "Funnel Metrics",
66
- "description": "Discuss the sales pipeline: leads, conversion, velocity, win rate. Use the metrics that match the company's current motion; resist the temptation to show the same chart you showed last quarter for continuity's sake.",
67
- "instructions": "Discuss sales progress",
68
- "slideType": "text",
69
- "layoutHint": "text-1x-left"
70
- },
71
- {
72
- "id": "engagement-metrics",
73
- "name": "Engagement Metrics",
74
- "description": "Analyze customer interaction: usage, retention, NPS, expansion. Show whether the product is being loved or only being bought.",
75
- "instructions": "Analyze customer interaction",
76
- "slideType": "text",
77
- "layoutHint": "text-1x-left"
78
- },
79
- {
80
- "id": "financial-metrics",
81
- "name": "Financial Metrics",
82
- "description": "Review fiscal health: revenue, gross margin, burn, runway, cash. One slide directors can scan in twenty seconds and trust the numbers on.",
83
- "instructions": "Review fiscal health",
84
- "slideType": "text",
85
- "layoutHint": "text-1x-left"
86
- },
87
- {
88
- "id": "performance-vs-plan",
89
- "name": "Performance vs Plan",
90
- "description": "Compare actuals to plan across the metrics that matter most. Variance is the slide directors will probe; show your work, name the drivers, propose adjustments.",
91
- "instructions": "Compare objectives and actuals",
92
- "slideType": "text",
93
- "layoutHint": "text-1x-left"
94
- },
95
- {
96
- "id": "org-chart",
97
- "name": "Org Chart",
98
- "description": "Present the team structure and any key changes since the last meeting. Directors track org evolution as a leading indicator; help them see hires, departures, and reshapes clearly.",
99
- "instructions": "Present team structure",
100
- "slideType": "text",
101
- "layoutHint": "text-1x-left"
102
- },
103
- {
104
- "id": "product-roadmap",
105
- "name": "Product Roadmap",
106
- "description": "Highlight the product plan and what ships when. Pair each major bet with the customer or business outcome it serves.",
107
- "instructions": "Highlight future plans",
108
- "slideType": "text",
109
- "layoutHint": "text-1x-left"
110
- },
111
- {
112
- "id": "quality",
113
- "name": "Quality",
114
- "description": "Showcase the product quality bar: reliability, defect rates, support outcomes. Directors take quality as a proxy for engineering culture; let the data speak.",
115
- "instructions": "Showcase product's standards",
116
- "slideType": "text",
117
- "layoutHint": "text-1x-left"
118
- },
119
- {
120
- "id": "engineering-update",
121
- "name": "Engineering Update",
122
- "description": "Communicate technical progress, key bets, and platform investments. Translate engineering work into business consequences directors can evaluate.",
123
- "instructions": "Communicate technical progress",
124
- "slideType": "text",
125
- "layoutHint": "text-1x-left"
126
- },
127
- {
128
- "id": "marketing-update",
129
- "name": "Marketing Update",
130
- "description": "Update on demand-gen, brand, and category-shaping efforts. Connect spend to pipeline and pipeline to revenue; avoid 'campaigns we ran' lists.",
131
- "instructions": "Update on promotional efforts",
132
- "slideType": "text",
133
- "layoutHint": "text-1x-left"
134
- },
135
- {
136
- "id": "business-development-update",
137
- "name": "Business Development Update",
138
- "description": "Speak to growth initiatives: partnerships, channels, alliances. Each entry should have a stage, an owner, and a credible upside.",
139
- "instructions": "Speak on growth initiatives",
140
- "slideType": "text",
141
- "layoutHint": "text-1x-left"
142
- },
143
- {
144
- "id": "operations-update",
145
- "name": "Operations Update",
146
- "description": "Discuss day-to-day operations: people ops, finance, legal, IT. Brief but explicit — directors notice when ops is missing.",
147
- "instructions": "Discuss day-to-day activities",
148
- "slideType": "text",
149
- "layoutHint": "text-1x-left"
150
- },
151
- {
152
- "id": "special-topic-1",
153
- "name": "Special Topic 1",
154
- "description": "Discuss the period's first deep-dive topic. This is where the board does its highest-leverage work; pose the question, show the analysis, ask for their view.",
155
- "instructions": "Discuss selected subject",
156
- "slideType": "text",
157
- "layoutHint": "text-1x-left"
158
- },
159
- {
160
- "id": "special-topic-2",
161
- "name": "Special Topic 2",
162
- "description": "Cover the second deep-dive topic, framed the same way. Two specials per meeting; more, and the meeting becomes a recital.",
163
- "instructions": "Touch on additional topic",
164
- "slideType": "text",
165
- "layoutHint": "text-1x-left"
166
- },
167
- {
168
- "id": "feedback",
169
- "name": "Feedback",
170
- "description": "Elicit the board's perspective with concrete prompts. The strength of board governance is in its candor — invite it explicitly.",
171
- "instructions": "Elicit board's thoughts",
172
- "slideType": "text",
173
- "layoutHint": "text-1x-left"
174
- },
175
- {
176
- "id": "formalities",
177
- "name": "Formalities",
178
- "description": "Conclude with the necessary governance items: votes, approvals, committee reports, document acknowledgments. Run them efficiently and document the outcomes.",
179
- "instructions": "Conclude with necessary formalities",
180
- "slideType": "text",
181
- "layoutHint": "text-1x-left"
182
- },
183
- {
184
- "id": "closing-remarks",
185
- "name": "Closing Remarks",
186
- "description": "Close with concluding observations and the agenda for the next meeting. End on a forward-looking note; directors should leave knowing what to watch.",
187
- "layoutHint": "title-left",
188
- "instructions": "Concluding observations",
189
- "slideType": "text"
190
- }
191
- ]
192
- }
1
+ {
2
+ "$schema": "https://openpresentation.org/schema/opf-narrative/v1",
3
+ "id": "board-meeting",
4
+ "name": "Board Meeting",
5
+ "summary": "Comprehensive board update covering CEO commentary, key metrics, financials, functional updates, and forward-looking topics. Designed to keep directors informed, aligned, and ready to advise. Use the full set for in-person quarterly meetings; trim sections for monthly checkpoints.",
6
+ "audienceFit": [
7
+ "board",
8
+ "directors",
9
+ "executives",
10
+ "investors"
11
+ ],
12
+ "durationRange": {
13
+ "minMinutes": 60,
14
+ "maxMinutes": 180
15
+ },
16
+ "tags": [
17
+ "rhythm-of-business",
18
+ "board",
19
+ "governance",
20
+ "executive"
21
+ ],
22
+ "beats": [
23
+ {
24
+ "id": "introduction",
25
+ "name": "Introduction",
26
+ "description": "Set the tone for the meeting and walk through the agenda in one slide. Signal which sections are for discussion versus information so directors know where their time is most valuable.",
27
+ "layoutHint": "title-left",
28
+ "instructions": "Set the tone",
29
+ "slideType": "text"
30
+ },
31
+ {
32
+ "id": "ceo-update",
33
+ "name": "CEO Update",
34
+ "description": "Deliver the CEO's view of the period: what changed, what mattered, where the company stands. Two or three sentences in the speaker's voice — board members read this slide first.",
35
+ "instructions": "Deliver company insights",
36
+ "slideType": "text",
37
+ "layoutHint": "text-1x-left"
38
+ },
39
+ {
40
+ "id": "highlights",
41
+ "name": "Highlights",
42
+ "description": "Share major successes across the business. Customer wins, launches, hires, milestones. Specific and brief; this is the slide that sets the tone, not the slide that proves the case.",
43
+ "instructions": "Share major successes",
44
+ "slideType": "text",
45
+ "layoutHint": "text-1x-left"
46
+ },
47
+ {
48
+ "id": "challenges",
49
+ "name": "Challenges",
50
+ "description": "Address the obstacles facing the business honestly. Boards earn their value when surfaced to real problems; under-disclosure here erodes trust faster than the problems themselves.",
51
+ "instructions": "Address potential obstacles",
52
+ "slideType": "text",
53
+ "layoutHint": "text-1x-left"
54
+ },
55
+ {
56
+ "id": "company-needs",
57
+ "name": "Company Needs",
58
+ "description": "Identify where the business needs the board's help: introductions, decisions, advice. Specific asks turn the meeting from a report into a working session.",
59
+ "instructions": "Identify support requirements",
60
+ "slideType": "text",
61
+ "layoutHint": "text-1x-left"
62
+ },
63
+ {
64
+ "id": "funnel-metrics",
65
+ "name": "Funnel Metrics",
66
+ "description": "Discuss the sales pipeline: leads, conversion, velocity, win rate. Use the metrics that match the company's current motion; resist the temptation to show the same chart you showed last quarter for continuity's sake.",
67
+ "instructions": "Discuss sales progress",
68
+ "slideType": "text",
69
+ "layoutHint": "text-1x-left"
70
+ },
71
+ {
72
+ "id": "engagement-metrics",
73
+ "name": "Engagement Metrics",
74
+ "description": "Analyze customer interaction: usage, retention, NPS, expansion. Show whether the product is being loved or only being bought.",
75
+ "instructions": "Analyze customer interaction",
76
+ "slideType": "text",
77
+ "layoutHint": "text-1x-left"
78
+ },
79
+ {
80
+ "id": "financial-metrics",
81
+ "name": "Financial Metrics",
82
+ "description": "Review fiscal health: revenue, gross margin, burn, runway, cash. One slide directors can scan in twenty seconds and trust the numbers on.",
83
+ "instructions": "Review fiscal health",
84
+ "slideType": "text",
85
+ "layoutHint": "text-1x-left"
86
+ },
87
+ {
88
+ "id": "performance-vs-plan",
89
+ "name": "Performance vs Plan",
90
+ "description": "Compare actuals to plan across the metrics that matter most. Variance is the slide directors will probe; show your work, name the drivers, propose adjustments.",
91
+ "instructions": "Compare objectives and actuals",
92
+ "slideType": "text",
93
+ "layoutHint": "text-1x-left"
94
+ },
95
+ {
96
+ "id": "org-chart",
97
+ "name": "Org Chart",
98
+ "description": "Present the team structure and any key changes since the last meeting. Directors track org evolution as a leading indicator; help them see hires, departures, and reshapes clearly.",
99
+ "instructions": "Present team structure",
100
+ "slideType": "text",
101
+ "layoutHint": "text-1x-left"
102
+ },
103
+ {
104
+ "id": "product-roadmap",
105
+ "name": "Product Roadmap",
106
+ "description": "Highlight the product plan and what ships when. Pair each major bet with the customer or business outcome it serves.",
107
+ "instructions": "Highlight future plans",
108
+ "slideType": "text",
109
+ "layoutHint": "text-1x-left"
110
+ },
111
+ {
112
+ "id": "quality",
113
+ "name": "Quality",
114
+ "description": "Showcase the product quality bar: reliability, defect rates, support outcomes. Directors take quality as a proxy for engineering culture; let the data speak.",
115
+ "instructions": "Showcase product's standards",
116
+ "slideType": "text",
117
+ "layoutHint": "text-1x-left"
118
+ },
119
+ {
120
+ "id": "engineering-update",
121
+ "name": "Engineering Update",
122
+ "description": "Communicate technical progress, key bets, and platform investments. Translate engineering work into business consequences directors can evaluate.",
123
+ "instructions": "Communicate technical progress",
124
+ "slideType": "text",
125
+ "layoutHint": "text-1x-left"
126
+ },
127
+ {
128
+ "id": "marketing-update",
129
+ "name": "Marketing Update",
130
+ "description": "Update on demand-gen, brand, and category-shaping efforts. Connect spend to pipeline and pipeline to revenue; avoid 'campaigns we ran' lists.",
131
+ "instructions": "Update on promotional efforts",
132
+ "slideType": "text",
133
+ "layoutHint": "text-1x-left"
134
+ },
135
+ {
136
+ "id": "business-development-update",
137
+ "name": "Business Development Update",
138
+ "description": "Speak to growth initiatives: partnerships, channels, alliances. Each entry should have a stage, an owner, and a credible upside.",
139
+ "instructions": "Speak on growth initiatives",
140
+ "slideType": "text",
141
+ "layoutHint": "text-1x-left"
142
+ },
143
+ {
144
+ "id": "operations-update",
145
+ "name": "Operations Update",
146
+ "description": "Discuss day-to-day operations: people ops, finance, legal, IT. Brief but explicit — directors notice when ops is missing.",
147
+ "instructions": "Discuss day-to-day activities",
148
+ "slideType": "text",
149
+ "layoutHint": "text-1x-left"
150
+ },
151
+ {
152
+ "id": "special-topic-1",
153
+ "name": "Special Topic 1",
154
+ "description": "Discuss the period's first deep-dive topic. This is where the board does its highest-leverage work; pose the question, show the analysis, ask for their view.",
155
+ "instructions": "Discuss selected subject",
156
+ "slideType": "text",
157
+ "layoutHint": "text-1x-left"
158
+ },
159
+ {
160
+ "id": "special-topic-2",
161
+ "name": "Special Topic 2",
162
+ "description": "Cover the second deep-dive topic, framed the same way. Two specials per meeting; more, and the meeting becomes a recital.",
163
+ "instructions": "Touch on additional topic",
164
+ "slideType": "text",
165
+ "layoutHint": "text-1x-left"
166
+ },
167
+ {
168
+ "id": "feedback",
169
+ "name": "Feedback",
170
+ "description": "Elicit the board's perspective with concrete prompts. The strength of board governance is in its candor — invite it explicitly.",
171
+ "instructions": "Elicit board's thoughts",
172
+ "slideType": "text",
173
+ "layoutHint": "text-1x-left"
174
+ },
175
+ {
176
+ "id": "formalities",
177
+ "name": "Formalities",
178
+ "description": "Conclude with the necessary governance items: votes, approvals, committee reports, document acknowledgments. Run them efficiently and document the outcomes.",
179
+ "instructions": "Conclude with necessary formalities",
180
+ "slideType": "text",
181
+ "layoutHint": "text-1x-left"
182
+ },
183
+ {
184
+ "id": "closing-remarks",
185
+ "name": "Closing Remarks",
186
+ "description": "Close with concluding observations and the agenda for the next meeting. End on a forward-looking note; directors should leave knowing what to watch.",
187
+ "layoutHint": "title-left",
188
+ "instructions": "Concluding observations",
189
+ "slideType": "text"
190
+ }
191
+ ]
192
+ }
@@ -1,87 +1,87 @@
1
- {
2
- "$schema": "https://openpresentation.org/schema/opf-narrative/v1",
3
- "id": "business-narrative",
4
- "name": "Business Narrative",
5
- "summary": "Tell a business strategy or solution as a story: setting, challenge, tension, hero, plan, outcome. Useful for internal alignment decks, town halls, and any audience that responds better to story shape than to bullet lists.",
6
- "audienceFit": [
7
- "internal-teams",
8
- "leadership",
9
- "cross-functional-partners"
10
- ],
11
- "durationRange": {
12
- "minMinutes": 10,
13
- "maxMinutes": 30
14
- },
15
- "tags": [
16
- "management",
17
- "storytelling",
18
- "internal",
19
- "strategy"
20
- ],
21
- "beats": [
22
- {
23
- "id": "introduction",
24
- "name": "Introduction",
25
- "description": "Engage the audience and set expectations for the next twenty minutes. Tell them you're going to tell them a story — and then start telling it. Avoid a separate agenda slide; the introduction is the first scene.",
26
- "instructions": "Engage and set expectations",
27
- "slideType": "text",
28
- "layoutHint": "text-1x-left"
29
- },
30
- {
31
- "id": "setting",
32
- "name": "Setting",
33
- "description": "Establish the world the story takes place in: the team, the market, the moment. Just enough context that the challenge will feel meaningful when it arrives.",
34
- "instructions": "Establish the environment",
35
- "slideType": "text",
36
- "layoutHint": "text-1x-left"
37
- },
38
- {
39
- "id": "challenge",
40
- "name": "Challenge",
41
- "description": "Identify the issue at hand. Concrete, specific, attributable. The challenge is the inciting incident — the thing that pulled the rest of the story into motion.",
42
- "instructions": "Identify the issue at hand",
43
- "slideType": "text",
44
- "layoutHint": "text-1x-left"
45
- },
46
- {
47
- "id": "tension",
48
- "name": "Tension",
49
- "description": "Raise the stakes. What happens if the challenge isn't met? Quantify the cost, name the people affected, surface the trade-offs that make the choice hard. Tension is what makes the audience lean in.",
50
- "instructions": "Emphasize the stakes",
51
- "slideType": "text",
52
- "layoutHint": "text-1x-left"
53
- },
54
- {
55
- "id": "solution",
56
- "name": "Solution",
57
- "description": "Reveal the strategy or hero of the story. Lead with what changes for the audience or customer when the solution is in place. This is the turn from problem to promise.",
58
- "instructions": "Present the hero/strategy",
59
- "slideType": "text",
60
- "layoutHint": "text-1x-left"
61
- },
62
- {
63
- "id": "implementation",
64
- "name": "Implementation",
65
- "description": "Describe the path to success. Phases, owners, milestones, key bets. Show the audience that the solution has weight behind it — not just intent.",
66
- "instructions": "Describe the path to success",
67
- "slideType": "text",
68
- "layoutHint": "text-1x-left"
69
- },
70
- {
71
- "id": "recap",
72
- "name": "Recap",
73
- "description": "Bring the audience back to the surface with a clear summary of what was said and decided. Echo the language from the opening so the story feels closed.",
74
- "instructions": "Review key points and insights",
75
- "slideType": "text",
76
- "layoutHint": "text-1x-left"
77
- },
78
- {
79
- "id": "conclusion",
80
- "name": "Conclusion",
81
- "description": "Reinforce the key message and the call to action. End on the line you most want repeated in tomorrow's hallway conversations.",
82
- "layoutHint": "title-left",
83
- "instructions": "Reinforce takeaways and call to action",
84
- "slideType": "text"
85
- }
86
- ]
87
- }
1
+ {
2
+ "$schema": "https://openpresentation.org/schema/opf-narrative/v1",
3
+ "id": "business-narrative",
4
+ "name": "Business Narrative",
5
+ "summary": "Tell a business strategy or solution as a story: setting, challenge, tension, hero, plan, outcome. Useful for internal alignment decks, town halls, and any audience that responds better to story shape than to bullet lists.",
6
+ "audienceFit": [
7
+ "internal-teams",
8
+ "leadership",
9
+ "cross-functional-partners"
10
+ ],
11
+ "durationRange": {
12
+ "minMinutes": 10,
13
+ "maxMinutes": 30
14
+ },
15
+ "tags": [
16
+ "management",
17
+ "storytelling",
18
+ "internal",
19
+ "strategy"
20
+ ],
21
+ "beats": [
22
+ {
23
+ "id": "introduction",
24
+ "name": "Introduction",
25
+ "description": "Engage the audience and set expectations for the next twenty minutes. Tell them you're going to tell them a story — and then start telling it. Avoid a separate agenda slide; the introduction is the first scene.",
26
+ "instructions": "Engage and set expectations",
27
+ "slideType": "text",
28
+ "layoutHint": "text-1x-left"
29
+ },
30
+ {
31
+ "id": "setting",
32
+ "name": "Setting",
33
+ "description": "Establish the world the story takes place in: the team, the market, the moment. Just enough context that the challenge will feel meaningful when it arrives.",
34
+ "instructions": "Establish the environment",
35
+ "slideType": "text",
36
+ "layoutHint": "text-1x-left"
37
+ },
38
+ {
39
+ "id": "challenge",
40
+ "name": "Challenge",
41
+ "description": "Identify the issue at hand. Concrete, specific, attributable. The challenge is the inciting incident — the thing that pulled the rest of the story into motion.",
42
+ "instructions": "Identify the issue at hand",
43
+ "slideType": "text",
44
+ "layoutHint": "text-1x-left"
45
+ },
46
+ {
47
+ "id": "tension",
48
+ "name": "Tension",
49
+ "description": "Raise the stakes. What happens if the challenge isn't met? Quantify the cost, name the people affected, surface the trade-offs that make the choice hard. Tension is what makes the audience lean in.",
50
+ "instructions": "Emphasize the stakes",
51
+ "slideType": "text",
52
+ "layoutHint": "text-1x-left"
53
+ },
54
+ {
55
+ "id": "solution",
56
+ "name": "Solution",
57
+ "description": "Reveal the strategy or hero of the story. Lead with what changes for the audience or customer when the solution is in place. This is the turn from problem to promise.",
58
+ "instructions": "Present the hero/strategy",
59
+ "slideType": "text",
60
+ "layoutHint": "text-1x-left"
61
+ },
62
+ {
63
+ "id": "implementation",
64
+ "name": "Implementation",
65
+ "description": "Describe the path to success. Phases, owners, milestones, key bets. Show the audience that the solution has weight behind it — not just intent.",
66
+ "instructions": "Describe the path to success",
67
+ "slideType": "text",
68
+ "layoutHint": "text-1x-left"
69
+ },
70
+ {
71
+ "id": "recap",
72
+ "name": "Recap",
73
+ "description": "Bring the audience back to the surface with a clear summary of what was said and decided. Echo the language from the opening so the story feels closed.",
74
+ "instructions": "Review key points and insights",
75
+ "slideType": "text",
76
+ "layoutHint": "text-1x-left"
77
+ },
78
+ {
79
+ "id": "conclusion",
80
+ "name": "Conclusion",
81
+ "description": "Reinforce the key message and the call to action. End on the line you most want repeated in tomorrow's hallway conversations.",
82
+ "layoutHint": "title-left",
83
+ "instructions": "Reinforce takeaways and call to action",
84
+ "slideType": "text"
85
+ }
86
+ ]
87
+ }