@openpresentation/opf 0.1.0 → 0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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 +3862 -662
  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 +153 -141
  13. package/dist/schemas.js +57 -48
  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 +2543 -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-MwlR2F56.d.ts} +22 -24
  496. package/dist/validator.d.ts +1 -1
  497. package/dist/validator.js +66 -48
  498. package/dist/validator.js.map +1 -1
  499. package/package.json +91 -80
@@ -1,87 +1,87 @@
1
- {
2
- "$schema": "https://openpresentation.org/schema/opf-narrative/v1",
3
- "id": "persuasive-sales",
4
- "name": "Persuasive Sales",
5
- "summary": "Top-of-funnel sales arc that creates awareness and alignment with a prospective customer. Anchored in a market change, leading to your unique capabilities, supported by proof, ending with a clear call to action.",
6
- "audienceFit": [
7
- "prospects",
8
- "customers",
9
- "buyers"
10
- ],
11
- "durationRange": {
12
- "minMinutes": 15,
13
- "maxMinutes": 45
14
- },
15
- "tags": [
16
- "sales",
17
- "go-to-market",
18
- "outbound",
19
- "discovery"
20
- ],
21
- "beats": [
22
- {
23
- "id": "intro",
24
- "name": "Introduction",
25
- "description": "Open with a brief framing of who you are and why this conversation is worth the prospect's next thirty minutes. Keep credentials short; the audience cares about their problem, not your résumé.",
26
- "instructions": "Name & logo",
27
- "slideType": "text",
28
- "layoutHint": "text-1x-left"
29
- },
30
- {
31
- "id": "big-change",
32
- "name": "Big Change",
33
- "description": "Name the market shift the prospect's industry is living through. Make it concrete, recent, and undeniable. The change — not the product — is the reason they should care.",
34
- "instructions": "Highlight market shift",
35
- "slideType": "text",
36
- "layoutHint": "text-1x-left"
37
- },
38
- {
39
- "id": "response-to-change",
40
- "name": "Winners and Losers",
41
- "description": "Show how the change is creating winners and losers in the prospect's space. Use named examples where you can. The goal is for the prospect to wonder which side they'll end up on.",
42
- "instructions": "Show winners & losers",
43
- "slideType": "text",
44
- "layoutHint": "text-1x-left"
45
- },
46
- {
47
- "id": "benefits",
48
- "name": "Benefits",
49
- "description": "Paint the outcome a winner experiences: a vivid picture of the prospect's life on the other side of the change. Lead with what changes for them, not with what your product does.",
50
- "instructions": "Describe benefits, paint a vivid picture",
51
- "slideType": "text",
52
- "layoutHint": "text-1x-left"
53
- },
54
- {
55
- "id": "capabilities",
56
- "name": "Capabilities",
57
- "description": "Reveal the unique capabilities that make those outcomes possible. Frame them as the 'magic gifts' the prospect needs to win the new game. Highlight what's structurally different from the alternatives.",
58
- "instructions": "Present unique features as 'magic gifts' to the customer",
59
- "slideType": "text",
60
- "layoutHint": "text-1x-left"
61
- },
62
- {
63
- "id": "evidence",
64
- "name": "Evidence",
65
- "description": "Share customer testimonials, case studies, and measurable outcomes from organizations like the prospect's. Pick evidence that maps to the benefits you promised, not generic logos.",
66
- "instructions": "Share testimonials",
67
- "slideType": "text",
68
- "layoutHint": "text-1x-left"
69
- },
70
- {
71
- "id": "call-to-action",
72
- "name": "Call to Action",
73
- "description": "Ask for the next step in the sales process. Be specific: a pilot, a workshop, a follow-on conversation with a named stakeholder. Make the smallest credible commitment that keeps momentum.",
74
- "layoutHint": "title-left",
75
- "instructions": "Encourage decision-making",
76
- "slideType": "text"
77
- },
78
- {
79
- "id": "close",
80
- "name": "Close",
81
- "description": "Close with a final image and contact path. Leave the prospect with one line about why they're better off acting now than later, and clear instructions for how to engage.",
82
- "layoutHint": "title-left",
83
- "instructions": "Logo & contact info",
84
- "slideType": "text"
85
- }
86
- ]
87
- }
1
+ {
2
+ "$schema": "https://openpresentation.org/schema/opf-narrative/v1",
3
+ "id": "persuasive-sales",
4
+ "name": "Persuasive Sales",
5
+ "summary": "Top-of-funnel sales arc that creates awareness and alignment with a prospective customer. Anchored in a market change, leading to your unique capabilities, supported by proof, ending with a clear call to action.",
6
+ "audienceFit": [
7
+ "prospects",
8
+ "customers",
9
+ "buyers"
10
+ ],
11
+ "durationRange": {
12
+ "minMinutes": 15,
13
+ "maxMinutes": 45
14
+ },
15
+ "tags": [
16
+ "sales",
17
+ "go-to-market",
18
+ "outbound",
19
+ "discovery"
20
+ ],
21
+ "beats": [
22
+ {
23
+ "id": "intro",
24
+ "name": "Introduction",
25
+ "description": "Open with a brief framing of who you are and why this conversation is worth the prospect's next thirty minutes. Keep credentials short; the audience cares about their problem, not your résumé.",
26
+ "instructions": "Name & logo",
27
+ "slideType": "text",
28
+ "layoutHint": "text-1x-left"
29
+ },
30
+ {
31
+ "id": "big-change",
32
+ "name": "Big Change",
33
+ "description": "Name the market shift the prospect's industry is living through. Make it concrete, recent, and undeniable. The change — not the product — is the reason they should care.",
34
+ "instructions": "Highlight market shift",
35
+ "slideType": "text",
36
+ "layoutHint": "text-1x-left"
37
+ },
38
+ {
39
+ "id": "response-to-change",
40
+ "name": "Winners and Losers",
41
+ "description": "Show how the change is creating winners and losers in the prospect's space. Use named examples where you can. The goal is for the prospect to wonder which side they'll end up on.",
42
+ "instructions": "Show winners & losers",
43
+ "slideType": "text",
44
+ "layoutHint": "text-1x-left"
45
+ },
46
+ {
47
+ "id": "benefits",
48
+ "name": "Benefits",
49
+ "description": "Paint the outcome a winner experiences: a vivid picture of the prospect's life on the other side of the change. Lead with what changes for them, not with what your product does.",
50
+ "instructions": "Describe benefits, paint a vivid picture",
51
+ "slideType": "text",
52
+ "layoutHint": "text-1x-left"
53
+ },
54
+ {
55
+ "id": "capabilities",
56
+ "name": "Capabilities",
57
+ "description": "Reveal the unique capabilities that make those outcomes possible. Frame them as the 'magic gifts' the prospect needs to win the new game. Highlight what's structurally different from the alternatives.",
58
+ "instructions": "Present unique features as 'magic gifts' to the customer",
59
+ "slideType": "text",
60
+ "layoutHint": "text-1x-left"
61
+ },
62
+ {
63
+ "id": "evidence",
64
+ "name": "Evidence",
65
+ "description": "Share customer testimonials, case studies, and measurable outcomes from organizations like the prospect's. Pick evidence that maps to the benefits you promised, not generic logos.",
66
+ "instructions": "Share testimonials",
67
+ "slideType": "text",
68
+ "layoutHint": "text-1x-left"
69
+ },
70
+ {
71
+ "id": "call-to-action",
72
+ "name": "Call to Action",
73
+ "description": "Ask for the next step in the sales process. Be specific: a pilot, a workshop, a follow-on conversation with a named stakeholder. Make the smallest credible commitment that keeps momentum.",
74
+ "layoutHint": "title-left",
75
+ "instructions": "Encourage decision-making",
76
+ "slideType": "text"
77
+ },
78
+ {
79
+ "id": "close",
80
+ "name": "Close",
81
+ "description": "Close with a final image and contact path. Leave the prospect with one line about why they're better off acting now than later, and clear instructions for how to engage.",
82
+ "layoutHint": "title-left",
83
+ "instructions": "Logo & contact info",
84
+ "slideType": "text"
85
+ }
86
+ ]
87
+ }
@@ -1,107 +1,107 @@
1
- {
2
- "$schema": "https://openpresentation.org/schema/opf-narrative/v1",
3
- "id": "pitch-deck",
4
- "name": "Startup Pitch Deck",
5
- "summary": "The canonical investor-pitch arc, drawn from Sequoia and Y Combinator's templates. Optimized for 10–20 minute meetings with VCs and angels. Each beat answers the question an investor will ask next.",
6
- "audienceFit": [
7
- "investors",
8
- "venture-capitalists",
9
- "angels",
10
- "advisors"
11
- ],
12
- "durationRange": {
13
- "minMinutes": 10,
14
- "maxMinutes": 20
15
- },
16
- "tags": [
17
- "startup",
18
- "fundraising",
19
- "pitch",
20
- "investor"
21
- ],
22
- "beats": [
23
- {
24
- "id": "opening",
25
- "name": "Opening",
26
- "description": "Open with the company name, logo, and a one-line tagline that doubles as a positioning statement. Set the visual tone for the deck. Keep it confident and uncluttered — this is the cover.",
27
- "layoutHint": "title-left"
28
- },
29
- {
30
- "id": "purpose",
31
- "name": "Company Purpose",
32
- "description": "State in a single sentence what the company does and why it exists. Should be immediately understandable without industry jargon. Often doubles as the answer to 'so what do you do?'"
33
- },
34
- {
35
- "id": "problem",
36
- "name": "Problem",
37
- "description": "Describe the pain point you solve. Make it concrete with a specific user or customer scenario. The more visceral and recognizable the problem, the stronger the rest of the pitch lands."
38
- },
39
- {
40
- "id": "why-now",
41
- "name": "Why Now",
42
- "description": "Explain the technological, regulatory, behavioral, or market shift that makes this opportunity possible today and impossible five years ago. Investors want to know why this is a window, not just an idea."
43
- },
44
- {
45
- "id": "market",
46
- "name": "Market Size",
47
- "description": "Size the opportunity. Top-down (TAM/SAM/SOM) or bottom-up (units × price). Show how big the prize is if you win, and why this market is attractive to a venture-scale outcome."
48
- },
49
- {
50
- "id": "competition",
51
- "name": "Competition",
52
- "description": "Map the competitive landscape honestly. A 2x2 matrix or feature-comparison grid is fine; what matters is showing you understand the alternatives and where you uniquely fit. Naïve 'no competition' answers tank credibility."
53
- },
54
- {
55
- "id": "solution",
56
- "name": "Solution",
57
- "description": "Show how you solve the problem and why your approach is uniquely better. Lead with the outcome for the customer, then show the mechanism. This is where you connect problem to product."
58
- },
59
- {
60
- "id": "product",
61
- "name": "Product",
62
- "description": "Give the product its own moment. Screenshots or a key visual that captures what users actually see and feel. Pick one strong frame over a montage of small ones."
63
- },
64
- {
65
- "id": "demo",
66
- "name": "Demo",
67
- "description": "Walk through the core user flow end-to-end. Show real software solving a real problem in a real workflow — not a marketing reel. If a live demo is too risky, use a tightly edited recording with narration."
68
- },
69
- {
70
- "id": "traction",
71
- "name": "Traction",
72
- "description": "Prove momentum with one credible headline metric. Revenue, users, growth rate, customer logos — whatever best shows the business is working. One strong chart beats five vanity numbers."
73
- },
74
- {
75
- "id": "growth",
76
- "name": "Growth Drivers",
77
- "description": "Show how the headline metric got there and where it's going. Cohorts, retention, expansion, channel mix — whatever explains the engine behind the number. Investors back the trajectory, not the snapshot."
78
- },
79
- {
80
- "id": "business-model",
81
- "name": "Business Model",
82
- "description": "Explain how the company makes money. Pricing, unit economics, sales motion, payback period. Should answer: what does it cost to acquire a customer, and what do they pay you?"
83
- },
84
- {
85
- "id": "team",
86
- "name": "Team",
87
- "description": "Establish why this team uniquely wins this market. Founder backgrounds, relevant experience, prior outcomes, key advisors. Investors back people first; make the case."
88
- },
89
- {
90
- "id": "financials",
91
- "name": "Financials",
92
- "description": "Show the financial picture: historical revenue, burn, runway, and forward projection. Be conservative-but-credible — investors will discount aggressive numbers and reward defensible ones."
93
- },
94
- {
95
- "id": "ask",
96
- "name": "The Ask",
97
- "description": "State the round size, intended use of funds, and what milestones the capital takes you to. Be specific — investors should leave knowing exactly what you want and what they get.",
98
- "layoutHint": "title-left"
99
- },
100
- {
101
- "id": "closing",
102
- "name": "Closing",
103
- "description": "Close on a strong final image: logo, contact info, and the one line you most want the investor to remember. Leave space for the conversation that follows.",
104
- "layoutHint": "title-left"
105
- }
106
- ]
107
- }
1
+ {
2
+ "$schema": "https://openpresentation.org/schema/opf-narrative/v1",
3
+ "id": "pitch-deck",
4
+ "name": "Startup Pitch Deck",
5
+ "summary": "The canonical investor-pitch arc, drawn from Sequoia and Y Combinator's templates. Optimized for 10–20 minute meetings with VCs and angels. Each beat answers the question an investor will ask next.",
6
+ "audienceFit": [
7
+ "investors",
8
+ "venture-capitalists",
9
+ "angels",
10
+ "advisors"
11
+ ],
12
+ "durationRange": {
13
+ "minMinutes": 10,
14
+ "maxMinutes": 20
15
+ },
16
+ "tags": [
17
+ "startup",
18
+ "fundraising",
19
+ "pitch",
20
+ "investor"
21
+ ],
22
+ "beats": [
23
+ {
24
+ "id": "opening",
25
+ "name": "Opening",
26
+ "description": "Open with the company name, logo, and a one-line tagline that doubles as a positioning statement. Set the visual tone for the deck. Keep it confident and uncluttered — this is the cover.",
27
+ "layoutHint": "title-left"
28
+ },
29
+ {
30
+ "id": "purpose",
31
+ "name": "Company Purpose",
32
+ "description": "State in a single sentence what the company does and why it exists. Should be immediately understandable without industry jargon. Often doubles as the answer to 'so what do you do?'"
33
+ },
34
+ {
35
+ "id": "problem",
36
+ "name": "Problem",
37
+ "description": "Describe the pain point you solve. Make it concrete with a specific user or customer scenario. The more visceral and recognizable the problem, the stronger the rest of the pitch lands."
38
+ },
39
+ {
40
+ "id": "why-now",
41
+ "name": "Why Now",
42
+ "description": "Explain the technological, regulatory, behavioral, or market shift that makes this opportunity possible today and impossible five years ago. Investors want to know why this is a window, not just an idea."
43
+ },
44
+ {
45
+ "id": "market",
46
+ "name": "Market Size",
47
+ "description": "Size the opportunity. Top-down (TAM/SAM/SOM) or bottom-up (units × price). Show how big the prize is if you win, and why this market is attractive to a venture-scale outcome."
48
+ },
49
+ {
50
+ "id": "competition",
51
+ "name": "Competition",
52
+ "description": "Map the competitive landscape honestly. A 2x2 matrix or feature-comparison grid is fine; what matters is showing you understand the alternatives and where you uniquely fit. Naïve 'no competition' answers tank credibility."
53
+ },
54
+ {
55
+ "id": "solution",
56
+ "name": "Solution",
57
+ "description": "Show how you solve the problem and why your approach is uniquely better. Lead with the outcome for the customer, then show the mechanism. This is where you connect problem to product."
58
+ },
59
+ {
60
+ "id": "product",
61
+ "name": "Product",
62
+ "description": "Give the product its own moment. Screenshots or a key visual that captures what users actually see and feel. Pick one strong frame over a montage of small ones."
63
+ },
64
+ {
65
+ "id": "demo",
66
+ "name": "Demo",
67
+ "description": "Walk through the core user flow end-to-end. Show real software solving a real problem in a real workflow — not a marketing reel. If a live demo is too risky, use a tightly edited recording with narration."
68
+ },
69
+ {
70
+ "id": "traction",
71
+ "name": "Traction",
72
+ "description": "Prove momentum with one credible headline metric. Revenue, users, growth rate, customer logos — whatever best shows the business is working. One strong chart beats five vanity numbers."
73
+ },
74
+ {
75
+ "id": "growth",
76
+ "name": "Growth Drivers",
77
+ "description": "Show how the headline metric got there and where it's going. Cohorts, retention, expansion, channel mix — whatever explains the engine behind the number. Investors back the trajectory, not the snapshot."
78
+ },
79
+ {
80
+ "id": "business-model",
81
+ "name": "Business Model",
82
+ "description": "Explain how the company makes money. Pricing, unit economics, sales motion, payback period. Should answer: what does it cost to acquire a customer, and what do they pay you?"
83
+ },
84
+ {
85
+ "id": "team",
86
+ "name": "Team",
87
+ "description": "Establish why this team uniquely wins this market. Founder backgrounds, relevant experience, prior outcomes, key advisors. Investors back people first; make the case."
88
+ },
89
+ {
90
+ "id": "financials",
91
+ "name": "Financials",
92
+ "description": "Show the financial picture: historical revenue, burn, runway, and forward projection. Be conservative-but-credible — investors will discount aggressive numbers and reward defensible ones."
93
+ },
94
+ {
95
+ "id": "ask",
96
+ "name": "The Ask",
97
+ "description": "State the round size, intended use of funds, and what milestones the capital takes you to. Be specific — investors should leave knowing exactly what you want and what they get.",
98
+ "layoutHint": "title-left"
99
+ },
100
+ {
101
+ "id": "closing",
102
+ "name": "Closing",
103
+ "description": "Close on a strong final image: logo, contact info, and the one line you most want the investor to remember. Leave space for the conversation that follows.",
104
+ "layoutHint": "title-left"
105
+ }
106
+ ]
107
+ }
@@ -1,61 +1,61 @@
1
- {
2
- "$schema": "https://openpresentation.org/schema/opf-narrative/v1",
3
- "id": "problem-solution",
4
- "name": "Problem → Solution",
5
- "summary": "Classic business arc: name the pain, raise the stakes, present your fix, show how it works, prove it, ask. The default for sales decks, internal proposals, and most general business presentations.",
6
- "audienceFit": [
7
- "customers",
8
- "stakeholders",
9
- "executives",
10
- "internal-teams"
11
- ],
12
- "durationRange": {
13
- "minMinutes": 5,
14
- "maxMinutes": 30
15
- },
16
- "tags": [
17
- "business",
18
- "sales",
19
- "general",
20
- "proposal"
21
- ],
22
- "beats": [
23
- {
24
- "id": "hook",
25
- "name": "Hook",
26
- "description": "Open with a striking question, statistic, customer quote, or moment that earns the audience's attention. The goal is to make them want to hear what comes next, not to convey information.",
27
- "layoutHint": "title-center"
28
- },
29
- {
30
- "id": "problem",
31
- "name": "The Problem",
32
- "description": "Name the pain in concrete terms. Make it visceral and specific — describe who hurts, how, and what they're trying to do today that isn't working. Avoid abstractions; use real examples or scenarios the audience recognizes."
33
- },
34
- {
35
- "id": "stakes",
36
- "name": "Why It Matters",
37
- "description": "Quantify the cost of inaction or the upside of action. Use numbers, trends, customer impact, competitive pressure — whatever makes the audience feel the size of the problem and care about solving it now rather than later."
38
- },
39
- {
40
- "id": "solution",
41
- "name": "The Solution",
42
- "description": "Reveal your approach and what it produces for the customer. Lead with the outcome, not the architecture. Keep it concrete: what does the audience get, and what changes for them?"
43
- },
44
- {
45
- "id": "mechanism",
46
- "name": "How It Works",
47
- "description": "Show the moving parts that make the solution credible. Walk through the key mechanism, workflow, or technical insight that explains why this approach succeeds where others have failed. Enough detail to earn trust; not so much that you lose the room."
48
- },
49
- {
50
- "id": "evidence",
51
- "name": "Proof",
52
- "description": "Demonstrate the solution works. Use customer logos, before/after metrics, demos, case studies, third-party validation — whatever de-risks the claim. One strong piece of proof beats three weak ones."
53
- },
54
- {
55
- "id": "ask",
56
- "name": "The Ask",
57
- "description": "State a clear, specific call to action. What do you want the audience to do, decide, or commit to next? Make the smallest credible ask that moves things forward, and make it unambiguous.",
58
- "layoutHint": "title-left"
59
- }
60
- ]
61
- }
1
+ {
2
+ "$schema": "https://openpresentation.org/schema/opf-narrative/v1",
3
+ "id": "problem-solution",
4
+ "name": "Problem → Solution",
5
+ "summary": "Classic business arc: name the pain, raise the stakes, present your fix, show how it works, prove it, ask. The default for sales decks, internal proposals, and most general business presentations.",
6
+ "audienceFit": [
7
+ "customers",
8
+ "stakeholders",
9
+ "executives",
10
+ "internal-teams"
11
+ ],
12
+ "durationRange": {
13
+ "minMinutes": 5,
14
+ "maxMinutes": 30
15
+ },
16
+ "tags": [
17
+ "business",
18
+ "sales",
19
+ "general",
20
+ "proposal"
21
+ ],
22
+ "beats": [
23
+ {
24
+ "id": "hook",
25
+ "name": "Hook",
26
+ "description": "Open with a striking question, statistic, customer quote, or moment that earns the audience's attention. The goal is to make them want to hear what comes next, not to convey information.",
27
+ "layoutHint": "title-center"
28
+ },
29
+ {
30
+ "id": "problem",
31
+ "name": "The Problem",
32
+ "description": "Name the pain in concrete terms. Make it visceral and specific — describe who hurts, how, and what they're trying to do today that isn't working. Avoid abstractions; use real examples or scenarios the audience recognizes."
33
+ },
34
+ {
35
+ "id": "stakes",
36
+ "name": "Why It Matters",
37
+ "description": "Quantify the cost of inaction or the upside of action. Use numbers, trends, customer impact, competitive pressure — whatever makes the audience feel the size of the problem and care about solving it now rather than later."
38
+ },
39
+ {
40
+ "id": "solution",
41
+ "name": "The Solution",
42
+ "description": "Reveal your approach and what it produces for the customer. Lead with the outcome, not the architecture. Keep it concrete: what does the audience get, and what changes for them?"
43
+ },
44
+ {
45
+ "id": "mechanism",
46
+ "name": "How It Works",
47
+ "description": "Show the moving parts that make the solution credible. Walk through the key mechanism, workflow, or technical insight that explains why this approach succeeds where others have failed. Enough detail to earn trust; not so much that you lose the room."
48
+ },
49
+ {
50
+ "id": "evidence",
51
+ "name": "Proof",
52
+ "description": "Demonstrate the solution works. Use customer logos, before/after metrics, demos, case studies, third-party validation — whatever de-risks the claim. One strong piece of proof beats three weak ones."
53
+ },
54
+ {
55
+ "id": "ask",
56
+ "name": "The Ask",
57
+ "description": "State a clear, specific call to action. What do you want the audience to do, decide, or commit to next? Make the smallest credible ask that moves things forward, and make it unambiguous.",
58
+ "layoutHint": "title-left"
59
+ }
60
+ ]
61
+ }