@litfamily/litopencode 1.0.16 → 1.0.17
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 +7 -0
- package/README-Ko-KR.md +11 -11
- package/README.md +11 -11
- package/dist/activation-routing.js +1 -1
- package/dist/features.js +2 -2
- 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 +29 -0
- package/skills/lit-docx/templates/tonalities/journal.yaml +26 -0
- package/skills/lit-docx/templates/tonalities/manual.yaml +27 -0
- package/skills/lit-docx/templates/tonalities/memo.yaml +27 -0
- package/skills/lit-docx/templates/tonalities/proposal.yaml +27 -0
- package/skills/lit-docx/templates/tonalities/report.yaml +27 -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 +132 -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 +151 -0
- package/skills/lit-pptx/references/tonalities/night.md +148 -0
- package/skills/lit-pptx/references/tonalities/paper.md +136 -0
- package/skills/lit-pptx/references/tonalities/signal.md +148 -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 +17 -5
- 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 +105 -0
- package/skills/lit-pptx/templates/tonalities/chalk/pack.yaml +110 -0
- package/skills/lit-pptx/templates/tonalities/gazette/pack.yaml +106 -0
- package/skills/lit-pptx/templates/tonalities/ledger/pack.yaml +107 -0
- package/skills/lit-pptx/templates/tonalities/night/pack.yaml +106 -0
- package/skills/lit-pptx/templates/tonalities/paper/pack.yaml +111 -0
- package/skills/lit-pptx/templates/tonalities/signal/pack.yaml +107 -0
- package/skills/lit-pptx/templates/tonalities/studio/pack.yaml +105 -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,470 @@
|
|
|
1
|
+
# Layout families
|
|
2
|
+
|
|
3
|
+
A slide's `layout:` line names its family. The family decides what content the slide holds, how
|
|
4
|
+
the treatment's body zone is split into regions on the 12-column grid, and which title treatments
|
|
5
|
+
the slide may take. The engine knows 28 content families plus 9 cover, 6 section and 5 closing
|
|
6
|
+
variants (`FAMILIES` and `VARIANTS` in `scripts/lib/grid-resolver.js`). Each pack lists the ones it
|
|
7
|
+
draws; `node <skill>/run.mjs compile --list-layouts <tonality>` prints that list with the treatments
|
|
8
|
+
each family takes in the pack.
|
|
9
|
+
|
|
10
|
+
Use only the names in this file. An unknown name stops the compile with the full list. A known
|
|
11
|
+
family that the pack does not list still compiles, with a log note
|
|
12
|
+
(`slide 6: photo-grid is not a ledger layout family (...); drawn with its own geometry`), but it
|
|
13
|
+
then borrows geometry from outside the pack's design; treat the note as a sign the slide or the
|
|
14
|
+
pack is wrong.
|
|
15
|
+
|
|
16
|
+
## Source rules that apply to every family
|
|
17
|
+
|
|
18
|
+
- A slide starts with `layout: <family>`, optionally followed by `variant:` or `title:` lines, then a
|
|
19
|
+
blank line, then the body. Slides are separated by a line holding only `---`.
|
|
20
|
+
- The first `#`, `##` or `###` heading is the title. Covers and sections use `#`; content slides `##`.
|
|
21
|
+
- A bullet that is only bold (`- **비용**`) opens a group; `(1)`, `(2)` lines under it are its
|
|
22
|
+
sub-points. A bullet that starts with a bold head and continues (`- **입고** 납품 영수증 ...`) is a
|
|
23
|
+
headed point; many families read the head as a label, a step name or a date. Write the colon after a
|
|
24
|
+
run-in label (`- **요약:** 누리집에서 신청하면 …`): the compiler adds one when the label ends without a
|
|
25
|
+
separator, because a bold word running into its sentence reads as part of it, and the gate fails a
|
|
26
|
+
hand-set label without one (OF-118). A bold line with nothing after it opens a group and takes no
|
|
27
|
+
colon.
|
|
28
|
+
- A line starting with `출처:`, `자료:`, `주:`, `Source:` or `Note:` is taken out of the takeaways
|
|
29
|
+
and set as a source strip at the foot of the body (see `density-and-fill.md`). Closings keep
|
|
30
|
+
theirs inside the next step instead.
|
|
31
|
+
- A pipe table is a table. `::: chart type=column|bar|line|area|pie|doughnut|stacked` around a pipe
|
|
32
|
+
table is a native, editable chart (first column categories, one column per series;
|
|
33
|
+
`unit="..."` states the unit once: as a level axis title, or nowhere on the axis when every series
|
|
34
|
+
name in the legend already carries it). A series keeps one colour across the deck: alone on a chart
|
|
35
|
+
it takes the colour it has beside the highlighted series elsewhere. `> ...` directly under a table or inside a chart fence is its
|
|
36
|
+
caption, numbered automatically (`표 1.` / `Table 1.` for tables, `도 1.` / `Figure 1.` for charts
|
|
37
|
+
and images; a number you type is replaced, not doubled).
|
|
38
|
+
- Body text and table cells that wrap are broken by the compiler at spaces: a number stays with its
|
|
39
|
+
unit, and a short parenthetical such as `(▲ +3.9%)` (up to 16 characters) stays whole on its line.
|
|
40
|
+
- In the chart families (`chart-insight`, `full-chart`, `kpi-over-chart`, `dashboard-grid`) a plain
|
|
41
|
+
pipe table whose data columns are all numbers over three or more rows is drawn as a chart anyway.
|
|
42
|
+
- `` is an image; its alt text becomes its numbered caption. Paths
|
|
43
|
+
resolve from the deck source's folder.
|
|
44
|
+
- `::: key-message` holds a lead sentence; `::: main-box` holds a boxed note; `::: notes` holds
|
|
45
|
+
speaker notes that never appear on the slide.
|
|
46
|
+
- Cover slides accept only the title (and notes). A cover that shows a photograph takes the first
|
|
47
|
+
image found anywhere in the deck; never put an image on the cover slide itself, the compile
|
|
48
|
+
rejects it.
|
|
49
|
+
- Content slides accept titles, `key-message`, body text, `main-box`, tables, charts, images,
|
|
50
|
+
captions and notes, plus the placement blocks `region`, `columns`, `box` and `shape` from
|
|
51
|
+
`specs/markdown-slide-spec-v2.md`. Reach for `box` and `shape` last: a hand-placed box is never
|
|
52
|
+
reflowed and the gate reports anything it covers.
|
|
53
|
+
|
|
54
|
+
## Text families
|
|
55
|
+
|
|
56
|
+
### text-column
|
|
57
|
+
|
|
58
|
+
- **Holds.** Running points, a short argument, a scope or method description.
|
|
59
|
+
- **Write it as.** Five or six headed points (`- **조사 기간** 2026년 9월 8~19일 ...`), or groups with
|
|
60
|
+
sub-points, plus the source strip.
|
|
61
|
+
- **Behaviour.** Plain bullets keep a reading measure (about seven of twelve columns on the compact
|
|
62
|
+
step) and leave the rest of the width empty. Two to five headed points that leave the body short
|
|
63
|
+
run as rows instead, the head in its own column and the point beside it, spread down the page.
|
|
64
|
+
Groups of sub-points under bold heads run in two columns. A slide that also holds a visual sets
|
|
65
|
+
the visual on seven columns with the text beside it.
|
|
66
|
+
- **Packs.** atlas, chalk, paper, gazette. Legacy names `content` and `main` resolve here.
|
|
67
|
+
|
|
68
|
+
### text-two-column
|
|
69
|
+
|
|
70
|
+
- **Holds.** Two parallel halves of one argument: background and goals, scope and exclusions.
|
|
71
|
+
- **Write it as.** Four to six groups (`- **기획 배경**` with two or three `(1)` sub-points each).
|
|
72
|
+
- **Behaviour.** The groups are split at the group boundary nearest half the height, so each column
|
|
73
|
+
starts with a heading. Too little text leaves both columns short; this family needs about 14
|
|
74
|
+
lines a column at density 10.
|
|
75
|
+
- **Packs.** ledger, gazette, studio.
|
|
76
|
+
|
|
77
|
+
### summary-box-list
|
|
78
|
+
|
|
79
|
+
- **Holds.** The Korean briefing page: one boxed conclusion, then the itemised evidence (개조식).
|
|
80
|
+
- **Write it as.** A `::: key-message` with the one-line conclusion (up to three lines), then four to
|
|
81
|
+
six headed groups with one or two sub-points each.
|
|
82
|
+
- **Behaviour.** The conclusion is set bold at lead size in an outlined box across the body (gazette
|
|
83
|
+
draws the outline); the groups run in two columns under it. Without a key-message the first point
|
|
84
|
+
becomes the box.
|
|
85
|
+
- **Packs.** gazette.
|
|
86
|
+
|
|
87
|
+
### sidebar-note
|
|
88
|
+
|
|
89
|
+
- **Holds.** A main explanation with a fenced aside: a definition, a tip, the common mistake.
|
|
90
|
+
- **Write it as.** The main text (groups or headed points, ideally 14 lines or more), then
|
|
91
|
+
`::: main-box` with the aside. Without a main-box the last text item becomes the aside.
|
|
92
|
+
- **Behaviour.** Main content on columns 1-8; the aside in a tinted box on columns 9-12, as tall as
|
|
93
|
+
its text. An aside too short for its column first narrows to three columns at body size; if the
|
|
94
|
+
main content still runs far past it, the aside stands across the top at lead size and the main
|
|
95
|
+
points run in two columns under it. Under a side title the aside stands in the rail.
|
|
96
|
+
- **Packs.** chalk.
|
|
97
|
+
|
|
98
|
+
### agenda
|
|
99
|
+
|
|
100
|
+
- **Holds.** The parts of the deck.
|
|
101
|
+
- **Write it as.** Three to six headed points, the head being the part name and the rest one line of
|
|
102
|
+
what it covers: `- **처리 실적** 출고량, 비용, 정시 출고율의 분기 추이`.
|
|
103
|
+
- **Behaviour.** No numeral beside the title (OF-119): the rows carry the numbers. One numbered row
|
|
104
|
+
per part (`01`, `02` ...), the name at lead size and the description
|
|
105
|
+
under it, rows spread down to the floor at most 108 pt apart. The part names become the deck's
|
|
106
|
+
index: `cover-index` lists them, section slides whose titles match a part name (or its description)
|
|
107
|
+
number themselves by that position and show the part count, and in packs with an index display
|
|
108
|
+
the section page repeats the agenda with the current part marked. Under kicker-numeral the
|
|
109
|
+
numeral is the number of parts.
|
|
110
|
+
- **Packs.** ledger, chalk, gazette.
|
|
111
|
+
|
|
112
|
+
### statement
|
|
113
|
+
|
|
114
|
+
- **Holds.** One line set large, and at most one support line.
|
|
115
|
+
- **Write it as.** The `#` heading, then one plain sentence of support.
|
|
116
|
+
- **Behaviour.** Drawn under the statement treatment in the pack's statement device (see "Display
|
|
117
|
+
slides"). Ledger and gazette have no statement treatment and do not list the family; there the
|
|
118
|
+
line becomes a top title over an empty body, which is rarely what you want.
|
|
119
|
+
- **Packs.** signal, atlas, chalk, paper, studio, night.
|
|
120
|
+
|
|
121
|
+
### quote
|
|
122
|
+
|
|
123
|
+
- **Holds.** A pull quote with its attribution.
|
|
124
|
+
- **Write it as.** The quote as a plain paragraph wrapped in quotation marks (`“...”`), then a line
|
|
125
|
+
starting with `— ` naming the source. Never attribute a quote to a real person in a sample deck;
|
|
126
|
+
name the interview or the document.
|
|
127
|
+
- **Behaviour.** Under the statement treatment the quote itself becomes the title shape and the
|
|
128
|
+
attribution its support line; the opening quotation mark keeps the label check from reading the
|
|
129
|
+
quote as a sentence title. Under top-rule it is set at title size below the heading.
|
|
130
|
+
- **Packs.** signal, chalk, paper.
|
|
131
|
+
|
|
132
|
+
## Number and table families
|
|
133
|
+
|
|
134
|
+
### kpi-row
|
|
135
|
+
|
|
136
|
+
- **Holds.** Four to six headline figures, each with its basis.
|
|
137
|
+
- **Write it as.** A pipe table: labels in the header row, the values in the first body row (each
|
|
138
|
+
12 characters or fewer), and an optional second row giving each figure's basis or comparison (24
|
|
139
|
+
characters or fewer): `| 412만 건 | ...` over `| 계획 대비 +4.1% | ...`. Then two or three takeaways and
|
|
140
|
+
the source strip.
|
|
141
|
+
- **Behaviour.** Under a top title the figures run as a row of cards with labels and basis lines.
|
|
142
|
+
Under a side rail, on a narrow body, or when the visual is told to take the room, they run down the
|
|
143
|
+
page as figure rows (value, label, basis). On the compact step a card row whose takeaways leave
|
|
144
|
+
the body short becomes figure rows on seven columns with the takeaways beside. Values are never
|
|
145
|
+
set above title size. A table that does not look like a KPI row falls back to `table-insight`.
|
|
146
|
+
- **Packs.** ledger, signal, atlas, studio, night.
|
|
147
|
+
|
|
148
|
+
### big-number
|
|
149
|
+
|
|
150
|
+
- **Holds.** One to four figures that carry the slide, with the evidence behind them.
|
|
151
|
+
- **Write it as.** A KPI table of one to four columns with a basis row, then three or four evidence
|
|
152
|
+
points and the source strip.
|
|
153
|
+
- **Behaviour.** Every pack sets a `display.number` device, so the figures stand on a panel seven
|
|
154
|
+
columns wide (five beside a rail): one row per figure, the value at title size, its label and
|
|
155
|
+
basis beside it. The panel is filled, tinted or outlined according to the pack and stays under
|
|
156
|
+
half the page. The evidence runs beside the panel.
|
|
157
|
+
- **Packs.** ledger, signal, studio, night.
|
|
158
|
+
|
|
159
|
+
### table-insight
|
|
160
|
+
|
|
161
|
+
- **Holds.** A lookup table of five to eight rows with what it means.
|
|
162
|
+
- **Write it as.** The table, its caption, three or four takeaways, the source strip.
|
|
163
|
+
- **Behaviour.** The table takes eight columns and the takeaways four. When the takeaways are short
|
|
164
|
+
enough that the slide would leave a band empty, they move under the table in two columns and the
|
|
165
|
+
table's rows open up by up to one minimum row height each. Numbers are right-aligned in the pack's
|
|
166
|
+
table style.
|
|
167
|
+
- **Packs.** ledger, signal, chalk, paper, gazette.
|
|
168
|
+
|
|
169
|
+
### ledger-table
|
|
170
|
+
|
|
171
|
+
- **Holds.** A full-width table that is the message: an account, a plan, a schedule, a status list.
|
|
172
|
+
- **Write it as.** Five to eight rows including a totals row (`합계` / `Total`, set bold), the caption,
|
|
173
|
+
then three or four takeaways (they run under the table across the width).
|
|
174
|
+
- **Packs.** ledger, gazette.
|
|
175
|
+
|
|
176
|
+
### kpi-over-chart
|
|
177
|
+
|
|
178
|
+
- **Holds.** Headline figures and the trend behind them.
|
|
179
|
+
- **Write it as.** A KPI table with a basis row, then a `::: chart` fence, then one takeaway and the
|
|
180
|
+
source and note lines.
|
|
181
|
+
- **Behaviour.** Figures across the top, the chart under them to the floor. Without both a KPI table
|
|
182
|
+
and a chart it falls back to `chart-insight`.
|
|
183
|
+
- **Packs.** ledger, night.
|
|
184
|
+
|
|
185
|
+
### dashboard-grid
|
|
186
|
+
|
|
187
|
+
- **Holds.** Two to four related small charts or tables seen together.
|
|
188
|
+
- **Write it as.** Two to four `::: chart` fences (or tables), each with its caption, then one
|
|
189
|
+
takeaway and the source strip.
|
|
190
|
+
- **Behaviour.** Two panels sit side by side, three run across, four form a two-by-two grid; the
|
|
191
|
+
takeaways run under the grid. With fewer than two visuals it falls back to `chart-insight`.
|
|
192
|
+
- **Packs.** ledger, night.
|
|
193
|
+
|
|
194
|
+
### matrix-2x2
|
|
195
|
+
|
|
196
|
+
- **Holds.** Four options placed on two axes (effect against effort, urgency against cost).
|
|
197
|
+
- **Write it as.** A table with exactly three header cells and two body rows. The first header names
|
|
198
|
+
both axes, `효과 \ 난이도` or `Impact / Effort`; the other two headers are the column positions,
|
|
199
|
+
the first cell of each row the row position. Each cell is `item · detail · detail`.
|
|
200
|
+
|
|
201
|
+
```text
|
|
202
|
+
| 효과 \ 난이도 | 쉬움 | 어려움 |
|
|
203
|
+
|---|---|---|
|
|
204
|
+
| 큼 | 상차 도크 시간 조정 · 대기 −8분 · 11월 시행 | 자동 분류기 증설 · 검수 −7분 · 12월 설치 |
|
|
205
|
+
| 작음 | 피킹 동선 재배치 · 피킹 −3분 · 10월 시행 | 포장재 규격 통일 · 포장 −1분 · 내년 검토 |
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
- **Behaviour.** Each quadrant shows its item as a head and each detail on its own line. Takeaways
|
|
209
|
+
stand in the last four columns beside the matrix (under it on a narrow body). Any other table shape
|
|
210
|
+
falls back to `table-insight`.
|
|
211
|
+
- **Packs.** ledger, gazette.
|
|
212
|
+
|
|
213
|
+
### comparison
|
|
214
|
+
|
|
215
|
+
- **Holds.** Two options, two periods, or plan against actual, judged on the same criteria.
|
|
216
|
+
- **Write it as.** Two columns with the same three or four labelled criteria on both sides:
|
|
217
|
+
|
|
218
|
+
```text
|
|
219
|
+
:::: columns 1fr 1fr
|
|
220
|
+
::: col
|
|
221
|
+
- **Hold the 16 November date**
|
|
222
|
+
(1) Effort: two extra data engineers for five weeks
|
|
223
|
+
(2) Cost: 84k EUR from contingency
|
|
224
|
+
:::
|
|
225
|
+
::: col
|
|
226
|
+
- **Move cutover to 7 December**
|
|
227
|
+
(1) Effort: current team, no additions
|
|
228
|
+
(2) Cost: 120k EUR for three more weeks of dual running
|
|
229
|
+
:::
|
|
230
|
+
::::
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
Then the source strip.
|
|
234
|
+
- **Behaviour.** When the points on both sides open with the same short label, the compact step
|
|
235
|
+
draws a criteria column: the label once on the left, each side's text in its own column, one row
|
|
236
|
+
per criterion spread down the page. Under a top title this reads as a grid. Beside a side rail
|
|
237
|
+
the labels stand in the rail under the title, level with their rows, and the two sides take the
|
|
238
|
+
body; a label is a short name of three words at most, or the criteria stay inside the sides. A
|
|
239
|
+
comparison dense with figures takes the data role, otherwise the content role. Without columns,
|
|
240
|
+
bold-headed entries are split half and half; a visual without columns sits beside the text.
|
|
241
|
+
- **Packs.** all eight. The legacy name `summary` resolves here.
|
|
242
|
+
|
|
243
|
+
## Chart families
|
|
244
|
+
|
|
245
|
+
### chart-insight
|
|
246
|
+
|
|
247
|
+
- **Holds.** One chart and what it shows.
|
|
248
|
+
- **Write it as.** A `::: chart` fence with five to nine categories and a caption, two to four
|
|
249
|
+
takeaways, the source strip and a note where a definition matters.
|
|
250
|
+
- **Behaviour.** The chart takes eight columns and the takeaways four. On the compact step the
|
|
251
|
+
chart's values also appear as a small table under the takeaways when they fit (eight rows and four
|
|
252
|
+
columns at most), else under the chart when the chart keeps at least 150 pt; takeaways too long
|
|
253
|
+
for a third of the body take half.
|
|
254
|
+
- **Packs.** ledger, signal, paper, studio, night.
|
|
255
|
+
|
|
256
|
+
### full-chart
|
|
257
|
+
|
|
258
|
+
- **Holds.** A chart that needs the whole width: many categories, several series.
|
|
259
|
+
- **Write it as.** The chart, then one or two takeaways and the source strip; they run under it.
|
|
260
|
+
- **Packs.** ledger, signal, paper, night.
|
|
261
|
+
|
|
262
|
+
## Sequence families
|
|
263
|
+
|
|
264
|
+
### process
|
|
265
|
+
|
|
266
|
+
- **Holds.** Two to five steps in order.
|
|
267
|
+
- **Write it as.** One bold head per step, numbered in the head (`- **1. Survey**`), with the step's
|
|
268
|
+
text after the head or as `(1)` sub-points (they are joined into one line). Plain bullets after the
|
|
269
|
+
steps are takeaways and run under them.
|
|
270
|
+
- **Behaviour.** On the compact step with a full-width body, each step is a row read across: numeral,
|
|
271
|
+
step name, what happens. Up to four steps whose columns would stop high also run as rows.
|
|
272
|
+
- **Packs.** signal, chalk.
|
|
273
|
+
|
|
274
|
+
### step-diagram
|
|
275
|
+
|
|
276
|
+
- **Holds.** A teaching sequence, each step with its own small worked value.
|
|
277
|
+
- **Write it as.** As `process`; include the number or formula each step produces.
|
|
278
|
+
- **Behaviour.** The same plan as `process`.
|
|
279
|
+
- **Packs.** chalk.
|
|
280
|
+
|
|
281
|
+
### timeline
|
|
282
|
+
|
|
283
|
+
- **Holds.** Up to six dated events.
|
|
284
|
+
- **Write it as.** A table whose first column is the date, the second the event, and the rest (owner,
|
|
285
|
+
status) joined under it; then two or three takeaways. Bullets with a bold date head also work when
|
|
286
|
+
there is no table. Keep each event under about 20 Hangul or 40 Latin characters: an event cell has
|
|
287
|
+
a sixth of the width and two lines.
|
|
288
|
+
- **Behaviour.** Dates sit over an axis; events and owners under it in equal slots; the takeaways
|
|
289
|
+
under the axis. Room left over is shared evenly above the axis, between axis and takeaways, and
|
|
290
|
+
under them. A single takeaway moves with the axis instead, the room shared over and under the
|
|
291
|
+
pair; with a short title that still leaves a tall band under it (OF-109), so give a timeline two or
|
|
292
|
+
three takeaways.
|
|
293
|
+
- **Packs.** ledger, atlas, gazette, studio, night.
|
|
294
|
+
|
|
295
|
+
## Image and figure families
|
|
296
|
+
|
|
297
|
+
### image-full
|
|
298
|
+
|
|
299
|
+
- **Holds.** One photograph that is the slide.
|
|
300
|
+
- **Write it as.** The title and one image line; nothing else.
|
|
301
|
+
- **Behaviour.** Always drawn under the overlay treatment: the picture bleeds to all edges, cropped
|
|
302
|
+
to its own proportions, with the title and caption on a dark panel at the lower left.
|
|
303
|
+
- **Packs.** atlas, studio.
|
|
304
|
+
|
|
305
|
+
### image-split
|
|
306
|
+
|
|
307
|
+
- **Holds.** One image beside its explanation.
|
|
308
|
+
- **Write it as.** The image, then four or five headed points and the source strip.
|
|
309
|
+
- **Behaviour.** Image on seven columns, text on five.
|
|
310
|
+
- **Packs.** signal, atlas, chalk, studio.
|
|
311
|
+
|
|
312
|
+
### photo-grid
|
|
313
|
+
|
|
314
|
+
- **Holds.** Two or three images seen together.
|
|
315
|
+
- **Write it as.** Two or three image lines in a row (each with a caption), then one takeaway and the
|
|
316
|
+
source strip. A fourth image is ignored. With one image it falls back to `image-split`.
|
|
317
|
+
- **Packs.** atlas, studio.
|
|
318
|
+
|
|
319
|
+
### figure-pair
|
|
320
|
+
|
|
321
|
+
- **Holds.** Two figures to compare: before and after, condition A and B, day and night.
|
|
322
|
+
- **Write it as.** Two image lines, then one interpretation line that names the difference with
|
|
323
|
+
numbers, then the source strip.
|
|
324
|
+
- **Behaviour.** The figures share the width equally at the same height; the text runs under them.
|
|
325
|
+
With one figure it falls back to `figure-academic`.
|
|
326
|
+
- **Packs.** atlas, paper.
|
|
327
|
+
|
|
328
|
+
### figure-academic
|
|
329
|
+
|
|
330
|
+
- **Holds.** One figure with numbered caption and its reading.
|
|
331
|
+
- **Write it as.** The image, three or four points, the source strip.
|
|
332
|
+
- **Behaviour.** Figure on eight columns, points on four.
|
|
333
|
+
- **Packs.** paper.
|
|
334
|
+
|
|
335
|
+
### asymmetric-feature
|
|
336
|
+
|
|
337
|
+
- **Holds.** One strong element (a photograph, a chart) beside a fuller explanation.
|
|
338
|
+
- **Write it as.** The visual, then four or five headed points and the source strip.
|
|
339
|
+
- **Behaviour.** The visual takes five columns and the text seven. A slide whose only visual is a
|
|
340
|
+
one-row KPI table is drawn as `big-number`.
|
|
341
|
+
- **Packs.** signal, atlas, studio.
|
|
342
|
+
|
|
343
|
+
### method
|
|
344
|
+
|
|
345
|
+
- **Holds.** A formula and its terms, or a figure and its terms.
|
|
346
|
+
- **Write it as.** The formula as one plain (non-bullet) line, then four or five headed terms, each
|
|
347
|
+
with one or two `(1)` sub-points, then the source strip.
|
|
348
|
+
|
|
349
|
+
```text
|
|
350
|
+
budget = (1 − SLO) × total requests in the window
|
|
351
|
+
|
|
352
|
+
- **SLO** service level objective
|
|
353
|
+
(1) 99.95% of checkout requests succeed over a rolling 28 days
|
|
354
|
+
```
|
|
355
|
+
|
|
356
|
+
- **Behaviour.** On the compact step the formula runs across the top in the accent colour and the
|
|
357
|
+
terms in two columns under it; on every step a formula with two or three columns of terms runs
|
|
358
|
+
across. With a figure instead, the figure takes seven columns (five or four when the terms are
|
|
359
|
+
long) and the terms run beside it; a figure at least twice as wide as tall runs across the body over
|
|
360
|
+
its terms (two or three columns, the source closing the shortest) when it keeps 130 pt of height. A slide that holds a figure does not draw a
|
|
361
|
+
formula line, so do not combine the two; put the formula in the figure's caption if both matter.
|
|
362
|
+
- **Packs.** chalk, paper, night.
|
|
363
|
+
|
|
364
|
+
## References
|
|
365
|
+
|
|
366
|
+
### references-appendix
|
|
367
|
+
|
|
368
|
+
- **Holds.** Eight to ten sources and definitions.
|
|
369
|
+
- **Write it as.** One bullet per entry, `- [1] ...`, sources first and definitions after.
|
|
370
|
+
- **Behaviour.** One entry per row, rows spread down the page with rules between. A list longer than
|
|
371
|
+
the body steps down to label size, then runs in two columns.
|
|
372
|
+
- **Packs.** ledger, paper, gazette.
|
|
373
|
+
|
|
374
|
+
## Covers
|
|
375
|
+
|
|
376
|
+
A cover takes its title from the `#` heading and its subtitle and meta line from the frontmatter:
|
|
377
|
+
`subtitle`, `date`, `department`, `presenter`. Write `layout: cover` to get the pack's first cover
|
|
378
|
+
that can be drawn, or name one. A named cover the deck cannot supply falls back to the next one in
|
|
379
|
+
the pack's list, with a note.
|
|
380
|
+
|
|
381
|
+
| Variant | Needs from the deck | What it draws | Packs |
|
|
382
|
+
|---|---|---|---|
|
|
383
|
+
| cover-typographic | nothing | Title large on the ground, subtitle and meta under it, drawn with the pack's cover device | ledger, signal, atlas, chalk, paper, gazette, night |
|
|
384
|
+
| cover-split-field | nothing | Title in the left columns beside a colour field bleeding off the right edge | signal |
|
|
385
|
+
| cover-split-image | an image anywhere in the deck | Title on the left, the deck's first image filling the right side | atlas, paper, studio |
|
|
386
|
+
| cover-full-image | an image anywhere in the deck | The first image full-bleed with the title on a dark panel | atlas |
|
|
387
|
+
| cover-band | nothing | A deep band carrying the title, then the deck's parts (or its headline figures) across the page under it | gazette |
|
|
388
|
+
| cover-numeral | a year in the title or the `date:` | The year at title size in the accent over the title | signal, chalk, studio, night |
|
|
389
|
+
| cover-index | an agenda, or two or more sections | Title on the left, the part names listed on the right | ledger, paper, gazette |
|
|
390
|
+
| cover-figures | a KPI table somewhere in the deck | Title over the deck's first row of headline figures (up to four) | ledger, night |
|
|
391
|
+
| cover-rail | nothing | A dark rail on the left holding organisation and date, the title beside it | chalk, studio |
|
|
392
|
+
|
|
393
|
+
Never invent a number to enable `cover-numeral` or `cover-figures`; the figures come from the deck.
|
|
394
|
+
|
|
395
|
+
## Sections
|
|
396
|
+
|
|
397
|
+
A section slide holds the `#` title (and may hold an image for `section-image`). It numbers itself
|
|
398
|
+
by its position in the agenda when its title matches an agenda part or its description, and then
|
|
399
|
+
shows the part count (`02 / 04`). In packs with `display.index` (ledger, paper, gazette)
|
|
400
|
+
`section-rule` and `section-numeral` with an agenda become an index page: the part numeral over the
|
|
401
|
+
part title on the left, the whole agenda on the right with this part marked. A section with no
|
|
402
|
+
agenda behind it shows no numeral; it sets its title as a statement with a preview of the slides it
|
|
403
|
+
opens under it: each slide's title and up to two of its first lines, a bold run-in label keeping its
|
|
404
|
+
colon (`**결과:** …`), in a column from the left margin no wider than 70 % of the page or about 70
|
|
405
|
+
characters of body text (eight columns for Korean, six for English). Lines and then slides drop
|
|
406
|
+
until the preview fits above the body floor.
|
|
407
|
+
|
|
408
|
+
| Variant | What it draws | Packs |
|
|
409
|
+
|---|---|---|
|
|
410
|
+
| section-field | Title on a field-coloured ground | signal, atlas, paper, night |
|
|
411
|
+
| section-numeral | Part number in the accent with the title | ledger, signal, chalk, studio, night |
|
|
412
|
+
| section-rail | Dark rail with the part number, title beside it | chalk, studio |
|
|
413
|
+
| section-image | The section slide's own image full-bleed with the title on a panel (needs an image on that slide) | atlas |
|
|
414
|
+
| section-rule | Title over a hairline, or the index page | ledger, paper, gazette |
|
|
415
|
+
| section-band | Deep band; the deck's parts with this one marked, the title as a statement under the band | gazette |
|
|
416
|
+
|
|
417
|
+
## Closings
|
|
418
|
+
|
|
419
|
+
A closing other than the statement is a content slide whose title names the ask, drawn under a top
|
|
420
|
+
title. Write `layout: closing` for the pack's first closing, or name one.
|
|
421
|
+
|
|
422
|
+
| Variant | Write it as | What it draws | Packs |
|
|
423
|
+
|---|---|---|---|
|
|
424
|
+
| closing-ask | One `Next step:` line and a table of asks (item, amount or date, owner) | Action rows keyed by the amount column (same unit; each row gets a bar for its share and the total closes the list) or else the date column; the next step on the floor in the pack's closing device; a next-step line that fits the box sets on one line across it, a longer one keeps the reading measure, set as narrow as keeps its line count so no line ends on a lone word | ledger, signal, atlas, chalk, paper, gazette |
|
|
425
|
+
| closing-decision-box | One `결정할 것:` / `Decide:` line and a table of decisions | The decision bold at lead size in a box at the top, the table as action rows under it | ledger, gazette, night |
|
|
426
|
+
| closing-statement | The `##` ask and one support line; no table or image | The ask set as a statement | signal, night |
|
|
427
|
+
| closing-summary-list | Four to six one-line conclusions, or a visual plus points | Numbered conclusions spread down the page; with a visual, the visual on eight columns and the points in a box beside | chalk, paper, studio |
|
|
428
|
+
| closing-contact-split | A contact line and a table of asks | A field bleeding off the right and bottom edges holding each row's key and the total, starting where the rows' text ends (five to seven of twelve columns, never at the cost of a smaller row size); the asks down the left; the contact in a band that meets the field | atlas, studio |
|
|
429
|
+
|
|
430
|
+
A totals row (`합계`, `Total`) is never read as an action row, and dash-only cells are left out of
|
|
431
|
+
the detail line. Keep thank-you lines to a small line at most; the closing is for the ask.
|
|
432
|
+
|
|
433
|
+
## Display slides
|
|
434
|
+
|
|
435
|
+
Covers, sections, statements, big numbers and closing steps are drawn with the device the pack
|
|
436
|
+
names under `display:`. This is what makes a Signal cover look nothing like a Paper cover even
|
|
437
|
+
though both are `cover-typographic`.
|
|
438
|
+
|
|
439
|
+
| Pack | cover | statement | number | closing step | index |
|
|
440
|
+
|---|---|---|---|---|---|
|
|
441
|
+
| ledger | figures | (no statement) | tint | box | yes |
|
|
442
|
+
| signal | drench (field over the page) | open | field | band | |
|
|
443
|
+
| atlas | plate (field under the title) | drench (field over the page) | tint | band | |
|
|
444
|
+
| chalk | rail | drench | tint | box | |
|
|
445
|
+
| paper | rules (journal title page) | rules | outline | rules | yes |
|
|
446
|
+
| gazette | band | (no statement) | outline | box | yes |
|
|
447
|
+
| studio | plain | rules (two hairlines on the open page) | tint | band | |
|
|
448
|
+
| night | numeral | open | tint | band | |
|
|
449
|
+
|
|
450
|
+
## How a deck keeps its variety
|
|
451
|
+
|
|
452
|
+
The gate (OF-111) wants the content slides to differ in layout: the title zone (top, side, band,
|
|
453
|
+
bottom, overlay, none) times the body's column partition (one, two-even, two-asym, three, grid,
|
|
454
|
+
full-bleed). The count of distinct layouts must reach about 60 % of the content slides (capped at
|
|
455
|
+
five), and no layout may cover more than 40 %. Agendas and references count as content slides
|
|
456
|
+
here; covers, sections and closings do not.
|
|
457
|
+
|
|
458
|
+
The partition depends on the family and on the treatment. These are the readings the gate gave on
|
|
459
|
+
the example decks in `examples/`:
|
|
460
|
+
|
|
461
|
+
| Partition | Seen on |
|
|
462
|
+
|---|---|
|
|
463
|
+
| one | agenda, text-column, ledger-table, references-appendix; almost any family under side-rail |
|
|
464
|
+
| two-even | table-insight whose takeaways moved under the table |
|
|
465
|
+
| two-asym | chart-insight and image-split under top or bottom titles, big-number, sidebar-note, asymmetric-feature, figure-academic |
|
|
466
|
+
| grid | kpi-row cards, comparison criteria rows, matrix-2x2 under a top title, timeline, process and step-diagram, summary-box-list, text-two-column, photo-grid, figure-pair under bottom-anchor, method under band, kpi-over-chart |
|
|
467
|
+
| full-bleed | image-full |
|
|
468
|
+
|
|
469
|
+
When OF-111 fails, read which layout repeats, then change one repeated slide's family or put a
|
|
470
|
+
`title:` key on it (`title-treatments.md`). Do not add slides to dilute the count.
|