@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.
- package/CHANGELOG.md +13 -0
- package/README-Ko-KR.md +11 -11
- package/README.md +11 -11
- package/dist/activation-routing.js +1 -1
- package/dist/deliverable-hedge-guard.js +3 -1
- package/dist/features.js +2 -2
- package/dist/hooks.js +2 -1
- package/dist/skills.js +6 -4
- package/docs/assets/readme/badge-version.svg +1 -1
- package/docs/reference-Ko-KR.md +1 -1
- package/package.json +1 -1
- package/skills/frontend-ui-ux/data/THIRD-PARTY-NOTICE.txt +1 -3
- package/skills/lit-docx/SKILL.md +80 -19
- package/skills/lit-docx/references/components.md +253 -0
- package/skills/lit-docx/references/direction-step.md +234 -0
- package/skills/lit-docx/references/examples/01-report-ko.md +160 -0
- package/skills/lit-docx/references/examples/02-brief-ko.md +58 -0
- package/skills/lit-docx/references/examples/03-manual-ko.md +107 -0
- package/skills/lit-docx/references/examples/04-proposal-ko.md +93 -0
- package/skills/lit-docx/references/examples/05-memo-ko.md +42 -0
- package/skills/lit-docx/references/examples/06-journal-en.md +84 -0
- package/skills/lit-docx/references/examples/07-report-en.md +137 -0
- package/skills/lit-docx/references/examples/08-journal-ko.md +93 -0
- package/skills/lit-docx/references/examples/09-brief-en.md +64 -0
- package/skills/lit-docx/references/page-composition.md +306 -0
- package/skills/lit-docx/references/tonalities/brief.md +104 -0
- package/skills/lit-docx/references/tonalities/journal.md +101 -0
- package/skills/lit-docx/references/tonalities/manual.md +111 -0
- package/skills/lit-docx/references/tonalities/memo.md +105 -0
- package/skills/lit-docx/references/tonalities/proposal.md +101 -0
- package/skills/lit-docx/references/tonalities/report.md +126 -0
- package/skills/lit-docx/run.py +2 -1
- package/skills/lit-docx/scripts/convert_md_to_docx.py +384 -67
- package/skills/lit-docx/scripts/craft_docx.py +204 -1
- package/skills/lit-docx/scripts/docx_design.py +2445 -0
- package/skills/lit-docx/scripts/docx_layout.py +959 -0
- package/skills/lit-docx/scripts/slop_lint.py +23 -6
- package/skills/lit-docx/templates/tonalities/brief.yaml +28 -0
- package/skills/lit-docx/templates/tonalities/journal.yaml +25 -0
- package/skills/lit-docx/templates/tonalities/manual.yaml +26 -0
- package/skills/lit-docx/templates/tonalities/memo.yaml +26 -0
- package/skills/lit-docx/templates/tonalities/proposal.yaml +26 -0
- package/skills/lit-docx/templates/tonalities/report.yaml +26 -0
- package/skills/lit-pptx/NOTICE.md +1 -1
- package/skills/lit-pptx/SKILL.md +108 -19
- package/skills/lit-pptx/pretendard-font/public/static/Pretendard-Bold.otf +0 -0
- package/skills/lit-pptx/pretendard-font/public/static/Pretendard-Regular.otf +0 -0
- package/skills/lit-pptx/references/density-and-fill.md +283 -0
- package/skills/lit-pptx/references/direction-step.md +249 -0
- package/skills/lit-pptx/references/examples/01-ops-review-ledger-ko.md +173 -0
- package/skills/lit-pptx/references/examples/02-launch-pitch-signal-en.md +153 -0
- package/skills/lit-pptx/references/examples/03-field-survey-atlas-ko.md +120 -0
- package/skills/lit-pptx/references/examples/04-lecture-chalk-ko.md +132 -0
- package/skills/lit-pptx/references/examples/05-research-talk-paper-en.md +162 -0
- package/skills/lit-pptx/references/examples/06-policy-briefing-gazette-ko.md +176 -0
- package/skills/lit-pptx/references/examples/07-annual-story-studio-en.md +131 -0
- package/skills/lit-pptx/references/examples/08-reliability-keynote-night-en.md +182 -0
- package/skills/lit-pptx/references/examples/09-status-update-ledger-en.md +147 -0
- package/skills/lit-pptx/references/examples/10-investor-pitch-signal-ko.md +136 -0
- package/skills/lit-pptx/references/examples/11-forecast-review-night-ko.md +177 -0
- package/skills/lit-pptx/references/examples/12-exhibition-proposal-studio-ko.md +149 -0
- package/skills/lit-pptx/references/layout-families.md +470 -0
- package/skills/lit-pptx/references/title-treatments.md +271 -0
- package/skills/lit-pptx/references/tonalities/atlas.md +131 -0
- package/skills/lit-pptx/references/tonalities/chalk.md +132 -0
- package/skills/lit-pptx/references/tonalities/gazette.md +137 -0
- package/skills/lit-pptx/references/tonalities/ledger.md +150 -0
- package/skills/lit-pptx/references/tonalities/night.md +148 -0
- package/skills/lit-pptx/references/tonalities/paper.md +135 -0
- package/skills/lit-pptx/references/tonalities/signal.md +147 -0
- package/skills/lit-pptx/references/tonalities/studio.md +149 -0
- package/skills/lit-pptx/scripts/compile-deck.js +68 -21
- package/skills/lit-pptx/scripts/craft-thresholds.json +45 -1
- package/skills/lit-pptx/scripts/craft_extras.py +37 -8
- package/skills/lit-pptx/scripts/deck_output.py +654 -0
- package/skills/lit-pptx/scripts/embed_fonts.py +2 -2
- package/skills/lit-pptx/scripts/layout_inventory.py +35 -2
- package/skills/lit-pptx/scripts/lib/directive-parser.js +2 -2
- package/skills/lit-pptx/scripts/lib/font-map.js +4 -4
- package/skills/lit-pptx/scripts/lib/grid-resolver.js +521 -0
- package/skills/lit-pptx/scripts/lib/layout-resolver.js +403 -21
- package/skills/lit-pptx/scripts/lib/markdown-loader.js +6 -4
- package/skills/lit-pptx/scripts/lib/render-adapter-html.js +3 -9
- package/skills/lit-pptx/scripts/lib/render-adapter-pptx.js +500 -113
- package/skills/lit-pptx/scripts/lib/render-pack.js +3558 -0
- package/skills/lit-pptx/scripts/lib/slide-ast.js +55 -24
- package/skills/lit-pptx/scripts/lib/spec-validator.js +2 -2
- package/skills/lit-pptx/scripts/lib/template-registry.js +335 -11
- package/skills/lit-pptx/scripts/qa_deck.py +48 -13
- package/skills/lit-pptx/scripts/validate_pptx.py +25 -7
- package/skills/lit-pptx/specs/template-enrollment-contract.md +4 -4
- package/skills/lit-pptx/templates/boilerplate_professional.css +13 -13
- package/skills/lit-pptx/templates/enrolled/AZURE-A2Z/layout-mapping.yaml +1 -1
- package/skills/lit-pptx/templates/enrolled/AZURE-A2Z/template.yaml +5 -2
- package/skills/lit-pptx/templates/enrolled/AZURE-PRO/capabilities.yaml +20 -20
- package/skills/lit-pptx/templates/enrolled/AZURE-PRO/layout-mapping.yaml +1 -11
- package/skills/lit-pptx/templates/enrolled/AZURE-PRO/template.yaml +10 -7
- package/skills/lit-pptx/templates/enrolled/BOILERPLATE-PRETENDARD/capabilities.yaml +17 -17
- package/skills/lit-pptx/templates/enrolled/BOILERPLATE-PRETENDARD/template.yaml +8 -8
- package/skills/lit-pptx/templates/tonalities/atlas/pack.yaml +99 -0
- package/skills/lit-pptx/templates/tonalities/chalk/pack.yaml +104 -0
- package/skills/lit-pptx/templates/tonalities/gazette/pack.yaml +100 -0
- package/skills/lit-pptx/templates/tonalities/ledger/pack.yaml +101 -0
- package/skills/lit-pptx/templates/tonalities/night/pack.yaml +100 -0
- package/skills/lit-pptx/templates/tonalities/paper/pack.yaml +105 -0
- package/skills/lit-pptx/templates/tonalities/signal/pack.yaml +101 -0
- package/skills/lit-pptx/templates/tonalities/studio/pack.yaml +99 -0
- package/skills/lit-typographic-motion/THIRD_PARTY_NOTICES +1 -1
- package/skills/lit-typographic-motion/engine/stage/capture.mjs +2 -2
- package/skills/lit-typographic-motion/engine/treatment.mjs +1 -1
- package/skills/lit-typographic-motion/fonts/pins.json +2 -2
- package/skills/lit-typographic-motion/gate.mjs +1 -1
- package/skills/lit-typographic-motion/references/stage.md +1 -1
- package/skills/lit-typographic-motion/references/style-bibles.md +2 -2
- package/skills/lit-typographic-motion/references/treatment.md +1 -1
- package/skills/lit-typographic-motion/references/type-craft.md +3 -3
- package/skills/managed-skill-manifest.json +288 -44
- package/skills/lit-pptx/pretendard-font/public/static/LitOpenCodeSans-Bold.otf +0 -0
- 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.
|