@openpresentation/opf 0.11.0 → 0.11.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 (240) hide show
  1. package/dist/{catalogs-atkOF4Vy.d.ts → catalogs-DJ-B5ZyD.d.ts} +78 -8
  2. package/dist/catalogs.d.ts +2 -2
  3. package/dist/catalogs.js +1 -1
  4. package/dist/{chunk-6FU2KICU.js → chunk-7LF37SG3.js} +7084 -5106
  5. package/dist/{chunk-FTWNWFIV.js → chunk-BVLWFMDX.js} +348 -36
  6. package/dist/{chunk-CHKJ4QHQ.js → chunk-DJRZMGKY.js} +113 -32
  7. package/dist/{chunk-EQHZ3ZO4.js → chunk-K7IWYODS.js} +3 -3
  8. package/dist/chunk-KZ6BT5UG.js +3591 -0
  9. package/dist/{chunk-GN52EE3P.js → chunk-LTSDDBNW.js} +425 -40
  10. package/dist/{chunk-RS5GZ5RW.js → chunk-SDETQV7Y.js} +161 -0
  11. package/dist/{chunk-FWA5XB45.js → chunk-SMYEM3HV.js} +45 -25
  12. package/dist/{composition-Tv9Wm3Oh.d.ts → composition-DzLwY-Mi.d.ts} +200 -4
  13. package/dist/composition.d.ts +1 -1
  14. package/dist/composition.js +1 -1
  15. package/dist/docs.js +50 -20
  16. package/dist/examples.d.ts +1 -1
  17. package/dist/examples.js +11 -11
  18. package/dist/font-policy.d.ts +127 -0
  19. package/dist/font-policy.js +1 -0
  20. package/dist/index.d.ts +129 -10
  21. package/dist/index.js +280 -12
  22. package/dist/lint.d.ts +3 -3
  23. package/dist/lint.js +5 -5
  24. package/dist/pagination.d.ts +5 -1
  25. package/dist/pagination.js +5 -5
  26. package/dist/{presentation-Ct42Mitb.d.ts → presentation-bceTClm8.d.ts} +246 -22
  27. package/dist/repo-readme.js +1 -1
  28. package/dist/{schemas-CiVmUT2p.d.ts → schemas-X_NniU4A.d.ts} +2 -0
  29. package/dist/schemas.d.ts +1 -1
  30. package/dist/schemas.js +1 -1
  31. package/dist/spec/catalogs/audiences/academic.json +24 -0
  32. package/dist/spec/catalogs/audiences/all-hands.json +3 -1
  33. package/dist/spec/catalogs/audiences/board.json +3 -1
  34. package/dist/spec/catalogs/audiences/customer.json +25 -0
  35. package/dist/spec/catalogs/audiences/executive.json +24 -0
  36. package/dist/spec/catalogs/audiences/general-public.json +25 -0
  37. package/dist/spec/catalogs/audiences/index.json +73 -1
  38. package/dist/spec/catalogs/audiences/internal-team.json +25 -0
  39. package/dist/spec/catalogs/audiences/investor.json +25 -0
  40. package/dist/spec/catalogs/audiences/marketing.json +25 -0
  41. package/dist/spec/catalogs/audiences/media.json +24 -0
  42. package/dist/spec/catalogs/audiences/partner.json +25 -0
  43. package/dist/spec/catalogs/audiences/regulatory.json +25 -0
  44. package/dist/spec/catalogs/audiences/sales.json +25 -0
  45. package/dist/spec/catalogs/audiences/technical.json +25 -0
  46. package/dist/spec/catalogs/chart-types/100pct-bullet-bar-2x.json +5 -0
  47. package/dist/spec/catalogs/chart-types/100pct-bullet-bar-3x.json +5 -0
  48. package/dist/spec/catalogs/chart-types/100pct-bullet-bar.json +5 -0
  49. package/dist/spec/catalogs/chart-types/100pct-bullet-column-2x.json +5 -0
  50. package/dist/spec/catalogs/chart-types/100pct-bullet-column-3x.json +5 -0
  51. package/dist/spec/catalogs/chart-types/100pct-bullet-column.json +5 -0
  52. package/dist/spec/catalogs/chart-types/100pct-progress-bar.json +10 -0
  53. package/dist/spec/catalogs/chart-types/100pct-stacked-area-2x.json +10 -0
  54. package/dist/spec/catalogs/chart-types/100pct-stacked-area-3x.json +6 -1
  55. package/dist/spec/catalogs/chart-types/100pct-stacked-bar-2x.json +10 -0
  56. package/dist/spec/catalogs/chart-types/100pct-stacked-bar-3x.json +6 -1
  57. package/dist/spec/catalogs/chart-types/100pct-stacked-column-2x.json +10 -0
  58. package/dist/spec/catalogs/chart-types/100pct-stacked-column-3x.json +6 -1
  59. package/dist/spec/catalogs/chart-types/area.json +5 -0
  60. package/dist/spec/catalogs/chart-types/australia.json +10 -0
  61. package/dist/spec/catalogs/chart-types/bar.json +5 -0
  62. package/dist/spec/catalogs/chart-types/box-and-whisker-2x.json +10 -0
  63. package/dist/spec/catalogs/chart-types/box-and-whisker-3x.json +10 -0
  64. package/dist/spec/catalogs/chart-types/box-and-whisker.json +5 -0
  65. package/dist/spec/catalogs/chart-types/bullet-bar-2x.json +5 -0
  66. package/dist/spec/catalogs/chart-types/bullet-bar-3x.json +5 -0
  67. package/dist/spec/catalogs/chart-types/bullet-bar.json +5 -0
  68. package/dist/spec/catalogs/chart-types/bullet-column-2x.json +5 -0
  69. package/dist/spec/catalogs/chart-types/bullet-column-3x.json +5 -0
  70. package/dist/spec/catalogs/chart-types/bullet-column.json +5 -0
  71. package/dist/spec/catalogs/chart-types/canada.json +10 -0
  72. package/dist/spec/catalogs/chart-types/clustered-bar-2x.json +10 -0
  73. package/dist/spec/catalogs/chart-types/clustered-column.json +10 -0
  74. package/dist/spec/catalogs/chart-types/column.json +5 -0
  75. package/dist/spec/catalogs/chart-types/dot-plot-2x.json +5 -0
  76. package/dist/spec/catalogs/chart-types/dot-plot-3x.json +5 -0
  77. package/dist/spec/catalogs/chart-types/dot-plot-4x.json +5 -0
  78. package/dist/spec/catalogs/chart-types/dot-plot-5x.json +5 -0
  79. package/dist/spec/catalogs/chart-types/dot-plot-6x.json +5 -0
  80. package/dist/spec/catalogs/chart-types/dot-plot.json +5 -0
  81. package/dist/spec/catalogs/chart-types/doughnut.json +5 -0
  82. package/dist/spec/catalogs/chart-types/dumbbell.json +5 -0
  83. package/dist/spec/catalogs/chart-types/filled-radar.json +5 -0
  84. package/dist/spec/catalogs/chart-types/funnel.json +5 -0
  85. package/dist/spec/catalogs/chart-types/histogram.json +5 -0
  86. package/dist/spec/catalogs/chart-types/index.json +333 -233
  87. package/dist/spec/catalogs/chart-types/line-2x.json +10 -0
  88. package/dist/spec/catalogs/chart-types/line-3x.json +10 -0
  89. package/dist/spec/catalogs/chart-types/line-with-high-low-and-markers.json +5 -0
  90. package/dist/spec/catalogs/chart-types/line-with-high-low.json +5 -0
  91. package/dist/spec/catalogs/chart-types/line-with-markers-2x.json +10 -0
  92. package/dist/spec/catalogs/chart-types/line-with-markers-3x.json +10 -0
  93. package/dist/spec/catalogs/chart-types/line-with-markers.json +5 -0
  94. package/dist/spec/catalogs/chart-types/line.json +5 -0
  95. package/dist/spec/catalogs/chart-types/pareto.json +9 -14
  96. package/dist/spec/catalogs/chart-types/pie.json +5 -0
  97. package/dist/spec/catalogs/chart-types/radar-with-markers.json +5 -0
  98. package/dist/spec/catalogs/chart-types/radar.json +5 -0
  99. package/dist/spec/catalogs/chart-types/scatter.json +5 -0
  100. package/dist/spec/catalogs/chart-types/sparkline-2x.json +5 -0
  101. package/dist/spec/catalogs/chart-types/sparkline-3x.json +5 -0
  102. package/dist/spec/catalogs/chart-types/sparkline-4x.json +5 -0
  103. package/dist/spec/catalogs/chart-types/sparkline-5x.json +5 -0
  104. package/dist/spec/catalogs/chart-types/sparkline-6x.json +5 -0
  105. package/dist/spec/catalogs/chart-types/sparkline.json +5 -0
  106. package/dist/spec/catalogs/chart-types/stacked-area-2x.json +10 -0
  107. package/dist/spec/catalogs/chart-types/stacked-area-3x.json +6 -1
  108. package/dist/spec/catalogs/chart-types/stacked-bar-2x.json +10 -0
  109. package/dist/spec/catalogs/chart-types/stacked-bar-3x.json +6 -1
  110. package/dist/spec/catalogs/chart-types/stacked-column-2x.json +10 -0
  111. package/dist/spec/catalogs/chart-types/stacked-column-3x.json +6 -1
  112. package/dist/spec/catalogs/chart-types/stacked-line-2x.json +10 -0
  113. package/dist/spec/catalogs/chart-types/stacked-line-3x.json +6 -1
  114. package/dist/spec/catalogs/chart-types/stacked-line-with-markers-2x.json +10 -0
  115. package/dist/spec/catalogs/chart-types/stacked-line-with-markers-3x.json +6 -1
  116. package/dist/spec/catalogs/chart-types/treemap-2x.json +10 -0
  117. package/dist/spec/catalogs/chart-types/treemap-3x.json +10 -0
  118. package/dist/spec/catalogs/chart-types/treemap.json +5 -0
  119. package/dist/spec/catalogs/chart-types/united-kingdom.json +10 -0
  120. package/dist/spec/catalogs/chart-types/united-states.json +10 -0
  121. package/dist/spec/catalogs/chart-types/waterfall.json +5 -0
  122. package/dist/spec/catalogs/chart-types/world.json +6 -1
  123. package/dist/spec/catalogs/font-schemes/consolas.json +3 -0
  124. package/dist/spec/catalogs/font-schemes/courier-new.json +3 -0
  125. package/dist/spec/catalogs/languages/afrikaans.json +3 -0
  126. package/dist/spec/catalogs/languages/albanian.json +3 -0
  127. package/dist/spec/catalogs/languages/amharic.json +3 -0
  128. package/dist/spec/catalogs/languages/arabic.json +3 -0
  129. package/dist/spec/catalogs/languages/armenian.json +3 -0
  130. package/dist/spec/catalogs/languages/aymara.json +3 -0
  131. package/dist/spec/catalogs/languages/azerbaijani.json +3 -0
  132. package/dist/spec/catalogs/languages/bengali.json +3 -0
  133. package/dist/spec/catalogs/languages/berber-latin.json +3 -0
  134. package/dist/spec/catalogs/languages/bosnian-latin.json +3 -0
  135. package/dist/spec/catalogs/languages/bulgarian.json +3 -0
  136. package/dist/spec/catalogs/languages/catalan.json +3 -0
  137. package/dist/spec/catalogs/languages/cebuano.json +3 -0
  138. package/dist/spec/catalogs/languages/chinese-simplified.json +3 -0
  139. package/dist/spec/catalogs/languages/chinese-traditional.json +3 -0
  140. package/dist/spec/catalogs/languages/chittagonian.json +3 -0
  141. package/dist/spec/catalogs/languages/croatian.json +3 -0
  142. package/dist/spec/catalogs/languages/czech.json +3 -0
  143. package/dist/spec/catalogs/languages/danish.json +3 -0
  144. package/dist/spec/catalogs/languages/dutch.json +3 -0
  145. package/dist/spec/catalogs/languages/english-au.json +3 -0
  146. package/dist/spec/catalogs/languages/english-ca.json +3 -0
  147. package/dist/spec/catalogs/languages/english-gb.json +3 -0
  148. package/dist/spec/catalogs/languages/english-in.json +3 -0
  149. package/dist/spec/catalogs/languages/english-us.json +3 -0
  150. package/dist/spec/catalogs/languages/english.json +3 -0
  151. package/dist/spec/catalogs/languages/estonian.json +3 -0
  152. package/dist/spec/catalogs/languages/filipino.json +3 -0
  153. package/dist/spec/catalogs/languages/finnish.json +3 -0
  154. package/dist/spec/catalogs/languages/french.json +3 -0
  155. package/dist/spec/catalogs/languages/fulfulde.json +3 -0
  156. package/dist/spec/catalogs/languages/galician.json +3 -0
  157. package/dist/spec/catalogs/languages/georgian.json +3 -0
  158. package/dist/spec/catalogs/languages/german.json +3 -0
  159. package/dist/spec/catalogs/languages/greek.json +3 -0
  160. package/dist/spec/catalogs/languages/gujarati.json +3 -0
  161. package/dist/spec/catalogs/languages/hausa.json +3 -0
  162. package/dist/spec/catalogs/languages/hebrew.json +3 -0
  163. package/dist/spec/catalogs/languages/hindi.json +3 -0
  164. package/dist/spec/catalogs/languages/hungarian.json +3 -0
  165. package/dist/spec/catalogs/languages/igbo.json +3 -0
  166. package/dist/spec/catalogs/languages/indonesian.json +3 -0
  167. package/dist/spec/catalogs/languages/italian.json +3 -0
  168. package/dist/spec/catalogs/languages/japanese.json +3 -0
  169. package/dist/spec/catalogs/languages/kannada.json +3 -0
  170. package/dist/spec/catalogs/languages/kazakh.json +3 -0
  171. package/dist/spec/catalogs/languages/khmer.json +3 -0
  172. package/dist/spec/catalogs/languages/kinyarwanda.json +3 -0
  173. package/dist/spec/catalogs/languages/korean.json +3 -0
  174. package/dist/spec/catalogs/languages/kurmanji.json +3 -0
  175. package/dist/spec/catalogs/languages/latvian.json +3 -0
  176. package/dist/spec/catalogs/languages/lithuanian.json +3 -0
  177. package/dist/spec/catalogs/languages/macedonian.json +3 -0
  178. package/dist/spec/catalogs/languages/malagasy.json +3 -0
  179. package/dist/spec/catalogs/languages/malay.json +3 -0
  180. package/dist/spec/catalogs/languages/malayalam.json +3 -0
  181. package/dist/spec/catalogs/languages/maori.json +3 -0
  182. package/dist/spec/catalogs/languages/marathi.json +3 -0
  183. package/dist/spec/catalogs/languages/mongolian.json +3 -0
  184. package/dist/spec/catalogs/languages/nepali.json +3 -0
  185. package/dist/spec/catalogs/languages/norwegian.json +3 -0
  186. package/dist/spec/catalogs/languages/odia.json +3 -0
  187. package/dist/spec/catalogs/languages/oromo.json +3 -0
  188. package/dist/spec/catalogs/languages/pashto.json +3 -0
  189. package/dist/spec/catalogs/languages/persian.json +3 -0
  190. package/dist/spec/catalogs/languages/polish.json +3 -0
  191. package/dist/spec/catalogs/languages/portuguese.json +3 -0
  192. package/dist/spec/catalogs/languages/punjabi-gurmukhi.json +3 -0
  193. package/dist/spec/catalogs/languages/punjabi-shahmukhi.json +3 -0
  194. package/dist/spec/catalogs/languages/romanian.json +3 -0
  195. package/dist/spec/catalogs/languages/russian.json +3 -0
  196. package/dist/spec/catalogs/languages/serbian-cyrillic.json +3 -0
  197. package/dist/spec/catalogs/languages/serbian-latin.json +3 -0
  198. package/dist/spec/catalogs/languages/shona.json +3 -0
  199. package/dist/spec/catalogs/languages/slovak.json +3 -0
  200. package/dist/spec/catalogs/languages/slovenian.json +3 -0
  201. package/dist/spec/catalogs/languages/somali.json +3 -0
  202. package/dist/spec/catalogs/languages/spanish.json +3 -0
  203. package/dist/spec/catalogs/languages/swahili.json +3 -0
  204. package/dist/spec/catalogs/languages/swedish.json +3 -0
  205. package/dist/spec/catalogs/languages/tagalog.json +3 -0
  206. package/dist/spec/catalogs/languages/tajik.json +3 -0
  207. package/dist/spec/catalogs/languages/tamil.json +3 -0
  208. package/dist/spec/catalogs/languages/telugu.json +3 -0
  209. package/dist/spec/catalogs/languages/thai.json +3 -0
  210. package/dist/spec/catalogs/languages/turkish.json +3 -0
  211. package/dist/spec/catalogs/languages/ukrainian.json +3 -0
  212. package/dist/spec/catalogs/languages/urdu.json +3 -0
  213. package/dist/spec/catalogs/languages/uzbek-latin.json +3 -0
  214. package/dist/spec/catalogs/languages/vietnamese-quoc-ngu.json +3 -0
  215. package/dist/spec/catalogs/languages/xhosa.json +3 -0
  216. package/dist/spec/catalogs/languages/yoruba.json +3 -0
  217. package/dist/spec/catalogs/languages/zulu.json +3 -0
  218. package/dist/spec/catalogs/narratives/change-story.json +64 -0
  219. package/dist/spec/catalogs/narratives/data-story.json +66 -0
  220. package/dist/spec/catalogs/narratives/heros-journey.json +64 -0
  221. package/dist/spec/catalogs/narratives/index.json +81 -0
  222. package/dist/spec/catalogs/narratives/pyramid-principle.json +48 -0
  223. package/dist/spec/catalogs/narratives/situation-complication-resolution.json +56 -0
  224. package/dist/spec/catalogs/narratives/sparkline.json +56 -0
  225. package/dist/spec/catalogs/narratives/star-method.json +56 -0
  226. package/dist/spec/catalogs/narratives/vision-roadmap.json +65 -0
  227. package/dist/spec/catalogs/narratives/what-so-what-now-what.json +48 -0
  228. package/dist/spec/reference/engine-defaults.json +2 -2
  229. package/dist/spec/reference/font-policy.json +3510 -0
  230. package/dist/spec/reference/font-policy.schema.json +338 -0
  231. package/dist/spec/schemas/chart-type.schema.json +51 -11
  232. package/dist/spec/schemas/font-scheme.schema.json +91 -1
  233. package/dist/spec/schemas/language.schema.json +10 -5
  234. package/dist/spec/schemas/opf.schema.json +158 -20
  235. package/dist/spec-files.d.ts +1 -1
  236. package/dist/spec-files.js +1 -1
  237. package/dist/types.d.ts +3 -3
  238. package/dist/validator.d.ts +3 -3
  239. package/dist/validator.js +4 -4
  240. package/package.json +6 -2
