@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,150 @@
1
+ # Ledger
2
+
3
+ Ledger sets a deck like a set of accounts made readable: small exact type, with
4
+ tables and figure rows doing most of the talking. Colour is rationed to two jobs, marking the
5
+ current period and the one number that matters. Pack file: `templates/tonalities/ledger/pack.yaml`.
6
+
7
+ ## Use it for
8
+
9
+ - Management and business reviews read closely, on screen or at the table (경영 실적, 사업부 리뷰).
10
+ - Weekly and monthly status updates with work items, owners, defects and budget.
11
+ - Data reviews where the audience questions every figure and wants the table, not just the chart.
12
+ - Any deck where 30 % or more of the slides hold a table or chart and the reader has time.
13
+
14
+ ## Wrong for
15
+
16
+ - A live pitch with little data: Ledger's restraint makes a thin deck look thinner. Use signal.
17
+ - A Korean briefing that is read as prose with boxed conclusions: gazette fits that better.
18
+ - Photo-led showcases: Ledger lists no image family.
19
+ - A dark keynote hall: night.
20
+
21
+ ## Palette roles
22
+
23
+ | Role | Colour | Used for |
24
+ |---|---|---|
25
+ | ground | white `#FFFFFF` | every slide background |
26
+ | surface | pale grey `#F2F4F6` | rail fill, quiet panels |
27
+ | ink / ink-muted | near-black slate `#16212C` / slate grey `#4B5866` | text, secondary text |
28
+ | line | light grey `#D0D6DC` | hairlines, table rules |
29
+ | accent | deep teal green `#0E6B5A` | the current period, the figure that matters, accent rule |
30
+ | accent-deep / accent-tint | dark teal `#0A4438` / pale mint `#E2F0EC` | field and table header / number panel tint |
31
+ | field / on-field | dark teal `#0A4438` / white | table header row, filled devices |
32
+ | positive / negative | green `#1E7A3F` / red `#B3261E` | signed deltas |
33
+ | series | teal, slate, ochre, steel blue | chart series in that order |
34
+
35
+ ## Type
36
+
37
+ Pretendard Regular and Bold throughout (A2Z display and numerals only with `faces: a2z`). At
38
+ density 10 the compact ramp applies: body 13 pt, labels and table cells 11 pt, sources 9 pt, titles
39
+ 26 pt. Titles track slightly tight.
40
+
41
+ ## Dials
42
+
43
+ Density 10, variance 5: at most four title treatments in one deck, of the pack's four.
44
+
45
+ ## Title treatments by role
46
+
47
+ | Role | Default treatment |
48
+ |---|---|
49
+ | content | top-rule |
50
+ | data | top-rule |
51
+ | data-takeaway | side-rail |
52
+ | sequence | kicker-numeral |
53
+ | image | bottom-anchor |
54
+ | statement | side-rail (no statement treatment; a statement slide becomes a top-rule title) |
55
+ | reference | top-rule |
56
+ | definition | side-rail |
57
+
58
+ The pack's treatments are top-rule, side-rail, kicker-numeral and bottom-anchor; a slide may take
59
+ any of them that its family allows (`--list-layouts ledger` prints the pairs). Its top-rule draws
60
+ the short accent bar (`accent-rule`), not a hairline. kicker-numeral appears on the agenda (the
61
+ part count) and on content slides after a section (the part number).
62
+
63
+ ## Families and variants
64
+
65
+ Families: kpi-row, kpi-over-chart, dashboard-grid, ledger-table, table-insight, chart-insight,
66
+ full-chart, big-number, comparison, timeline, matrix-2x2, agenda, text-two-column,
67
+ references-appendix.
68
+
69
+ Covers: cover-figures (needs a KPI table in the deck), cover-typographic, cover-index (needs an
70
+ agenda or two sections). Sections: section-rule, section-numeral. Closings: closing-decision-box,
71
+ closing-ask.
72
+
73
+ Display devices: the cover device is `figures`, big numbers stand on a tinted panel, a closing's
74
+ next step sits in a box, and `index: true` turns section-rule pages into an index of the agenda
75
+ with the current part marked.
76
+
77
+ ## Tables and charts
78
+
79
+ - Tables in the `ledger` style: the header row is the deck's one dark mass (dark teal field, white
80
+ labels); rules under the header and above the totals only; no banding; numbers right-aligned;
81
+ totals bold.
82
+ - Charts: hairline gridlines, direct labels, one accent on muted series.
83
+ - Images (rare here): hairline frame.
84
+
85
+ ## Decoration vocabulary
86
+
87
+ accent-rule, hairline-rule, rail-fill, numeral. Nothing else is drawn: no cards for counts that are
88
+ not results, no colour fields on content slides.
89
+
90
+ ## Fill behaviour
91
+
92
+ `fill-order`: step-up (off at density 10), distribute, anchor-visual, change-family. Ledger slides
93
+ fill by spreading first; a short table slide therefore shows its gaps between rows and takeaways
94
+ rather than a larger font.
95
+
96
+ ## Avoid
97
+
98
+ - KPI cards for counts that are not results (a headcount is not a KPI unless it is the result).
99
+ - More than one accent on a chart; highlight the current period only.
100
+ - Tables stretched by padding; add rows or takeaways instead.
101
+ - Side-rail on two data slides in a row.
102
+
103
+ ## A sample fragment
104
+
105
+ ```text
106
+ ---
107
+ tonality: ledger
108
+ title: 2026년 3분기 구매 원가 리뷰
109
+ date: 2026-10-06
110
+ notice: 예시 데이터
111
+ ---
112
+ layout: kpi-row
113
+
114
+ ## 3분기 구매 원가 핵심 지표
115
+
116
+ | 구매액 | 단가 변동 | 절감액 | 계약 준수율 | 긴급 발주 |
117
+ |---|---|---|---|---|
118
+ | 1,920억 원 | +2.4% | 31억 원 | 94.1% | 38건 |
119
+ | 계획 대비 −1.8% | 전년 동기 대비 | 목표 28억 원 | 목표 95% | 전 분기 52건 |
120
+
121
+ - 원자재 단가 상승분 2.4% 중 1.1%p를 장기 계약으로 흡수
122
+ - 긴급 발주는 생산 계획 확정 시점을 사흘 앞당긴 뒤 27% 줄어듦
123
+ - 출처: 예시 기업 구매 시스템 집계(2026년 7~9월)
124
+ - 주: 단가 변동은 상위 50개 품목의 물량 가중 평균
125
+ ---
126
+ layout: ledger-table
127
+
128
+ ## 품목군별 구매액과 단가 변동
129
+
130
+ | 품목군 | 구매액 | 비중 | 단가 변동 | 절감액 |
131
+ |---|---|---|---|---|
132
+ | 철강재 | 640억 원 | 33% | +3.9% | 9억 원 |
133
+ | 수지류 | 410억 원 | 21% | +1.2% | 8억 원 |
134
+ | 전장 부품 | 380억 원 | 20% | +2.8% | 6억 원 |
135
+ | 포장재 | 190억 원 | 10% | −0.6% | 5억 원 |
136
+ | 기타 | 300억 원 | 16% | +1.5% | 3억 원 |
137
+ | 합계 | 1,920억 원 | 100% | +2.4% | 31억 원 |
138
+
139
+ > 표 1. 품목군별 3분기 구매 실적 (예시 데이터)
140
+
141
+ - 철강재가 단가 상승의 절반 이상을 차지
142
+ - 포장재는 규격 통일 뒤 유일하게 단가가 내림
143
+ - 수지류 절감 8억 원은 공급사 두 곳 경쟁 입찰 결과
144
+ - 출처: 예시 기업 구매 시스템 집계(2026년 7~9월)
145
+ ```
146
+
147
+ ## Examples
148
+
149
+ - `examples/01-ops-review-ledger-ko.md`: Korean logistics operations review, 11 slides.
150
+ - `examples/09-status-update-ledger-en.md`: English programme status update, 9 slides.
@@ -0,0 +1,148 @@
1
+ # Night
2
+
3
+ Night is a stage screen in a dark room. A near-black blue ground, off-white type, an amber accent and
4
+ a soft blue second series, light numerals and big charts. It is the only dark pack, and a Night deck
5
+ is dark from cover to closing. Pack file: `templates/tonalities/night/pack.yaml`.
6
+
7
+ ## Use it for
8
+
9
+ - Data and technical keynotes in a dark hall or on a large stage screen.
10
+ - Data reviews presented to a room: reliability, forecasting, analytics, operations metrics.
11
+ - Demo days and engineering all-hands where charts carry the talk.
12
+
13
+ ## Wrong for
14
+
15
+ - Anything printed or read on paper: a dark ground wastes toner and loses contrast in print.
16
+ - Decks that mix dark and light slides: Night never mixes.
17
+ - Photo-led showcases: Night lists no image family.
18
+ - Long-form Korean reading briefs: gazette.
19
+
20
+ ## Palette roles
21
+
22
+ | Role | Colour | Used for |
23
+ |---|---|---|
24
+ | ground | near-black blue `#0F1419` (never pure black) | every slide |
25
+ | surface | dark slate `#1A222B` | table header, rail, panels |
26
+ | ink / ink-muted | off-white `#E8EDF2` / blue-grey `#A3AEBA` | text |
27
+ | line | slate grey `#5A6672` | hairlines |
28
+ | accent | amber `#E3A857` | the highlighted series or figure |
29
+ | accent-deep / accent-tint | pale amber `#F2C98A` / dark umber `#2A2418` | emphasis text / protagonist row and number tint |
30
+ | field / on-field | deep blue slate `#1E2A36` / white | header band, section field |
31
+ | positive / negative | soft green `#6CC08B` / soft coral `#F08A7E` | signed deltas |
32
+ | series | amber, soft blue `#7FB8E0`, blue-grey, lilac | chart series |
33
+
34
+ ## Type
35
+
36
+ Pretendard throughout. Compact ramp at density 10; display tracks tight (−2). On a
37
+ dark ground thin light type below 18 pt is avoided, which is why Night never uses a light weight.
38
+
39
+ ## Dials
40
+
41
+ Density 10, variance 6: up to four of its five treatments. For a large keynote hall, density 8
42
+ (body 14 pt) is the usual card move.
43
+
44
+ ## Title treatments by role
45
+
46
+ | Role | Default treatment |
47
+ |---|---|
48
+ | content | top-plain-large |
49
+ | data | band |
50
+ | data-takeaway | side-rail |
51
+ | sequence | kicker-numeral |
52
+ | image | top-plain-large |
53
+ | statement | statement |
54
+ | reference | band |
55
+ | definition | side-rail |
56
+
57
+ Treatments: top-plain-large, statement, side-rail, kicker-numeral, band. The band is the deep blue
58
+ slate field across the top. The statement is drawn `open` on the dark ground.
59
+
60
+ ## Families and variants
61
+
62
+ Families: full-chart, chart-insight, kpi-row, kpi-over-chart, dashboard-grid, big-number, method,
63
+ comparison, timeline, statement.
64
+
65
+ Covers: cover-numeral (a year in the title or date; the cover device is `numeral`),
66
+ cover-typographic, cover-figures (needs a KPI table in the deck). Sections: section-numeral,
67
+ section-field. Closings: closing-statement, closing-decision-box.
68
+
69
+ Display devices: cover `numeral`, statement `open`, big number on a tint, closing step in a `band`.
70
+
71
+ ## Tables and charts
72
+
73
+ - Tables `header-fill`: dark slate header with off-white labels, row rules, no banding, numbers
74
+ right-aligned, totals bold, the protagonist row tinted umber.
75
+ - Charts: hairline gridlines, direct labels, amber on one series with the rest muted.
76
+ Charts are drawn native and editable, with the pack's body face named for Hangul axis labels.
77
+ The amber goes to the current series: the latest period, else the measured series over its plan
78
+ or target, else the last.
79
+ - Images: no frame.
80
+ - Figures brought in as pictures: a chart or diagram exported on white stands here as a white card
81
+ with small grey labels. Put its dark variant beside it, named with `.dark` before the extension
82
+ (`assets/flow.png` and `assets/flow.dark.png`); Night draws the variant at full size, and the gate
83
+ fails a mostly-white figure on the dark ground (OF-117). Better still, give the numbers as a table
84
+ and let the engine draw a native chart.
85
+
86
+ ## Decoration vocabulary
87
+
88
+ header-band, hairline-rule, numeral, rail-fill. No glows, no neon, no saturated gradients.
89
+
90
+ ## Fill behaviour
91
+
92
+ `fill-order`: anchor-visual, step-up (off at density 10), distribute, change-family. Charts take the
93
+ room first, which suits the pack.
94
+
95
+ ## Writing for Night
96
+
97
+ - Lead with a KPI row of five figures with basis lines, or a `kpi-over-chart` that puts the trend
98
+ under the figures.
99
+ - Use `dashboard-grid` with four panels when several small breakdowns belong together (by cause, by
100
+ severity, by region, by quarter).
101
+ - A `method` slide with a formula reads well under the band treatment (`title: band`): the formula
102
+ across the top, the terms in two columns. Give it five terms with sub-points.
103
+ - Keep one accent per chart: amber marks the series the slide is about.
104
+
105
+ ## Avoid
106
+
107
+ - Neon or saturated glows.
108
+ - A pure black ground.
109
+ - Light slides mixed in.
110
+ - Thin light type below 18 pt.
111
+
112
+ ## A sample fragment
113
+
114
+ ```text
115
+ ---
116
+ tonality: night
117
+ title: Search ranking quality review 2026
118
+ date: 2026-10-06
119
+ notice: Sample data
120
+ ---
121
+ layout: kpi-over-chart
122
+
123
+ ## Ranking quality, January to September
124
+
125
+ | NDCG@10 | Click-through | Zero-result rate | p95 latency | Queries a day |
126
+ |---|---|---|---|---|
127
+ | 0.612 | 31.4% | 2.1% | 186 ms | 4.8M |
128
+ | was 0.574 | was 28.9% | was 3.6% | target 200 ms | up 12% |
129
+
130
+ ::: chart type=line unit="NDCG@10"
131
+ | Month | New ranker | Old ranker |
132
+ |---|---|---|
133
+ | Jan | 0.578 | 0.574 |
134
+ | Mar | 0.589 | 0.571 |
135
+ | May | 0.597 | 0.569 |
136
+ | Jul | 0.606 | 0.570 |
137
+ | Sep | 0.612 | 0.568 |
138
+ > NDCG@10 on the weekly judged query set (sample data)
139
+ :::
140
+
141
+ - Source: Example Search offline evaluation, 2,000 judged queries a week
142
+ - Note: NDCG@10 scores the top ten results against human relevance labels
143
+ ```
144
+
145
+ ## Examples
146
+
147
+ - `examples/08-reliability-keynote-night-en.md`: English platform reliability keynote, 9 slides.
148
+ - `examples/11-forecast-review-night-ko.md`: Korean electricity demand forecast review, 8 slides.
@@ -0,0 +1,135 @@
1
+ # Paper
2
+
3
+ Paper is a journal page projected. Ink on white, hairline rules instead of fills, figures first,
4
+ numbered captions, booktabs tables, and a single deep crimson that always means "the proposed
5
+ method". Pack file: `templates/tonalities/paper/pack.yaml`.
6
+
7
+ ## Use it for
8
+
9
+ - Research talks, thesis defences, lab meetings and seminars (연구 발표, 학위 심사).
10
+ - Technical reviews built on figures, tables and citations.
11
+ - Written analyses that will be read as a document after the talk.
12
+
13
+ ## Wrong for
14
+
15
+ - Sales, launch and fundraising audiences: the restraint reads as cold. Use signal or studio.
16
+ - Photo-led showcases: Paper has figure families but no full-bleed image family.
17
+ - Status updates with owners and budgets: ledger.
18
+
19
+ ## Palette roles
20
+
21
+ | Role | Colour | Used for |
22
+ |---|---|---|
23
+ | ground / surface | white / near-white grey `#F5F5F6` | background, quiet panels |
24
+ | ink / ink-muted | near-black `#111418` / grey `#50565E` | text |
25
+ | line | grey `#C9CDD2` | hairlines, booktabs rules |
26
+ | accent | deep crimson `#8C1C2B` | the proposed method, and nothing else |
27
+ | accent-deep / accent-tint | dark crimson `#5E121C` / pale rose `#F6E6E8` | deep text / rare tint |
28
+ | field / on-field | near-black / white | section field |
29
+ | positive / negative | green `#1E6B3A` / grey `#50565E` | gains; losses in muted ink with their sign |
30
+ | series | crimson, ink, grey, steel blue | charts, in series order |
31
+
32
+ ## Type
33
+
34
+ Pretendard throughout. Compact ramp at density 10; titles at normal tracking.
35
+
36
+ ## Dials
37
+
38
+ Density 10, variance 5: up to four of its four treatments.
39
+
40
+ ## Title treatments by role
41
+
42
+ | Role | Default treatment |
43
+ |---|---|
44
+ | content | top-rule |
45
+ | data | top-rule |
46
+ | data-takeaway | bottom-anchor |
47
+ | sequence | top-rule |
48
+ | image | bottom-anchor |
49
+ | statement | statement |
50
+ | reference | top-rule |
51
+ | definition | side-rail |
52
+
53
+ Treatments: top-rule, bottom-anchor, side-rail, statement. There is no accent bar: a top-rule title
54
+ always sits on a full-width hairline. A comparison is drawn as a ruled table under a `top-rule` title
55
+ (`structure: comparison: top-rule`), kept even when the deck already leans on that title. Statements, covers and closings are drawn with `rules`:
56
+ hairlines above and below, like a journal title page.
57
+
58
+ ## Families and variants
59
+
60
+ Families: figure-academic, figure-pair, method, chart-insight, full-chart, table-insight,
61
+ comparison, quote, statement, text-column, references-appendix.
62
+
63
+ Covers: cover-index (needs an agenda or two or more sections), cover-typographic, cover-split-image
64
+ (needs an image in the deck). Sections: section-rule, section-field. Closings:
65
+ closing-summary-list, closing-ask.
66
+
67
+ Display devices: cover `rules`, statement `rules`, big number in an `outline`, closing step under
68
+ `rules`, and `index: true`, so section-rule pages show the deck's parts with the current one marked.
69
+
70
+ ## Tables and charts
71
+
72
+ - Tables in `booktabs` style: no header fill, horizontal rules over and under the header and at
73
+ the foot only, no vertical rules, no banding, numbers right-aligned, totals bold.
74
+ - Charts: hairline gridlines, direct labels, series in order (the first series takes the crimson,
75
+ so put the proposed method first).
76
+ - Images: no frame; every figure has a numbered caption from its alt text.
77
+
78
+ ## Decoration vocabulary
79
+
80
+ hairline-rule, box-outline. Nothing else: no coloured card fills, no short bar under titles.
81
+
82
+ ## Fill behaviour
83
+
84
+ `fill-order`: anchor-visual, distribute, step-up (off at density 10), change-family. Figures and
85
+ charts take the room first.
86
+
87
+ ## Writing for Paper
88
+
89
+ - State the research question and scope on a text-column slide of headed points, not on a
90
+ statement; claims are not titles.
91
+ - Put the proposed method in the first chart series and the first table row so it takes the accent.
92
+ - A method slide lists each fitted term with its range or value and how it was fitted.
93
+ - References: eight to ten entries in one style, sources first; a list too long for the body steps
94
+ down to label size and then runs in two columns.
95
+ - With two section slides, the cover can be `cover-index` and lists both parts.
96
+
97
+ ## Avoid
98
+
99
+ - The short accent bar under a title (the rule is a hairline).
100
+ - Coloured card fills.
101
+ - Figures without numbered captions.
102
+ - The accent on anything but the proposed method.
103
+
104
+ ## A sample fragment
105
+
106
+ ```text
107
+ ---
108
+ tonality: paper
109
+ title: Membrane fouling in seawater pretreatment
110
+ date: 2026-10-06
111
+ notice: Sample data
112
+ ---
113
+ layout: table-insight
114
+ title: bottom-anchor
115
+
116
+ ## Flux decline by pretreatment, 500-hour runs
117
+
118
+ | Pretreatment | Initial flux (LMH) | Flux at 500 h | Decline | Cleaning cycles |
119
+ |---|---|---|---|---|
120
+ | Proposed coagulation + UF | 62 | 55 | 11% | 2 |
121
+ | UF only | 63 | 44 | 30% | 5 |
122
+ | Media filtration | 58 | 39 | 33% | 6 |
123
+ | Cartridge only | 60 | 31 | 48% | 9 |
124
+ | Untreated feed | 61 | 22 | 64% | 12 |
125
+
126
+ > Flux decline over 500 hours at 15 °C and 35 g/L salinity (sample data)
127
+
128
+ - The proposed train keeps flux within 11% of its start value
129
+ - Cleaning cycles fall from five to two against UF alone
130
+ - Source: Example lab pilot skid, runs P-31 to P-35, 2026
131
+ ```
132
+
133
+ ## Examples
134
+
135
+ - `examples/05-research-talk-paper-en.md`: English catalysis research talk, 12 slides.
@@ -0,0 +1,147 @@
1
+ # Signal
2
+
3
+ Signal is a talk where every slide says one thing at size. A white ground, near-black type set
4
+ large, very few words per slide, and one hot red-orange accent reserved for the protagonist: the
5
+ product, the ask, the figure the room should remember. Pack file:
6
+ `templates/tonalities/signal/pack.yaml`.
7
+
8
+ ## Use it for
9
+
10
+ - Investor and partner pitches, presented live in 10-15 minutes.
11
+ - Product launches and internal kick-offs where the speaker carries the detail.
12
+ - Proposal decks that must land three or four numbers and one ask.
13
+
14
+ ## Wrong for
15
+
16
+ - Decks that are read later without the speaker: the large-type rhythm loses the reader. Use
17
+ ledger or gazette.
18
+ - Table-heavy content: Signal lists `table-insight` but no `ledger-table`, `dashboard-grid` or
19
+ `references-appendix`.
20
+ - Research talks with citations: paper.
21
+
22
+ ## Palette roles
23
+
24
+ | Role | Colour | Used for |
25
+ |---|---|---|
26
+ | ground / surface | white / pale zinc `#F4F4F5` | background, quiet panels |
27
+ | ink / ink-muted | near-black violet-grey `#15131A` / grey `#55525C` | text |
28
+ | line | light zinc `#D4D4D8` | hairlines, table rules |
29
+ | accent | red-orange `#C8361A` | the protagonist only |
30
+ | accent-deep / accent-tint | dark rust `#6E1A0C` / pale coral `#FBE7E2` | deep text on tint / table protagonist row |
31
+ | field / on-field | red-orange / white | cover drench, number panel, split field |
32
+ | positive / negative | green `#1E7A3F` / ink | gains in green; losses stay in ink and carry `▼` |
33
+ | series | red-orange, ink, grey, slate blue | chart series |
34
+
35
+ Because the accent is red, a loss is never red here; write the sign (`▼ 4%`, `−4%`).
36
+
37
+ ## Type
38
+
39
+ Pretendard throughout; A2Z only on request. Compact ramp at density 10 (body 13, title 26,
40
+ display 36). Display text tracks tighter (−2) than titles (−1).
41
+
42
+ ## Dials
43
+
44
+ Density 10, variance 6: up to four of its four treatments in one deck. For a large hall, lowering
45
+ density to 8 is a sensible move (record it on the card).
46
+
47
+ ## Title treatments by role
48
+
49
+ | Role | Default treatment |
50
+ |---|---|
51
+ | content | top-plain-large |
52
+ | data | top-rule |
53
+ | data-takeaway | top-plain-large |
54
+ | sequence | top-rule |
55
+ | image | bottom-anchor |
56
+ | statement | statement |
57
+ | reference | top-rule |
58
+ | definition | top-rule |
59
+
60
+ Treatments: statement, top-plain-large, bottom-anchor, top-rule. Its top-rule draws a hairline
61
+ (the pack has no accent bar). The statement is drawn `open`: the sentence on the white ground, no
62
+ plate.
63
+
64
+ ## Families and variants
65
+
66
+ Families: statement, big-number, image-split, asymmetric-feature, process, kpi-row, chart-insight,
67
+ full-chart, comparison, table-insight, quote.
68
+
69
+ Covers: cover-numeral (a year in the title or date), cover-typographic (drawn with the `drench`
70
+ device: the field over the whole page, title anchored low), cover-split-field. Sections:
71
+ section-field, section-numeral. Closings: closing-statement (no table or image), closing-ask.
72
+
73
+ Display devices: cover `drench`, statement `open`, big number on a `field` panel, closing step in a
74
+ `band`.
75
+
76
+ ## Tables and charts
77
+
78
+ - Tables `open`: no header fill, rules at top and bottom only, no banding, numbers right-aligned,
79
+ totals bold, and the protagonist row tinted pale coral.
80
+ - Charts: no gridlines, direct labels, the accent on one series and the rest muted.
81
+ - Images: no frame.
82
+
83
+ ## Decoration vocabulary
84
+
85
+ colour-field, hairline-rule, numeral. No cards at all, no accent bar under titles.
86
+
87
+ ## Fill behaviour
88
+
89
+ `fill-order`: step-up (off at density 10), change-family, anchor-visual, distribute. A short Signal
90
+ slide is a cue to pick a family that suits one idea (statement, big-number) rather than to stretch
91
+ a list.
92
+
93
+ ## Writing for Signal
94
+
95
+ - One idea per slide, but the idea still has its basis: a big-number slide carries the basis row and
96
+ three evidence lines; a KPI row carries five figures with their comparisons.
97
+ - A mid-deck statement slide needs its one support line, or the composition check reports the
98
+ page as nearly empty.
99
+ - Keep bullet lists to four items; Signal's own avoid list says so.
100
+ - Two lines of display text at most per title.
101
+
102
+ ## Avoid
103
+
104
+ - Red for losses (losses carry `▼` in ink).
105
+ - More than two lines of display text.
106
+ - Cards.
107
+ - Bullet lists longer than four items.
108
+
109
+ ## A sample fragment
110
+
111
+ ```text
112
+ ---
113
+ tonality: signal
114
+ title: Fieldbook 2027 launch plan
115
+ date: 2026-10-06
116
+ notice: Sample data
117
+ ---
118
+ layout: statement
119
+
120
+ # Site notes that file themselves
121
+
122
+ Photos, voice notes and measurements tagged to the drawing in under ten seconds
123
+ ---
124
+ layout: big-number
125
+
126
+ ## Time spent on site reports, before and after
127
+
128
+ | Report time | Rework requests | Photos filed | Adoption |
129
+ |---|---|---|---|
130
+ | 14 min | −61% | 98% | 83% |
131
+ | per visit, was 52 | after 3 months | to the right drawing | of pilot engineers |
132
+
133
+ - Pilot across 9 contractors and 140 engineers, May-September 2026
134
+ - Most time saved on matching photos to drawing references
135
+ - Source: Example Fieldbook pilot log, 2026
136
+ ---
137
+ layout: closing-statement
138
+
139
+ ## 400 sites by the end of 2027
140
+
141
+ Seed round of 3M USD, first close 15 December
142
+ ```
143
+
144
+ ## Examples
145
+
146
+ - `examples/02-launch-pitch-signal-en.md`: English hardware launch pitch, 10 slides.
147
+ - `examples/10-investor-pitch-signal-ko.md`: Korean software investor pitch, 9 slides.