@litfamily/litopencode 1.0.16 → 1.0.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (119) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/README-Ko-KR.md +11 -11
  3. package/README.md +11 -11
  4. package/dist/activation-routing.js +1 -1
  5. package/dist/deliverable-hedge-guard.js +3 -1
  6. package/dist/features.js +2 -2
  7. package/dist/hooks.js +2 -1
  8. package/dist/skills.js +6 -4
  9. package/docs/assets/readme/badge-version.svg +1 -1
  10. package/docs/reference-Ko-KR.md +1 -1
  11. package/package.json +1 -1
  12. package/skills/frontend-ui-ux/data/THIRD-PARTY-NOTICE.txt +1 -3
  13. package/skills/lit-docx/SKILL.md +80 -19
  14. package/skills/lit-docx/references/components.md +253 -0
  15. package/skills/lit-docx/references/direction-step.md +234 -0
  16. package/skills/lit-docx/references/examples/01-report-ko.md +160 -0
  17. package/skills/lit-docx/references/examples/02-brief-ko.md +58 -0
  18. package/skills/lit-docx/references/examples/03-manual-ko.md +107 -0
  19. package/skills/lit-docx/references/examples/04-proposal-ko.md +93 -0
  20. package/skills/lit-docx/references/examples/05-memo-ko.md +42 -0
  21. package/skills/lit-docx/references/examples/06-journal-en.md +84 -0
  22. package/skills/lit-docx/references/examples/07-report-en.md +137 -0
  23. package/skills/lit-docx/references/examples/08-journal-ko.md +93 -0
  24. package/skills/lit-docx/references/examples/09-brief-en.md +64 -0
  25. package/skills/lit-docx/references/page-composition.md +306 -0
  26. package/skills/lit-docx/references/tonalities/brief.md +104 -0
  27. package/skills/lit-docx/references/tonalities/journal.md +101 -0
  28. package/skills/lit-docx/references/tonalities/manual.md +111 -0
  29. package/skills/lit-docx/references/tonalities/memo.md +105 -0
  30. package/skills/lit-docx/references/tonalities/proposal.md +101 -0
  31. package/skills/lit-docx/references/tonalities/report.md +126 -0
  32. package/skills/lit-docx/run.py +2 -1
  33. package/skills/lit-docx/scripts/convert_md_to_docx.py +384 -67
  34. package/skills/lit-docx/scripts/craft_docx.py +204 -1
  35. package/skills/lit-docx/scripts/docx_design.py +2445 -0
  36. package/skills/lit-docx/scripts/docx_layout.py +959 -0
  37. package/skills/lit-docx/scripts/slop_lint.py +23 -6
  38. package/skills/lit-docx/templates/tonalities/brief.yaml +28 -0
  39. package/skills/lit-docx/templates/tonalities/journal.yaml +25 -0
  40. package/skills/lit-docx/templates/tonalities/manual.yaml +26 -0
  41. package/skills/lit-docx/templates/tonalities/memo.yaml +26 -0
  42. package/skills/lit-docx/templates/tonalities/proposal.yaml +26 -0
  43. package/skills/lit-docx/templates/tonalities/report.yaml +26 -0
  44. package/skills/lit-pptx/NOTICE.md +1 -1
  45. package/skills/lit-pptx/SKILL.md +108 -19
  46. package/skills/lit-pptx/pretendard-font/public/static/Pretendard-Bold.otf +0 -0
  47. package/skills/lit-pptx/pretendard-font/public/static/Pretendard-Regular.otf +0 -0
  48. package/skills/lit-pptx/references/density-and-fill.md +283 -0
  49. package/skills/lit-pptx/references/direction-step.md +249 -0
  50. package/skills/lit-pptx/references/examples/01-ops-review-ledger-ko.md +173 -0
  51. package/skills/lit-pptx/references/examples/02-launch-pitch-signal-en.md +153 -0
  52. package/skills/lit-pptx/references/examples/03-field-survey-atlas-ko.md +120 -0
  53. package/skills/lit-pptx/references/examples/04-lecture-chalk-ko.md +132 -0
  54. package/skills/lit-pptx/references/examples/05-research-talk-paper-en.md +162 -0
  55. package/skills/lit-pptx/references/examples/06-policy-briefing-gazette-ko.md +176 -0
  56. package/skills/lit-pptx/references/examples/07-annual-story-studio-en.md +131 -0
  57. package/skills/lit-pptx/references/examples/08-reliability-keynote-night-en.md +182 -0
  58. package/skills/lit-pptx/references/examples/09-status-update-ledger-en.md +147 -0
  59. package/skills/lit-pptx/references/examples/10-investor-pitch-signal-ko.md +136 -0
  60. package/skills/lit-pptx/references/examples/11-forecast-review-night-ko.md +177 -0
  61. package/skills/lit-pptx/references/examples/12-exhibition-proposal-studio-ko.md +149 -0
  62. package/skills/lit-pptx/references/layout-families.md +470 -0
  63. package/skills/lit-pptx/references/title-treatments.md +271 -0
  64. package/skills/lit-pptx/references/tonalities/atlas.md +131 -0
  65. package/skills/lit-pptx/references/tonalities/chalk.md +132 -0
  66. package/skills/lit-pptx/references/tonalities/gazette.md +137 -0
  67. package/skills/lit-pptx/references/tonalities/ledger.md +150 -0
  68. package/skills/lit-pptx/references/tonalities/night.md +148 -0
  69. package/skills/lit-pptx/references/tonalities/paper.md +135 -0
  70. package/skills/lit-pptx/references/tonalities/signal.md +147 -0
  71. package/skills/lit-pptx/references/tonalities/studio.md +149 -0
  72. package/skills/lit-pptx/scripts/compile-deck.js +68 -21
  73. package/skills/lit-pptx/scripts/craft-thresholds.json +45 -1
  74. package/skills/lit-pptx/scripts/craft_extras.py +37 -8
  75. package/skills/lit-pptx/scripts/deck_output.py +654 -0
  76. package/skills/lit-pptx/scripts/embed_fonts.py +2 -2
  77. package/skills/lit-pptx/scripts/layout_inventory.py +35 -2
  78. package/skills/lit-pptx/scripts/lib/directive-parser.js +2 -2
  79. package/skills/lit-pptx/scripts/lib/font-map.js +4 -4
  80. package/skills/lit-pptx/scripts/lib/grid-resolver.js +521 -0
  81. package/skills/lit-pptx/scripts/lib/layout-resolver.js +403 -21
  82. package/skills/lit-pptx/scripts/lib/markdown-loader.js +6 -4
  83. package/skills/lit-pptx/scripts/lib/render-adapter-html.js +3 -9
  84. package/skills/lit-pptx/scripts/lib/render-adapter-pptx.js +500 -113
  85. package/skills/lit-pptx/scripts/lib/render-pack.js +3558 -0
  86. package/skills/lit-pptx/scripts/lib/slide-ast.js +55 -24
  87. package/skills/lit-pptx/scripts/lib/spec-validator.js +2 -2
  88. package/skills/lit-pptx/scripts/lib/template-registry.js +335 -11
  89. package/skills/lit-pptx/scripts/qa_deck.py +48 -13
  90. package/skills/lit-pptx/scripts/validate_pptx.py +25 -7
  91. package/skills/lit-pptx/specs/template-enrollment-contract.md +4 -4
  92. package/skills/lit-pptx/templates/boilerplate_professional.css +13 -13
  93. package/skills/lit-pptx/templates/enrolled/AZURE-A2Z/layout-mapping.yaml +1 -1
  94. package/skills/lit-pptx/templates/enrolled/AZURE-A2Z/template.yaml +5 -2
  95. package/skills/lit-pptx/templates/enrolled/AZURE-PRO/capabilities.yaml +20 -20
  96. package/skills/lit-pptx/templates/enrolled/AZURE-PRO/layout-mapping.yaml +1 -11
  97. package/skills/lit-pptx/templates/enrolled/AZURE-PRO/template.yaml +10 -7
  98. package/skills/lit-pptx/templates/enrolled/BOILERPLATE-PRETENDARD/capabilities.yaml +17 -17
  99. package/skills/lit-pptx/templates/enrolled/BOILERPLATE-PRETENDARD/template.yaml +8 -8
  100. package/skills/lit-pptx/templates/tonalities/atlas/pack.yaml +99 -0
  101. package/skills/lit-pptx/templates/tonalities/chalk/pack.yaml +104 -0
  102. package/skills/lit-pptx/templates/tonalities/gazette/pack.yaml +100 -0
  103. package/skills/lit-pptx/templates/tonalities/ledger/pack.yaml +101 -0
  104. package/skills/lit-pptx/templates/tonalities/night/pack.yaml +100 -0
  105. package/skills/lit-pptx/templates/tonalities/paper/pack.yaml +105 -0
  106. package/skills/lit-pptx/templates/tonalities/signal/pack.yaml +101 -0
  107. package/skills/lit-pptx/templates/tonalities/studio/pack.yaml +99 -0
  108. package/skills/lit-typographic-motion/THIRD_PARTY_NOTICES +1 -1
  109. package/skills/lit-typographic-motion/engine/stage/capture.mjs +2 -2
  110. package/skills/lit-typographic-motion/engine/treatment.mjs +1 -1
  111. package/skills/lit-typographic-motion/fonts/pins.json +2 -2
  112. package/skills/lit-typographic-motion/gate.mjs +1 -1
  113. package/skills/lit-typographic-motion/references/stage.md +1 -1
  114. package/skills/lit-typographic-motion/references/style-bibles.md +2 -2
  115. package/skills/lit-typographic-motion/references/treatment.md +1 -1
  116. package/skills/lit-typographic-motion/references/type-craft.md +3 -3
  117. package/skills/managed-skill-manifest.json +288 -44
  118. package/skills/lit-pptx/pretendard-font/public/static/LitOpenCodeSans-Bold.otf +0 -0
  119. package/skills/lit-pptx/pretendard-font/public/static/LitOpenCodeSans-Regular.otf +0 -0
