@openpresentation/opf 0.1.0 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -21
- package/README.md +146 -103
- package/dist/catalogs.d.ts +11 -1531
- package/dist/catalogs.js +5 -613
- package/dist/catalogs.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.js +3831 -649
- package/dist/index.js.map +1 -1
- package/dist/previews.d.ts +40 -0
- package/dist/previews.js +447 -0
- package/dist/previews.js.map +1 -0
- package/dist/schemas.d.ts +105 -105
- package/dist/schemas.js +35 -35
- package/dist/schemas.js.map +1 -1
- package/dist/spec/catalogs/audiences/all-hands.json +23 -23
- package/dist/spec/catalogs/audiences/board.json +22 -22
- package/dist/spec/catalogs/audiences/candidates.json +23 -23
- package/dist/spec/catalogs/audiences/customers.json +23 -23
- package/dist/spec/catalogs/audiences/engineering-team.json +23 -23
- package/dist/spec/catalogs/audiences/executives.json +23 -23
- package/dist/spec/catalogs/audiences/index.json +67 -67
- package/dist/spec/catalogs/audiences/investors.json +23 -23
- package/dist/spec/catalogs/audiences/marketing-team.json +23 -23
- package/dist/spec/catalogs/audiences/regulators.json +23 -23
- package/dist/spec/catalogs/audiences/sales-team.json +23 -23
- package/dist/spec/catalogs/chart-types/100pct-bullet-bar-2x.json +86 -90
- package/dist/spec/catalogs/chart-types/100pct-bullet-bar-3x.json +98 -102
- package/dist/spec/catalogs/chart-types/100pct-bullet-bar.json +74 -78
- package/dist/spec/catalogs/chart-types/100pct-bullet-column-2x.json +86 -90
- package/dist/spec/catalogs/chart-types/100pct-bullet-column-3x.json +98 -102
- package/dist/spec/catalogs/chart-types/100pct-bullet-column.json +74 -78
- package/dist/spec/catalogs/chart-types/100pct-progress-bar.json +95 -99
- package/dist/spec/catalogs/chart-types/100pct-stacked-area-2x.json +96 -100
- package/dist/spec/catalogs/chart-types/100pct-stacked-area-3x.json +118 -122
- package/dist/spec/catalogs/chart-types/100pct-stacked-bar-2x.json +79 -83
- package/dist/spec/catalogs/chart-types/100pct-stacked-bar-3x.json +95 -99
- package/dist/spec/catalogs/chart-types/100pct-stacked-column-2x.json +85 -89
- package/dist/spec/catalogs/chart-types/100pct-stacked-column-3x.json +103 -107
- package/dist/spec/catalogs/chart-types/area.json +73 -77
- package/dist/spec/catalogs/chart-types/australia.json +66 -70
- package/dist/spec/catalogs/chart-types/bar.json +63 -67
- package/dist/spec/catalogs/chart-types/box-and-whisker-2x.json +126 -130
- package/dist/spec/catalogs/chart-types/box-and-whisker-3x.json +158 -162
- package/dist/spec/catalogs/chart-types/box-and-whisker.json +94 -98
- package/dist/spec/catalogs/chart-types/bullet-bar-2x.json +84 -88
- package/dist/spec/catalogs/chart-types/bullet-bar-3x.json +96 -100
- package/dist/spec/catalogs/chart-types/bullet-bar.json +72 -76
- package/dist/spec/catalogs/chart-types/bullet-column-2x.json +84 -88
- package/dist/spec/catalogs/chart-types/bullet-column-3x.json +96 -100
- package/dist/spec/catalogs/chart-types/bullet-column.json +72 -76
- package/dist/spec/catalogs/chart-types/canada.json +76 -80
- package/dist/spec/catalogs/chart-types/clustered-bar-2x.json +79 -83
- package/dist/spec/catalogs/chart-types/clustered-column.json +85 -89
- package/dist/spec/catalogs/chart-types/column.json +67 -71
- package/dist/spec/catalogs/chart-types/dot-plot-2x.json +94 -98
- package/dist/spec/catalogs/chart-types/dot-plot-3x.json +119 -123
- package/dist/spec/catalogs/chart-types/dot-plot-4x.json +144 -148
- package/dist/spec/catalogs/chart-types/dot-plot-5x.json +169 -173
- package/dist/spec/catalogs/chart-types/dot-plot-6x.json +194 -198
- package/dist/spec/catalogs/chart-types/dot-plot.json +69 -73
- package/dist/spec/catalogs/chart-types/doughnut.json +53 -57
- package/dist/spec/catalogs/chart-types/dumbbell.json +115 -119
- package/dist/spec/catalogs/chart-types/filled-radar.json +66 -70
- package/dist/spec/catalogs/chart-types/funnel.json +60 -64
- package/dist/spec/catalogs/chart-types/histogram.json +141 -145
- package/dist/spec/catalogs/chart-types/index.json +539 -843
- package/dist/spec/catalogs/chart-types/line-2x.json +95 -99
- package/dist/spec/catalogs/chart-types/line-3x.json +117 -121
- package/dist/spec/catalogs/chart-types/line-with-high-low-and-markers.json +139 -143
- package/dist/spec/catalogs/chart-types/line-with-high-low.json +139 -143
- package/dist/spec/catalogs/chart-types/line-with-markers-2x.json +96 -100
- package/dist/spec/catalogs/chart-types/line-with-markers-3x.json +118 -122
- package/dist/spec/catalogs/chart-types/line-with-markers.json +74 -78
- package/dist/spec/catalogs/chart-types/line.json +73 -77
- package/dist/spec/catalogs/chart-types/pareto.json +159 -163
- package/dist/spec/catalogs/chart-types/pie.json +53 -57
- package/dist/spec/catalogs/chart-types/radar-with-markers.json +66 -70
- package/dist/spec/catalogs/chart-types/radar.json +66 -70
- package/dist/spec/catalogs/chart-types/scatter.json +87 -91
- package/dist/spec/catalogs/chart-types/sparkline-2x.json +133 -137
- package/dist/spec/catalogs/chart-types/sparkline-3x.json +169 -173
- package/dist/spec/catalogs/chart-types/sparkline-4x.json +205 -209
- package/dist/spec/catalogs/chart-types/sparkline-5x.json +241 -245
- package/dist/spec/catalogs/chart-types/sparkline-6x.json +277 -281
- package/dist/spec/catalogs/chart-types/sparkline.json +97 -101
- package/dist/spec/catalogs/chart-types/stacked-area-2x.json +96 -100
- package/dist/spec/catalogs/chart-types/stacked-area-3x.json +118 -122
- package/dist/spec/catalogs/chart-types/stacked-bar-2x.json +79 -83
- package/dist/spec/catalogs/chart-types/stacked-bar-3x.json +95 -99
- package/dist/spec/catalogs/chart-types/stacked-column-2x.json +85 -89
- package/dist/spec/catalogs/chart-types/stacked-column-3x.json +103 -107
- package/dist/spec/catalogs/chart-types/stacked-line-2x.json +96 -100
- package/dist/spec/catalogs/chart-types/stacked-line-3x.json +118 -122
- package/dist/spec/catalogs/chart-types/stacked-line-with-markers-2x.json +97 -101
- package/dist/spec/catalogs/chart-types/stacked-line-with-markers-3x.json +119 -123
- package/dist/spec/catalogs/chart-types/treemap-2x.json +91 -95
- package/dist/spec/catalogs/chart-types/treemap-3x.json +112 -116
- package/dist/spec/catalogs/chart-types/treemap.json +62 -66
- package/dist/spec/catalogs/chart-types/{united-kindom.json → united-kingdom.json} +58 -62
- package/dist/spec/catalogs/chart-types/united-states.json +72 -76
- package/dist/spec/catalogs/chart-types/waterfall.json +66 -70
- package/dist/spec/catalogs/chart-types/world.json +78 -82
- package/dist/spec/catalogs/color-schemes/black-and-white.json +17 -17
- package/dist/spec/catalogs/color-schemes/bold-red.json +17 -17
- package/dist/spec/catalogs/color-schemes/boost.json +17 -17
- package/dist/spec/catalogs/color-schemes/burnt-orange.json +17 -17
- package/dist/spec/catalogs/color-schemes/cool-horizon.json +17 -17
- package/dist/spec/catalogs/color-schemes/corporate-blue.json +17 -17
- package/dist/spec/catalogs/color-schemes/deep-purple.json +17 -17
- package/dist/spec/catalogs/color-schemes/forest-green.json +17 -17
- package/dist/spec/catalogs/color-schemes/golden-yellow.json +17 -17
- package/dist/spec/catalogs/color-schemes/index.json +77 -77
- package/dist/spec/catalogs/color-schemes/luxury.json +17 -17
- package/dist/spec/catalogs/color-schemes/pastel-red.json +17 -17
- package/dist/spec/catalogs/color-schemes/slate-gray.json +17 -17
- package/dist/spec/catalogs/color-schemes/steel-blue.json +17 -17
- package/dist/spec/catalogs/color-schemes/vibes.json +17 -17
- package/dist/spec/catalogs/font-schemes/angsana-new.json +14 -14
- package/dist/spec/catalogs/font-schemes/aparajita.json +15 -15
- package/dist/spec/catalogs/font-schemes/aptos.json +12 -12
- package/dist/spec/catalogs/font-schemes/arabic-typesetting.json +14 -14
- package/dist/spec/catalogs/font-schemes/arial.json +12 -12
- package/dist/spec/catalogs/font-schemes/batang.json +14 -14
- package/dist/spec/catalogs/font-schemes/bookman.json +12 -12
- package/dist/spec/catalogs/font-schemes/calibri.json +12 -12
- package/dist/spec/catalogs/font-schemes/century-schoolbook.json +12 -12
- package/dist/spec/catalogs/font-schemes/consolas.json +12 -12
- package/dist/spec/catalogs/font-schemes/constantia.json +12 -12
- package/dist/spec/catalogs/font-schemes/courier-new.json +12 -12
- package/dist/spec/catalogs/font-schemes/daunpenh.json +14 -14
- package/dist/spec/catalogs/font-schemes/david.json +14 -14
- package/dist/spec/catalogs/font-schemes/dilleniaupc.json +14 -14
- package/dist/spec/catalogs/font-schemes/fangsong.json +14 -14
- package/dist/spec/catalogs/font-schemes/garamond.json +12 -12
- package/dist/spec/catalogs/font-schemes/gautami.json +14 -14
- package/dist/spec/catalogs/font-schemes/georgia.json +12 -12
- package/dist/spec/catalogs/font-schemes/gisha.json +15 -15
- package/dist/spec/catalogs/font-schemes/grandview.json +12 -12
- package/dist/spec/catalogs/font-schemes/gungsuh.json +14 -14
- package/dist/spec/catalogs/font-schemes/impact.json +12 -12
- package/dist/spec/catalogs/font-schemes/index.json +452 -452
- package/dist/spec/catalogs/font-schemes/kalinga.json +14 -14
- package/dist/spec/catalogs/font-schemes/kartika.json +14 -14
- package/dist/spec/catalogs/font-schemes/khmer-ui.json +14 -14
- package/dist/spec/catalogs/font-schemes/latha.json +14 -14
- package/dist/spec/catalogs/font-schemes/lucida-sans.json +12 -12
- package/dist/spec/catalogs/font-schemes/malgun-gothic.json +14 -14
- package/dist/spec/catalogs/font-schemes/mangal.json +17 -17
- package/dist/spec/catalogs/font-schemes/meiryo.json +14 -14
- package/dist/spec/catalogs/font-schemes/microsoft-jhenghei.json +14 -14
- package/dist/spec/catalogs/font-schemes/microsoft-yahei.json +17 -17
- package/dist/spec/catalogs/font-schemes/mingliu.json +14 -14
- package/dist/spec/catalogs/font-schemes/miriam.json +14 -14
- package/dist/spec/catalogs/font-schemes/montserrat.json +12 -12
- package/dist/spec/catalogs/font-schemes/ms-mincho.json +14 -14
- package/dist/spec/catalogs/font-schemes/nirmala-ui.json +14 -14
- package/dist/spec/catalogs/font-schemes/noto-naksh-arabic.json +14 -14
- package/dist/spec/catalogs/font-schemes/noto-nastaliq-urdu.json +15 -15
- package/dist/spec/catalogs/font-schemes/noto-sans-arabic.json +16 -16
- package/dist/spec/catalogs/font-schemes/noto-sans-armenian.json +14 -14
- package/dist/spec/catalogs/font-schemes/noto-sans-bengali.json +15 -15
- package/dist/spec/catalogs/font-schemes/noto-sans-devangari.json +15 -15
- package/dist/spec/catalogs/font-schemes/noto-sans-ethiopic.json +14 -14
- package/dist/spec/catalogs/font-schemes/noto-sans-georgian.json +14 -14
- package/dist/spec/catalogs/font-schemes/noto-sans-gujarati.json +14 -14
- package/dist/spec/catalogs/font-schemes/noto-sans-gurmukhi.json +14 -14
- package/dist/spec/catalogs/font-schemes/noto-sans-hebrew.json +14 -14
- package/dist/spec/catalogs/font-schemes/noto-sans-jp.json +14 -14
- package/dist/spec/catalogs/font-schemes/noto-sans-kannada.json +14 -14
- package/dist/spec/catalogs/font-schemes/noto-sans-khmer.json +14 -14
- package/dist/spec/catalogs/font-schemes/noto-sans-kr.json +14 -14
- package/dist/spec/catalogs/font-schemes/noto-sans-malayalam.json +14 -14
- package/dist/spec/catalogs/font-schemes/noto-sans-mongolian.json +14 -14
- package/dist/spec/catalogs/font-schemes/noto-sans-oriya.json +14 -14
- package/dist/spec/catalogs/font-schemes/noto-sans-sc.json +17 -17
- package/dist/spec/catalogs/font-schemes/noto-sans-tamil.json +14 -14
- package/dist/spec/catalogs/font-schemes/noto-sans-tc.json +14 -14
- package/dist/spec/catalogs/font-schemes/noto-sans-telugu.json +14 -14
- package/dist/spec/catalogs/font-schemes/noto-sans-thai.json +14 -14
- package/dist/spec/catalogs/font-schemes/noto-sans.json +17 -17
- package/dist/spec/catalogs/font-schemes/nyala.json +14 -14
- package/dist/spec/catalogs/font-schemes/open-sans.json +12 -12
- package/dist/spec/catalogs/font-schemes/pmingliu.json +14 -14
- package/dist/spec/catalogs/font-schemes/poppins.json +12 -12
- package/dist/spec/catalogs/font-schemes/pt-serif.json +12 -12
- package/dist/spec/catalogs/font-schemes/raavi.json +14 -14
- package/dist/spec/catalogs/font-schemes/raleway.json +12 -12
- package/dist/spec/catalogs/font-schemes/roboto.json +12 -12
- package/dist/spec/catalogs/font-schemes/rockwell.json +12 -12
- package/dist/spec/catalogs/font-schemes/sakkal-majalla.json +16 -16
- package/dist/spec/catalogs/font-schemes/seaford.json +12 -12
- package/dist/spec/catalogs/font-schemes/segoe-ui-light.json +12 -12
- package/dist/spec/catalogs/font-schemes/segoe-ui.json +12 -12
- package/dist/spec/catalogs/font-schemes/shonar-bangla.json +15 -15
- package/dist/spec/catalogs/font-schemes/shruti.json +14 -14
- package/dist/spec/catalogs/font-schemes/simsun.json +14 -14
- package/dist/spec/catalogs/font-schemes/skeena.json +12 -12
- package/dist/spec/catalogs/font-schemes/sylfaen.json +15 -15
- package/dist/spec/catalogs/font-schemes/tahoma.json +12 -12
- package/dist/spec/catalogs/font-schemes/tenorite.json +12 -12
- package/dist/spec/catalogs/font-schemes/times-new-roman.json +12 -12
- package/dist/spec/catalogs/font-schemes/traditional-arabic.json +16 -16
- package/dist/spec/catalogs/font-schemes/trebuchet-ms.json +12 -12
- package/dist/spec/catalogs/font-schemes/tunga.json +14 -14
- package/dist/spec/catalogs/font-schemes/verdana.json +12 -12
- package/dist/spec/catalogs/font-schemes/vrinda.json +14 -14
- package/dist/spec/catalogs/font-schemes/yu-gothic.json +14 -14
- package/dist/spec/catalogs/languages/afrikaans.json +9 -9
- package/dist/spec/catalogs/languages/albanian.json +9 -9
- package/dist/spec/catalogs/languages/amharic.json +9 -9
- package/dist/spec/catalogs/languages/arabic.json +9 -9
- package/dist/spec/catalogs/languages/armenian.json +9 -9
- package/dist/spec/catalogs/languages/aymara.json +9 -9
- package/dist/spec/catalogs/languages/azerbaijani.json +9 -9
- package/dist/spec/catalogs/languages/bengali.json +9 -9
- package/dist/spec/catalogs/languages/berber-latin.json +9 -9
- package/dist/spec/catalogs/languages/bosnian-latin.json +9 -9
- package/dist/spec/catalogs/languages/bulgarian.json +9 -9
- package/dist/spec/catalogs/languages/catalan.json +9 -9
- package/dist/spec/catalogs/languages/cebuano.json +9 -9
- package/dist/spec/catalogs/languages/chinese-simplified.json +9 -9
- package/dist/spec/catalogs/languages/chinese-traditional.json +9 -9
- package/dist/spec/catalogs/languages/chittagonian.json +9 -9
- package/dist/spec/catalogs/languages/croatian.json +9 -9
- package/dist/spec/catalogs/languages/czech.json +9 -9
- package/dist/spec/catalogs/languages/danish.json +9 -9
- package/dist/spec/catalogs/languages/dutch.json +9 -9
- package/dist/spec/catalogs/languages/english-au.json +9 -9
- package/dist/spec/catalogs/languages/english-ca.json +9 -9
- package/dist/spec/catalogs/languages/english-gb.json +9 -9
- package/dist/spec/catalogs/languages/english-in.json +9 -9
- package/dist/spec/catalogs/languages/english-us.json +9 -9
- package/dist/spec/catalogs/languages/english.json +9 -9
- package/dist/spec/catalogs/languages/estonian.json +9 -9
- package/dist/spec/catalogs/languages/filipino.json +9 -9
- package/dist/spec/catalogs/languages/finnish.json +9 -9
- package/dist/spec/catalogs/languages/french.json +9 -9
- package/dist/spec/catalogs/languages/fulfulde.json +9 -9
- package/dist/spec/catalogs/languages/galician.json +9 -9
- package/dist/spec/catalogs/languages/georgian.json +9 -9
- package/dist/spec/catalogs/languages/german.json +9 -9
- package/dist/spec/catalogs/languages/greek.json +9 -9
- package/dist/spec/catalogs/languages/gujarati.json +9 -9
- package/dist/spec/catalogs/languages/hausa.json +9 -9
- package/dist/spec/catalogs/languages/hebrew.json +9 -9
- package/dist/spec/catalogs/languages/hindi.json +9 -9
- package/dist/spec/catalogs/languages/hungarian.json +9 -9
- package/dist/spec/catalogs/languages/igbo.json +9 -9
- package/dist/spec/catalogs/languages/index.json +565 -565
- package/dist/spec/catalogs/languages/indonesian.json +9 -9
- package/dist/spec/catalogs/languages/italian.json +9 -9
- package/dist/spec/catalogs/languages/japanese.json +9 -9
- package/dist/spec/catalogs/languages/kannada.json +9 -9
- package/dist/spec/catalogs/languages/kazakh.json +9 -9
- package/dist/spec/catalogs/languages/khmer.json +9 -9
- package/dist/spec/catalogs/languages/kinyarwanda.json +9 -9
- package/dist/spec/catalogs/languages/korean.json +9 -9
- package/dist/spec/catalogs/languages/kurmanji.json +9 -9
- package/dist/spec/catalogs/languages/latvian.json +9 -9
- package/dist/spec/catalogs/languages/lithuanian.json +9 -9
- package/dist/spec/catalogs/languages/macedonian.json +9 -9
- package/dist/spec/catalogs/languages/malagasy.json +9 -9
- package/dist/spec/catalogs/languages/malay.json +9 -9
- package/dist/spec/catalogs/languages/malayalam.json +9 -9
- package/dist/spec/catalogs/languages/maori.json +9 -9
- package/dist/spec/catalogs/languages/marathi.json +9 -9
- package/dist/spec/catalogs/languages/mongolian.json +9 -9
- package/dist/spec/catalogs/languages/nepali.json +9 -9
- package/dist/spec/catalogs/languages/norwegian.json +9 -9
- package/dist/spec/catalogs/languages/odia.json +9 -9
- package/dist/spec/catalogs/languages/oromo.json +9 -9
- package/dist/spec/catalogs/languages/pashto.json +9 -9
- package/dist/spec/catalogs/languages/persian.json +9 -9
- package/dist/spec/catalogs/languages/polish.json +9 -9
- package/dist/spec/catalogs/languages/portuguese.json +9 -9
- package/dist/spec/catalogs/languages/punjabi-gurmukhi.json +9 -9
- package/dist/spec/catalogs/languages/punjabi-shahmukhi.json +9 -9
- package/dist/spec/catalogs/languages/romanian.json +9 -9
- package/dist/spec/catalogs/languages/russian.json +9 -9
- package/dist/spec/catalogs/languages/serbian-cyrillic.json +9 -9
- package/dist/spec/catalogs/languages/serbian-latin.json +9 -9
- package/dist/spec/catalogs/languages/shona.json +9 -9
- package/dist/spec/catalogs/languages/slovak.json +9 -9
- package/dist/spec/catalogs/languages/slovenian.json +9 -9
- package/dist/spec/catalogs/languages/somali.json +9 -9
- package/dist/spec/catalogs/languages/spanish.json +9 -9
- package/dist/spec/catalogs/languages/swahili.json +9 -9
- package/dist/spec/catalogs/languages/swedish.json +9 -9
- package/dist/spec/catalogs/languages/tagalog.json +9 -9
- package/dist/spec/catalogs/languages/tajik.json +9 -9
- package/dist/spec/catalogs/languages/tamil.json +9 -9
- package/dist/spec/catalogs/languages/telugu.json +9 -9
- package/dist/spec/catalogs/languages/thai.json +9 -9
- package/dist/spec/catalogs/languages/turkish.json +9 -9
- package/dist/spec/catalogs/languages/ukrainian.json +9 -9
- package/dist/spec/catalogs/languages/urdu.json +9 -9
- package/dist/spec/catalogs/languages/uzbek-latin.json +9 -9
- package/dist/spec/catalogs/languages/vietnamese-quoc-ngu.json +9 -9
- package/dist/spec/catalogs/languages/xhosa.json +9 -9
- package/dist/spec/catalogs/languages/yoruba.json +9 -9
- package/dist/spec/catalogs/languages/zulu.json +9 -9
- package/dist/spec/catalogs/layouts/blank.json +6 -6
- package/dist/spec/catalogs/layouts/chart-1x.json +16 -16
- package/dist/spec/catalogs/layouts/chart-2x.json +22 -22
- package/dist/spec/catalogs/layouts/chart-3x.json +28 -28
- package/dist/spec/catalogs/layouts/code-1x.json +16 -16
- package/dist/spec/catalogs/layouts/extract/canonical.json +487 -487
- package/dist/spec/catalogs/layouts/image-1x.json +16 -16
- package/dist/spec/catalogs/layouts/image-2x.json +22 -22
- package/dist/spec/catalogs/layouts/image-3x.json +28 -28
- package/dist/spec/catalogs/layouts/image-bleed.json +10 -10
- package/dist/spec/catalogs/layouts/index.json +147 -147
- package/dist/spec/catalogs/layouts/list-1x.json +13 -13
- package/dist/spec/catalogs/layouts/list-2x.json +16 -16
- package/dist/spec/catalogs/layouts/list-3x.json +19 -19
- package/dist/spec/catalogs/layouts/list-4x.json +22 -22
- package/dist/spec/catalogs/layouts/list-5x.json +25 -25
- package/dist/spec/catalogs/layouts/list-6x.json +28 -28
- package/dist/spec/catalogs/layouts/media-1x.json +16 -16
- package/dist/spec/catalogs/layouts/number-1x.json +13 -13
- package/dist/spec/catalogs/layouts/number-2x.json +16 -16
- package/dist/spec/catalogs/layouts/number-3x.json +19 -19
- package/dist/spec/catalogs/layouts/number-4x.json +22 -22
- package/dist/spec/catalogs/layouts/number-5x.json +25 -25
- package/dist/spec/catalogs/layouts/number-6x.json +28 -28
- package/dist/spec/catalogs/layouts/table-1x.json +16 -16
- package/dist/spec/catalogs/layouts/text-1x.json +13 -13
- package/dist/spec/catalogs/layouts/text-2x.json +16 -16
- package/dist/spec/catalogs/layouts/text-3x.json +19 -19
- package/dist/spec/catalogs/layouts/title-subtitle.json +13 -13
- package/dist/spec/catalogs/layouts/title.json +10 -10
- package/dist/spec/catalogs/narratives/board-meeting.json +192 -192
- package/dist/spec/catalogs/narratives/business-narrative.json +87 -87
- package/dist/spec/catalogs/narratives/business-review.json +119 -119
- package/dist/spec/catalogs/narratives/capacity-planning.json +88 -88
- package/dist/spec/catalogs/narratives/challenge-resolution.json +80 -80
- package/dist/spec/catalogs/narratives/classic-story.json +78 -78
- package/dist/spec/catalogs/narratives/company-intro.json +96 -96
- package/dist/spec/catalogs/narratives/conference-talk.json +54 -54
- package/dist/spec/catalogs/narratives/early-startup-pitch.json +119 -119
- package/dist/spec/catalogs/narratives/educate.json +95 -95
- package/dist/spec/catalogs/narratives/employee-review.json +87 -87
- package/dist/spec/catalogs/narratives/failure-analysis.json +104 -104
- package/dist/spec/catalogs/narratives/focus.json +120 -120
- package/dist/spec/catalogs/narratives/golden-circle.json +50 -50
- package/dist/spec/catalogs/narratives/index.json +358 -358
- package/dist/spec/catalogs/narratives/innovation.json +96 -96
- package/dist/spec/catalogs/narratives/justice.json +112 -112
- package/dist/spec/catalogs/narratives/marketing-strategy.json +111 -111
- package/dist/spec/catalogs/narratives/performance-improvement-plan.json +87 -87
- package/dist/spec/catalogs/narratives/performance-review.json +111 -111
- package/dist/spec/catalogs/narratives/persuade.json +94 -94
- package/dist/spec/catalogs/narratives/persuasive-sales.json +87 -87
- package/dist/spec/catalogs/narratives/pitch-deck.json +107 -107
- package/dist/spec/catalogs/narratives/problem-solution.json +61 -61
- package/dist/spec/catalogs/narratives/product-launch.json +104 -104
- package/dist/spec/catalogs/narratives/project-proposal.json +104 -104
- package/dist/spec/catalogs/narratives/qbr.json +85 -85
- package/dist/spec/catalogs/narratives/rags-to-riches.json +80 -80
- package/dist/spec/catalogs/narratives/reveal.json +87 -87
- package/dist/spec/catalogs/narratives/scqa.json +55 -55
- package/dist/spec/catalogs/narratives/status-update.json +72 -72
- package/dist/spec/catalogs/narratives/strategic-advisory.json +85 -85
- package/dist/spec/catalogs/narratives/strategic-narrative.json +61 -61
- package/dist/spec/catalogs/narratives/survey-analysis.json +104 -104
- package/dist/spec/catalogs/narratives/survival-story.json +103 -103
- package/dist/spec/catalogs/narratives/transformation-arc.json +50 -50
- package/dist/spec/catalogs/narratives/trend-analysis.json +79 -79
- package/dist/spec/catalogs/narratives/underdog-victory.json +87 -87
- package/dist/spec/catalogs/narratives/venture-pitch.json +109 -109
- package/dist/spec/catalogs/narratives/weekly-progress.json +103 -103
- package/dist/spec/catalogs/purposes/align.json +16 -16
- package/dist/spec/catalogs/purposes/decide.json +16 -16
- package/dist/spec/catalogs/purposes/educate.json +16 -16
- package/dist/spec/catalogs/purposes/index.json +61 -61
- package/dist/spec/catalogs/purposes/inform.json +16 -16
- package/dist/spec/catalogs/purposes/persuade.json +16 -16
- package/dist/spec/catalogs/purposes/pitch.json +16 -16
- package/dist/spec/catalogs/purposes/plan.json +16 -16
- package/dist/spec/catalogs/purposes/report.json +16 -16
- package/dist/spec/catalogs/purposes/sell.json +16 -16
- package/dist/spec/catalogs/social-platforms/bluesky.json +14 -14
- package/dist/spec/catalogs/social-platforms/facebook.json +14 -14
- package/dist/spec/catalogs/social-platforms/github.json +15 -15
- package/dist/spec/catalogs/social-platforms/index.json +68 -68
- package/dist/spec/catalogs/social-platforms/instagram.json +13 -13
- package/dist/spec/catalogs/social-platforms/linkedin.json +15 -15
- package/dist/spec/catalogs/social-platforms/mastodon.json +14 -14
- package/dist/spec/catalogs/social-platforms/threads.json +13 -13
- package/dist/spec/catalogs/social-platforms/tiktok.json +14 -14
- package/dist/spec/catalogs/social-platforms/x.json +14 -14
- package/dist/spec/catalogs/social-platforms/youtube.json +14 -14
- package/dist/spec/catalogs/themes/bold.json +13 -13
- package/dist/spec/catalogs/themes/classic.json +13 -13
- package/dist/spec/catalogs/themes/dark.json +13 -13
- package/dist/spec/catalogs/themes/index.json +31 -31
- package/dist/spec/catalogs/themes/minimal.json +13 -13
- package/dist/spec/catalogs/tones/authoritative.json +31 -31
- package/dist/spec/catalogs/tones/casual.json +31 -31
- package/dist/spec/catalogs/tones/conversational.json +31 -31
- package/dist/spec/catalogs/tones/formal.json +31 -31
- package/dist/spec/catalogs/tones/index.json +49 -49
- package/dist/spec/catalogs/tones/inspirational.json +31 -31
- package/dist/spec/catalogs/tones/persuasive.json +32 -32
- package/dist/spec/catalogs/tones/technical.json +31 -31
- package/dist/spec/openapi.yaml +776 -776
- package/dist/spec/previews/layouts/action-plan.html +1 -0
- package/dist/spec/previews/layouts/agenda.html +1 -0
- package/dist/spec/previews/layouts/appendix-index.html +1 -0
- package/dist/spec/previews/layouts/architecture-stack.html +1 -0
- package/dist/spec/previews/layouts/assumptions-dependencies.html +1 -0
- package/dist/spec/previews/layouts/before-after.html +1 -0
- package/dist/spec/previews/layouts/benchmark-target-table.html +1 -0
- package/dist/spec/previews/layouts/bullet-list.html +1 -0
- package/dist/spec/previews/layouts/business-model-canvas.html +1 -0
- package/dist/spec/previews/layouts/capability-map.html +1 -0
- package/dist/spec/previews/layouts/case-study.html +1 -0
- package/dist/spec/previews/layouts/chapter-recap.html +1 -0
- package/dist/spec/previews/layouts/circular-lifecycle.html +1 -0
- package/dist/spec/previews/layouts/comparison.html +1 -0
- package/dist/spec/previews/layouts/competitive-landscape.html +1 -0
- package/dist/spec/previews/layouts/customer-journey.html +1 -0
- package/dist/spec/previews/layouts/customer-logos.html +1 -0
- package/dist/spec/previews/layouts/dashboard.html +1 -0
- package/dist/spec/previews/layouts/data-visualization.html +1 -0
- package/dist/spec/previews/layouts/decision-tree.html +1 -0
- package/dist/spec/previews/layouts/detailed-data-table.html +1 -0
- package/dist/spec/previews/layouts/ecosystem-map.html +1 -0
- package/dist/spec/previews/layouts/executive-decision.html +1 -0
- package/dist/spec/previews/layouts/executive-summary.html +1 -0
- package/dist/spec/previews/layouts/faq.html +1 -0
- package/dist/spec/previews/layouts/feature-comparison-matrix.html +1 -0
- package/dist/spec/previews/layouts/forecast-scenario.html +1 -0
- package/dist/spec/previews/layouts/funnel-pyramid.html +1 -0
- package/dist/spec/previews/layouts/gantt-project-plan.html +1 -0
- package/dist/spec/previews/layouts/geographic-map.html +1 -0
- package/dist/spec/previews/layouts/heatmap-cohort.html +1 -0
- package/dist/spec/previews/layouts/hub-and-spoke.html +1 -0
- package/dist/spec/previews/layouts/icon-grid.html +1 -0
- package/dist/spec/previews/layouts/image-focus.html +1 -0
- package/dist/spec/previews/layouts/index.json +357 -0
- package/dist/spec/previews/layouts/key-takeaway.html +1 -0
- package/dist/spec/previews/layouts/kpi-scorecard.html +1 -0
- package/dist/spec/previews/layouts/logic-tree.html +1 -0
- package/dist/spec/previews/layouts/market-size.html +1 -0
- package/dist/spec/previews/layouts/matrix-quadrant.html +1 -0
- package/dist/spec/previews/layouts/network-dependency-map.html +1 -0
- package/dist/spec/previews/layouts/one-column-explainer.html +1 -0
- package/dist/spec/previews/layouts/org-chart.html +1 -0
- package/dist/spec/previews/layouts/persona-grid.html +1 -0
- package/dist/spec/previews/layouts/photo-grid.html +1 -0
- package/dist/spec/previews/layouts/pricing-table.html +1 -0
- package/dist/spec/previews/layouts/process-flow.html +1 -0
- package/dist/spec/previews/layouts/product-feature.html +1 -0
- package/dist/spec/previews/layouts/pros-cons.html +1 -0
- package/dist/spec/previews/layouts/qa-discussion.html +1 -0
- package/dist/spec/previews/layouts/quote-highlight.html +1 -0
- package/dist/spec/previews/layouts/raci-matrix.html +1 -0
- package/dist/spec/previews/layouts/risk-heatmap.html +1 -0
- package/dist/spec/previews/layouts/roadmap.html +1 -0
- package/dist/spec/previews/layouts/screenshot-walkthrough.html +1 -0
- package/dist/spec/previews/layouts/section-divider.html +1 -0
- package/dist/spec/previews/layouts/single-message-statement.html +1 -0
- package/dist/spec/previews/layouts/stats-metrics.html +1 -0
- package/dist/spec/previews/layouts/status-rag.html +1 -0
- package/dist/spec/previews/layouts/swimlane-process.html +1 -0
- package/dist/spec/previews/layouts/swot-analysis.html +1 -0
- package/dist/spec/previews/layouts/team-bio.html +1 -0
- package/dist/spec/previews/layouts/testimonial-grid.html +1 -0
- package/dist/spec/previews/layouts/thank-you-cta.html +1 -0
- package/dist/spec/previews/layouts/three-column.html +1 -0
- package/dist/spec/previews/layouts/timeline.html +1 -0
- package/dist/spec/previews/layouts/title-slide.html +1 -0
- package/dist/spec/previews/layouts/two-column.html +1 -0
- package/dist/spec/previews/layouts/venn-overlap.html +1 -0
- package/dist/spec/previews/layouts/waterfall-bridge.html +1 -0
- package/dist/spec/previews/layouts/wheel-radial.html +1 -0
- package/dist/spec/reference/engine-defaults.json +35 -35
- package/dist/spec/schemas/audience.schema.json +156 -156
- package/dist/spec/schemas/chart-type.schema.json +537 -537
- package/dist/spec/schemas/color-scheme.schema.json +200 -200
- package/dist/spec/schemas/font-scheme.schema.json +174 -174
- package/dist/spec/schemas/language.schema.json +158 -158
- package/dist/spec/schemas/layout.schema.json +280 -280
- package/dist/spec/schemas/narrative.schema.json +207 -207
- package/dist/spec/schemas/opf.schema.json +2536 -2537
- package/dist/spec/schemas/purpose.schema.json +92 -92
- package/dist/spec/schemas/social-platform.schema.json +183 -184
- package/dist/spec/schemas/theme.schema.json +168 -168
- package/dist/spec/schemas/tone.schema.json +146 -146
- package/dist/spec-files.d.ts +2388 -0
- package/dist/spec-files.js +3349 -0
- package/dist/spec-files.js.map +1 -0
- package/dist/types.d.ts +5 -5
- package/dist/{validator-Be5EzqAt.d.ts → validator-D7WwzKyx.d.ts} +16 -16
- package/dist/validator.d.ts +1 -1
- package/dist/validator.js +35 -35
- package/dist/validator.js.map +1 -1
- package/package.json +91 -80
|
@@ -1,103 +1,103 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$schema": "https://openpresentation.org/schema/opf-narrative/v1",
|
|
3
|
-
"id": "survival-story",
|
|
4
|
-
"name": "Survival Story",
|
|
5
|
-
"summary": "Narrative arc of overcoming adversity through determination: catastrophe, backstory, plan, danger, effort, struggle, pivot, breakthrough, legacy, takeaway. For brand stories, founder histories, and leadership talks where the lesson lives in the comeback.",
|
|
6
|
-
"audienceFit": [
|
|
7
|
-
"general-audience",
|
|
8
|
-
"internal-teams",
|
|
9
|
-
"press"
|
|
10
|
-
],
|
|
11
|
-
"durationRange": {
|
|
12
|
-
"minMinutes": 10,
|
|
13
|
-
"maxMinutes": 30
|
|
14
|
-
},
|
|
15
|
-
"tags": [
|
|
16
|
-
"storytelling",
|
|
17
|
-
"inspirational",
|
|
18
|
-
"founder",
|
|
19
|
-
"comeback"
|
|
20
|
-
],
|
|
21
|
-
"beats": [
|
|
22
|
-
{
|
|
23
|
-
"id": "catastrophe",
|
|
24
|
-
"name": "Catastrophe",
|
|
25
|
-
"description": "Open in the middle of the disaster. Specific moment, specific stakes, specific damage. Drop the audience into the worst point of the story before walking them back.",
|
|
26
|
-
"instructions": "Present initial disaster",
|
|
27
|
-
"slideType": "text",
|
|
28
|
-
"layoutHint": "text-1x-left"
|
|
29
|
-
},
|
|
30
|
-
{
|
|
31
|
-
"id": "backstory",
|
|
32
|
-
"name": "Backstory",
|
|
33
|
-
"description": "Detail the events that led up to the catastrophe. Just enough for the audience to understand how the disaster could have happened. Avoid moralizing — the story does the work.",
|
|
34
|
-
"instructions": "Detail past events",
|
|
35
|
-
"slideType": "text",
|
|
36
|
-
"layoutHint": "text-1x-left"
|
|
37
|
-
},
|
|
38
|
-
{
|
|
39
|
-
"id": "blueprint",
|
|
40
|
-
"name": "Blueprint",
|
|
41
|
-
"description": "Illustrate the recovery plan. Specific moves, specific bets, specific people. The audience should see the strategy as more than 'try hard.'",
|
|
42
|
-
"instructions": "Illustrate recovery plans",
|
|
43
|
-
"slideType": "text",
|
|
44
|
-
"layoutHint": "text-1x-left"
|
|
45
|
-
},
|
|
46
|
-
{
|
|
47
|
-
"id": "danger",
|
|
48
|
-
"name": "Danger",
|
|
49
|
-
"description": "Highlight the emerging threats to the recovery plan. New risks, returning ones. Tension here makes the eventual triumph credible.",
|
|
50
|
-
"instructions": "Highlight emerging threats",
|
|
51
|
-
"slideType": "text",
|
|
52
|
-
"layoutHint": "text-1x-left"
|
|
53
|
-
},
|
|
54
|
-
{
|
|
55
|
-
"id": "endeavor",
|
|
56
|
-
"name": "Endeavor",
|
|
57
|
-
"description": "Show the determined effort underway. The hours, the trade-offs, the discipline. The audience must feel the work, not just hear about it.",
|
|
58
|
-
"instructions": "Show determination effort",
|
|
59
|
-
"slideType": "text",
|
|
60
|
-
"layoutHint": "text-1x-left"
|
|
61
|
-
},
|
|
62
|
-
{
|
|
63
|
-
"id": "struggles",
|
|
64
|
-
"name": "Struggles",
|
|
65
|
-
"description": "Showcase challenging moments along the way: the setbacks, the false starts, the hard calls. Honest setbacks make eventual success feel earned.",
|
|
66
|
-
"instructions": "Showcase challenging encounters",
|
|
67
|
-
"slideType": "text",
|
|
68
|
-
"layoutHint": "text-1x-left"
|
|
69
|
-
},
|
|
70
|
-
{
|
|
71
|
-
"id": "pivot",
|
|
72
|
-
"name": "Pivot",
|
|
73
|
-
"description": "Highlight the strategic shift that changed the trajectory. What got reconsidered, what got dropped, what got doubled down on. The pivot is the moment the protagonist became something new.",
|
|
74
|
-
"instructions": "Highlight strategy shift",
|
|
75
|
-
"slideType": "text",
|
|
76
|
-
"layoutHint": "text-1x-left"
|
|
77
|
-
},
|
|
78
|
-
{
|
|
79
|
-
"id": "breakthrough",
|
|
80
|
-
"name": "Breakthrough",
|
|
81
|
-
"description": "Emphasize the moment adversity finally broke. Concrete result, concrete date. Let the slide land — the audience came for this turn.",
|
|
82
|
-
"instructions": "Emphasize overcoming adversity",
|
|
83
|
-
"slideType": "text",
|
|
84
|
-
"layoutHint": "text-1x-left"
|
|
85
|
-
},
|
|
86
|
-
{
|
|
87
|
-
"id": "legacy",
|
|
88
|
-
"name": "Legacy",
|
|
89
|
-
"description": "Discuss the enduring impact. What survival made possible afterward, who benefited, what was built on top. Survival stories are most powerful when they create more than they restore.",
|
|
90
|
-
"instructions": "Discuss enduring impact",
|
|
91
|
-
"slideType": "text",
|
|
92
|
-
"layoutHint": "text-1x-left"
|
|
93
|
-
},
|
|
94
|
-
{
|
|
95
|
-
"id": "takeaway",
|
|
96
|
-
"name": "Takeaway",
|
|
97
|
-
"description": "Share the lesson the audience can carry away. One transferable insight, framed for their own challenges — not a general moral.",
|
|
98
|
-
"layoutHint": "title-left",
|
|
99
|
-
"instructions": "Share important lessons",
|
|
100
|
-
"slideType": "text"
|
|
101
|
-
}
|
|
102
|
-
]
|
|
103
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://openpresentation.org/schema/opf-narrative/v1",
|
|
3
|
+
"id": "survival-story",
|
|
4
|
+
"name": "Survival Story",
|
|
5
|
+
"summary": "Narrative arc of overcoming adversity through determination: catastrophe, backstory, plan, danger, effort, struggle, pivot, breakthrough, legacy, takeaway. For brand stories, founder histories, and leadership talks where the lesson lives in the comeback.",
|
|
6
|
+
"audienceFit": [
|
|
7
|
+
"general-audience",
|
|
8
|
+
"internal-teams",
|
|
9
|
+
"press"
|
|
10
|
+
],
|
|
11
|
+
"durationRange": {
|
|
12
|
+
"minMinutes": 10,
|
|
13
|
+
"maxMinutes": 30
|
|
14
|
+
},
|
|
15
|
+
"tags": [
|
|
16
|
+
"storytelling",
|
|
17
|
+
"inspirational",
|
|
18
|
+
"founder",
|
|
19
|
+
"comeback"
|
|
20
|
+
],
|
|
21
|
+
"beats": [
|
|
22
|
+
{
|
|
23
|
+
"id": "catastrophe",
|
|
24
|
+
"name": "Catastrophe",
|
|
25
|
+
"description": "Open in the middle of the disaster. Specific moment, specific stakes, specific damage. Drop the audience into the worst point of the story before walking them back.",
|
|
26
|
+
"instructions": "Present initial disaster",
|
|
27
|
+
"slideType": "text",
|
|
28
|
+
"layoutHint": "text-1x-left"
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"id": "backstory",
|
|
32
|
+
"name": "Backstory",
|
|
33
|
+
"description": "Detail the events that led up to the catastrophe. Just enough for the audience to understand how the disaster could have happened. Avoid moralizing — the story does the work.",
|
|
34
|
+
"instructions": "Detail past events",
|
|
35
|
+
"slideType": "text",
|
|
36
|
+
"layoutHint": "text-1x-left"
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"id": "blueprint",
|
|
40
|
+
"name": "Blueprint",
|
|
41
|
+
"description": "Illustrate the recovery plan. Specific moves, specific bets, specific people. The audience should see the strategy as more than 'try hard.'",
|
|
42
|
+
"instructions": "Illustrate recovery plans",
|
|
43
|
+
"slideType": "text",
|
|
44
|
+
"layoutHint": "text-1x-left"
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"id": "danger",
|
|
48
|
+
"name": "Danger",
|
|
49
|
+
"description": "Highlight the emerging threats to the recovery plan. New risks, returning ones. Tension here makes the eventual triumph credible.",
|
|
50
|
+
"instructions": "Highlight emerging threats",
|
|
51
|
+
"slideType": "text",
|
|
52
|
+
"layoutHint": "text-1x-left"
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
"id": "endeavor",
|
|
56
|
+
"name": "Endeavor",
|
|
57
|
+
"description": "Show the determined effort underway. The hours, the trade-offs, the discipline. The audience must feel the work, not just hear about it.",
|
|
58
|
+
"instructions": "Show determination effort",
|
|
59
|
+
"slideType": "text",
|
|
60
|
+
"layoutHint": "text-1x-left"
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
"id": "struggles",
|
|
64
|
+
"name": "Struggles",
|
|
65
|
+
"description": "Showcase challenging moments along the way: the setbacks, the false starts, the hard calls. Honest setbacks make eventual success feel earned.",
|
|
66
|
+
"instructions": "Showcase challenging encounters",
|
|
67
|
+
"slideType": "text",
|
|
68
|
+
"layoutHint": "text-1x-left"
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
"id": "pivot",
|
|
72
|
+
"name": "Pivot",
|
|
73
|
+
"description": "Highlight the strategic shift that changed the trajectory. What got reconsidered, what got dropped, what got doubled down on. The pivot is the moment the protagonist became something new.",
|
|
74
|
+
"instructions": "Highlight strategy shift",
|
|
75
|
+
"slideType": "text",
|
|
76
|
+
"layoutHint": "text-1x-left"
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
"id": "breakthrough",
|
|
80
|
+
"name": "Breakthrough",
|
|
81
|
+
"description": "Emphasize the moment adversity finally broke. Concrete result, concrete date. Let the slide land — the audience came for this turn.",
|
|
82
|
+
"instructions": "Emphasize overcoming adversity",
|
|
83
|
+
"slideType": "text",
|
|
84
|
+
"layoutHint": "text-1x-left"
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
"id": "legacy",
|
|
88
|
+
"name": "Legacy",
|
|
89
|
+
"description": "Discuss the enduring impact. What survival made possible afterward, who benefited, what was built on top. Survival stories are most powerful when they create more than they restore.",
|
|
90
|
+
"instructions": "Discuss enduring impact",
|
|
91
|
+
"slideType": "text",
|
|
92
|
+
"layoutHint": "text-1x-left"
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
"id": "takeaway",
|
|
96
|
+
"name": "Takeaway",
|
|
97
|
+
"description": "Share the lesson the audience can carry away. One transferable insight, framed for their own challenges — not a general moral.",
|
|
98
|
+
"layoutHint": "title-left",
|
|
99
|
+
"instructions": "Share important lessons",
|
|
100
|
+
"slideType": "text"
|
|
101
|
+
}
|
|
102
|
+
]
|
|
103
|
+
}
|
|
@@ -1,50 +1,50 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$schema": "https://openpresentation.org/schema/opf-narrative/v1",
|
|
3
|
-
"id": "transformation-arc",
|
|
4
|
-
"name": "Transformation Arc (Before / After / Bridge)",
|
|
5
|
-
"summary": "Marketing-copy arc adapted for slides: paint the painful 'before,' contrast it with a vivid 'after,' then deliver the bridge that gets the audience from one to the other. Tight, persuasive, and ideal for short pitches, landing-page-style decks, and product-marketing teasers.",
|
|
6
|
-
"audienceFit": [
|
|
7
|
-
"customers",
|
|
8
|
-
"prospects",
|
|
9
|
-
"marketing-teams",
|
|
10
|
-
"general-audience"
|
|
11
|
-
],
|
|
12
|
-
"durationRange": {
|
|
13
|
-
"minMinutes": 3,
|
|
14
|
-
"maxMinutes": 15
|
|
15
|
-
},
|
|
16
|
-
"tags": [
|
|
17
|
-
"marketing",
|
|
18
|
-
"copywriting",
|
|
19
|
-
"pitch",
|
|
20
|
-
"persuasive"
|
|
21
|
-
],
|
|
22
|
-
"beats": [
|
|
23
|
-
{
|
|
24
|
-
"id": "before",
|
|
25
|
-
"name": "Before",
|
|
26
|
-
"description": "Describe the audience's current world in the first person they recognize. Specific frustrations, specific costs, specific moments of friction. The clearer the 'before' lands, the more the rest of the deck has to push against."
|
|
27
|
-
},
|
|
28
|
-
{
|
|
29
|
-
"id": "after",
|
|
30
|
-
"name": "After",
|
|
31
|
-
"description": "Paint the world the audience could be in instead. Concrete outcomes, not feature lists — what a day looks like, what a quarter feels like, what becomes effortless that used to hurt. Make it desirable and credible at the same time."
|
|
32
|
-
},
|
|
33
|
-
{
|
|
34
|
-
"id": "bridge",
|
|
35
|
-
"name": "Bridge",
|
|
36
|
-
"description": "Show the path from before to after: the product, service, or change that closes the gap. Lead with the simplest user-visible thing they do; the architecture can wait. The bridge must feel proportionate to the transformation it promises."
|
|
37
|
-
},
|
|
38
|
-
{
|
|
39
|
-
"id": "evidence",
|
|
40
|
-
"name": "Evidence",
|
|
41
|
-
"description": "Prove the bridge has carried others across. One or two strong customer stories, before/after metrics, or named logos with concrete outcomes. Choose proof that maps directly to the 'after' you painted, not generic credibility markers."
|
|
42
|
-
},
|
|
43
|
-
{
|
|
44
|
-
"id": "ask",
|
|
45
|
-
"name": "Ask",
|
|
46
|
-
"description": "Close with the single low-friction action that starts the audience across the bridge. Make it small enough to act on now and meaningful enough to count as commitment.",
|
|
47
|
-
"layoutHint": "title-left"
|
|
48
|
-
}
|
|
49
|
-
]
|
|
50
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://openpresentation.org/schema/opf-narrative/v1",
|
|
3
|
+
"id": "transformation-arc",
|
|
4
|
+
"name": "Transformation Arc (Before / After / Bridge)",
|
|
5
|
+
"summary": "Marketing-copy arc adapted for slides: paint the painful 'before,' contrast it with a vivid 'after,' then deliver the bridge that gets the audience from one to the other. Tight, persuasive, and ideal for short pitches, landing-page-style decks, and product-marketing teasers.",
|
|
6
|
+
"audienceFit": [
|
|
7
|
+
"customers",
|
|
8
|
+
"prospects",
|
|
9
|
+
"marketing-teams",
|
|
10
|
+
"general-audience"
|
|
11
|
+
],
|
|
12
|
+
"durationRange": {
|
|
13
|
+
"minMinutes": 3,
|
|
14
|
+
"maxMinutes": 15
|
|
15
|
+
},
|
|
16
|
+
"tags": [
|
|
17
|
+
"marketing",
|
|
18
|
+
"copywriting",
|
|
19
|
+
"pitch",
|
|
20
|
+
"persuasive"
|
|
21
|
+
],
|
|
22
|
+
"beats": [
|
|
23
|
+
{
|
|
24
|
+
"id": "before",
|
|
25
|
+
"name": "Before",
|
|
26
|
+
"description": "Describe the audience's current world in the first person they recognize. Specific frustrations, specific costs, specific moments of friction. The clearer the 'before' lands, the more the rest of the deck has to push against."
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"id": "after",
|
|
30
|
+
"name": "After",
|
|
31
|
+
"description": "Paint the world the audience could be in instead. Concrete outcomes, not feature lists — what a day looks like, what a quarter feels like, what becomes effortless that used to hurt. Make it desirable and credible at the same time."
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"id": "bridge",
|
|
35
|
+
"name": "Bridge",
|
|
36
|
+
"description": "Show the path from before to after: the product, service, or change that closes the gap. Lead with the simplest user-visible thing they do; the architecture can wait. The bridge must feel proportionate to the transformation it promises."
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"id": "evidence",
|
|
40
|
+
"name": "Evidence",
|
|
41
|
+
"description": "Prove the bridge has carried others across. One or two strong customer stories, before/after metrics, or named logos with concrete outcomes. Choose proof that maps directly to the 'after' you painted, not generic credibility markers."
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"id": "ask",
|
|
45
|
+
"name": "Ask",
|
|
46
|
+
"description": "Close with the single low-friction action that starts the audience across the bridge. Make it small enough to act on now and meaningful enough to count as commitment.",
|
|
47
|
+
"layoutHint": "title-left"
|
|
48
|
+
}
|
|
49
|
+
]
|
|
50
|
+
}
|
|
@@ -1,79 +1,79 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$schema": "https://openpresentation.org/schema/opf-narrative/v1",
|
|
3
|
-
"id": "trend-analysis",
|
|
4
|
-
"name": "Trend Analysis",
|
|
5
|
-
"summary": "Identify and discuss data-driven patterns to understand performance and forecast what's next. Useful for market reviews, strategic outlooks, and any deck where the audience must act on a direction-of-travel call.",
|
|
6
|
-
"audienceFit": [
|
|
7
|
-
"executives",
|
|
8
|
-
"analysts",
|
|
9
|
-
"leadership"
|
|
10
|
-
],
|
|
11
|
-
"durationRange": {
|
|
12
|
-
"minMinutes": 15,
|
|
13
|
-
"maxMinutes": 45
|
|
14
|
-
},
|
|
15
|
-
"tags": [
|
|
16
|
-
"data-driven",
|
|
17
|
-
"forecasting",
|
|
18
|
-
"strategy",
|
|
19
|
-
"analysis"
|
|
20
|
-
],
|
|
21
|
-
"beats": [
|
|
22
|
-
{
|
|
23
|
-
"id": "introduction",
|
|
24
|
-
"name": "Introduction",
|
|
25
|
-
"description": "Open by establishing why this trend matters now. Tie it to a decision on the table or a forecast that's about to be made. Trends without consequences are filler.",
|
|
26
|
-
"instructions": "Ignite interest, establish significance",
|
|
27
|
-
"slideType": "text",
|
|
28
|
-
"layoutHint": "text-1x-left"
|
|
29
|
-
},
|
|
30
|
-
{
|
|
31
|
-
"id": "historical-comparison",
|
|
32
|
-
"name": "Historical Comparison",
|
|
33
|
-
"description": "Contrast current data with the relevant past. Pick the comparison window that makes the trend visible without cherry-picking. Be honest about base effects.",
|
|
34
|
-
"instructions": "Contrast current and past data",
|
|
35
|
-
"slideType": "text",
|
|
36
|
-
"layoutHint": "text-1x-left"
|
|
37
|
-
},
|
|
38
|
-
{
|
|
39
|
-
"id": "pattern-identification",
|
|
40
|
-
"name": "Pattern Identification",
|
|
41
|
-
"description": "Name the recurring outcome you've spotted. Use one or two strong charts that show the pattern unambiguously. Avoid overclaiming significance from a small N.",
|
|
42
|
-
"instructions": "Point out recurring outcomes",
|
|
43
|
-
"slideType": "text",
|
|
44
|
-
"layoutHint": "text-1x-left"
|
|
45
|
-
},
|
|
46
|
-
{
|
|
47
|
-
"id": "future-prediction",
|
|
48
|
-
"name": "Future Prediction",
|
|
49
|
-
"description": "Project where the trend leads if it continues. Show the forecast and the confidence interval. State the assumptions that would have to break for the prediction to fail.",
|
|
50
|
-
"instructions": "Predict using established patterns",
|
|
51
|
-
"slideType": "text",
|
|
52
|
-
"layoutHint": "text-1x-left"
|
|
53
|
-
},
|
|
54
|
-
{
|
|
55
|
-
"id": "action-plan",
|
|
56
|
-
"name": "Action Plan",
|
|
57
|
-
"description": "Translate the prediction into the strategy it implies. Specific actions, sequenced. Each action should map to a particular reading of the trend, not a generic best practice.",
|
|
58
|
-
"instructions": "Strategies based on prediction",
|
|
59
|
-
"slideType": "text",
|
|
60
|
-
"layoutHint": "text-1x-left"
|
|
61
|
-
},
|
|
62
|
-
{
|
|
63
|
-
"id": "implementation",
|
|
64
|
-
"name": "Implementation",
|
|
65
|
-
"description": "Walk through how the actions get executed: owners, milestones, monitoring. The audience should leave understanding what to do tomorrow, not just what to think about.",
|
|
66
|
-
"instructions": "Discuss strategy execution",
|
|
67
|
-
"slideType": "text",
|
|
68
|
-
"layoutHint": "text-1x-left"
|
|
69
|
-
},
|
|
70
|
-
{
|
|
71
|
-
"id": "conclusion",
|
|
72
|
-
"name": "Conclusion",
|
|
73
|
-
"description": "Recap the trend, the forecast, and the recommended action. End with the leading indicator you'll watch to know if the call is right.",
|
|
74
|
-
"layoutHint": "title-left",
|
|
75
|
-
"instructions": "Summarize key points",
|
|
76
|
-
"slideType": "text"
|
|
77
|
-
}
|
|
78
|
-
]
|
|
79
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://openpresentation.org/schema/opf-narrative/v1",
|
|
3
|
+
"id": "trend-analysis",
|
|
4
|
+
"name": "Trend Analysis",
|
|
5
|
+
"summary": "Identify and discuss data-driven patterns to understand performance and forecast what's next. Useful for market reviews, strategic outlooks, and any deck where the audience must act on a direction-of-travel call.",
|
|
6
|
+
"audienceFit": [
|
|
7
|
+
"executives",
|
|
8
|
+
"analysts",
|
|
9
|
+
"leadership"
|
|
10
|
+
],
|
|
11
|
+
"durationRange": {
|
|
12
|
+
"minMinutes": 15,
|
|
13
|
+
"maxMinutes": 45
|
|
14
|
+
},
|
|
15
|
+
"tags": [
|
|
16
|
+
"data-driven",
|
|
17
|
+
"forecasting",
|
|
18
|
+
"strategy",
|
|
19
|
+
"analysis"
|
|
20
|
+
],
|
|
21
|
+
"beats": [
|
|
22
|
+
{
|
|
23
|
+
"id": "introduction",
|
|
24
|
+
"name": "Introduction",
|
|
25
|
+
"description": "Open by establishing why this trend matters now. Tie it to a decision on the table or a forecast that's about to be made. Trends without consequences are filler.",
|
|
26
|
+
"instructions": "Ignite interest, establish significance",
|
|
27
|
+
"slideType": "text",
|
|
28
|
+
"layoutHint": "text-1x-left"
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"id": "historical-comparison",
|
|
32
|
+
"name": "Historical Comparison",
|
|
33
|
+
"description": "Contrast current data with the relevant past. Pick the comparison window that makes the trend visible without cherry-picking. Be honest about base effects.",
|
|
34
|
+
"instructions": "Contrast current and past data",
|
|
35
|
+
"slideType": "text",
|
|
36
|
+
"layoutHint": "text-1x-left"
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"id": "pattern-identification",
|
|
40
|
+
"name": "Pattern Identification",
|
|
41
|
+
"description": "Name the recurring outcome you've spotted. Use one or two strong charts that show the pattern unambiguously. Avoid overclaiming significance from a small N.",
|
|
42
|
+
"instructions": "Point out recurring outcomes",
|
|
43
|
+
"slideType": "text",
|
|
44
|
+
"layoutHint": "text-1x-left"
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"id": "future-prediction",
|
|
48
|
+
"name": "Future Prediction",
|
|
49
|
+
"description": "Project where the trend leads if it continues. Show the forecast and the confidence interval. State the assumptions that would have to break for the prediction to fail.",
|
|
50
|
+
"instructions": "Predict using established patterns",
|
|
51
|
+
"slideType": "text",
|
|
52
|
+
"layoutHint": "text-1x-left"
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
"id": "action-plan",
|
|
56
|
+
"name": "Action Plan",
|
|
57
|
+
"description": "Translate the prediction into the strategy it implies. Specific actions, sequenced. Each action should map to a particular reading of the trend, not a generic best practice.",
|
|
58
|
+
"instructions": "Strategies based on prediction",
|
|
59
|
+
"slideType": "text",
|
|
60
|
+
"layoutHint": "text-1x-left"
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
"id": "implementation",
|
|
64
|
+
"name": "Implementation",
|
|
65
|
+
"description": "Walk through how the actions get executed: owners, milestones, monitoring. The audience should leave understanding what to do tomorrow, not just what to think about.",
|
|
66
|
+
"instructions": "Discuss strategy execution",
|
|
67
|
+
"slideType": "text",
|
|
68
|
+
"layoutHint": "text-1x-left"
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
"id": "conclusion",
|
|
72
|
+
"name": "Conclusion",
|
|
73
|
+
"description": "Recap the trend, the forecast, and the recommended action. End with the leading indicator you'll watch to know if the call is right.",
|
|
74
|
+
"layoutHint": "title-left",
|
|
75
|
+
"instructions": "Summarize key points",
|
|
76
|
+
"slideType": "text"
|
|
77
|
+
}
|
|
78
|
+
]
|
|
79
|
+
}
|
|
@@ -1,87 +1,87 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$schema": "https://openpresentation.org/schema/opf-narrative/v1",
|
|
3
|
-
"id": "underdog-victory",
|
|
4
|
-
"name": "Underdog Victory",
|
|
5
|
-
"summary": "Story arc of someone or something overlooked who triumphs in the end. Useful for founder narratives, brand stories, and team-building decks where the lesson is about resilience and unexpected wins.",
|
|
6
|
-
"audienceFit": [
|
|
7
|
-
"general-audience",
|
|
8
|
-
"internal-teams",
|
|
9
|
-
"candidates"
|
|
10
|
-
],
|
|
11
|
-
"durationRange": {
|
|
12
|
-
"minMinutes": 5,
|
|
13
|
-
"maxMinutes": 20
|
|
14
|
-
},
|
|
15
|
-
"tags": [
|
|
16
|
-
"storytelling",
|
|
17
|
-
"inspirational",
|
|
18
|
-
"founder",
|
|
19
|
-
"team"
|
|
20
|
-
],
|
|
21
|
-
"beats": [
|
|
22
|
-
{
|
|
23
|
-
"id": "origin",
|
|
24
|
-
"name": "Origin",
|
|
25
|
-
"description": "Establish the opening scene: who the underdog is and the world that overlooked them. Specific details make the rest of the journey feel real.",
|
|
26
|
-
"instructions": "Establish opening scene",
|
|
27
|
-
"slideType": "text",
|
|
28
|
-
"layoutHint": "text-1x-left"
|
|
29
|
-
},
|
|
30
|
-
{
|
|
31
|
-
"id": "struggles",
|
|
32
|
-
"name": "Struggles",
|
|
33
|
-
"description": "Highlight the early setbacks. What didn't work, who said no, where the path closed up. The audience needs to feel the doubt before they can feel the win.",
|
|
34
|
-
"instructions": "Highlight initial setbacks",
|
|
35
|
-
"slideType": "text",
|
|
36
|
-
"layoutHint": "text-1x-left"
|
|
37
|
-
},
|
|
38
|
-
{
|
|
39
|
-
"id": "determination",
|
|
40
|
-
"name": "Determination",
|
|
41
|
-
"description": "Showcase the enduring passion that kept the underdog going. What they refused to give up on, and why. Determination, in this beat, is the only resource the underdog has.",
|
|
42
|
-
"instructions": "Showcase enduring passion",
|
|
43
|
-
"slideType": "text",
|
|
44
|
-
"layoutHint": "text-1x-left"
|
|
45
|
-
},
|
|
46
|
-
{
|
|
47
|
-
"id": "crisis",
|
|
48
|
-
"name": "Crisis",
|
|
49
|
-
"description": "Identify the lowest point of the journey. The moment the dream nearly ended. Don't soften — the contrast with the triumph ahead depends on the depth of this slide.",
|
|
50
|
-
"instructions": "Identify lowest point",
|
|
51
|
-
"slideType": "text",
|
|
52
|
-
"layoutHint": "text-1x-left"
|
|
53
|
-
},
|
|
54
|
-
{
|
|
55
|
-
"id": "resolve",
|
|
56
|
-
"name": "Resolve",
|
|
57
|
-
"description": "Articulate the choice the underdog made to keep going. The strong will, the small bet, the borrowed faith. Resolve is where the protagonist becomes someone the audience roots for.",
|
|
58
|
-
"instructions": "Articulate strong will",
|
|
59
|
-
"slideType": "text",
|
|
60
|
-
"layoutHint": "text-1x-left"
|
|
61
|
-
},
|
|
62
|
-
{
|
|
63
|
-
"id": "breakthrough",
|
|
64
|
-
"name": "Breakthrough",
|
|
65
|
-
"description": "Show the reward of perseverance: the customer who said yes, the door that opened, the fortune that turned. The breakthrough should feel earned, not granted.",
|
|
66
|
-
"instructions": "Reward of perseverance",
|
|
67
|
-
"slideType": "text",
|
|
68
|
-
"layoutHint": "text-1x-left"
|
|
69
|
-
},
|
|
70
|
-
{
|
|
71
|
-
"id": "triumph",
|
|
72
|
-
"name": "Triumph",
|
|
73
|
-
"description": "Reveal the ultimate success. Concrete outcomes, named milestones. The triumph is the audience's emotional payoff — let it land.",
|
|
74
|
-
"instructions": "Reveal ultimate success",
|
|
75
|
-
"slideType": "text",
|
|
76
|
-
"layoutHint": "text-1x-left"
|
|
77
|
-
},
|
|
78
|
-
{
|
|
79
|
-
"id": "legacy",
|
|
80
|
-
"name": "Legacy",
|
|
81
|
-
"description": "Share the lasting impact. What the underdog's victory makes possible for those who come after. The legacy beat is what turns a story into a lesson.",
|
|
82
|
-
"layoutHint": "title-left",
|
|
83
|
-
"instructions": "Share long-lasting impact",
|
|
84
|
-
"slideType": "text"
|
|
85
|
-
}
|
|
86
|
-
]
|
|
87
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://openpresentation.org/schema/opf-narrative/v1",
|
|
3
|
+
"id": "underdog-victory",
|
|
4
|
+
"name": "Underdog Victory",
|
|
5
|
+
"summary": "Story arc of someone or something overlooked who triumphs in the end. Useful for founder narratives, brand stories, and team-building decks where the lesson is about resilience and unexpected wins.",
|
|
6
|
+
"audienceFit": [
|
|
7
|
+
"general-audience",
|
|
8
|
+
"internal-teams",
|
|
9
|
+
"candidates"
|
|
10
|
+
],
|
|
11
|
+
"durationRange": {
|
|
12
|
+
"minMinutes": 5,
|
|
13
|
+
"maxMinutes": 20
|
|
14
|
+
},
|
|
15
|
+
"tags": [
|
|
16
|
+
"storytelling",
|
|
17
|
+
"inspirational",
|
|
18
|
+
"founder",
|
|
19
|
+
"team"
|
|
20
|
+
],
|
|
21
|
+
"beats": [
|
|
22
|
+
{
|
|
23
|
+
"id": "origin",
|
|
24
|
+
"name": "Origin",
|
|
25
|
+
"description": "Establish the opening scene: who the underdog is and the world that overlooked them. Specific details make the rest of the journey feel real.",
|
|
26
|
+
"instructions": "Establish opening scene",
|
|
27
|
+
"slideType": "text",
|
|
28
|
+
"layoutHint": "text-1x-left"
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"id": "struggles",
|
|
32
|
+
"name": "Struggles",
|
|
33
|
+
"description": "Highlight the early setbacks. What didn't work, who said no, where the path closed up. The audience needs to feel the doubt before they can feel the win.",
|
|
34
|
+
"instructions": "Highlight initial setbacks",
|
|
35
|
+
"slideType": "text",
|
|
36
|
+
"layoutHint": "text-1x-left"
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"id": "determination",
|
|
40
|
+
"name": "Determination",
|
|
41
|
+
"description": "Showcase the enduring passion that kept the underdog going. What they refused to give up on, and why. Determination, in this beat, is the only resource the underdog has.",
|
|
42
|
+
"instructions": "Showcase enduring passion",
|
|
43
|
+
"slideType": "text",
|
|
44
|
+
"layoutHint": "text-1x-left"
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"id": "crisis",
|
|
48
|
+
"name": "Crisis",
|
|
49
|
+
"description": "Identify the lowest point of the journey. The moment the dream nearly ended. Don't soften — the contrast with the triumph ahead depends on the depth of this slide.",
|
|
50
|
+
"instructions": "Identify lowest point",
|
|
51
|
+
"slideType": "text",
|
|
52
|
+
"layoutHint": "text-1x-left"
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
"id": "resolve",
|
|
56
|
+
"name": "Resolve",
|
|
57
|
+
"description": "Articulate the choice the underdog made to keep going. The strong will, the small bet, the borrowed faith. Resolve is where the protagonist becomes someone the audience roots for.",
|
|
58
|
+
"instructions": "Articulate strong will",
|
|
59
|
+
"slideType": "text",
|
|
60
|
+
"layoutHint": "text-1x-left"
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
"id": "breakthrough",
|
|
64
|
+
"name": "Breakthrough",
|
|
65
|
+
"description": "Show the reward of perseverance: the customer who said yes, the door that opened, the fortune that turned. The breakthrough should feel earned, not granted.",
|
|
66
|
+
"instructions": "Reward of perseverance",
|
|
67
|
+
"slideType": "text",
|
|
68
|
+
"layoutHint": "text-1x-left"
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
"id": "triumph",
|
|
72
|
+
"name": "Triumph",
|
|
73
|
+
"description": "Reveal the ultimate success. Concrete outcomes, named milestones. The triumph is the audience's emotional payoff — let it land.",
|
|
74
|
+
"instructions": "Reveal ultimate success",
|
|
75
|
+
"slideType": "text",
|
|
76
|
+
"layoutHint": "text-1x-left"
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
"id": "legacy",
|
|
80
|
+
"name": "Legacy",
|
|
81
|
+
"description": "Share the lasting impact. What the underdog's victory makes possible for those who come after. The legacy beat is what turns a story into a lesson.",
|
|
82
|
+
"layoutHint": "title-left",
|
|
83
|
+
"instructions": "Share long-lasting impact",
|
|
84
|
+
"slideType": "text"
|
|
85
|
+
}
|
|
86
|
+
]
|
|
87
|
+
}
|