@@ -21,6 +21,33 @@
21
21
  "tags": ["executive", "strategy", "consulting", "minto", "pyramid"],
22
22
  "file": "scqa.json"
23
23
  },
24
+ {
25
+ "id": "pyramid-principle",
26
+ "name": "Pyramid Principle",
27
+ "summary": "Lead with your conclusion, then provide supporting logic. Respects audience time and attention.",
28
+ "audienceFit": ["executive", "board", "time-pressed-decision-makers"],
29
+ "durationRange": { "minMinutes": 5, "maxMinutes": 20 },
30
+ "tags": ["executive", "strategy", "deductive", "recommendation"],
31
+ "file": "pyramid-principle.json"
32
+ },
33
+ {
34
+ "id": "situation-complication-resolution",
35
+ "name": "Situation-Complication-Resolution",
36
+ "summary": "McKinsey-style structure that builds tension before delivering insights.",
37
+ "audienceFit": ["senior-leadership", "consultants", "strategy-teams"],
38
+ "durationRange": { "minMinutes": 5, "maxMinutes": 20 },
39
+ "tags": ["strategy", "consulting", "minto", "recommendation"],
40
+ "file": "situation-complication-resolution.json"
41
+ },
42
+ {
43
+ "id": "what-so-what-now-what",
44
+ "name": "What-So What-Now What",
45
+ "summary": "Concise framework that connects information to meaning to action. Perfect for executive audiences.",
46
+ "audienceFit": ["executive", "senior-managers", "board"],
47
+ "durationRange": { "minMinutes": 5, "maxMinutes": 15 },
48
+ "tags": ["executive", "briefing", "analytical", "action"],
49
+ "file": "what-so-what-now-what.json"
50
+ },
24
51
  {
25
52
  "id": "strategic-narrative",
26
53
  "name": "Strategic Narrative",
@@ -93,6 +120,15 @@
93
120
  "tags": ["sales", "go-to-market", "outbound", "discovery"],
94
121
  "file": "persuasive-sales.json"
95
122
  },
