@openpresentation/opf 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +103 -0
- package/dist/catalogs.d.ts +33933 -0
- package/dist/catalogs.js +19113 -0
- package/dist/catalogs.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.js +25815 -0
- package/dist/index.js.map +1 -0
- package/dist/schemas.d.ts +12361 -0
- package/dist/schemas.js +6266 -0
- package/dist/schemas.js.map +1 -0
- package/dist/spec/catalogs/audiences/all-hands.json +23 -0
- package/dist/spec/catalogs/audiences/board.json +22 -0
- package/dist/spec/catalogs/audiences/candidates.json +23 -0
- package/dist/spec/catalogs/audiences/customers.json +23 -0
- package/dist/spec/catalogs/audiences/engineering-team.json +23 -0
- package/dist/spec/catalogs/audiences/executives.json +23 -0
- package/dist/spec/catalogs/audiences/index.json +67 -0
- package/dist/spec/catalogs/audiences/investors.json +23 -0
- package/dist/spec/catalogs/audiences/marketing-team.json +23 -0
- package/dist/spec/catalogs/audiences/regulators.json +23 -0
- package/dist/spec/catalogs/audiences/sales-team.json +23 -0
- package/dist/spec/catalogs/chart-types/100pct-bullet-bar-2x.json +90 -0
- package/dist/spec/catalogs/chart-types/100pct-bullet-bar-3x.json +102 -0
- package/dist/spec/catalogs/chart-types/100pct-bullet-bar.json +78 -0
- package/dist/spec/catalogs/chart-types/100pct-bullet-column-2x.json +90 -0
- package/dist/spec/catalogs/chart-types/100pct-bullet-column-3x.json +102 -0
- package/dist/spec/catalogs/chart-types/100pct-bullet-column.json +78 -0
- package/dist/spec/catalogs/chart-types/100pct-progress-bar.json +99 -0
- package/dist/spec/catalogs/chart-types/100pct-stacked-area-2x.json +100 -0
- package/dist/spec/catalogs/chart-types/100pct-stacked-area-3x.json +122 -0
- package/dist/spec/catalogs/chart-types/100pct-stacked-bar-2x.json +83 -0
- package/dist/spec/catalogs/chart-types/100pct-stacked-bar-3x.json +99 -0
- package/dist/spec/catalogs/chart-types/100pct-stacked-column-2x.json +89 -0
- package/dist/spec/catalogs/chart-types/100pct-stacked-column-3x.json +107 -0
- package/dist/spec/catalogs/chart-types/area.json +77 -0
- package/dist/spec/catalogs/chart-types/australia.json +70 -0
- package/dist/spec/catalogs/chart-types/bar.json +67 -0
- package/dist/spec/catalogs/chart-types/box-and-whisker-2x.json +130 -0
- package/dist/spec/catalogs/chart-types/box-and-whisker-3x.json +162 -0
- package/dist/spec/catalogs/chart-types/box-and-whisker.json +98 -0
- package/dist/spec/catalogs/chart-types/bullet-bar-2x.json +88 -0
- package/dist/spec/catalogs/chart-types/bullet-bar-3x.json +100 -0
- package/dist/spec/catalogs/chart-types/bullet-bar.json +76 -0
- package/dist/spec/catalogs/chart-types/bullet-column-2x.json +88 -0
- package/dist/spec/catalogs/chart-types/bullet-column-3x.json +100 -0
- package/dist/spec/catalogs/chart-types/bullet-column.json +76 -0
- package/dist/spec/catalogs/chart-types/canada.json +80 -0
- package/dist/spec/catalogs/chart-types/clustered-bar-2x.json +83 -0
- package/dist/spec/catalogs/chart-types/clustered-column.json +89 -0
- package/dist/spec/catalogs/chart-types/column.json +71 -0
- package/dist/spec/catalogs/chart-types/dot-plot-2x.json +98 -0
- package/dist/spec/catalogs/chart-types/dot-plot-3x.json +123 -0
- package/dist/spec/catalogs/chart-types/dot-plot-4x.json +148 -0
- package/dist/spec/catalogs/chart-types/dot-plot-5x.json +173 -0
- package/dist/spec/catalogs/chart-types/dot-plot-6x.json +198 -0
- package/dist/spec/catalogs/chart-types/dot-plot.json +73 -0
- package/dist/spec/catalogs/chart-types/doughnut.json +57 -0
- package/dist/spec/catalogs/chart-types/dumbbell.json +119 -0
- package/dist/spec/catalogs/chart-types/filled-radar.json +70 -0
- package/dist/spec/catalogs/chart-types/funnel.json +64 -0
- package/dist/spec/catalogs/chart-types/histogram.json +145 -0
- package/dist/spec/catalogs/chart-types/index.json +843 -0
- package/dist/spec/catalogs/chart-types/line-2x.json +99 -0
- package/dist/spec/catalogs/chart-types/line-3x.json +121 -0
- package/dist/spec/catalogs/chart-types/line-with-high-low-and-markers.json +143 -0
- package/dist/spec/catalogs/chart-types/line-with-high-low.json +143 -0
- package/dist/spec/catalogs/chart-types/line-with-markers-2x.json +100 -0
- package/dist/spec/catalogs/chart-types/line-with-markers-3x.json +122 -0
- package/dist/spec/catalogs/chart-types/line-with-markers.json +78 -0
- package/dist/spec/catalogs/chart-types/line.json +77 -0
- package/dist/spec/catalogs/chart-types/pareto.json +163 -0
- package/dist/spec/catalogs/chart-types/pie.json +57 -0
- package/dist/spec/catalogs/chart-types/radar-with-markers.json +70 -0
- package/dist/spec/catalogs/chart-types/radar.json +70 -0
- package/dist/spec/catalogs/chart-types/scatter.json +91 -0
- package/dist/spec/catalogs/chart-types/sparkline-2x.json +137 -0
- package/dist/spec/catalogs/chart-types/sparkline-3x.json +173 -0
- package/dist/spec/catalogs/chart-types/sparkline-4x.json +209 -0
- package/dist/spec/catalogs/chart-types/sparkline-5x.json +245 -0
- package/dist/spec/catalogs/chart-types/sparkline-6x.json +281 -0
- package/dist/spec/catalogs/chart-types/sparkline.json +101 -0
- package/dist/spec/catalogs/chart-types/stacked-area-2x.json +100 -0
- package/dist/spec/catalogs/chart-types/stacked-area-3x.json +122 -0
- package/dist/spec/catalogs/chart-types/stacked-bar-2x.json +83 -0
- package/dist/spec/catalogs/chart-types/stacked-bar-3x.json +99 -0
- package/dist/spec/catalogs/chart-types/stacked-column-2x.json +89 -0
- package/dist/spec/catalogs/chart-types/stacked-column-3x.json +107 -0
- package/dist/spec/catalogs/chart-types/stacked-line-2x.json +100 -0
- package/dist/spec/catalogs/chart-types/stacked-line-3x.json +122 -0
- package/dist/spec/catalogs/chart-types/stacked-line-with-markers-2x.json +101 -0
- package/dist/spec/catalogs/chart-types/stacked-line-with-markers-3x.json +123 -0
- package/dist/spec/catalogs/chart-types/treemap-2x.json +95 -0
- package/dist/spec/catalogs/chart-types/treemap-3x.json +116 -0
- package/dist/spec/catalogs/chart-types/treemap.json +66 -0
- package/dist/spec/catalogs/chart-types/united-kindom.json +62 -0
- package/dist/spec/catalogs/chart-types/united-states.json +76 -0
- package/dist/spec/catalogs/chart-types/waterfall.json +70 -0
- package/dist/spec/catalogs/chart-types/world.json +82 -0
- package/dist/spec/catalogs/color-schemes/black-and-white.json +17 -0
- package/dist/spec/catalogs/color-schemes/bold-red.json +17 -0
- package/dist/spec/catalogs/color-schemes/boost.json +17 -0
- package/dist/spec/catalogs/color-schemes/burnt-orange.json +17 -0
- package/dist/spec/catalogs/color-schemes/cool-horizon.json +17 -0
- package/dist/spec/catalogs/color-schemes/corporate-blue.json +17 -0
- package/dist/spec/catalogs/color-schemes/deep-purple.json +17 -0
- package/dist/spec/catalogs/color-schemes/forest-green.json +17 -0
- package/dist/spec/catalogs/color-schemes/golden-yellow.json +17 -0
- package/dist/spec/catalogs/color-schemes/index.json +77 -0
- package/dist/spec/catalogs/color-schemes/luxury.json +17 -0
- package/dist/spec/catalogs/color-schemes/pastel-red.json +17 -0
- package/dist/spec/catalogs/color-schemes/slate-gray.json +17 -0
- package/dist/spec/catalogs/color-schemes/steel-blue.json +17 -0
- package/dist/spec/catalogs/color-schemes/vibes.json +17 -0
- package/dist/spec/catalogs/font-schemes/angsana-new.json +14 -0
- package/dist/spec/catalogs/font-schemes/aparajita.json +15 -0
- package/dist/spec/catalogs/font-schemes/aptos.json +12 -0
- package/dist/spec/catalogs/font-schemes/arabic-typesetting.json +14 -0
- package/dist/spec/catalogs/font-schemes/arial.json +12 -0
- package/dist/spec/catalogs/font-schemes/batang.json +14 -0
- package/dist/spec/catalogs/font-schemes/bookman.json +12 -0
- package/dist/spec/catalogs/font-schemes/calibri.json +12 -0
- package/dist/spec/catalogs/font-schemes/century-schoolbook.json +12 -0
- package/dist/spec/catalogs/font-schemes/consolas.json +12 -0
- package/dist/spec/catalogs/font-schemes/constantia.json +12 -0
- package/dist/spec/catalogs/font-schemes/courier-new.json +12 -0
- package/dist/spec/catalogs/font-schemes/daunpenh.json +14 -0
- package/dist/spec/catalogs/font-schemes/david.json +14 -0
- package/dist/spec/catalogs/font-schemes/dilleniaupc.json +14 -0
- package/dist/spec/catalogs/font-schemes/fangsong.json +14 -0
- package/dist/spec/catalogs/font-schemes/garamond.json +12 -0
- package/dist/spec/catalogs/font-schemes/gautami.json +14 -0
- package/dist/spec/catalogs/font-schemes/georgia.json +12 -0
- package/dist/spec/catalogs/font-schemes/gisha.json +15 -0
- package/dist/spec/catalogs/font-schemes/grandview.json +12 -0
- package/dist/spec/catalogs/font-schemes/gungsuh.json +14 -0
- package/dist/spec/catalogs/font-schemes/impact.json +12 -0
- package/dist/spec/catalogs/font-schemes/index.json +452 -0
- package/dist/spec/catalogs/font-schemes/kalinga.json +14 -0
- package/dist/spec/catalogs/font-schemes/kartika.json +14 -0
- package/dist/spec/catalogs/font-schemes/khmer-ui.json +14 -0
- package/dist/spec/catalogs/font-schemes/latha.json +14 -0
- package/dist/spec/catalogs/font-schemes/lucida-sans.json +12 -0
- package/dist/spec/catalogs/font-schemes/malgun-gothic.json +14 -0
- package/dist/spec/catalogs/font-schemes/mangal.json +17 -0
- package/dist/spec/catalogs/font-schemes/meiryo.json +14 -0
- package/dist/spec/catalogs/font-schemes/microsoft-jhenghei.json +14 -0
- package/dist/spec/catalogs/font-schemes/microsoft-yahei.json +17 -0
- package/dist/spec/catalogs/font-schemes/mingliu.json +14 -0
- package/dist/spec/catalogs/font-schemes/miriam.json +14 -0
- package/dist/spec/catalogs/font-schemes/montserrat.json +12 -0
- package/dist/spec/catalogs/font-schemes/ms-mincho.json +14 -0
- package/dist/spec/catalogs/font-schemes/nirmala-ui.json +14 -0
- package/dist/spec/catalogs/font-schemes/noto-naksh-arabic.json +14 -0
- package/dist/spec/catalogs/font-schemes/noto-nastaliq-urdu.json +15 -0
- package/dist/spec/catalogs/font-schemes/noto-sans-arabic.json +16 -0
- package/dist/spec/catalogs/font-schemes/noto-sans-armenian.json +14 -0
- package/dist/spec/catalogs/font-schemes/noto-sans-bengali.json +15 -0
- package/dist/spec/catalogs/font-schemes/noto-sans-devangari.json +15 -0
- package/dist/spec/catalogs/font-schemes/noto-sans-ethiopic.json +14 -0
- package/dist/spec/catalogs/font-schemes/noto-sans-georgian.json +14 -0
- package/dist/spec/catalogs/font-schemes/noto-sans-gujarati.json +14 -0
- package/dist/spec/catalogs/font-schemes/noto-sans-gurmukhi.json +14 -0
- package/dist/spec/catalogs/font-schemes/noto-sans-hebrew.json +14 -0
- package/dist/spec/catalogs/font-schemes/noto-sans-jp.json +14 -0
- package/dist/spec/catalogs/font-schemes/noto-sans-kannada.json +14 -0
- package/dist/spec/catalogs/font-schemes/noto-sans-khmer.json +14 -0
- package/dist/spec/catalogs/font-schemes/noto-sans-kr.json +14 -0
- package/dist/spec/catalogs/font-schemes/noto-sans-malayalam.json +14 -0
- package/dist/spec/catalogs/font-schemes/noto-sans-mongolian.json +14 -0
- package/dist/spec/catalogs/font-schemes/noto-sans-oriya.json +14 -0
- package/dist/spec/catalogs/font-schemes/noto-sans-sc.json +17 -0
- package/dist/spec/catalogs/font-schemes/noto-sans-tamil.json +14 -0
- package/dist/spec/catalogs/font-schemes/noto-sans-tc.json +14 -0
- package/dist/spec/catalogs/font-schemes/noto-sans-telugu.json +14 -0
- package/dist/spec/catalogs/font-schemes/noto-sans-thai.json +14 -0
- package/dist/spec/catalogs/font-schemes/noto-sans.json +17 -0
- package/dist/spec/catalogs/font-schemes/nyala.json +14 -0
- package/dist/spec/catalogs/font-schemes/open-sans.json +12 -0
- package/dist/spec/catalogs/font-schemes/pmingliu.json +14 -0
- package/dist/spec/catalogs/font-schemes/poppins.json +12 -0
- package/dist/spec/catalogs/font-schemes/pt-serif.json +12 -0
- package/dist/spec/catalogs/font-schemes/raavi.json +14 -0
- package/dist/spec/catalogs/font-schemes/raleway.json +12 -0
- package/dist/spec/catalogs/font-schemes/roboto.json +12 -0
- package/dist/spec/catalogs/font-schemes/rockwell.json +12 -0
- package/dist/spec/catalogs/font-schemes/sakkal-majalla.json +16 -0
- package/dist/spec/catalogs/font-schemes/seaford.json +12 -0
- package/dist/spec/catalogs/font-schemes/segoe-ui-light.json +12 -0
- package/dist/spec/catalogs/font-schemes/segoe-ui.json +12 -0
- package/dist/spec/catalogs/font-schemes/shonar-bangla.json +15 -0
- package/dist/spec/catalogs/font-schemes/shruti.json +14 -0
- package/dist/spec/catalogs/font-schemes/simsun.json +14 -0
- package/dist/spec/catalogs/font-schemes/skeena.json +12 -0
- package/dist/spec/catalogs/font-schemes/sylfaen.json +15 -0
- package/dist/spec/catalogs/font-schemes/tahoma.json +12 -0
- package/dist/spec/catalogs/font-schemes/tenorite.json +12 -0
- package/dist/spec/catalogs/font-schemes/times-new-roman.json +12 -0
- package/dist/spec/catalogs/font-schemes/traditional-arabic.json +16 -0
- package/dist/spec/catalogs/font-schemes/trebuchet-ms.json +12 -0
- package/dist/spec/catalogs/font-schemes/tunga.json +14 -0
- package/dist/spec/catalogs/font-schemes/verdana.json +12 -0
- package/dist/spec/catalogs/font-schemes/vrinda.json +14 -0
- package/dist/spec/catalogs/font-schemes/yu-gothic.json +14 -0
- package/dist/spec/catalogs/languages/afrikaans.json +9 -0
- package/dist/spec/catalogs/languages/albanian.json +9 -0
- package/dist/spec/catalogs/languages/amharic.json +9 -0
- package/dist/spec/catalogs/languages/arabic.json +9 -0
- package/dist/spec/catalogs/languages/armenian.json +9 -0
- package/dist/spec/catalogs/languages/aymara.json +9 -0
- package/dist/spec/catalogs/languages/azerbaijani.json +9 -0
- package/dist/spec/catalogs/languages/bengali.json +9 -0
- package/dist/spec/catalogs/languages/berber-latin.json +9 -0
- package/dist/spec/catalogs/languages/bosnian-latin.json +9 -0
- package/dist/spec/catalogs/languages/bulgarian.json +9 -0
- package/dist/spec/catalogs/languages/catalan.json +9 -0
- package/dist/spec/catalogs/languages/cebuano.json +9 -0
- package/dist/spec/catalogs/languages/chinese-simplified.json +9 -0
- package/dist/spec/catalogs/languages/chinese-traditional.json +9 -0
- package/dist/spec/catalogs/languages/chittagonian.json +9 -0
- package/dist/spec/catalogs/languages/croatian.json +9 -0
- package/dist/spec/catalogs/languages/czech.json +9 -0
- package/dist/spec/catalogs/languages/danish.json +9 -0
- package/dist/spec/catalogs/languages/dutch.json +9 -0
- package/dist/spec/catalogs/languages/english-au.json +9 -0
- package/dist/spec/catalogs/languages/english-ca.json +9 -0
- package/dist/spec/catalogs/languages/english-gb.json +9 -0
- package/dist/spec/catalogs/languages/english-in.json +9 -0
- package/dist/spec/catalogs/languages/english-us.json +9 -0
- package/dist/spec/catalogs/languages/english.json +9 -0
- package/dist/spec/catalogs/languages/estonian.json +9 -0
- package/dist/spec/catalogs/languages/filipino.json +9 -0
- package/dist/spec/catalogs/languages/finnish.json +9 -0
- package/dist/spec/catalogs/languages/french.json +9 -0
- package/dist/spec/catalogs/languages/fulfulde.json +9 -0
- package/dist/spec/catalogs/languages/galician.json +9 -0
- package/dist/spec/catalogs/languages/georgian.json +9 -0
- package/dist/spec/catalogs/languages/german.json +9 -0
- package/dist/spec/catalogs/languages/greek.json +9 -0
- package/dist/spec/catalogs/languages/gujarati.json +9 -0
- package/dist/spec/catalogs/languages/hausa.json +9 -0
- package/dist/spec/catalogs/languages/hebrew.json +9 -0
- package/dist/spec/catalogs/languages/hindi.json +9 -0
- package/dist/spec/catalogs/languages/hungarian.json +9 -0
- package/dist/spec/catalogs/languages/igbo.json +9 -0
- package/dist/spec/catalogs/languages/index.json +565 -0
- package/dist/spec/catalogs/languages/indonesian.json +9 -0
- package/dist/spec/catalogs/languages/italian.json +9 -0
- package/dist/spec/catalogs/languages/japanese.json +9 -0
- package/dist/spec/catalogs/languages/kannada.json +9 -0
- package/dist/spec/catalogs/languages/kazakh.json +9 -0
- package/dist/spec/catalogs/languages/khmer.json +9 -0
- package/dist/spec/catalogs/languages/kinyarwanda.json +9 -0
- package/dist/spec/catalogs/languages/korean.json +9 -0
- package/dist/spec/catalogs/languages/kurmanji.json +9 -0
- package/dist/spec/catalogs/languages/latvian.json +9 -0
- package/dist/spec/catalogs/languages/lithuanian.json +9 -0
- package/dist/spec/catalogs/languages/macedonian.json +9 -0
- package/dist/spec/catalogs/languages/malagasy.json +9 -0
- package/dist/spec/catalogs/languages/malay.json +9 -0
- package/dist/spec/catalogs/languages/malayalam.json +9 -0
- package/dist/spec/catalogs/languages/maori.json +9 -0
- package/dist/spec/catalogs/languages/marathi.json +9 -0
- package/dist/spec/catalogs/languages/mongolian.json +9 -0
- package/dist/spec/catalogs/languages/nepali.json +9 -0
- package/dist/spec/catalogs/languages/norwegian.json +9 -0
- package/dist/spec/catalogs/languages/odia.json +9 -0
- package/dist/spec/catalogs/languages/oromo.json +9 -0
- package/dist/spec/catalogs/languages/pashto.json +9 -0
- package/dist/spec/catalogs/languages/persian.json +9 -0
- package/dist/spec/catalogs/languages/polish.json +9 -0
- package/dist/spec/catalogs/languages/portuguese.json +9 -0
- package/dist/spec/catalogs/languages/punjabi-gurmukhi.json +9 -0
- package/dist/spec/catalogs/languages/punjabi-shahmukhi.json +9 -0
- package/dist/spec/catalogs/languages/romanian.json +9 -0
- package/dist/spec/catalogs/languages/russian.json +9 -0
- package/dist/spec/catalogs/languages/serbian-cyrillic.json +9 -0
- package/dist/spec/catalogs/languages/serbian-latin.json +9 -0
- package/dist/spec/catalogs/languages/shona.json +9 -0
- package/dist/spec/catalogs/languages/slovak.json +9 -0
- package/dist/spec/catalogs/languages/slovenian.json +9 -0
- package/dist/spec/catalogs/languages/somali.json +9 -0
- package/dist/spec/catalogs/languages/spanish.json +9 -0
- package/dist/spec/catalogs/languages/swahili.json +9 -0
- package/dist/spec/catalogs/languages/swedish.json +9 -0
- package/dist/spec/catalogs/languages/tagalog.json +9 -0
- package/dist/spec/catalogs/languages/tajik.json +9 -0
- package/dist/spec/catalogs/languages/tamil.json +9 -0
- package/dist/spec/catalogs/languages/telugu.json +9 -0
- package/dist/spec/catalogs/languages/thai.json +9 -0
- package/dist/spec/catalogs/languages/turkish.json +9 -0
- package/dist/spec/catalogs/languages/ukrainian.json +9 -0
- package/dist/spec/catalogs/languages/urdu.json +9 -0
- package/dist/spec/catalogs/languages/uzbek-latin.json +9 -0
- package/dist/spec/catalogs/languages/vietnamese-quoc-ngu.json +9 -0
- package/dist/spec/catalogs/languages/xhosa.json +9 -0
- package/dist/spec/catalogs/languages/yoruba.json +9 -0
- package/dist/spec/catalogs/languages/zulu.json +9 -0
- package/dist/spec/catalogs/layouts/blank.json +6 -0
- package/dist/spec/catalogs/layouts/chart-1x.json +16 -0
- package/dist/spec/catalogs/layouts/chart-2x.json +22 -0
- package/dist/spec/catalogs/layouts/chart-3x.json +28 -0
- package/dist/spec/catalogs/layouts/code-1x.json +16 -0
- package/dist/spec/catalogs/layouts/extract/canonical.json +487 -0
- package/dist/spec/catalogs/layouts/image-1x.json +16 -0
- package/dist/spec/catalogs/layouts/image-2x.json +22 -0
- package/dist/spec/catalogs/layouts/image-3x.json +28 -0
- package/dist/spec/catalogs/layouts/image-bleed.json +10 -0
- package/dist/spec/catalogs/layouts/index.json +147 -0
- package/dist/spec/catalogs/layouts/list-1x.json +13 -0
- package/dist/spec/catalogs/layouts/list-2x.json +16 -0
- package/dist/spec/catalogs/layouts/list-3x.json +19 -0
- package/dist/spec/catalogs/layouts/list-4x.json +22 -0
- package/dist/spec/catalogs/layouts/list-5x.json +25 -0
- package/dist/spec/catalogs/layouts/list-6x.json +28 -0
- package/dist/spec/catalogs/layouts/media-1x.json +16 -0
- package/dist/spec/catalogs/layouts/number-1x.json +13 -0
- package/dist/spec/catalogs/layouts/number-2x.json +16 -0
- package/dist/spec/catalogs/layouts/number-3x.json +19 -0
- package/dist/spec/catalogs/layouts/number-4x.json +22 -0
- package/dist/spec/catalogs/layouts/number-5x.json +25 -0
- package/dist/spec/catalogs/layouts/number-6x.json +28 -0
- package/dist/spec/catalogs/layouts/table-1x.json +16 -0
- package/dist/spec/catalogs/layouts/text-1x.json +13 -0
- package/dist/spec/catalogs/layouts/text-2x.json +16 -0
- package/dist/spec/catalogs/layouts/text-3x.json +19 -0
- package/dist/spec/catalogs/layouts/title-subtitle.json +13 -0
- package/dist/spec/catalogs/layouts/title.json +10 -0
- package/dist/spec/catalogs/narratives/board-meeting.json +192 -0
- package/dist/spec/catalogs/narratives/business-narrative.json +87 -0
- package/dist/spec/catalogs/narratives/business-review.json +119 -0
- package/dist/spec/catalogs/narratives/capacity-planning.json +88 -0
- package/dist/spec/catalogs/narratives/challenge-resolution.json +80 -0
- package/dist/spec/catalogs/narratives/classic-story.json +78 -0
- package/dist/spec/catalogs/narratives/company-intro.json +96 -0
- package/dist/spec/catalogs/narratives/conference-talk.json +54 -0
- package/dist/spec/catalogs/narratives/early-startup-pitch.json +119 -0
- package/dist/spec/catalogs/narratives/educate.json +95 -0
- package/dist/spec/catalogs/narratives/employee-review.json +87 -0
- package/dist/spec/catalogs/narratives/failure-analysis.json +104 -0
- package/dist/spec/catalogs/narratives/focus.json +120 -0
- package/dist/spec/catalogs/narratives/golden-circle.json +50 -0
- package/dist/spec/catalogs/narratives/index.json +358 -0
- package/dist/spec/catalogs/narratives/innovation.json +96 -0
- package/dist/spec/catalogs/narratives/justice.json +112 -0
- package/dist/spec/catalogs/narratives/marketing-strategy.json +111 -0
- package/dist/spec/catalogs/narratives/performance-improvement-plan.json +87 -0
- package/dist/spec/catalogs/narratives/performance-review.json +111 -0
- package/dist/spec/catalogs/narratives/persuade.json +94 -0
- package/dist/spec/catalogs/narratives/persuasive-sales.json +87 -0
- package/dist/spec/catalogs/narratives/pitch-deck.json +107 -0
- package/dist/spec/catalogs/narratives/problem-solution.json +61 -0
- package/dist/spec/catalogs/narratives/product-launch.json +104 -0
- package/dist/spec/catalogs/narratives/project-proposal.json +104 -0
- package/dist/spec/catalogs/narratives/qbr.json +85 -0
- package/dist/spec/catalogs/narratives/rags-to-riches.json +80 -0
- package/dist/spec/catalogs/narratives/reveal.json +87 -0
- package/dist/spec/catalogs/narratives/scqa.json +55 -0
- package/dist/spec/catalogs/narratives/status-update.json +72 -0
- package/dist/spec/catalogs/narratives/strategic-advisory.json +85 -0
- package/dist/spec/catalogs/narratives/strategic-narrative.json +61 -0
- package/dist/spec/catalogs/narratives/survey-analysis.json +104 -0
- package/dist/spec/catalogs/narratives/survival-story.json +103 -0
- package/dist/spec/catalogs/narratives/transformation-arc.json +50 -0
- package/dist/spec/catalogs/narratives/trend-analysis.json +79 -0
- package/dist/spec/catalogs/narratives/underdog-victory.json +87 -0
- package/dist/spec/catalogs/narratives/venture-pitch.json +109 -0
- package/dist/spec/catalogs/narratives/weekly-progress.json +103 -0
- package/dist/spec/catalogs/purposes/align.json +16 -0
- package/dist/spec/catalogs/purposes/decide.json +16 -0
- package/dist/spec/catalogs/purposes/educate.json +16 -0
- package/dist/spec/catalogs/purposes/index.json +61 -0
- package/dist/spec/catalogs/purposes/inform.json +16 -0
- package/dist/spec/catalogs/purposes/persuade.json +16 -0
- package/dist/spec/catalogs/purposes/pitch.json +16 -0
- package/dist/spec/catalogs/purposes/plan.json +16 -0
- package/dist/spec/catalogs/purposes/report.json +16 -0
- package/dist/spec/catalogs/purposes/sell.json +16 -0
- package/dist/spec/catalogs/social-platforms/bluesky.json +14 -0
- package/dist/spec/catalogs/social-platforms/facebook.json +14 -0
- package/dist/spec/catalogs/social-platforms/github.json +15 -0
- package/dist/spec/catalogs/social-platforms/index.json +68 -0
- package/dist/spec/catalogs/social-platforms/instagram.json +13 -0
- package/dist/spec/catalogs/social-platforms/linkedin.json +15 -0
- package/dist/spec/catalogs/social-platforms/mastodon.json +14 -0
- package/dist/spec/catalogs/social-platforms/threads.json +13 -0
- package/dist/spec/catalogs/social-platforms/tiktok.json +14 -0
- package/dist/spec/catalogs/social-platforms/x.json +14 -0
- package/dist/spec/catalogs/social-platforms/youtube.json +14 -0
- package/dist/spec/catalogs/themes/bold.json +13 -0
- package/dist/spec/catalogs/themes/classic.json +13 -0
- package/dist/spec/catalogs/themes/dark.json +13 -0
- package/dist/spec/catalogs/themes/index.json +31 -0
- package/dist/spec/catalogs/themes/minimal.json +13 -0
- package/dist/spec/catalogs/tones/authoritative.json +31 -0
- package/dist/spec/catalogs/tones/casual.json +31 -0
- package/dist/spec/catalogs/tones/conversational.json +31 -0
- package/dist/spec/catalogs/tones/formal.json +31 -0
- package/dist/spec/catalogs/tones/index.json +49 -0
- package/dist/spec/catalogs/tones/inspirational.json +31 -0
- package/dist/spec/catalogs/tones/persuasive.json +32 -0
- package/dist/spec/catalogs/tones/technical.json +31 -0
- package/dist/spec/openapi.yaml +776 -0
- package/dist/spec/reference/engine-defaults.json +35 -0
- package/dist/spec/schemas/audience.schema.json +156 -0
- package/dist/spec/schemas/chart-type.schema.json +537 -0
- package/dist/spec/schemas/color-scheme.schema.json +200 -0
- package/dist/spec/schemas/font-scheme.schema.json +174 -0
- package/dist/spec/schemas/language.schema.json +158 -0
- package/dist/spec/schemas/layout.schema.json +280 -0
- package/dist/spec/schemas/narrative.schema.json +207 -0
- package/dist/spec/schemas/opf.schema.json +2537 -0
- package/dist/spec/schemas/purpose.schema.json +92 -0
- package/dist/spec/schemas/social-platform.schema.json +184 -0
- package/dist/spec/schemas/theme.schema.json +168 -0
- package/dist/spec/schemas/tone.schema.json +146 -0
- package/dist/types.d.ts +1102 -0
- package/dist/types.js +3 -0
- package/dist/types.js.map +1 -0
- package/dist/validator-Be5EzqAt.d.ts +2700 -0
- package/dist/validator.d.ts +3 -0
- package/dist/validator.js +6694 -0
- package/dist/validator.js.map +1 -0
- package/package.json +80 -0
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://openpresentation.org/schema/opf-narrative/v1",
|
|
3
|
+
"id": "product-launch",
|
|
4
|
+
"name": "Product Launch",
|
|
5
|
+
"summary": "Persuasive launch arc: open with brand, hook with a promise, set the conflict, raise the stakes, reveal the product, raise stakes again, sell, and call to action. Tuned for keynote-style launches and major announcement decks.",
|
|
6
|
+
"audienceFit": [
|
|
7
|
+
"customers",
|
|
8
|
+
"press",
|
|
9
|
+
"general-audience",
|
|
10
|
+
"partners"
|
|
11
|
+
],
|
|
12
|
+
"durationRange": {
|
|
13
|
+
"minMinutes": 15,
|
|
14
|
+
"maxMinutes": 45
|
|
15
|
+
},
|
|
16
|
+
"tags": [
|
|
17
|
+
"startup",
|
|
18
|
+
"launch",
|
|
19
|
+
"marketing",
|
|
20
|
+
"keynote"
|
|
21
|
+
],
|
|
22
|
+
"beats": [
|
|
23
|
+
{
|
|
24
|
+
"id": "opening",
|
|
25
|
+
"name": "Opening",
|
|
26
|
+
"description": "Open with the company brand and a confident visual. Set the tone — this is a moment, not a meeting. One slide that signals the audience is somewhere worth being.",
|
|
27
|
+
"layoutHint": "title-left",
|
|
28
|
+
"instructions": "Show company branding",
|
|
29
|
+
"slideType": "text"
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"id": "promise",
|
|
33
|
+
"name": "Promise",
|
|
34
|
+
"description": "Hook the audience with the promise of the talk. Tell them, in one sentence, what they're about to see and why it matters to them. Specific promises buy patient audiences.",
|
|
35
|
+
"instructions": "Hook the audience",
|
|
36
|
+
"slideType": "text",
|
|
37
|
+
"layoutHint": "text-1x-left"
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"id": "context",
|
|
41
|
+
"name": "Context",
|
|
42
|
+
"description": "Set the stage with the world the product enters. The customer reality, the market state, the unmet expectation. Context turns the launch from a product release into a moment in a larger story.",
|
|
43
|
+
"instructions": "Set the stage",
|
|
44
|
+
"slideType": "text",
|
|
45
|
+
"layoutHint": "text-1x-left"
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"id": "conflict",
|
|
49
|
+
"name": "Conflict",
|
|
50
|
+
"description": "Introduce the villain — the problem, friction, or status quo the product opposes. Make the conflict concrete enough that the audience can name a moment they've felt it themselves.",
|
|
51
|
+
"instructions": "Introduce villain/problem",
|
|
52
|
+
"slideType": "text",
|
|
53
|
+
"layoutHint": "text-1x-left"
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"id": "stakes",
|
|
57
|
+
"name": "Stakes",
|
|
58
|
+
"description": "Emphasize what's at risk if the conflict isn't resolved. Quantify, personalize, dramatize. Stakes are what convert a curious audience into an invested one.",
|
|
59
|
+
"instructions": "Emphasize importance",
|
|
60
|
+
"slideType": "text",
|
|
61
|
+
"layoutHint": "text-1x-left"
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
"id": "reveal",
|
|
65
|
+
"name": "Reveal",
|
|
66
|
+
"description": "Showcase the product. One striking visual, one defining capability, one sentence that captures what's new. Earn the applause line; don't bury it under a bullet list.",
|
|
67
|
+
"instructions": "Showcase the solution",
|
|
68
|
+
"slideType": "text",
|
|
69
|
+
"layoutHint": "text-1x-left"
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"id": "raise-stakes",
|
|
73
|
+
"name": "Raise the Stakes",
|
|
74
|
+
"description": "Highlight where the alternatives fall short and what they cost the customer. Re-energize the room midway by sharpening the contrast with the reveal.",
|
|
75
|
+
"instructions": "Highlight shortcomings of alternatives",
|
|
76
|
+
"slideType": "text",
|
|
77
|
+
"layoutHint": "text-1x-left"
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
"id": "raise-stakes-again",
|
|
81
|
+
"name": "Reinforce the Need",
|
|
82
|
+
"description": "Reinforce why change is non-negotiable now. A second beat of stakes, framed differently — perhaps a customer voice or a future cost. Cement the reason to act.",
|
|
83
|
+
"instructions": "Reinforce the need for change",
|
|
84
|
+
"slideType": "text",
|
|
85
|
+
"layoutHint": "text-1x-left"
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
"id": "sell",
|
|
89
|
+
"name": "Sell",
|
|
90
|
+
"description": "Make the audience want the product. Lead with the outcome it produces in their lives. Pricing, packaging, availability go here, but only after the desire is built.",
|
|
91
|
+
"instructions": "Make them want your solution",
|
|
92
|
+
"slideType": "text",
|
|
93
|
+
"layoutHint": "text-1x-left"
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
"id": "cta",
|
|
97
|
+
"name": "Call to Action",
|
|
98
|
+
"description": "Close with the single action you want from the audience. Pre-order, sign up, attend, share. Make it simple, specific, and immediate.",
|
|
99
|
+
"layoutHint": "title-left",
|
|
100
|
+
"instructions": "Inspire action",
|
|
101
|
+
"slideType": "text"
|
|
102
|
+
}
|
|
103
|
+
]
|
|
104
|
+
}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://openpresentation.org/schema/opf-narrative/v1",
|
|
3
|
+
"id": "project-proposal",
|
|
4
|
+
"name": "Project Proposal",
|
|
5
|
+
"summary": "Internal proposal arc for greenlighting a project: hook, problem, idea, benefits, justification, plan, timeline, risks, outlook, ask. Designed to take a sponsor from 'never heard of this' to 'approved' inside a single meeting.",
|
|
6
|
+
"audienceFit": [
|
|
7
|
+
"executives",
|
|
8
|
+
"sponsors",
|
|
9
|
+
"managers",
|
|
10
|
+
"internal-teams"
|
|
11
|
+
],
|
|
12
|
+
"durationRange": {
|
|
13
|
+
"minMinutes": 15,
|
|
14
|
+
"maxMinutes": 45
|
|
15
|
+
},
|
|
16
|
+
"tags": [
|
|
17
|
+
"management",
|
|
18
|
+
"proposal",
|
|
19
|
+
"internal",
|
|
20
|
+
"planning"
|
|
21
|
+
],
|
|
22
|
+
"beats": [
|
|
23
|
+
{
|
|
24
|
+
"id": "elevator-pitch",
|
|
25
|
+
"name": "Elevator Pitch",
|
|
26
|
+
"description": "Open with the proposal in one slide: the project name, the audience, the goal, and the headline benefit. If a sponsor reads only this slide, they should still know what they're being asked to approve.",
|
|
27
|
+
"instructions": "Audience hook & objectives",
|
|
28
|
+
"slideType": "text",
|
|
29
|
+
"layoutHint": "text-1x-left"
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"id": "problem-statement",
|
|
33
|
+
"name": "Problem Statement",
|
|
34
|
+
"description": "Articulate the problem this project solves and why it deserves resources now. Tie it to a known business goal or pain. Vague problems produce vague approvals.",
|
|
35
|
+
"instructions": "Highlight struggles & project necessity",
|
|
36
|
+
"slideType": "text",
|
|
37
|
+
"layoutHint": "text-1x-left"
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"id": "core-concept",
|
|
41
|
+
"name": "Core Concept",
|
|
42
|
+
"description": "Describe the central idea of the project in plain language. The 'what' before the 'how.' A reader should be able to repeat the concept in one sentence after this slide.",
|
|
43
|
+
"instructions": "Share actionable idea",
|
|
44
|
+
"slideType": "text",
|
|
45
|
+
"layoutHint": "text-1x-left"
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"id": "benefits",
|
|
49
|
+
"name": "Benefits",
|
|
50
|
+
"description": "Quantify the impact: revenue, cost, risk, customer, capability. Use numbers where possible and clear comparisons where not. Each benefit should map to a metric the sponsor cares about.",
|
|
51
|
+
"instructions": "Spotlight key metrics",
|
|
52
|
+
"slideType": "text",
|
|
53
|
+
"layoutHint": "text-1x-left"
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"id": "justification",
|
|
57
|
+
"name": "Justification",
|
|
58
|
+
"description": "Connect the project to broader strategy, OKRs, or constraints the audience already cares about. Show why this project is more important than the alternatives competing for the same resources.",
|
|
59
|
+
"instructions": "Strategic alignment & significance",
|
|
60
|
+
"slideType": "text",
|
|
61
|
+
"layoutHint": "text-1x-left"
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
"id": "approach",
|
|
65
|
+
"name": "Approach",
|
|
66
|
+
"description": "Lay out how the project will be executed: the solution, the team shape, the budget envelope. Enough detail to feel credible, not so much that it pre-commits to choices that will mature in flight.",
|
|
67
|
+
"instructions": "Solution, resources, & budget",
|
|
68
|
+
"slideType": "text",
|
|
69
|
+
"layoutHint": "text-1x-left"
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"id": "timeline",
|
|
73
|
+
"name": "Timeline",
|
|
74
|
+
"description": "Show the project phases on a timeline, with major milestones and decision points marked. Sponsors are buying a sequence of bets, not a single launch — make those bets visible.",
|
|
75
|
+
"instructions": "Outline project phases",
|
|
76
|
+
"slideType": "text",
|
|
77
|
+
"layoutHint": "text-1x-left"
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
"id": "risks",
|
|
81
|
+
"name": "Risks",
|
|
82
|
+
"description": "Name the top risks honestly and pair each with a mitigation or open question. Listing risks without mitigations signals you haven't thought it through; hiding risks signals worse.",
|
|
83
|
+
"instructions": "Consider potential challenges",
|
|
84
|
+
"slideType": "text",
|
|
85
|
+
"layoutHint": "text-1x-left"
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
"id": "outlook",
|
|
89
|
+
"name": "Outlook",
|
|
90
|
+
"description": "Paint the picture of what the organization looks like a quarter or year after the project ships. Stretch beyond the immediate deliverable to the second-order benefits.",
|
|
91
|
+
"instructions": "Envision project impact",
|
|
92
|
+
"slideType": "text",
|
|
93
|
+
"layoutHint": "text-1x-left"
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
"id": "wrap-up",
|
|
97
|
+
"name": "Wrap Up",
|
|
98
|
+
"description": "Recap the proposal and state the specific decision you're asking for: approval, budget, headcount, sponsorship. Make it easy to say yes today.",
|
|
99
|
+
"layoutHint": "title-left",
|
|
100
|
+
"instructions": "Summarize & persuade",
|
|
101
|
+
"slideType": "text"
|
|
102
|
+
}
|
|
103
|
+
]
|
|
104
|
+
}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://openpresentation.org/schema/opf-narrative/v1",
|
|
3
|
+
"id": "qbr",
|
|
4
|
+
"name": "Quarterly Business Review",
|
|
5
|
+
"summary": "Standard QBR / business-review arc for internal leadership reviews. Recap commitments, show what the numbers say, separate wins from challenges, lay out the plan, surface risks, and request the asks the team needs to execute.",
|
|
6
|
+
"audienceFit": [
|
|
7
|
+
"leadership",
|
|
8
|
+
"executives",
|
|
9
|
+
"cross-functional-partners"
|
|
10
|
+
],
|
|
11
|
+
"durationRange": {
|
|
12
|
+
"minMinutes": 30,
|
|
13
|
+
"maxMinutes": 90
|
|
14
|
+
},
|
|
15
|
+
"tags": [
|
|
16
|
+
"internal",
|
|
17
|
+
"review",
|
|
18
|
+
"operations",
|
|
19
|
+
"reporting"
|
|
20
|
+
],
|
|
21
|
+
"beats": [
|
|
22
|
+
{
|
|
23
|
+
"id": "objectives",
|
|
24
|
+
"name": "Objectives",
|
|
25
|
+
"description": "Open with what this review is for and what decisions you want out of it. Frame the scope and the hour ahead, so the audience knows what they're being asked to weigh in on.",
|
|
26
|
+
"layoutHint": "title-center",
|
|
27
|
+
"instructions": "Set the expectations",
|
|
28
|
+
"slideType": "text"
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"id": "recap",
|
|
32
|
+
"name": "Recap",
|
|
33
|
+
"description": "Briefly remind the audience what the team committed to last quarter and the high-level results against those commitments. Keep it terse — this grounds the review in prior context, but the meat is ahead."
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"id": "performance-headline",
|
|
37
|
+
"name": "Performance Headline",
|
|
38
|
+
"description": "Show the top three to five KPIs with target vs actual and direction-of-travel. One slide that lets a busy executive grasp the quarter's outcome at a glance. Lead with the number, not the methodology."
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"id": "performance-detail",
|
|
42
|
+
"name": "Performance Detail",
|
|
43
|
+
"description": "Drill into the supporting metrics by area or function. One chart per metric; clear y-axis, clear unit, clear comparison period. Call out anomalies before someone else does."
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"id": "wins",
|
|
47
|
+
"name": "Wins",
|
|
48
|
+
"description": "Highlight the quarter's biggest wins and who drove them. Be specific — name the deal, the launch, the customer, the team. Recognition belongs in the deck, not just in the meeting."
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
"id": "challenges",
|
|
52
|
+
"name": "Challenges",
|
|
53
|
+
"description": "Name the misses and headwinds honestly. What didn't work, what's still hard, what got harder. Pretending things are fine costs more credibility than acknowledging they aren't.",
|
|
54
|
+
"instructions": "Address difficulties",
|
|
55
|
+
"slideType": "text",
|
|
56
|
+
"layoutHint": "text-1x-left"
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"id": "insights",
|
|
60
|
+
"name": "Insights",
|
|
61
|
+
"description": "Translate the numbers into 'so what.' What did the data tell you about customers, the market, your operations, your bets? Insights should be opinions backed by evidence, not restatements of the metrics."
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
"id": "priorities",
|
|
65
|
+
"name": "Next-Quarter Priorities",
|
|
66
|
+
"description": "Lay out the next quarter's top priorities. Each should trace clearly back to an insight or commitment. Three to five priorities, max — laundry lists are a tell that the team hasn't decided what matters most."
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
"id": "sequencing",
|
|
70
|
+
"name": "Sequencing",
|
|
71
|
+
"description": "Show the order in which priorities ship and how they fit together. Dependencies, milestones, target dates. The audience should leave able to predict what comes when, not just what."
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
"id": "risks",
|
|
75
|
+
"name": "Risks",
|
|
76
|
+
"description": "Name the risks to the plan honestly. Dependencies, assumptions, capacity gaps, market factors. For each risk, state the mitigation or the open question the audience can help resolve."
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
"id": "asks",
|
|
80
|
+
"name": "Asks",
|
|
81
|
+
"description": "Specific, named requests of the audience. Decisions needed, resources required, escalations to unblock. End with clarity on what happens next and who owns it.",
|
|
82
|
+
"layoutHint": "title-left"
|
|
83
|
+
}
|
|
84
|
+
]
|
|
85
|
+
}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://openpresentation.org/schema/opf-narrative/v1",
|
|
3
|
+
"id": "rags-to-riches",
|
|
4
|
+
"name": "Rags to Riches",
|
|
5
|
+
"summary": "Underdog journey from initial failure to eventual success. Pulls on resilience, grit, and perseverance — useful for founder stories, brand stories, and any deck where the audience needs to feel the cost behind the win.",
|
|
6
|
+
"audienceFit": [
|
|
7
|
+
"general-audience",
|
|
8
|
+
"customers",
|
|
9
|
+
"press",
|
|
10
|
+
"candidates"
|
|
11
|
+
],
|
|
12
|
+
"durationRange": {
|
|
13
|
+
"minMinutes": 5,
|
|
14
|
+
"maxMinutes": 20
|
|
15
|
+
},
|
|
16
|
+
"tags": [
|
|
17
|
+
"storytelling",
|
|
18
|
+
"founder",
|
|
19
|
+
"brand",
|
|
20
|
+
"inspirational"
|
|
21
|
+
],
|
|
22
|
+
"beats": [
|
|
23
|
+
{
|
|
24
|
+
"id": "origin",
|
|
25
|
+
"name": "Origin",
|
|
26
|
+
"description": "Start at the bottom. Describe the humble beginning, the constraint, the moment before anything had been built. Concrete details — a place, a year, a feeling — earn the audience's investment in what follows.",
|
|
27
|
+
"instructions": "Humble beginning",
|
|
28
|
+
"slideType": "text",
|
|
29
|
+
"layoutHint": "text-1x-left"
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"id": "inspiration",
|
|
33
|
+
"name": "Inspiration",
|
|
34
|
+
"description": "Show the moment the protagonist found their calling. A conversation, a customer, a problem they couldn't unsee. The inspiration is the engine that pushes the rest of the story uphill.",
|
|
35
|
+
"instructions": "Discover true calling",
|
|
36
|
+
"slideType": "text",
|
|
37
|
+
"layoutHint": "text-1x-left"
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"id": "opportunity",
|
|
41
|
+
"name": "Opportunity",
|
|
42
|
+
"description": "Reveal the chance the protagonist took. Why this and not something safer? Make the choice visible — opportunities only count when there was something else they passed up to grab them.",
|
|
43
|
+
"instructions": "Spot golden chance",
|
|
44
|
+
"slideType": "text",
|
|
45
|
+
"layoutHint": "text-1x-left"
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"id": "adversity",
|
|
49
|
+
"name": "Adversity",
|
|
50
|
+
"description": "Walk through the hardest stretch. Concrete failures, near-misses, moments of doubt. Resist the temptation to skip past the pain — the audience trusts the win more when the loss was real.",
|
|
51
|
+
"instructions": "Face hardest struggles",
|
|
52
|
+
"slideType": "text",
|
|
53
|
+
"layoutHint": "text-1x-left"
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"id": "overcoming",
|
|
57
|
+
"name": "Overcoming",
|
|
58
|
+
"description": "Show how the obstacles got beaten. What changed, what was learned, what hard call was made. The transition from 'rags' to 'riches' should feel earned, not granted.",
|
|
59
|
+
"instructions": "Surmount tough obstacles",
|
|
60
|
+
"slideType": "text",
|
|
61
|
+
"layoutHint": "text-1x-left"
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
"id": "impactful-change",
|
|
65
|
+
"name": "Impactful Change",
|
|
66
|
+
"description": "Describe the moment the world tipped. The customer who said yes, the product that broke through, the metric that turned. One concrete transformation lands harder than a montage.",
|
|
67
|
+
"instructions": "Alter the status quo",
|
|
68
|
+
"slideType": "text",
|
|
69
|
+
"layoutHint": "text-1x-left"
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"id": "lasting-legacy",
|
|
73
|
+
"name": "Lasting Legacy",
|
|
74
|
+
"description": "Close on what the journey means for those who come next. The lesson, the people changed, the work that endures. Leave the audience with a takeaway that outlives the story.",
|
|
75
|
+
"layoutHint": "title-left",
|
|
76
|
+
"instructions": "Create enduring effect",
|
|
77
|
+
"slideType": "text"
|
|
78
|
+
}
|
|
79
|
+
]
|
|
80
|
+
}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://openpresentation.org/schema/opf-narrative/v1",
|
|
3
|
+
"id": "reveal",
|
|
4
|
+
"name": "Reveal",
|
|
5
|
+
"summary": "Insight-driven keynote arc inspired by Amy Cuddy's 2012 talk on body language: connect through personal story, ground in research, illustrate with anecdote, summarize, break stereotypes, advise, demonstrate authenticity, close with impact. For talks that aim to change how the audience sees something they thought they understood.",
|
|
6
|
+
"audienceFit": [
|
|
7
|
+
"general-audience",
|
|
8
|
+
"academics",
|
|
9
|
+
"professionals"
|
|
10
|
+
],
|
|
11
|
+
"durationRange": {
|
|
12
|
+
"minMinutes": 15,
|
|
13
|
+
"maxMinutes": 25
|
|
14
|
+
},
|
|
15
|
+
"tags": [
|
|
16
|
+
"keynote",
|
|
17
|
+
"research",
|
|
18
|
+
"talk",
|
|
19
|
+
"inspirational"
|
|
20
|
+
],
|
|
21
|
+
"beats": [
|
|
22
|
+
{
|
|
23
|
+
"id": "personal-story",
|
|
24
|
+
"name": "Personal Story",
|
|
25
|
+
"description": "Open with a personal experience that establishes why the topic matters to you. Specificity earns intimacy; intimacy earns the audience's permission to be moved.",
|
|
26
|
+
"instructions": "Share personal experiences to connect with the audience",
|
|
27
|
+
"slideType": "text",
|
|
28
|
+
"layoutHint": "text-1x-left"
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"id": "research-exposition",
|
|
32
|
+
"name": "Research Exposition",
|
|
33
|
+
"description": "Lay out the scientific or empirical data that backs the premise. Be rigorous but not academic — the audience needs to understand the evidence well enough to defend it later.",
|
|
34
|
+
"instructions": "Unravel scientific data backing the premise",
|
|
35
|
+
"slideType": "text",
|
|
36
|
+
"layoutHint": "text-1x-left"
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"id": "real-life-anecdote",
|
|
40
|
+
"name": "Real-Life Anecdote",
|
|
41
|
+
"description": "Illustrate the research with a story from the field. Make the abstract finding feel like something that happens to people the audience could imagine being.",
|
|
42
|
+
"instructions": "Illustrate with stories to make the point relatable",
|
|
43
|
+
"slideType": "text",
|
|
44
|
+
"layoutHint": "text-1x-left"
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"id": "critical-insights",
|
|
48
|
+
"name": "Critical Insights",
|
|
49
|
+
"description": "Summarize the two or three findings the audience must walk away with. Distill them into language a non-specialist could repeat without distortion.",
|
|
50
|
+
"instructions": "Summarize key points",
|
|
51
|
+
"slideType": "text",
|
|
52
|
+
"layoutHint": "text-1x-left"
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
"id": "break-stereotypes",
|
|
56
|
+
"name": "Break Stereotypes",
|
|
57
|
+
"description": "Question redundant norms or beliefs the research undermines. Be specific about what's being challenged so the audience knows what to update.",
|
|
58
|
+
"instructions": "Question redundant norms and belief systems",
|
|
59
|
+
"slideType": "text",
|
|
60
|
+
"layoutHint": "text-1x-left"
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
"id": "empowering-advice",
|
|
64
|
+
"name": "Empowering Advice",
|
|
65
|
+
"description": "Translate the insights into a small, actionable practice. The advice should be doable today, not only next quarter — the goal is movement, not aspiration.",
|
|
66
|
+
"instructions": "Motivational message to act upon",
|
|
67
|
+
"slideType": "text",
|
|
68
|
+
"layoutHint": "text-1x-left"
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
"id": "authenticity",
|
|
72
|
+
"name": "Authenticity",
|
|
73
|
+
"description": "Speak honestly about your own struggle with the topic. Vulnerability, used with restraint, is what turns research into a felt truth.",
|
|
74
|
+
"instructions": "Honest and real communication to demonstrate authenticity",
|
|
75
|
+
"slideType": "text",
|
|
76
|
+
"layoutHint": "text-1x-left"
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
"id": "close-with-impact",
|
|
80
|
+
"name": "Close With Impact",
|
|
81
|
+
"description": "End on a motivational high — the line, image, or invitation you want to follow the audience out of the room. Close the talk where it began, transformed.",
|
|
82
|
+
"layoutHint": "title-left",
|
|
83
|
+
"instructions": "End on a motivational high",
|
|
84
|
+
"slideType": "text"
|
|
85
|
+
}
|
|
86
|
+
]
|
|
87
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://openpresentation.org/schema/opf-narrative/v1",
|
|
3
|
+
"id": "scqa",
|
|
4
|
+
"name": "SCQA (Situation–Complication–Question–Answer)",
|
|
5
|
+
"summary": "Barbara Minto's pyramid-principle arc: surface the recommendation up front, then layer key arguments and supporting evidence beneath it. The default for executive memos, strategic recommendations, and consulting decks where the audience needs the answer fast.",
|
|
6
|
+
"audienceFit": [
|
|
7
|
+
"executives",
|
|
8
|
+
"boards",
|
|
9
|
+
"leadership-teams"
|
|
10
|
+
],
|
|
11
|
+
"durationRange": {
|
|
12
|
+
"minMinutes": 5,
|
|
13
|
+
"maxMinutes": 20
|
|
14
|
+
},
|
|
15
|
+
"tags": [
|
|
16
|
+
"executive",
|
|
17
|
+
"strategy",
|
|
18
|
+
"consulting",
|
|
19
|
+
"minto",
|
|
20
|
+
"pyramid"
|
|
21
|
+
],
|
|
22
|
+
"beats": [
|
|
23
|
+
{
|
|
24
|
+
"id": "situation",
|
|
25
|
+
"name": "Situation",
|
|
26
|
+
"description": "Establish the shared context: what is true today that the audience already agrees on. State only facts the audience accepts without argument. The goal is alignment, not persuasion — you are setting the stage."
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"id": "complication",
|
|
30
|
+
"name": "Complication",
|
|
31
|
+
"description": "Introduce the disturbance to the situation: what changed, what is at risk, what is no longer working. This is the tension that makes the audience lean in. Be specific and quantify the change where possible."
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"id": "question",
|
|
35
|
+
"name": "Key Question",
|
|
36
|
+
"description": "Surface the question the complication forces the audience to answer. Frame it explicitly — 'Should we…?', 'How do we…?', 'What changes if…?'. The question should feel inevitable given the complication."
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"id": "answer",
|
|
40
|
+
"name": "Answer",
|
|
41
|
+
"description": "Deliver the recommendation in a single sentence, up front. No arguments yet, no caveats — just the conclusion the rest of the deck will defend. This is the apex of the Minto pyramid; everything that follows supports it.",
|
|
42
|
+
"layoutHint": "title-left"
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"id": "key-arguments",
|
|
46
|
+
"name": "Key Arguments",
|
|
47
|
+
"description": "Lay out the two or three top-level reasons the answer is correct. One slide per argument, or one summary slide naming all of them. Each argument should stand alone as a compelling reason; together they should be exhaustive of the case."
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"id": "supporting-evidence",
|
|
51
|
+
"name": "Supporting Evidence",
|
|
52
|
+
"description": "Present the data, examples, and case studies that ground each argument. Pyramid-principle style: every claim above is backed by something verifiable here. Cite sources; show the numbers; let the evidence carry the weight."
|
|
53
|
+
}
|
|
54
|
+
]
|
|
55
|
+
}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://openpresentation.org/schema/opf-narrative/v1",
|
|
3
|
+
"id": "status-update",
|
|
4
|
+
"name": "Status Update",
|
|
5
|
+
"summary": "Concise progress-report arc for keeping a stakeholder informed: headline, brief, progress, results, plan, feedback. Optimized for short, repeated updates rather than one-time deep dives.",
|
|
6
|
+
"audienceFit": [
|
|
7
|
+
"stakeholders",
|
|
8
|
+
"managers",
|
|
9
|
+
"customers",
|
|
10
|
+
"executives"
|
|
11
|
+
],
|
|
12
|
+
"durationRange": {
|
|
13
|
+
"minMinutes": 5,
|
|
14
|
+
"maxMinutes": 15
|
|
15
|
+
},
|
|
16
|
+
"tags": [
|
|
17
|
+
"reporting",
|
|
18
|
+
"operations",
|
|
19
|
+
"customer-relationship",
|
|
20
|
+
"weekly"
|
|
21
|
+
],
|
|
22
|
+
"beats": [
|
|
23
|
+
{
|
|
24
|
+
"id": "headline",
|
|
25
|
+
"name": "Headline",
|
|
26
|
+
"description": "Open with the single most important sentence the audience needs to know — on track, off track, or shifted. The headline replaces 'how's it going' with a clear answer.",
|
|
27
|
+
"layoutHint": "title-left",
|
|
28
|
+
"instructions": "Title & date",
|
|
29
|
+
"slideType": "text"
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"id": "brief",
|
|
33
|
+
"name": "Brief",
|
|
34
|
+
"description": "State the objective for the period and what was promised. One slide, three lines. Frames the rest of the update so progress is read against a clear bar.",
|
|
35
|
+
"instructions": "Summary/objectives",
|
|
36
|
+
"slideType": "text",
|
|
37
|
+
"layoutHint": "text-1x-left"
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"id": "progress",
|
|
41
|
+
"name": "Progress",
|
|
42
|
+
"description": "Walk through the actions taken since the last update. Specific, attributable, dated. Avoid effort theater — list outcomes and material moves, not activity for its own sake.",
|
|
43
|
+
"instructions": "Explain actions taken",
|
|
44
|
+
"slideType": "text",
|
|
45
|
+
"layoutHint": "text-1x-left"
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"id": "results",
|
|
49
|
+
"name": "Results",
|
|
50
|
+
"description": "Show the outcomes those actions produced. Metrics, customer signals, decisions made. Keep the comparison crisp — versus plan, versus last period, versus benchmark.",
|
|
51
|
+
"instructions": "Show outcomes",
|
|
52
|
+
"slideType": "text",
|
|
53
|
+
"layoutHint": "text-1x-left"
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"id": "action-plan",
|
|
57
|
+
"name": "Action Plan",
|
|
58
|
+
"description": "Outline the next steps and who owns them. Be specific about the next decision point and what would have to happen to slip the schedule.",
|
|
59
|
+
"instructions": "Outline next steps",
|
|
60
|
+
"slideType": "text",
|
|
61
|
+
"layoutHint": "text-1x-left"
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
"id": "feedback",
|
|
65
|
+
"name": "Feedback",
|
|
66
|
+
"description": "Invite the audience to weigh in: where you'd like input, where you need a decision, where help would unblock you. End the update with an open hand, not a closed file.",
|
|
67
|
+
"layoutHint": "title-left",
|
|
68
|
+
"instructions": "Ask for response",
|
|
69
|
+
"slideType": "text"
|
|
70
|
+
}
|
|
71
|
+
]
|
|
72
|
+
}
|