@@ -0,0 +1,104 @@
1
+ # Chalk: a good teacher's board, cleaned up. Numbered steps, one concept marked per slide, a fenced
2
+ # box for the definition or the common mistake, rounded surfaces and a warm rust accent for the
3
+ # thing being taught. Wrong for decision decks, where the step rhythm reads as padding.
4
+ id: chalk
5
+ name: Chalk
6
+ version: "1.0.0"
7
+ intent: "Teaching decks: steps, worked examples, definitions."
8
+ canvas: ["16:9", "4:3"]
9
+
10
+ # Pretendard by default; the A2Z map below applies only when the source asks (faces: a2z).
11
+ faces:
12
+ display: Pretendard Bold
13
+ title: Pretendard Bold
14
+ body: Pretendard Regular
15
+ label: Pretendard Regular
16
+ numeral: Pretendard Bold
17
+ faces-pretendard-only:
18
+ display: Pretendard Bold
19
+ title: Pretendard Bold
20
+ body: Pretendard Regular
21
+ label: Pretendard Regular
22
+ numeral: Pretendard Bold
23
+ faces-a2z:
24
+ display: A2Z Bold
25
+ title: A2Z Bold
26
+ body: Pretendard Regular
27
+ label: Pretendard Regular
28
+ numeral: A2Z Black
29
+
30
+ palette:
31
+ ground: "#FAFBFC"
32
+ surface: "#EEF2F5"
33
+ ink: "#1F2933"
34
+ ink-muted: "#4E5A66"
35
+ line: "#CBD3DA"
36
+ accent: "#9A3412"
37
+ accent-deep: "#6B2409"
38
+ accent-tint: "#FCEBE0"
39
+ field: "#1F3B33"
40
+ on-field: "#FFFFFF"
41
+ positive: "#1E7A3F"
42
+ negative: "#B3261E"
43
+ series: ["#9A3412", "#1F3B33", "#4E5A66", "#2E6A8E"]
44
+
45
+ ramp: reading
46
+ hero: false
47
+ type-voice:
48
+ title-tracking: -1
49
+ display-tracking: -1
50
+
51
+ density: 10
52
+ variance: 6
53
+ radius: 6
54
+ edge: fill
55
+
56
+ treatments: [kicker-numeral, top-rule, side-rail, statement]
57
+ role-defaults:
58
+ content: top-rule
59
+ data: top-rule
60
+ data-takeaway: side-rail
61
+ sequence: kicker-numeral
62
+ image: side-rail
63
+ statement: statement
64
+ reference: top-rule
65
+ definition: side-rail
66
+
67
+ # A comparison is drawn with its criteria on the board rail.
68
+ structure:
69
+ comparison: side-rail
70
+
71
+ decoration: [accent-rule, mark-underline, rail-fill, numeral]
72
+ # The rail under a side title is the board itself: the dark field, the title in white.
73
+ rail: field
74
+ layout-families: [step-diagram, process, method, sidebar-note, comparison, image-split, quote, agenda, statement, text-column, table-insight]
75
+ # Display slides: the device a type-led cover, a statement, a big number and a closing's next step
76
+ # are drawn with (see references/layout-families.md, "Display slides").
77
+ display:
78
+ cover: rail
79
+ statement: drench
80
+ number: tint
81
+ closing: box
82
+ covers: [cover-rail, cover-typographic, cover-numeral]
83
+ sections: [section-numeral, section-rail]
84
+ closings: [closing-summary-list, closing-ask]
85
+
86
+ table:
87
+ style: header-fill
88
+ header: accent-tint
89
+ header-ink: accent-deep
90
+ rules: rows
91
+ banding: none
92
+ totals: bold
93
+ chart:
94
+ gridlines: hairline
95
+ labels: direct
96
+ highlight: accent-on-muted
97
+ image:
98
+ frame: none
99
+
100
+ fill-order: [distribute, step-up, change-family, anchor-visual]
101
+ avoid:
102
+ - more than one marked term per slide
103
+ - numerals on points that are not a sequence
104
+ - definitions buried in bullets instead of the sidebar
@@ -0,0 +1,100 @@
1
+ # Gazette: a Korean briefing paper set as slides. A slate header band carries the title on content
2
+ # pages, a boxed one-line conclusion sits on top, and itemised evidence fills two columns at reading
3
+ # size; a red key line is the only accent. Wrong for a live talk: the density that serves a reader
4
+ # overwhelms a listener.
5
+ id: gazette
6
+ name: Gazette
7
+ version: "1.0.0"
8
+ intent: "Korean briefing decks that are read, not presented."
9
+ canvas: ["16:9", "4:3"]
10
+
11
+ # Pretendard by default; the A2Z map below applies only when the source asks (faces: a2z).
12
+ faces:
13
+ display: Pretendard Bold
14
+ title: Pretendard Bold
15
+ body: Pretendard Regular
16
+ label: Pretendard Regular
17
+ numeral: Pretendard Bold
18
+ faces-pretendard-only:
19
+ display: Pretendard Bold
20
+ title: Pretendard Bold
21
+ body: Pretendard Regular
22
+ label: Pretendard Regular
23
+ numeral: Pretendard Bold
24
+ faces-a2z:
25
+ display: A2Z Bold
26
+ title: Pretendard Bold
27
+ body: Pretendard Regular
28
+ label: Pretendard Regular
29
+ numeral: A2Z Bold
30
+
31
+ palette:
32
+ ground: "#FFFFFF"
33
+ surface: "#F1F4F8"
34
+ ink: "#1A2230"
35
+ ink-muted: "#4A5568"
36
+ line: "#C8D0DA"
37
+ accent: "#A61B1B"
38
+ accent-deep: "#233A4F"
39
+ accent-tint: "#E8EEF4"
40
+ field: "#233A4F"
41
+ on-field: "#FFFFFF"
42
+ positive: "#1E7A3F"
43
+ negative: "#1A2230"
44
+ series: ["#A61B1B", "#233A4F", "#4A5568", "#7A6A2A"]
45
+
46
+ ramp: reading
47
+ hero: false
48
+ type-voice:
49
+ title-tracking: -1
50
+ display-tracking: -1
51
+
52
+ density: 10
53
+ variance: 4
54
+ radius: 0
55
+ edge: fill+border
56
+
57
+ treatments: [band, top-rule, kicker-numeral, side-rail]
58
+ role-defaults:
59
+ content: band
60
+ data: top-rule
61
+ data-takeaway: side-rail
62
+ sequence: kicker-numeral
63
+ image: side-rail
64
+ statement: band
65
+ reference: top-rule
66
+ definition: side-rail
67
+
68
+ decoration: [header-band, box-outline, hairline-rule, numeral]
69
+ layout-families: [summary-box-list, text-two-column, text-column, ledger-table, table-insight, comparison, timeline, matrix-2x2, agenda, references-appendix]
70
+ # Display slides: the device a type-led cover, a statement, a big number and a closing's next step
71
+ # are drawn with (see references/layout-families.md, "Display slides").
72
+ display:
73
+ cover: band
74
+ number: outline
75
+ closing: box
76
+ index: true
77
+ covers: [cover-band, cover-typographic, cover-index]
78
+ sections: [section-band, section-rule]
79
+ closings: [closing-decision-box, closing-ask]
80
+
81
+ table:
82
+ style: header-fill
83
+ header: field
84
+ header-ink: on-field
85
+ rules: grid
86
+ banding: surface
87
+ totals: bold
88
+ chart:
89
+ gridlines: hairline
90
+ labels: direct
91
+ highlight: accent-on-muted
92
+ image:
93
+ frame: hairline
94
+
95
+ fill-order: [step-up, distribute, change-family, anchor-visual]
96
+ avoid:
97
+ - English section kickers
98
+ - red for anything but the key line
99
+ - a summary box longer than three lines
100
+ - more than three text families in a row
@@ -0,0 +1,101 @@
1
+ # Ledger: a set of accounts made readable. Small, exact type, tables and KPI rows
2
+ # doing most of the talking; colour marks only "this
3
+ # period" and the one figure that matters. Wrong for a live pitch with little data
4
+ # or for a briefing that is read as prose.
5
+ id: ledger
6
+ name: Ledger
7
+ version: "1.0.0"
8
+ intent: "Dense, numbers-forward review decks that are read closely."
9
+ canvas: ["16:9", "4:3"]
10
+
11
+ # Pretendard by default; the A2Z map below applies only when the source asks (faces: a2z).
12
+ faces:
13
+ display: Pretendard Bold
14
+ title: Pretendard Bold
15
+ body: Pretendard Regular
16
+ label: Pretendard Regular
17
+ numeral: Pretendard Bold
18
+ faces-pretendard-only:
19
+ display: Pretendard Bold
20
+ title: Pretendard Bold
21
+ body: Pretendard Regular
22
+ label: Pretendard Regular
23
+ numeral: Pretendard Bold
24
+ faces-a2z:
25
+ display: A2Z Bold
26
+ title: Pretendard Bold
27
+ body: Pretendard Regular
28
+ label: Pretendard Regular
29
+ numeral: A2Z Bold
30
+
31
+ palette:
32
+ ground: "#FFFFFF"
33
+ surface: "#F2F4F6"
34
+ ink: "#16212C"
35
+ ink-muted: "#4B5866"
36
+ line: "#D0D6DC"
37
+ accent: "#0E6B5A"
38
+ accent-deep: "#0A4438"
39
+ accent-tint: "#E2F0EC"
40
+ field: "#0A4438"
41
+ on-field: "#FFFFFF"
42
+ positive: "#1E7A3F"
43
+ negative: "#B3261E"
44
+ series: ["#0E6B5A", "#4B5866", "#9A6A12", "#2F5F8A"]
45
+
46
+ ramp: reading
47
+ hero: false
48
+ type-voice:
49
+ title-tracking: -1
50
+ display-tracking: -1
51
+
52
+ density: 10
53
+ variance: 5
54
+ radius: 0
55
+ edge: fill
56
+
57
+ treatments: [top-rule, side-rail, kicker-numeral, bottom-anchor]
58
+ role-defaults:
59
+ content: top-rule
60
+ data: top-rule
61
+ data-takeaway: side-rail
62
+ sequence: kicker-numeral
63
+ image: bottom-anchor
64
+ statement: side-rail
65
+ reference: top-rule
66
+ definition: side-rail
67
+
68
+ decoration: [accent-rule, hairline-rule, rail-fill, numeral]
69
+ layout-families: [kpi-row, kpi-over-chart, dashboard-grid, ledger-table, table-insight, chart-insight, full-chart, big-number, comparison, timeline, matrix-2x2, agenda, text-two-column, references-appendix]
70
+ # Display slides: the device a type-led cover, a statement, a big number and a closing's next step
71
+ # are drawn with (see references/layout-families.md, "Display slides").
72
+ display:
73
+ cover: figures
74
+ number: tint
75
+ closing: box
76
+ index: true
77
+ covers: [cover-figures, cover-typographic, cover-index]
78
+ sections: [section-rule, section-numeral]
79
+ closings: [closing-decision-box, closing-ask]
80
+
81
+ table:
82
+ style: ledger
83
+ # The header row is the ledger's one dark mass: deep field, white labels.
84
+ header: field
85
+ header-ink: on-field
86
+ rules: header-and-totals
87
+ banding: none
88
+ totals: bold
89
+ chart:
90
+ gridlines: hairline
91
+ labels: direct
92
+ highlight: accent-on-muted
93
+ image:
94
+ frame: hairline
95
+
96
+ fill-order: [step-up, distribute, anchor-visual, change-family]
97
+ avoid:
98
+ - KPI cards for counts that are not results
99
+ - more than one accent on a chart
100
+ - tables stretched by padding
101
+ - side-rail on two data slides in a row
@@ -0,0 +1,100 @@
1
+ # Night: a stage screen in a dark room. Near-black ground, off-white type, an amber accent and a
2
+ # soft-blue second series, light numerals and big charts. Wrong for decks that are printed or read
3
+ # on paper, and it never mixes with light slides inside one deck.
4
+ id: night
5
+ name: Night
6
+ version: "1.0.0"
7
+ intent: "Data and technical keynotes on a dark ground."
8
+ canvas: ["16:9", "4:3"]
9
+
10
+ # Pretendard by default; the A2Z map below applies only when the source asks (faces: a2z).
11
+ faces:
12
+ display: Pretendard Bold
13
+ title: Pretendard Bold
14
+ body: Pretendard Regular
15
+ label: Pretendard Regular
16
+ numeral: Pretendard Regular
17
+ faces-pretendard-only:
18
+ display: Pretendard Bold
19
+ title: Pretendard Bold
20
+ body: Pretendard Regular
21
+ label: Pretendard Regular
22
+ numeral: Pretendard Regular
23
+ faces-a2z:
24
+ display: Pretendard Bold
25
+ title: Pretendard Bold
26
+ body: Pretendard Regular
27
+ label: Pretendard Regular
28
+ numeral: A2Z Light
29
+
30
+ palette:
31
+ ground: "#0F1419"
32
+ surface: "#1A222B"
33
+ ink: "#E8EDF2"
34
+ ink-muted: "#A3AEBA"
35
+ line: "#5A6672"
36
+ accent: "#E3A857"
37
+ accent-deep: "#F2C98A"
38
+ accent-tint: "#2A2418"
39
+ field: "#1E2A36"
40
+ on-field: "#F5F7FA"
41
+ positive: "#6CC08B"
42
+ negative: "#F08A7E"
43
+ series: ["#E3A857", "#7FB8E0", "#A3AEBA", "#C58FD0"]
44
+
45
+ ramp: reading
46
+ hero: false
47
+ type-voice:
48
+ title-tracking: -1
49
+ display-tracking: -2
50
+
51
+ density: 10
52
+ variance: 6
53
+ radius: 6
54
+ edge: fill
55
+
56
+ treatments: [top-plain-large, statement, side-rail, kicker-numeral, band]
57
+ role-defaults:
58
+ content: top-plain-large
59
+ data: band
60
+ data-takeaway: side-rail
61
+ sequence: kicker-numeral
62
+ image: top-plain-large
63
+ statement: statement
64
+ reference: band
65
+ definition: side-rail
66
+
67
+ decoration: [header-band, hairline-rule, numeral, rail-fill]
68
+ layout-families: [full-chart, chart-insight, kpi-row, kpi-over-chart, dashboard-grid, big-number, method, comparison, timeline, statement]
69
+ # Display slides: the device a type-led cover, a statement, a big number and a closing's next step
70
+ # are drawn with (see references/layout-families.md, "Display slides").
71
+ display:
72
+ cover: numeral
73
+ statement: open
74
+ number: tint
75
+ closing: band
76
+ covers: [cover-numeral, cover-typographic, cover-figures]
77
+ sections: [section-numeral, section-field]
78
+ closings: [closing-statement, closing-decision-box]
79
+
80
+ table:
81
+ style: header-fill
82
+ header: surface
83
+ header-ink: ink
84
+ rules: rows
85
+ banding: none
86
+ totals: bold
87
+ protagonist: accent-tint
88
+ chart:
89
+ gridlines: hairline
90
+ labels: direct
91
+ highlight: accent-on-muted
92
+ image:
93
+ frame: none
94
+
95
+ fill-order: [anchor-visual, step-up, distribute, change-family]
96
+ avoid:
97
+ - neon or saturated glows
98
+ - a pure black ground
99
+ - light slides mixed in
100
+ - thin light type below 18 pt
@@ -0,0 +1,105 @@
1
+ # Paper: a journal page projected. Ink on white, hairline rules instead of fills, figures first,
2
+ # numbered captions, booktabs tables, and a single deep crimson that always means "the proposed
3
+ # method". Wrong for a sales or launch audience, where the restraint reads as cold.
4
+ id: paper
5
+ name: Paper
6
+ version: "1.0.0"
7
+ intent: "Research and technical talks built on figures and citations."
8
+ canvas: ["16:9", "4:3"]
9
+
10
+ # Pretendard by default; the A2Z map below applies only when the source asks (faces: a2z).
11
+ faces:
12
+ display: Pretendard Bold
13
+ title: Pretendard Bold
14
+ body: Pretendard Regular
15
+ label: Pretendard Regular
16
+ numeral: Pretendard Regular
17
+ faces-pretendard-only:
18
+ display: Pretendard Bold
19
+ title: Pretendard Bold
20
+ body: Pretendard Regular
21
+ label: Pretendard Regular
22
+ numeral: Pretendard Regular
23
+ faces-a2z:
24
+ display: Pretendard Bold
25
+ title: Pretendard Bold
26
+ body: Pretendard Regular
27
+ label: Pretendard Regular
28
+ numeral: Pretendard Regular
29
+
30
+ palette:
31
+ ground: "#FFFFFF"
32
+ surface: "#F5F5F6"
33
+ ink: "#111418"
34
+ ink-muted: "#50565E"
35
+ line: "#C9CDD2"
36
+ accent: "#8C1C2B"
37
+ accent-deep: "#5E121C"
38
+ accent-tint: "#F6E6E8"
39
+ field: "#111418"
40
+ on-field: "#FFFFFF"
41
+ positive: "#1E6B3A"
42
+ negative: "#50565E"
43
+ series: ["#8C1C2B", "#111418", "#50565E", "#2E5E8A"]
44
+
45
+ ramp: reading
46
+ hero: false
47
+ type-voice:
48
+ title-tracking: 0
49
+ display-tracking: -1
50
+
51
+ density: 10
52
+ variance: 5
53
+ radius: 0
54
+ edge: border
55
+
56
+ treatments: [top-rule, bottom-anchor, side-rail, statement]
57
+ role-defaults:
58
+ content: top-rule
59
+ data: top-rule
60
+ data-takeaway: bottom-anchor
61
+ sequence: top-rule
62
+ image: bottom-anchor
63
+ statement: statement
64
+ reference: top-rule
65
+ definition: side-rail
66
+
67
+ # A comparison is drawn as a ruled table under its title.
68
+ structure:
69
+ comparison: top-rule
70
+
71
+ # No accent rule: here a top-rule title always sits on the hairline.
72
+ decoration: [hairline-rule, box-outline]
73
+ layout-families: [figure-academic, figure-pair, method, chart-insight, full-chart, table-insight, comparison, quote, statement, text-column, references-appendix]
74
+ # Display slides: the device a type-led cover, a statement, a big number and a closing's next step
75
+ # are drawn with (see references/layout-families.md, "Display slides").
76
+ display:
77
+ cover: rules
78
+ statement: rules
79
+ number: outline
80
+ closing: rules
81
+ index: true
82
+ covers: [cover-index, cover-typographic, cover-split-image]
83
+ sections: [section-rule, section-field]
84
+ closings: [closing-summary-list, closing-ask]
85
+
86
+ table:
87
+ style: booktabs
88
+ header: none
89
+ header-ink: ink
90
+ rules: booktabs
91
+ banding: none
92
+ totals: bold
93
+ chart:
94
+ gridlines: hairline
95
+ labels: direct
96
+ highlight: series-order
97
+ image:
98
+ frame: none
99
+
100
+ fill-order: [anchor-visual, distribute, step-up, change-family]
101
+ avoid:
102
+ - the short accent bar under a title (the rule is a hairline)
103
+ - coloured card fills
104
+ - figures without numbered captions
105
+ - the accent on anything but the proposed method
@@ -0,0 +1,101 @@
1
+ # Signal: a talk where every slide is one idea said loudly. Very large type, few words, a white
2
+ # ground and one hot red-orange accent kept for the protagonist. Wrong when the audience has to
3
+ # read the details later, or when most of the content is tables.
4
+ id: signal
5
+ name: Signal
6
+ version: "1.0.0"
7
+ intent: "Live pitches and launches: one idea per slide at large size."
8
+ canvas: ["16:9", "4:3"]
9
+
10
+ # Pretendard by default; the A2Z map below applies only when the source asks (faces: a2z).
11
+ faces:
12
+ display: Pretendard Bold
13
+ title: Pretendard Bold
14
+ body: Pretendard Regular
15
+ label: Pretendard Regular
16
+ numeral: Pretendard Bold
17
+ faces-pretendard-only:
18
+ display: Pretendard Bold
19
+ title: Pretendard Bold
20
+ body: Pretendard Regular
21
+ label: Pretendard Regular
22
+ numeral: Pretendard Bold
23
+ faces-a2z:
24
+ display: A2Z Black
25
+ title: A2Z Bold
26
+ body: Pretendard Regular
27
+ label: Pretendard Regular
28
+ numeral: A2Z Black
29
+
30
+ palette:
31
+ ground: "#FFFFFF"
32
+ surface: "#F4F4F5"
33
+ ink: "#15131A"
34
+ ink-muted: "#55525C"
35
+ line: "#D4D4D8"
36
+ accent: "#C8361A"
37
+ accent-deep: "#6E1A0C"
38
+ accent-tint: "#FBE7E2"
39
+ field: "#C8361A"
40
+ on-field: "#FFFFFF"
41
+ positive: "#1E7A3F"
42
+ # The accent is red, so a loss keeps the ink colour and carries its ▼ sign instead.
43
+ negative: "#15131A"
44
+ series: ["#C8361A", "#15131A", "#6B6870", "#2F6F8F"]
45
+
46
+ ramp: reading
47
+ hero: false
48
+ type-voice:
49
+ title-tracking: -1
50
+ display-tracking: -2
51
+
52
+ density: 10
53
+ variance: 6
54
+ radius: 0
55
+ edge: fill
56
+
57
+ treatments: [statement, top-plain-large, bottom-anchor, top-rule]
58
+ role-defaults:
59
+ content: top-plain-large
60
+ data: top-rule
61
+ data-takeaway: top-plain-large
62
+ sequence: top-rule
63
+ image: bottom-anchor
64
+ statement: statement
65
+ reference: top-rule
66
+ definition: top-rule
67
+
68
+ decoration: [colour-field, hairline-rule, numeral]
69
+ layout-families: [statement, big-number, image-split, asymmetric-feature, process, kpi-row, chart-insight, full-chart, comparison, table-insight, quote]
70
+ # Display slides: the device a type-led cover, a statement, a big number and a closing's next step
71
+ # are drawn with (see references/layout-families.md, "Display slides").
72
+ display:
73
+ cover: drench
74
+ statement: open
75
+ number: field
76
+ closing: band
77
+ covers: [cover-numeral, cover-typographic, cover-split-field]
78
+ sections: [section-field, section-numeral]
79
+ closings: [closing-statement, closing-ask]
80
+
81
+ table:
82
+ style: open
83
+ header: none
84
+ header-ink: ink
85
+ rules: top-bottom
86
+ banding: none
87
+ totals: bold
88
+ protagonist: accent-tint
89
+ chart:
90
+ gridlines: none
91
+ labels: direct
92
+ highlight: accent-on-muted
93
+ image:
94
+ frame: none
95
+
96
+ fill-order: [step-up, change-family, anchor-visual, distribute]
97
+ avoid:
98
+ - red for losses (losses carry ▼ in ink)
99
+ - more than two lines of display text
100
+ - cards
101
+ - bullet lists longer than four items
@@ -0,0 +1,99 @@
1
+ # Studio: a magazine spread. The 12-column grid is visible, titles live in a side rail or open a
2
+ # page at large size, real numbers are set huge, splits are asymmetric, and a dark ochre accent
3
+ # marks the one thing to look at. Wrong for dense data reviews: editorial white space starves tables.
4
+ id: studio
5
+ name: Studio
6
+ version: "1.0.0"
7
+ intent: "Editorial narratives on a visible grid with large numerals."
8
+ canvas: ["16:9", "4:3"]
9
+
10
+ # Pretendard by default; the A2Z map below applies only when the source asks (faces: a2z).
11
+ faces:
12
+ display: Pretendard Bold
13
+ title: Pretendard Bold
14
+ body: Pretendard Regular
15
+ label: Pretendard Regular
16
+ numeral: Pretendard Bold
17
+ faces-pretendard-only:
18
+ display: Pretendard Bold
19
+ title: Pretendard Bold
20
+ body: Pretendard Regular
21
+ label: Pretendard Regular
22
+ numeral: Pretendard Bold
23
+ faces-a2z:
24
+ display: A2Z Black
25
+ title: A2Z Medium
26
+ body: Pretendard Regular
27
+ label: Pretendard Regular
28
+ numeral: A2Z Black
29
+
30
+ palette:
31
+ ground: "#FFFFFF"
32
+ surface: "#F2F2F0"
33
+ ink: "#141414"
34
+ ink-muted: "#525252"
35
+ line: "#D2D2CE"
36
+ accent: "#8A5A00"
37
+ accent-deep: "#4D3200"
38
+ accent-tint: "#F5ECD9"
39
+ field: "#141414"
40
+ on-field: "#FFFFFF"
41
+ positive: "#1E7A3F"
42
+ negative: "#B3261E"
43
+ series: ["#8A5A00", "#141414", "#525252", "#3B5F7F"]
44
+
45
+ ramp: reading
46
+ hero: false
47
+ type-voice:
48
+ title-tracking: -1
49
+ display-tracking: -2
50
+
51
+ density: 10
52
+ variance: 8
53
+ radius: 0
54
+ edge: fill
55
+
56
+ treatments: [side-rail, statement, top-plain-large, bottom-anchor, overlay]
57
+ role-defaults:
58
+ content: side-rail
59
+ data: top-plain-large
60
+ data-takeaway: side-rail
61
+ sequence: side-rail
62
+ image: side-rail
63
+ statement: statement
64
+ reference: side-rail
65
+ definition: side-rail
66
+
67
+ decoration: [column-hairlines, numeral, rail-fill, colour-field, caption-band]
68
+ layout-families: [asymmetric-feature, big-number, image-split, image-full, photo-grid, text-two-column, chart-insight, kpi-row, timeline, comparison, statement]
69
+ # Display slides: the device a type-led cover, a statement, a big number and a closing's next step
70
+ # are drawn with (see references/layout-families.md, "Display slides").
71
+ display:
72
+ # The offset rail stood empty beside a quote: the sentence takes two hairlines instead.
73
+ statement: rules
74
+ number: tint
75
+ closing: band
76
+ covers: [cover-split-image, cover-rail, cover-numeral]
77
+ sections: [section-numeral, section-rail]
78
+ closings: [closing-contact-split, closing-summary-list]
79
+
80
+ table:
81
+ style: open
82
+ header: none
83
+ header-ink: ink
84
+ rules: header-rule
85
+ banding: none
86
+ totals: bold
87
+ chart:
88
+ gridlines: none
89
+ labels: direct
90
+ highlight: accent-on-muted
91
+ image:
92
+ frame: none
93
+
94
+ fill-order: [change-family, step-up, anchor-visual, distribute]
95
+ avoid:
96
+ - large numerals that are not real figures
97
+ - column hairlines through text
98
+ - two side-rail slides with the same split in a row
99
+ - centred body text