123
+ {
124
+ "id": "sparkline",
125
+ "name": "Sparkline",
126
+ "summary": "A tight comparison arc showing the transformation from an inferior state to a superior one, anchored by contrast.",
127
+ "audienceFit": ["prospective-buyers", "skeptical-stakeholders", "evaluation-committees"],
128
+ "durationRange": { "minMinutes": 3, "maxMinutes": 15 },
129
+ "tags": ["contrast", "transformation", "product", "roi"],
130
+ "file": "sparkline.json"
131
+ },
96
132
  {
97
133
  "id": "company-intro",
98
134
  "name": "Company Intro",
@@ -147,6 +183,15 @@
147
183
  "tags": ["management", "proposal", "internal", "planning"],
148
184
  "file": "project-proposal.json"
149
185
  },
186
+ {
187
+ "id": "vision-roadmap",
188
+ "name": "Vision to Roadmap",
189
+ "summary": "Connects a compelling long-term vision to near-term executable plans, bridging aspiration and action.",
190
+ "audienceFit": ["leadership-teams", "board", "product-and-strategy-teams", "all-hands"],
191
+ "durationRange": { "minMinutes": 15, "maxMinutes": 45 },
192
+ "tags": ["strategy", "roadmap", "planning", "vision"],
193
+ "file": "vision-roadmap.json"
194
+ },
150
195
  {
151
196
  "id": "failure-analysis",
152
197
  "name": "Failure Analysis",
@@ -156,6 +201,15 @@
156
201
  "tags": ["postmortem", "incident", "review", "accountability"],
157
202
  "file": "failure-analysis.json"
158
203
  },
204
+ {
205
+ "id": "star-method",
206
+ "name": "STAR Method",
207
+ "summary": "Results-focused framework that demonstrates impact through concrete examples.",
208
+ "audienceFit": ["hr-and-talent", "performance-reviewers", "award-committees"],
209
+ "durationRange": { "minMinutes": 5, "maxMinutes": 15 },
210
+ "tags": ["case-study", "proof", "results", "retrospective"],
211
+ "file": "star-method.json"
212
+ },
159
213
  {
160
214
  "id": "classic-story",
161
215
  "name": "Classic Story",
@@ -165,6 +219,15 @@
165
219
  "tags": ["storytelling", "general", "engagement"],
166
220
  "file": "classic-story.json"
167
221
  },
222
+ {
223
+ "id": "heros-journey",
224
+ "name": "Hero's Journey",
225
+ "summary": "Storytelling framework that takes the audience on an emotional journey of change and growth.",
226
+ "audienceFit": ["general-public", "employees", "community"],
227
+ "durationRange": { "minMinutes": 5, "maxMinutes": 20 },
228
+ "tags": ["storytelling", "brand", "change", "emotional"],
229
+ "file": "heros-journey.json"
230
+ },
168
231
  {
169
232
  "id": "business-narrative",
170
233
  "name": "Business Narrative",
@@ -174,6 +237,15 @@
174
237
  "tags": ["management", "storytelling", "internal", "strategy"],
175
238
  "file": "business-narrative.json"
176
239
  },
240
+ {
241
+ "id": "change-story",
242
+ "name": "Change Story",
243
+ "summary": "A change management narrative that addresses the emotional and rational objections employees face when asked to change.",
244
+ "audienceFit": ["employees", "team-leads", "cross-functional-teams"],
245
+ "durationRange": { "minMinutes": 15, "maxMinutes": 45 },
246
+ "tags": ["change-management", "transformation", "internal", "alignment"],
247
+ "file": "change-story.json"
248
+ },
177
249
  {
178
250
  "id": "rags-to-riches",
179
251
  "name": "Rags to Riches",
@@ -327,6 +399,15 @@
327
399
  "tags": ["data-driven", "forecasting", "strategy", "analysis"],
328
400
  "file": "trend-analysis.json"
329
401
  },
402
+ {
403
+ "id": "data-story",
404
+ "name": "Data Story",
405
+ "summary": "A data-first narrative that builds from evidence to insight to action, ideal for analysts and data-driven teams.",
406
+ "audienceFit": ["data-teams", "operations-and-finance", "product-managers", "analytics-stakeholders"],
407
+ "durationRange": { "minMinutes": 10, "maxMinutes": 30 },
408
+ "tags": ["analytics", "data", "insight", "recommendation"],
409
+ "file": "data-story.json"
410
+ },
330
411
  {
331
412
  "id": "employee-review",
332
413
  "name": "Employee Review",
@@ -0,0 +1,48 @@
1
+ {
2
+ "$schema": "https://openpresentation.org/schema/opf-narrative/v1",
3
+ "id": "pyramid-principle",
4
+ "name": "Pyramid Principle",
5
+ "summary": "Lead with your conclusion, then provide supporting logic. Respects audience time and attention.",
6
+ "description": "Lead with the conclusion, then provide the supporting logic. State the main recommendation up front, follow with three or four arguments that support it, then back each argument with data and examples. The tone is deductive: conclusion first, reasoning second, so the audience never waits for the point. Best for executive presentations, recommendations, and time-constrained settings; typical decks run 3-8 slides (consulting recommendation, investment thesis, strategic options analysis).",
7
+ "audienceFit": [
8
+ "executive",
9
+ "board",
10
+ "time-pressed-decision-makers"
11
+ ],
12
+ "durationRange": {
13
+ "minMinutes": 5,
14
+ "maxMinutes": 20
15
+ },
16
+ "tags": [
17
+ "executive",
18
+ "strategy",
19
+ "deductive",
20
+ "recommendation"
21
+ ],
22
+ "beats": [
23
+ {
24
+ "id": "answer-first",
25
+ "name": "Answer First",
26
+ "description": "Lead with your main point or recommendation. Don't make executives wait for it.",
27
+ "instructions": "Lead with the conclusion or recommendation.",
28
+ "slideType": "text",
29
+ "layoutHint": "title"
30
+ },
31
+ {
32
+ "id": "key-arguments",
33
+ "name": "Key Arguments",
34
+ "description": "Provide 3-4 supporting reasons that logically support your answer.",
35
+ "instructions": "Group the main reasons supporting the answer.",
36
+ "slideType": "text",
37
+ "layoutHint": "text-3x"
38
+ },
39
+ {
40
+ "id": "supporting-evidence",
41
+ "name": "Supporting Evidence",
42
+ "description": "Back each argument with data, examples, or proof points.",
43
+ "instructions": "Back each argument with verifiable proof.",
44
+ "slideType": "chart",
45
+ "layoutHint": "chart-1x"
46
+ }
47
+ ]
48
+ }
@@ -0,0 +1,56 @@
1
+ {
2
+ "$schema": "https://openpresentation.org/schema/opf-narrative/v1",
3
+ "id": "situation-complication-resolution",
4
+ "name": "Situation-Complication-Resolution",
5
+ "summary": "McKinsey-style structure that builds tension before delivering insights.",
6
+ "description": "A McKinsey-style structure that builds tension before delivering the insight. Establish the context everyone already agrees on, introduce what has changed or what challenge has emerged, name the key question that change raises, then deliver the recommendation that resolves it. The tone is logical: a tight causal chain from context to recommendation. Best for strategy presentations, consulting decks, and analytical reports; typical decks run 4-10 slides (management consulting report, strategic recommendation, board update).",
7
+ "audienceFit": [
8
+ "senior-leadership",
9
+ "consultants",
10
+ "strategy-teams"
11
+ ],
12
+ "durationRange": {
13
+ "minMinutes": 5,
14
+ "maxMinutes": 20
15
+ },
16
+ "tags": [
17
+ "strategy",
18
+ "consulting",
19
+ "minto",
20
+ "recommendation"
21
+ ],
22
+ "beats": [
23
+ {
24
+ "id": "situation",
25
+ "name": "Situation",
26
+ "description": "Set the scene with relevant background and context everyone agrees on.",
27
+ "instructions": "State the shared context the audience already accepts.",
28
+ "slideType": "list",
29
+ "layoutHint": "list-1x"
30
+ },
31
+ {
32
+ "id": "complication",
33
+ "name": "Complication",
34
+ "description": "Introduce what has changed or what challenge has emerged.",
35
+ "instructions": "Introduce the change, risk, or tension.",
36
+ "slideType": "text",
37
+ "layoutHint": "text-2x"
38
+ },
39
+ {
40
+ "id": "question",
41
+ "name": "Question",
42
+ "description": "Articulate the key question that the complication raises.",
43
+ "instructions": "Frame the decision question raised by the complication.",
44
+ "slideType": "text",
45
+ "layoutHint": "title"
46
+ },
47
+ {
48
+ "id": "answer",
49
+ "name": "Answer",
50
+ "description": "Deliver your recommendation or insight that resolves the question.",
51
+ "instructions": "Deliver the recommendation that resolves the question.",
52
+ "slideType": "timeline",
53
+ "layoutHint": "timeline-1x"
54
+ }
55
+ ]
56
+ }
@@ -0,0 +1,56 @@
1
+ {
2
+ "$schema": "https://openpresentation.org/schema/opf-narrative/v1",
3
+ "id": "sparkline",
4
+ "name": "Sparkline",
5
+ "summary": "A tight comparison arc showing the transformation from an inferior state to a superior one, anchored by contrast.",
6
+ "description": "A tight comparison arc that shows the move from an inferior state to a superior one, anchored by contrast. Make the painful before state vivid, reveal the product, decision, or event that changes the trajectory, present the new reality in concrete terms, then prove it with data or testimonial. The tone is contrastive: it makes the gap between old and new viscerally clear. Best for product demos, case study summaries, ROI presentations, and before-and-after technology comparisons; typical decks run 4-6 slides.",
7
+ "audienceFit": [
8
+ "prospective-buyers",
9
+ "skeptical-stakeholders",
10
+ "evaluation-committees"
11
+ ],
12
+ "durationRange": {
13
+ "minMinutes": 3,
14
+ "maxMinutes": 15
15
+ },
16
+ "tags": [
17
+ "contrast",
18
+ "transformation",
19
+ "product",
20
+ "roi"
21
+ ],
22
+ "beats": [
23
+ {
24
+ "id": "before-state",
25
+ "name": "Before State",
26
+ "description": "Make the current pain or limitation vivid with numbers, stories, or visuals that make the problem real.",
27
+ "instructions": "Make the current pain or limitation vivid.",
28
+ "slideType": "text",
29
+ "layoutHint": "text-2x"
30
+ },
31
+ {
32
+ "id": "contrast-moment",
33
+ "name": "Contrast Moment",
34
+ "description": "Introduce the change agent, product, or decision that shifts the trajectory.",
35
+ "instructions": "Introduce the decision, product, or event that changes the trajectory.",
36
+ "slideType": "text",
37
+ "layoutHint": "title"
38
+ },
39
+ {
40
+ "id": "after-state",
41
+ "name": "After State",
42
+ "description": "Show the improved reality. Make it concrete and specific instead of relying on vague benefit language.",
43
+ "instructions": "Show the new reality created by the change.",
44
+ "slideType": "text",
45
+ "layoutHint": "text-1x"
46
+ },
47
+ {
48
+ "id": "proof",
49
+ "name": "Proof",
50
+ "description": "Validate the after state with metrics, testimonials, or third-party evidence.",
51
+ "instructions": "Validate the change with evidence.",
52
+ "slideType": "metric",
53
+ "layoutHint": "number-1x"
54
+ }
55
+ ]
56
+ }
@@ -0,0 +1,56 @@
1
+ {
2
+ "$schema": "https://openpresentation.org/schema/opf-narrative/v1",
3
+ "id": "star-method",
4
+ "name": "STAR Method",
5
+ "summary": "Results-focused framework that demonstrates impact through concrete examples.",
6
+ "description": "A results-focused framework that demonstrates impact through a concrete example: the Situation, the Task you were responsible for, the Actions you took, and the measurable Result. The tone is evidential: every claim is grounded in a specific, verifiable outcome. Best for project reviews, portfolio presentations, and achievement showcases; typical decks run 4-8 slides (case study, customer success story, project retrospective).",
7
+ "audienceFit": [
8
+ "hr-and-talent",
9
+ "performance-reviewers",
10
+ "award-committees"
11
+ ],
12
+ "durationRange": {
13
+ "minMinutes": 5,
14
+ "maxMinutes": 15
15
+ },
16
+ "tags": [
17
+ "case-study",
18
+ "proof",
19
+ "results",
20
+ "retrospective"
21
+ ],
22
+ "beats": [
23
+ {
24
+ "id": "situation",
25
+ "name": "Situation",
26
+ "description": "Describe the context and background of the scenario.",
27
+ "instructions": "Describe the relevant context and constraints.",
28
+ "slideType": "text",
29
+ "layoutHint": "text-1x"
30
+ },
31
+ {
32
+ "id": "task",
33
+ "name": "Task",
34
+ "description": "Explain your specific role and responsibilities in this situation.",
35
+ "instructions": "Explain the responsibility or target outcome.",
36
+ "slideType": "list",
37
+ "layoutHint": "list-2x"
38
+ },
39
+ {
40
+ "id": "action",
41
+ "name": "Action",
42
+ "description": "Detail the specific steps you took to address the challenge.",
43
+ "instructions": "Detail the actions taken and choices made.",
44
+ "slideType": "timeline",
45
+ "layoutHint": "timeline-1x"
46
+ },
47
+ {
48
+ "id": "result",
49
+ "name": "Result",
50
+ "description": "Share the measurable outcomes and impact of your actions.",
51
+ "instructions": "Show measurable impact and proof.",
52
+ "slideType": "metric",
53
+ "layoutHint": "number-1x"
54
+ }
55
+ ]
56
+ }
@@ -0,0 +1,65 @@
1
+ {
2
+ "$schema": "https://openpresentation.org/schema/opf-narrative/v1",
3
+ "id": "vision-roadmap",
4
+ "name": "Vision to Roadmap",
5
+ "summary": "Connects a compelling long-term vision to near-term executable plans, bridging aspiration and action.",
6
+ "description": "Connects a compelling long-term vision to near-term executable plans, bridging aspiration and action. Open with a specific three-to-five-year North Star, honestly diagnose the gap between today and that vision, organize the strategy into two to four named pillars, show the phased roadmap with milestones and dependencies, and end with concrete, assigned first steps for the next 30-90 days. The tone is inspirational and strategic: it creates shared direction and commitment to a plan. Best for strategic planning, annual kickoffs, product strategy, and OKR launches; typical decks run 8-20 slides.",
7
+ "audienceFit": [
8
+ "leadership-teams",
9
+ "board",
10
+ "product-and-strategy-teams",
11
+ "all-hands"
12
+ ],
13
+ "durationRange": {
14
+ "minMinutes": 15,
15
+ "maxMinutes": 45
16
+ },
17
+ "tags": [
18
+ "strategy",
19
+ "roadmap",
20
+ "planning",
21
+ "vision"
22
+ ],
23
+ "beats": [
24
+ {
25
+ "id": "vision",
26
+ "name": "Vision",
27
+ "description": "State the 3-5 year North Star. It should be specific, memorable, and directional rather than generic.",
28
+ "instructions": "Paint the future state clearly.",
29
+ "slideType": "text",
30
+ "layoutHint": "title-subtitle"
31
+ },
32
+ {
33
+ "id": "current-state-gap",
34
+ "name": "Current State Gap",
35
+ "description": "Honestly assess where you are today versus the vision. The gap justifies the plan.",
36
+ "instructions": "Define the gap between today and the vision.",
37
+ "slideType": "text",
38
+ "layoutHint": "text-2x"
39
+ },
40
+ {
41
+ "id": "strategic-pillars",
42
+ "name": "Strategic Pillars",
43
+ "description": "Organize the strategy into 2-4 named priority themes. Each pillar should be independently compelling.",
44
+ "instructions": "Name the strategic pillars that close the gap.",
45
+ "slideType": "text",
46
+ "layoutHint": "text-3x"
47
+ },
48
+ {
49
+ "id": "roadmap",
50
+ "name": "Roadmap",
51
+ "description": "Show the phased execution plan with timeframes, milestones, and dependencies. Gantt or swim lane formats work well.",
52
+ "instructions": "Sequence the initiatives over time.",
53
+ "slideType": "timeline",
54
+ "layoutHint": "timeline-1x"
55
+ },
56
+ {
57
+ "id": "first-steps",
58
+ "name": "First Steps",
59
+ "description": "Close with concrete, assigned actions for the next 30-90 days. Remove the gap between inspiration and execution.",
60
+ "instructions": "Identify the immediate moves that start execution.",
61
+ "slideType": "text",
62
+ "layoutHint": "title"
63
+ }
64
+ ]
65
+ }
@@ -0,0 +1,48 @@
1
+ {
2
+ "$schema": "https://openpresentation.org/schema/opf-narrative/v1",
3
+ "id": "what-so-what-now-what",
4
+ "name": "What-So What-Now What",
5
+ "summary": "Concise framework that connects information to meaning to action. Perfect for executive audiences.",
6
+ "description": "A concise framework that connects information to meaning to action. Present the facts or findings objectively, explain why they matter to this audience, then state the decisions or next steps they require. The tone is analytical: data-forward and respectful of executive time, with no scene-setting beyond what the facts need. Best for executive briefings, status updates, and research findings; typical decks run 3-6 slides (analytics report, team performance review, strategy update).",
7
+ "audienceFit": [
8
+ "executive",
9
+ "senior-managers",
10
+ "board"
11
+ ],
12
+ "durationRange": {
13
+ "minMinutes": 5,
14
+ "maxMinutes": 15
15
+ },
16
+ "tags": [
17
+ "executive",
18
+ "briefing",
19
+ "analytical",
20
+ "action"
21
+ ],
22
+ "beats": [
23
+ {
24
+ "id": "what",
25
+ "name": "What",
26
+ "description": "Present the facts, data, or findings objectively and clearly.",
27
+ "instructions": "Present the facts, data, or findings objectively and clearly.",
28
+ "slideType": "chart",
29
+ "layoutHint": "chart-1x"
30
+ },
31
+ {
32
+ "id": "so-what",
33
+ "name": "So What",
34
+ "description": "Explain the significance. Why should your audience care about this information?",
35
+ "instructions": "Explain the significance. Why should your audience care about this information?",
36
+ "slideType": "metric",
37
+ "layoutHint": "number-2x"
38
+ },
39
+ {
40
+ "id": "now-what",
41
+ "name": "Now What",
42
+ "description": "Define the action required. What decisions or next steps follow from this?",
43
+ "instructions": "Define the action required. What decisions or next steps follow from this?",
44
+ "slideType": "text",
45
+ "layoutHint": "title"
46
+ }
47
+ ]
48
+ }
@@ -1,5 +1,5 @@
1
1
  {
2
- "description": "Reference example of engine-side defaults consumed by an OPF runtime. Not part of the OPF document contract - engines load this file (or their own copy) at startup to fall back when an OPF document doesn't specify a value. There is no companion JSON Schema for this file: it is engine config, not a catalog record. Every catalog-referencing value below is resolved through the catalog system the same way an explicit reference in an OPF document would be (inline catalogs.<kind>.records[] -> catalogs.<kind>.source -> default catalog at https://www.pptx.gallery/<kind>). The optional catalogs.<kind>.source overrides below let a deployment redirect all default catalog fetches at once (e.g., to an internal mirror or local package), without each OPF document needing its own catalogs block. The 'chartTypes' array is in priority order: chartTypes[0] is the engine's primary chart type, chartTypes[1] secondary, chartTypes[2] tertiary.",
2
+ "description": "Reference example of engine-side defaults consumed by an OPF runtime. Not part of the OPF document contract - engines load this file (or their own copy) at startup to fall back when an OPF document doesn't specify a value. There is no companion JSON Schema for this file: it is engine config, not a catalog record. Every catalog-referencing value below is resolved through the catalog system the same way an explicit reference in an OPF document would be (inline catalogs.<kind>.records[] -> catalogs.<kind>.source -> default catalog at https://www.pptx.gallery/<kind>). The optional catalogs.<kind>.source overrides below let a deployment redirect all default catalog fetches at once (e.g., to an internal mirror or local package), without each OPF document needing its own catalogs block. The 'chartTypes' array is in priority order: chartTypes[0] is the engine's primary chart type, chartTypes[1] secondary, chartTypes[2] tertiary. 'fontScheme.pptx' holds the last-resort font scheme that every current engine shares: core pagination, preview, editor and PPTX export all use 'aptos' (exported by @openpresentation/opf as DEFAULT_FONT_SCHEME), so a custom theme without a font scheme is measured, previewed and exported in the same fonts. No current engine reads 'fontScheme.google': it is the intended default for a future Google Slides exporter, whose output renders in Google-hosted fonts.",
3
3
 
4
4
  "catalogs": {
5
5
  "narratives": { "source": "https://www.pptx.gallery/narratives" },
@@ -29,7 +29,7 @@
29
29
  "chartTypes": [
30
30
  "stacked-column-3x",
31
31
  "stacked-area-3x",
32
- "line-with-markers-3x"
32
+ "line-with-markers"
33
33
  ]
34
34
  }
35
35