@litfamily/litopencode 1.0.31 → 1.0.32
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 +24 -0
- package/README-Ko-KR.md +6 -6
- package/README.md +6 -6
- package/dist/activation-probe.js +1 -0
- package/dist/activation-prompt-utils.d.ts +1 -1
- package/dist/activation-reentry.d.ts +20 -0
- package/dist/activation-reentry.js +110 -1
- package/dist/activation-routing.d.ts +2 -1
- package/dist/activation-routing.js +100 -11
- package/dist/activation-workflow-prompts.d.ts +4 -0
- package/dist/activation-workflow-prompts.js +30 -0
- package/dist/activation.d.ts +1 -1
- package/dist/activation.js +44 -5
- package/dist/adhd-next.d.ts +51 -0
- package/dist/adhd-next.js +150 -0
- package/dist/cli/managed-skill-assets.d.ts +1 -1
- package/dist/cli/managed-skill-assets.js +7 -1
- package/dist/cli/native-skill-integrity.js +1 -1
- package/dist/cli.js +7 -1
- package/dist/commands.d.ts +28 -1
- package/dist/commands.js +48 -1
- package/dist/features.d.ts +80 -1
- package/dist/features.js +105 -1
- package/dist/ledger.js +12 -1
- package/dist/secret-shapes.js +5 -5
- package/dist/skills.d.ts +22 -1
- package/dist/skills.js +36 -0
- package/dist/start-work-typed.d.ts +34 -0
- package/dist/start-work-typed.js +156 -0
- package/dist/state.d.ts +2 -0
- package/dist/state.js +2 -0
- package/dist/tools.js +22 -2
- package/dist/tui/mission-band.d.ts +20 -1
- package/dist/tui/mission-band.js +73 -16
- package/dist/tui/mission-looks.d.ts +38 -0
- package/dist/tui/mission-looks.js +73 -0
- package/dist/tui/mission-model.d.ts +2 -0
- package/dist/tui/mission-model.js +3 -1
- package/dist/tui/mission-rainbow.d.ts +33 -0
- package/dist/tui/mission-rainbow.js +90 -0
- package/dist/tui/mission-source.d.ts +48 -0
- package/dist/tui/mission-source.js +184 -2
- package/dist/tui/mission-text.d.ts +2 -0
- package/dist/tui/mission-text.js +9 -1
- package/dist/tui/mission-threads.d.ts +50 -0
- package/dist/tui/mission-threads.js +119 -0
- package/dist/tui.js +84 -6
- package/dist/uiux-visual-catalog.js +8 -1
- package/dist/v2/session-hooks.js +38 -5
- package/dist/workflow-stack.d.ts +53 -0
- package/dist/workflow-stack.js +196 -0
- package/docs/assets/readme/badge-version.svg +1 -1
- package/docs/assets/skills/lit-schematic.webp +0 -0
- package/docs/reference-Ko-KR.md +30 -2
- package/docs/reference.md +34 -2
- package/package.json +1 -1
- package/skills/frontend-ui-ux/SKILL.md +3 -2
- package/skills/frontend-ui-ux/kit/components.css +414 -0
- package/skills/frontend-ui-ux/kit/fonts.json +22 -0
- package/skills/frontend-ui-ux/kit/layouts/landing.html +164 -0
- package/skills/frontend-ui-ux/kit/layouts/settings.html +114 -0
- package/skills/frontend-ui-ux/kit/layouts/workspace.html +115 -0
- package/skills/frontend-ui-ux/kit/styles/computational-brutalism.json +227 -0
- package/skills/frontend-ui-ux/kit/styles/field-notes.json +205 -0
- package/skills/frontend-ui-ux/kit/styles/graphite.json +200 -0
- package/skills/frontend-ui-ux/kit/styles/meadow.json +199 -0
- package/skills/frontend-ui-ux/kit/styles/neo-brutalism.json +222 -0
- package/skills/frontend-ui-ux/kit/ui.js +226 -0
- package/skills/frontend-ui-ux/references/brand-and-imagery.md +2 -2
- package/skills/frontend-ui-ux/references/complete-contract.md +2 -1
- package/skills/frontend-ui-ux/references/craft-floor.md +6 -2
- package/skills/frontend-ui-ux/references/default-editorial-pixel.json +3 -0
- package/skills/frontend-ui-ux/references/house-styles.md +236 -0
- package/skills/frontend-ui-ux/references/motion-guide.md +2 -2
- package/skills/frontend-ui-ux/references/production.md +3 -1
- package/skills/frontend-ui-ux/references/slop-register.md +4 -4
- package/skills/frontend-ui-ux/scripts/design-lock.mjs +400 -0
- package/skills/frontend-ui-ux/scripts/pixel-art.mjs +60 -0
- package/skills/frontend-ui-ux/scripts/probe-lock.mjs +235 -0
- package/skills/frontend-ui-ux/scripts/probe-page.mjs +34 -12
- package/skills/frontend-ui-ux/scripts/probe-static.mjs +16 -3
- package/skills/frontend-ui-ux/scripts/probe-thresholds.json +8 -2
- package/skills/frontend-ui-ux/scripts/probe.mjs +35 -7
- package/skills/lit-adhd/SKILL.md +208 -0
- package/skills/lit-adhd/references/brief-format.md +43 -0
- package/skills/lit-adhd/references/card-examples.md +82 -0
- package/skills/lit-adhd/references/status-taxonomy.md +29 -0
- package/skills/lit-adhd/scripts/rewind.mjs +835 -0
- package/skills/lit-diagram-drawer/SKILL.md +4 -3
- package/skills/lit-diagram-drawer/references/style-guide.md +20 -11
- package/skills/lit-diagram-drawer/references/type-architecture.md +3 -3
- package/skills/lit-diagram-drawer/references/type-dependency.md +1 -1
- package/skills/lit-diagram-drawer/references/type-tree.md +3 -3
- package/skills/lit-diagram-drawer/references/type-wardley.md +1 -1
- package/skills/lit-diagram-drawer/references/verifier-guide.md +1 -0
- package/skills/lit-diagram-drawer/scripts/craft-thresholds.json +1 -2
- package/skills/lit-diagram-drawer/scripts/visual-quality.mjs +1 -2
- package/skills/lit-docx/SKILL.md +2 -1
- package/skills/lit-handoff/SKILL.md +2 -0
- package/skills/lit-hijack/SKILL.md +422 -0
- package/skills/lit-hijack/references/capture-and-provenance.md +87 -0
- package/skills/lit-hijack/references/clean-room-build.md +111 -0
- package/skills/lit-hijack/references/distil-and-licence.md +100 -0
- package/skills/lit-hijack/references/gap-and-port-design.md +126 -0
- package/skills/lit-hijack/references/parity-and-report.md +110 -0
- package/skills/lit-hijack/scripts/hijack.mjs +993 -0
- package/skills/lit-plan/SKILL.md +2 -0
- package/skills/lit-pptx/SKILL.md +27 -11
- package/skills/lit-pptx/fonts/jetbrains-mono/JetBrainsMono-Bold.ttf +0 -0
- package/skills/lit-pptx/fonts/jetbrains-mono/JetBrainsMono-Regular.ttf +0 -0
- package/skills/lit-pptx/fonts/jetbrains-mono/OFL.txt +93 -0
- package/skills/lit-pptx/fonts/jetbrains-mono/SOURCE.md +17 -0
- package/skills/lit-pptx/references/density-and-fill.md +9 -3
- package/skills/lit-pptx/references/direction-step.md +21 -6
- package/skills/lit-pptx/references/examples/04-lecture-chalk-ko.md +3 -6
- package/skills/lit-pptx/references/examples/05-research-talk-paper-en.md +1 -5
- package/skills/lit-pptx/references/examples/08-reliability-keynote-night-en.md +0 -4
- package/skills/lit-pptx/references/examples/09-status-update-ledger-en.md +2 -2
- package/skills/lit-pptx/references/examples/11-forecast-review-night-ko.md +4 -7
- package/skills/lit-pptx/references/examples/13-engineering-review-computational-brutalism-ko.md +173 -0
- package/skills/lit-pptx/references/examples/14-launch-pitch-neo-brutalism-ko.md +154 -0
- package/skills/lit-pptx/references/examples/15-design-lecture-bauhaus-ko.md +139 -0
- package/skills/lit-pptx/references/examples/16-community-programme-riso-ko.md +158 -0
- package/skills/lit-pptx/references/examples/17-public-data-briefing-newsroom-ko.md +179 -0
- package/skills/lit-pptx/references/layout-families.md +65 -47
- package/skills/lit-pptx/references/title-treatments.md +83 -134
- package/skills/lit-pptx/references/tonalities/atlas.md +3 -3
- package/skills/lit-pptx/references/tonalities/bauhaus.md +140 -0
- package/skills/lit-pptx/references/tonalities/chalk.md +7 -6
- package/skills/lit-pptx/references/tonalities/computational-brutalism.md +150 -0
- package/skills/lit-pptx/references/tonalities/gazette.md +1 -1
- package/skills/lit-pptx/references/tonalities/ledger.md +1 -1
- package/skills/lit-pptx/references/tonalities/neo-brutalism.md +161 -0
- package/skills/lit-pptx/references/tonalities/newsroom.md +144 -0
- package/skills/lit-pptx/references/tonalities/night.md +1 -1
- package/skills/lit-pptx/references/tonalities/paper.md +2 -2
- package/skills/lit-pptx/references/tonalities/riso.md +137 -0
- package/skills/lit-pptx/references/tonalities/signal.md +3 -3
- package/skills/lit-pptx/references/tonalities/studio.md +7 -6
- package/skills/lit-pptx/run.mjs +2 -1
- package/skills/lit-pptx/scripts/compile-deck.js +1 -1
- package/skills/lit-pptx/scripts/craft-thresholds.json +4 -8
- package/skills/lit-pptx/scripts/craft_extras.py +56 -3
- package/skills/lit-pptx/scripts/deck_output.py +75 -90
- package/skills/lit-pptx/scripts/embed_fonts.py +13 -1
- package/skills/lit-pptx/scripts/layout_inventory.py +12 -5
- package/skills/lit-pptx/scripts/lib/grid-resolver.js +101 -110
- package/skills/lit-pptx/scripts/lib/layout-resolver.js +9 -15
- package/skills/lit-pptx/scripts/lib/render-pack.js +373 -566
- package/skills/lit-pptx/scripts/lib/slide-grid.js +104 -0
- package/skills/lit-pptx/scripts/lib/template-registry.js +57 -6
- package/skills/lit-pptx/scripts/qa_deck.py +10 -11
- package/skills/lit-pptx/scripts/render_pages.py +118 -0
- package/skills/lit-pptx/templates/tonalities/atlas/pack.yaml +1 -1
- package/skills/lit-pptx/templates/tonalities/bauhaus/pack.yaml +98 -0
- package/skills/lit-pptx/templates/tonalities/chalk/pack.yaml +1 -1
- package/skills/lit-pptx/templates/tonalities/computational-brutalism/pack.yaml +99 -0
- package/skills/lit-pptx/templates/tonalities/gazette/pack.yaml +1 -1
- package/skills/lit-pptx/templates/tonalities/ledger/pack.yaml +1 -1
- package/skills/lit-pptx/templates/tonalities/neo-brutalism/pack.yaml +107 -0
- package/skills/lit-pptx/templates/tonalities/newsroom/pack.yaml +99 -0
- package/skills/lit-pptx/templates/tonalities/night/pack.yaml +1 -1
- package/skills/lit-pptx/templates/tonalities/paper/pack.yaml +1 -1
- package/skills/lit-pptx/templates/tonalities/riso/pack.yaml +99 -0
- package/skills/lit-pptx/templates/tonalities/signal/pack.yaml +2 -2
- package/skills/lit-pptx/templates/tonalities/studio/pack.yaml +1 -1
- package/skills/lit-recap/SKILL.md +4 -0
- package/skills/lit-schematic/SKILL.md +118 -0
- package/skills/lit-schematic/examples/iso-heat-exchanger/build.mjs +38 -0
- package/skills/lit-schematic/examples/iso-heat-exchanger/scene.mjs +133 -0
- package/skills/lit-schematic/examples/journal-adsorption-rig/build.mjs +87 -0
- package/skills/lit-schematic/examples/pid-dosing-skid/build.mjs +85 -0
- package/skills/lit-schematic/references/cutaway-outputs.md +70 -0
- package/skills/lit-schematic/references/isometric-craft.md +101 -0
- package/skills/lit-schematic/references/journal-figures.md +72 -0
- package/skills/lit-schematic/references/kit-api.md +134 -0
- package/skills/lit-schematic/references/pfd-and-layout.md +53 -0
- package/skills/lit-schematic/references/pid-drafting.md +103 -0
- package/skills/lit-schematic/references/pid-symbols.md +163 -0
- package/skills/lit-schematic/references/verification.md +100 -0
- package/skills/lit-schematic/scripts/doctor.mjs +57 -0
- package/skills/lit-schematic/scripts/lib/figure.mjs +81 -0
- package/skills/lit-schematic/scripts/lib/fonts.mjs +25 -0
- package/skills/lit-schematic/scripts/lib/geom.mjs +113 -0
- package/skills/lit-schematic/scripts/lib/interactive.mjs +292 -0
- package/skills/lit-schematic/scripts/lib/isa.mjs +115 -0
- package/skills/lit-schematic/scripts/lib/iso.mjs +719 -0
- package/skills/lit-schematic/scripts/lib/legend-sheet.mjs +162 -0
- package/skills/lit-schematic/scripts/lib/pid.mjs +937 -0
- package/skills/lit-schematic/scripts/lib/png.mjs +132 -0
- package/skills/lit-schematic/scripts/lib/qa-core.mjs +658 -0
- package/skills/lit-schematic/scripts/lib/route.mjs +218 -0
- package/skills/lit-schematic/scripts/lib/sheet.mjs +890 -0
- package/skills/lit-schematic/scripts/lib/svg.mjs +82 -0
- package/skills/lit-schematic/scripts/lib/theme.mjs +115 -0
- package/skills/lit-schematic/scripts/motion.mjs +129 -0
- package/skills/lit-schematic/scripts/qa.mjs +92 -0
- package/skills/lit-schematic/scripts/render.mjs +233 -0
- package/skills/lit-schematic/scripts/scaffold.mjs +60 -0
- package/skills/lit-scientific-visualization/SKILL.md +27 -4
- package/skills/lit-typographic-motion/SKILL.md +19 -17
- package/skills/lit-typographic-motion/THIRD_PARTY_NOTICES +9 -0
- package/skills/lit-typographic-motion/engine/accents.mjs +6 -0
- package/skills/lit-typographic-motion/engine/assets.mjs +282 -0
- package/skills/lit-typographic-motion/engine/blender/runner.py +228 -0
- package/skills/lit-typographic-motion/engine/blender.mjs +126 -0
- package/skills/lit-typographic-motion/engine/board.mjs +138 -0
- package/skills/lit-typographic-motion/engine/cover/assets.mjs +11 -8
- package/skills/lit-typographic-motion/engine/cover/capture.mjs +6 -6
- package/skills/lit-typographic-motion/engine/cover/render.mjs +20 -7
- package/skills/lit-typographic-motion/engine/cover/treatment.mjs +30 -3
- package/skills/lit-typographic-motion/engine/fill.mjs +54 -0
- package/skills/lit-typographic-motion/engine/gallery.mjs +118 -0
- package/skills/lit-typographic-motion/engine/house.mjs +42 -0
- package/skills/lit-typographic-motion/engine/look.mjs +65 -8
- package/skills/lit-typographic-motion/engine/loudness.mjs +101 -0
- package/skills/lit-typographic-motion/engine/scaffold.mjs +219 -0
- package/skills/lit-typographic-motion/engine/score.mjs +594 -0
- package/skills/lit-typographic-motion/engine/sound.mjs +9 -57
- package/skills/lit-typographic-motion/engine/stage/capture.mjs +23 -9
- package/skills/lit-typographic-motion/engine/stage/clock.js +8 -2
- package/skills/lit-typographic-motion/engine/stage/cover-init.js +12 -1
- package/skills/lit-typographic-motion/engine/stage/frame-worker.mjs +15 -7
- package/skills/lit-typographic-motion/engine/stage/gate.mjs +48 -4
- package/skills/lit-typographic-motion/engine/stage/qa-page.js +16 -5
- package/skills/lit-typographic-motion/engine/stage/qa.mjs +148 -7
- package/skills/lit-typographic-motion/engine/stage/render.mjs +69 -7
- package/skills/lit-typographic-motion/engine/stage/scan.mjs +20 -1
- package/skills/lit-typographic-motion/engine/stage/stage-kit.js +85 -4
- package/skills/lit-typographic-motion/engine/stills.mjs +1 -1
- package/skills/lit-typographic-motion/engine/styles.mjs +221 -0
- package/skills/lit-typographic-motion/engine/text.mjs +1 -1
- package/skills/lit-typographic-motion/engine/treatment.mjs +190 -6
- package/skills/lit-typographic-motion/engine/vendor/three/LICENSE +21 -0
- package/skills/lit-typographic-motion/engine/vendor/three/addons/environments/RoomEnvironment.js +144 -0
- package/skills/lit-typographic-motion/engine/vendor/three/addons/geometries/RoundedBoxGeometry.js +155 -0
- package/skills/lit-typographic-motion/engine/vendor/three/three.module.js +54571 -0
- package/skills/lit-typographic-motion/gate.mjs +18 -2
- package/skills/lit-typographic-motion/probe.mjs +13 -1
- package/skills/lit-typographic-motion/recipes/hero-3d/expected.json +64 -0
- package/skills/lit-typographic-motion/recipes/hero-3d/index.html +132 -0
- package/skills/lit-typographic-motion/recipes/orbit-loop/expected.json +2 -0
- package/skills/lit-typographic-motion/recipes/painted-light/expected.json +2 -0
- package/skills/lit-typographic-motion/recipes/weight-tide/expected.json +2 -0
- package/skills/lit-typographic-motion/references/cover.md +56 -13
- package/skills/lit-typographic-motion/references/craft-loop.md +20 -7
- package/skills/lit-typographic-motion/references/depth.md +112 -0
- package/skills/lit-typographic-motion/references/runtime.md +21 -6
- package/skills/lit-typographic-motion/references/sound.md +76 -0
- package/skills/lit-typographic-motion/references/stage.md +50 -7
- package/skills/lit-typographic-motion/references/studio.md +162 -0
- package/skills/lit-typographic-motion/references/style-bibles.md +18 -0
- package/skills/lit-typographic-motion/references/treatment.md +108 -9
- package/skills/lit-typographic-motion/render.mjs +60 -3
- package/skills/lit-typographic-motion/styles/paper.json +185 -0
- package/skills/lit-typographic-motion/styles/swiss-signal.json +188 -0
- package/skills/lit-typographic-motion/styles/terminalcore.json +182 -0
- package/skills/lit-typographic-motion/styles/tidal.json +187 -0
- package/skills/litresearch/SKILL.md +2 -0
- package/skills/managed-skill-manifest.json +517 -88
- package/skills/readme-studio/SKILL.md +1 -1
- package/skills/review-work/SKILL.md +2 -0
- package/skills/start-work/SKILL.md +8 -0
- package/skills/workflow-loop/SKILL.md +4 -0
- package/tools/check-pack-payload.mjs +4 -2
- package/tools/payload-substance-parity.json +4 -3
- package/tools/qa-cover-recipes.mjs +4 -3
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
# Title treatments
|
|
2
2
|
|
|
3
|
-
A title treatment
|
|
4
|
-
|
|
3
|
+
A title treatment decides how a slide's title looks: how large it is, what colour it takes and what
|
|
4
|
+
comes with it (a rule, a band, a rail, a numeral, a panel). The engine knows eight
|
|
5
5
|
(`scripts/lib/grid-resolver.js`, `TREATMENTS`). Each pack allows four or five of them, maps every
|
|
6
6
|
slide role to one default, and the renderer may pick another allowed one per slide when that slide
|
|
7
|
-
fills better under it.
|
|
8
|
-
|
|
7
|
+
fills better under it. None of them moves the title: every content title sits in the slide grid's one
|
|
8
|
+
title zone (`scripts/lib/slide-grid.js`: columns 1-10, y 36, 72 pt tall) and its body starts at y 120,
|
|
9
|
+
whichever treatment and whichever tonality draws it; a statement sits in the display title zone. The
|
|
10
|
+
deck gets its variety from three to five treatments for different slide jobs, and a reader never has
|
|
11
|
+
to look for the title.
|
|
9
12
|
|
|
10
|
-
This file covers
|
|
13
|
+
This file covers what each treatment draws, which packs allow it, how a slide gets its
|
|
11
14
|
treatment, the per-slide `title:` key, and what the gate checks.
|
|
12
15
|
|
|
13
16
|
## Titles name a topic
|
|
@@ -35,121 +38,65 @@ reports a sentence title as OF-114 HIGH under a tonality pack.
|
|
|
35
38
|
|
|
36
39
|
## The eight treatments
|
|
37
40
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
-
|
|
51
|
-
-
|
|
52
|
-
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
- **
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
- **For.** Pages read like a document: Korean briefing pages, agenda pages, reference pages, and the
|
|
85
|
-
data pages of a dark keynote.
|
|
86
|
-
- **Packs.** gazette, night.
|
|
87
|
-
|
|
88
|
-
### statement
|
|
89
|
-
|
|
90
|
-
- **Geometry.** The sentence or label itself is the slide: display size across columns 1-10, set in
|
|
91
|
-
balanced lines and centred on the body's vertical middle. Studio frames it between two hairlines
|
|
92
|
-
on the open page (its `display.statement: rules`). One support line may follow 24 pt below, in the
|
|
93
|
-
muted ink. There is no body zone.
|
|
94
|
-
- **Budget.** Three lines.
|
|
95
|
-
- **When it can be drawn.** No table, chart or image on the slide, and at most one text block
|
|
96
|
-
besides the title. A slide that breaks this falls back to another treatment.
|
|
97
|
-
- **For.** Pull quotes and the one framing line of a live pitch. Since the user's verdict on
|
|
98
|
-
density, a claim is not a slide title; most decks need no statement at all.
|
|
99
|
-
- **Packs.** signal, atlas, chalk, paper, studio, night. In ledger and gazette a `statement` slide is
|
|
100
|
-
drawn as the largest top title the pack has, and the compile log notes it.
|
|
101
|
-
|
|
102
|
-
### overlay
|
|
103
|
-
|
|
104
|
-
- **Geometry.** A picture fills the canvas edge to edge, cropped to its own proportions. A dark
|
|
105
|
-
panel at 88 % opacity covers the lower left, from the canvas edge to just past column 7 and from
|
|
106
|
-
y 324 to 516; the title sits in it at y 348, columns 1-7, in the on-field colour. Contrast is
|
|
107
|
-
judged on the panel, never on the photograph.
|
|
108
|
-
- **Budget.** Two lines; about 19 Hangul or 34 Latin characters per line.
|
|
109
|
-
- **When it can be drawn.** Only on a slide with an image, and only in the `image-full` family,
|
|
110
|
-
which takes no other treatment. The image's alt text becomes the numbered caption.
|
|
111
|
-
- **Packs.** atlas, studio.
|
|
112
|
-
|
|
113
|
-
### kicker-numeral
|
|
114
|
-
|
|
115
|
-
- **Geometry.** A real number at cover size in the accent colour sits in columns 1-2 at y 36; the
|
|
116
|
-
title runs beside it in columns 3-12 at y 48, at title size. The body starts at y 120.
|
|
117
|
-
- **Budget.** One line only.
|
|
118
|
-
- **Where the number comes from.** The engine supplies it; you never type it. On an `agenda` slide it
|
|
119
|
-
is never used: the rows are numbered, and a count beside the title read as a stray section number
|
|
120
|
-
(OF-119). On a content slide that follows a section slide it is that
|
|
121
|
-
section's part number (taken from the agenda position when the section title matches an agenda
|
|
122
|
-
entry, otherwise counted). Closings never take it. A slide with no such number cannot be drawn
|
|
123
|
-
under kicker-numeral, so slides before the first section never show it. A deck with an agenda and
|
|
124
|
-
no section therefore has one treatment fewer to mix; open a part when OF-110 asks for a third.
|
|
125
|
-
- **For.** The opening slide of a numbered part.
|
|
126
|
-
- **Packs.** ledger, chalk, gazette, night.
|
|
127
|
-
|
|
128
|
-
### bottom-anchor
|
|
129
|
-
|
|
130
|
-
- **Geometry.** The title closes the page from below: columns 1-9 at title size, up to two lines,
|
|
131
|
-
its last line standing on the body floor (y 486), so a one-line title starts lower than a
|
|
132
|
-
two-line one. The 0.75 pt hairline across the width sits 12 pt above the title in packs that draw
|
|
133
|
-
hairlines, and the visual zone runs from y 36 down to 24 pt above the title: what a short title
|
|
134
|
-
does not use goes to the visual. The three columns beside the title stay empty by design.
|
|
135
|
-
- **Budget.** Two lines; about 25 Hangul or 45 Latin characters per line.
|
|
136
|
-
- **When it can be drawn.** The upper part must be a visual (chart, table, image or KPI row), or the
|
|
137
|
-
slide must hold at most one text block. A text-only slide with several blocks cannot take it.
|
|
138
|
-
- **For.** Chart-led, figure-led and photo-led slides where the picture comes first.
|
|
139
|
-
- **Packs.** ledger, signal, atlas, paper, studio.
|
|
41
|
+
Geometry is in points on the 16:9 canvas (12 columns, 24 pt margins, 78 pt pitch); the 4:3 canvas keeps
|
|
42
|
+
the same y values. The density dial changes type and spacing inside the zones, never the zones. Glyph
|
|
43
|
+
budgets are for Korean at the presented ramp, with the reading ramp in brackets; Latin text takes about
|
|
44
|
+
twice as many characters.
|
|
45
|
+
|
|
46
|
+
| Treatment | Title | Comes with | Body | Fits | Budget |
|
|
47
|
+
|---|---|---|---|---|---|
|
|
48
|
+
| `top-rule` | the title zone, title size | a short accent rule or a full hairline 4 pt under the title's last line | y 120-486 | content and data pages that are read | two lines of about 23 glyphs (29) |
|
|
49
|
+
| `top-plain-large` | the title zone, display size | nothing | y 120-486 | comparison, image-split, pages that open on one claim | one line of about 17 glyphs (two of 21) |
|
|
50
|
+
| `side-rail` | the title zone, title size | a bar in the left margin: the page's full height in the rail colour when the pack fills its rail, else as tall as the title zone in the accent | y 120-486 | a chart or picture with its takeaways, a comparison with labelled criteria | as `top-rule` |
|
|
51
|
+
| `band` | the title zone, title size, in the on-field colour | the field colour from the page's top edge to the title zone's foot (y 108) | y 120-486 | Korean briefing pages, data pages, a newspaper masthead | as `top-rule` |
|
|
52
|
+
| `statement` | the display title zone (columns 1-9, y 132-348), display or hero size, centred | an optional support line in the support zone (y 372) | none: the text is the content | a pull quote, or a display-led deck the user asked for | three lines of about 15 glyphs |
|
|
53
|
+
| `overlay` | a dark panel at the lower left over a full-bleed picture | the panel at 88 % opacity, a caption on it | none: the picture is the content | full-picture slides | two lines of about 15 glyphs |
|
|
54
|
+
| `kicker-numeral` | the title zone, title size | the numeral at cover size in the aside zone right of the title (columns 11-12), in the accent colour; the part number, never an agenda's row count | y 120-486 | steps, numbered recommendations | as `top-rule` |
|
|
55
|
+
| `bottom-anchor` | the title zone, title size | a heavy rule (2 to 4 pt) across the columns at the zone's foot | y 120-486 | chart-led, figure-led and big-picture slides | as `top-rule` |
|
|
56
|
+
|
|
57
|
+
Over budget, the engine moves the slide to another allowed treatment and says so in a `note:` line;
|
|
58
|
+
a `title:` key that asks for an over-budget treatment stops the compile, because a pinned choice
|
|
59
|
+
that cannot hold the title is an authoring error. Shorten the title or pick another treatment.
|
|
60
|
+
|
|
61
|
+
Details that decide a choice:
|
|
62
|
+
|
|
63
|
+
- **kicker-numeral.** The engine supplies the number; you never type it. On an `agenda` slide it is
|
|
64
|
+
never used: the rows are numbered, and a count beside the title read as a stray section number
|
|
65
|
+
(OF-119). On a content slide that follows a section slide it is that section's part number (taken
|
|
66
|
+
from the agenda position when the section title matches an agenda entry, otherwise counted).
|
|
67
|
+
Closings never take it, and a slide with no such number cannot be drawn under it, so slides before
|
|
68
|
+
the first section never show it. A deck with an agenda and no section therefore has one treatment
|
|
69
|
+
fewer to mix; open a part when OF-110 asks for a third.
|
|
70
|
+
- **statement.** No table, chart or image on the slide and at most one text block besides the title.
|
|
71
|
+
A slide that breaks this falls back to another treatment. A statement is a pull quote or the one
|
|
72
|
+
framing line of a live pitch; a claim is not a slide title, so most decks need none. In ledger and
|
|
73
|
+
gazette a `statement` slide is drawn as the largest top title the pack has, and the compile log
|
|
74
|
+
notes it. Studio frames it between two hairlines on the open page (`display.statement: rules`).
|
|
75
|
+
- **overlay.** Only on a slide with an image, and only in the `image-full` family, which takes no
|
|
76
|
+
other treatment. The image's alt text becomes the numbered caption. Contrast is judged on the
|
|
77
|
+
panel, never on the photograph.
|
|
78
|
+
- **bottom-anchor.** The upper part must be a visual (chart, table, image or KPI row), or the slide
|
|
79
|
+
must hold at most one text block; a text-only slide with several blocks cannot take it. The visual
|
|
80
|
+
gets the body's full height under the title.
|
|
81
|
+
- **side-rail.** What belongs beside the title (a comparison's criteria labels, a chart's takeaways,
|
|
82
|
+
the source and note) is set in the body, level with its rows. A bar in the left margin marks the
|
|
83
|
+
title; it carries no text.
|
|
84
|
+
|
|
85
|
+
Never move a title by hand with a free box: the zone is the slide grid's, and a nudged title breaks
|
|
86
|
+
the one place every theme keeps.
|
|
140
87
|
|
|
141
88
|
## Which packs allow what
|
|
142
89
|
|
|
143
|
-
| Treatment | ledger | signal | atlas | chalk | paper | gazette | studio | night |
|
|
144
|
-
|
|
145
|
-
| top-rule | yes | yes | | yes | yes | yes | | |
|
|
146
|
-
| top-plain-large | | yes | yes | | | | yes | yes |
|
|
147
|
-
| side-rail | yes | | yes | yes | yes | yes | yes | yes |
|
|
148
|
-
| band | | | | | | yes | | yes |
|
|
149
|
-
| statement | | yes | yes | yes | yes | | yes | yes |
|
|
150
|
-
| overlay | | | yes | | | | yes | |
|
|
151
|
-
| kicker-numeral | yes | | | yes | | yes | | yes |
|
|
152
|
-
| bottom-anchor | yes | yes | yes | | yes | | yes | |
|
|
90
|
+
| Treatment | ledger | signal | atlas | chalk | paper | gazette | studio | night | computational-brutalism | neo-brutalism | bauhaus | riso | newsroom |
|
|
91
|
+
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
92
|
+
| top-rule | yes | yes | | yes | yes | yes | | | yes | | yes | | yes |
|
|
93
|
+
| top-plain-large | | yes | yes | | | | yes | yes | yes | yes | | yes | |
|
|
94
|
+
| side-rail | yes | | yes | yes | yes | yes | yes | yes | yes | | yes | yes | |
|
|
95
|
+
| band | | | | | | yes | | yes | | yes | | yes | yes |
|
|
96
|
+
| statement | | yes | yes | yes | yes | | yes | yes | yes | yes | yes | yes | yes |
|
|
97
|
+
| overlay | | | yes | | | | yes | | | | | | |
|
|
98
|
+
| kicker-numeral | yes | | | yes | | yes | | yes | | yes | yes | yes | yes |
|
|
99
|
+
| bottom-anchor | yes | yes | yes | | yes | | yes | | yes | yes | yes | | yes |
|
|
153
100
|
|
|
154
101
|
## How a slide gets its treatment
|
|
155
102
|
|
|
@@ -164,7 +111,7 @@ The choice runs in three passes.
|
|
|
164
111
|
|
|
165
112
|
1. **Resolver.** For every content slide the candidates are the pack's own title for the slide's
|
|
166
113
|
family when its `structure:` map names one (Paper draws a comparison as a ruled table under
|
|
167
|
-
`top-rule`, Chalk sets its criteria
|
|
114
|
+
`top-rule`, Chalk sets its criteria as row heads in the body under a `side-rail` title; that title holds even when
|
|
168
115
|
the deck already leans on it, so two tonalities of one source differ in structure and not only in
|
|
169
116
|
colour), else the pack's default for the slide's role; then the pack's other treatments that the family allows and that can be drawn on this
|
|
170
117
|
slide (title within budget, numeral available, image present, statement conditions met).
|
|
@@ -237,23 +184,23 @@ deck-level checks concern titles:
|
|
|
237
184
|
then compared with the name the compiler wrote on the shape (`title@side-rail`). A mismatch is
|
|
238
185
|
HIGH. A deck of eight or more slides must use at least three treatments, and no more than the
|
|
239
186
|
variance allows.
|
|
240
|
-
- **OF-111.** Content slides vary their composition: the title
|
|
187
|
+
- **OF-111.** Content slides vary their composition: the title treatment times the body's column
|
|
241
188
|
partition (one, two-even, two-asym, three, grid, full-bleed) must reach about 60 % of the
|
|
242
189
|
content-slide count in distinct values (capped at five), and no one layout may cover more than
|
|
243
190
|
40 % of the content slides.
|
|
244
|
-
- **OF-113.** Every
|
|
245
|
-
|
|
246
|
-
position a title by hand with `::: box`; the frame will drift and the check
|
|
191
|
+
- **OF-113.** Every content title keeps one frame and every statement keeps the display frame
|
|
192
|
+
(x, y, width, height within 1 pt), whatever its treatment. A title over a full-bleed picture keeps
|
|
193
|
+
its own panel. Never position a title by hand with `::: box`; the frame will drift and the check
|
|
194
|
+
fails.
|
|
247
195
|
- **OF-114.** Titles and the cover subtitle are labels, as described at the top of this file.
|
|
248
|
-
- **OF-115.** A
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
foot counts as a block but does not hide the band above it.
|
|
196
|
+
- **OF-115.** A text or picture column of a two-column body fails when its tallest empty band, from
|
|
197
|
+
the top of the pair down to where the longer column ends, passes 40 % of the body (a source strip
|
|
198
|
+
at its foot counts as a block but does not hide the band above it). A takeaway column that stops
|
|
199
|
+
short of the visual beside it, a title panel taller than its text and a plate under an empty page
|
|
200
|
+
fail too.
|
|
254
201
|
- **OF-116.** `node <skill>/run.mjs qa deck.pptx --sibling other.pptx` compares two tonalities of
|
|
255
|
-
one source:
|
|
256
|
-
|
|
202
|
+
one source: every slide must place its title frame and its body's top-left corner in the same
|
|
203
|
+
spot. A tonality changes the look and never the place.
|
|
257
204
|
- **OF-118.** A point that opens with a bold label and runs on in regular weight keeps a separator
|
|
258
205
|
after the label (`**요약:** …`). The compiler adds the colon when the source leaves it out, so this
|
|
259
206
|
fires on a label set by hand.
|
|
@@ -263,9 +210,11 @@ deck-level checks concern titles:
|
|
|
263
210
|
|
|
264
211
|
- Let the roles do the work. A deck whose slides have real jobs (a table slide, a chart slide with a
|
|
265
212
|
takeaway, an agenda, a process) gets its variety from the pack's role map without any `title:`.
|
|
266
|
-
-
|
|
267
|
-
|
|
268
|
-
- Use bottom-anchor when the visual is the evidence and the
|
|
269
|
-
|
|
213
|
+
- Keep titles inside the two-line budget of the title zone; a longer one moves the slide to another
|
|
214
|
+
treatment, and a pinned one stops the compile.
|
|
215
|
+
- Use bottom-anchor when the visual is the evidence and the heavy rule closes the label: a big
|
|
216
|
+
chart, a photo pair, a KPI row. A data slide with a takeaway reads best under it or side-rail.
|
|
217
|
+
- A claim is not a title. It opens the body under a label; `statement` stays for pull quotes. A
|
|
218
|
+
sequence wants kicker-numeral only when the number is real, and Korean briefing pages use band.
|
|
270
219
|
- Do not chase five treatments. Three or four that each mean something are better than five that
|
|
271
220
|
vary for their own sake.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Atlas
|
|
2
2
|
|
|
3
3
|
Atlas is a picture book with captions. Photographs bleed to the edge, titles sit on dark panels
|
|
4
|
-
over pictures or
|
|
4
|
+
over full-bleed pictures or in the slide grid's title zone above a large image, text stays short and calm, and the photographs bring the
|
|
5
5
|
colour; the pack's own accent is a quiet navy. Pack file: `templates/tonalities/atlas/pack.yaml`.
|
|
6
6
|
|
|
7
7
|
## Use it for
|
|
@@ -34,7 +34,7 @@ colour; the pack's own accent is a quiet navy. Pack file: `templates/tonalities/
|
|
|
34
34
|
## Type
|
|
35
35
|
|
|
36
36
|
Pretendard throughout. Compact ramp at density 10. Titles at normal tracking, display slightly
|
|
37
|
-
tight.
|
|
37
|
+
tight. Cover and statement titles take the hero step (60 pt) when their words fit; `hero: false` in the front matter turns it off. A figure is never larger than a title.
|
|
38
38
|
|
|
39
39
|
## Dials
|
|
40
40
|
|
|
@@ -53,7 +53,7 @@ Density 10, variance 7: up to five treatments, which is all of Atlas's five.
|
|
|
53
53
|
| reference | side-rail |
|
|
54
54
|
| definition | side-rail |
|
|
55
55
|
|
|
56
|
-
Treatments: overlay, bottom-anchor, side-rail, top-plain-large, statement. Overlay applies only to
|
|
56
|
+
Treatments: overlay, bottom-anchor (the title closed by a heavy rule over a visual that takes the body's full height), side-rail, top-plain-large, statement. Overlay applies only to
|
|
57
57
|
`image-full`. The cover is drawn on a `plate`, the dark field under the text, that hugs the title
|
|
58
58
|
and its lines and bleeds off the page foot. A statement or quote stands on the whole-page field
|
|
59
59
|
(`drench`): a plate under the lower half would leave the page above it open.
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
# Bauhaus
|
|
2
|
+
|
|
3
|
+
Bauhaus is the direction for a talk about making things: design, architecture, craft, art history,
|
|
4
|
+
culture. Its display slides carry an elementary composition, a yellow square, a red circle, a black
|
|
5
|
+
bar and a blue triangle set on the grid, beside a heavy title on an off-white ground. The content
|
|
6
|
+
slides are quiet on purpose: black type, a short red rule under each title, open tables and one red
|
|
7
|
+
accent. The geometry is the voice, so it appears where the deck speaks (the cover and the
|
|
8
|
+
statements) and stays out of the pages where the audience reads.
|
|
9
|
+
|
|
10
|
+
## When to use it
|
|
11
|
+
|
|
12
|
+
Reach for Bauhaus for a design or architecture lecture, a museum or exhibition opener, a workshop on
|
|
13
|
+
brand or product design, a culture programme, a portfolio review for a design school, or a talk on
|
|
14
|
+
the history of a style. The content signals that point here are images and few numbers, a sequence
|
|
15
|
+
of ideas or periods, quotations from makers, and words such as 디자인, 건축, 전시, 워크숍, 바우하우스,
|
|
16
|
+
Bauhaus, modernism or "primary colours". It is the first candidate for a design or culture lecture,
|
|
17
|
+
before Studio, and the second for a creative workshop.
|
|
18
|
+
|
|
19
|
+
## When it is the wrong choice
|
|
20
|
+
|
|
21
|
+
It fails for a data-heavy business review, finance, a public-sector report and any deck where tables
|
|
22
|
+
make up a third of the slides: the display geometry has nothing to say about a ledger. It is wrong
|
|
23
|
+
for grief, safety or financial-loss topics, where primary colours read as careless. For a deck that
|
|
24
|
+
is mostly pictures, Atlas or Studio frames them better; for a pitch, Signal or Neo-Brutalism.
|
|
25
|
+
|
|
26
|
+
## Tokens
|
|
27
|
+
|
|
28
|
+
The values below come from the pack file and are what the engine draws.
|
|
29
|
+
|
|
30
|
+
| Token | Value |
|
|
31
|
+
|---|---|
|
|
32
|
+
| ground / surface | #F4F1EA / #E8E3D6 |
|
|
33
|
+
| ink / ink-muted / line | #141414 / #4A4740 / #141414 |
|
|
34
|
+
| accent / accent-deep / accent-tint | #C8261C / #7A140E / #F2C230 (the yellow of the geometry) |
|
|
35
|
+
| field / on-field | #1F3C99 / #FFFFFF |
|
|
36
|
+
| positive / negative | #1E6B3A / #141414 |
|
|
37
|
+
| series | #C8261C, #1F3C99, #141414, #9E7700 |
|
|
38
|
+
| faces | Pretendard Bold for display, title, labels and numerals, Pretendard Regular for body; `faces: a2z` swaps to A2Z Black display, titles and numerals |
|
|
39
|
+
| ramp / hero | compact (body 13 pt, labels 11, sources 9) / hero step (60 pt) on cover and statement titles that fit, off with `hero: false`; figures at most title size |
|
|
40
|
+
| density / variance | 10 / 7 |
|
|
41
|
+
| radius / edge | 0 / fill |
|
|
42
|
+
| decoration | a short accent rule under top titles, kicker numerals, colour fields |
|
|
43
|
+
| table | open, no header fill, a rule under the header, bold totals |
|
|
44
|
+
| chart | no gridlines, direct labels, the accent on the highlighted series over muted ones |
|
|
45
|
+
|
|
46
|
+
Density 10 sets the lecture on the compact grid (24 pt side margins), body 13 pt and no step-up, as
|
|
47
|
+
every pack in the family. The fourth series colour
|
|
48
|
+
is the geometry's yellow darkened to an ochre so a bar still holds 3:1 on the ground; the bright
|
|
49
|
+
yellow itself is kept for fills (the square, the notice tag, a highlighted table row), never for text.
|
|
50
|
+
A loss uses ink with a ▼ sign.
|
|
51
|
+
|
|
52
|
+
## QA allowances
|
|
53
|
+
|
|
54
|
+
Red, blue and yellow sit side by side on a cover, statement or content slide inside the default
|
|
55
|
+
OF-101 limit (four hue families; a fifth fails), so this pack needs no `qa:` allowance.
|
|
56
|
+
|
|
57
|
+
## Treatments by slide role
|
|
58
|
+
|
|
59
|
+
Content, data and reference slides take `top-rule` (the title over a short red rule); data with a
|
|
60
|
+
takeaway and definitions take `side-rail`; sequences `kicker-numeral`; image slides `bottom-anchor`;
|
|
61
|
+
statements `statement`. The engine lays out every treatment the family allows, keeps the role's own
|
|
62
|
+
when the body fills, and otherwise takes the one that leaves the least empty band. Force one with
|
|
63
|
+
`title: <id>` on the line after `layout:`.
|
|
64
|
+
|
|
65
|
+
## Families and variants
|
|
66
|
+
|
|
67
|
+
- `asymmetric-feature` and `image-split` pair a work or a building with what to see in it.
|
|
68
|
+
- `timeline` places periods, schools or projects in order.
|
|
69
|
+
- `process` and `step-diagram` set a making process in three to five steps.
|
|
70
|
+
- `comparison` and `text-two-column` read two works, two periods or two methods side by side.
|
|
71
|
+
- `big-number`, `kpi-row`, `chart-insight` and `table-insight` carry the few figures such a talk has.
|
|
72
|
+
- `quote` sets a maker's sentence; `statement` holds one idea at display size.
|
|
73
|
+
- `agenda` opens a workshop with its sessions.
|
|
74
|
+
|
|
75
|
+
Covers are `cover-typographic`, `cover-split-field` and `cover-numeral`; sections are
|
|
76
|
+
`section-field` and `section-numeral`; closings are `closing-ask`, `closing-summary-list` and
|
|
77
|
+
`closing-statement`.
|
|
78
|
+
|
|
79
|
+
Display slides. The typographic cover sets the topic at display size on the left half and the
|
|
80
|
+
composition on the right half: the yellow square and red circle above, the black bar and blue
|
|
81
|
+
triangle below, each in its own grid cell. A statement sets its sentence on the left and a narrower
|
|
82
|
+
composition from column 10 to the edge. A big number is a blue field panel. A closing's next step
|
|
83
|
+
stands between two rules; a closing statement takes the statement's composition.
|
|
84
|
+
|
|
85
|
+
## Do
|
|
86
|
+
|
|
87
|
+
- Keep the geometry on the cover and the statements; content slides carry type, images and data.
|
|
88
|
+
- Use one statement per section at most, so the composition stays an event.
|
|
89
|
+
- Caption every work with maker, year and source.
|
|
90
|
+
- Let red mark one word or one figure on a content slide.
|
|
91
|
+
|
|
92
|
+
## Avoid
|
|
93
|
+
|
|
94
|
+
- Circles, squares or triangles as bullets, icons or frames on content slides.
|
|
95
|
+
- Yellow text on the off-white ground.
|
|
96
|
+
- A fifth hue family beside the three primaries and the ink.
|
|
97
|
+
- This direction for a ledger, a finance review or a sensitive topic.
|
|
98
|
+
|
|
99
|
+
## Two worked slides
|
|
100
|
+
|
|
101
|
+
A lecture slide pairs a building with what to see in it, and lets the caption carry the source.
|
|
102
|
+
|
|
103
|
+
```markdown
|
|
104
|
+
---
|
|
105
|
+
layout: image-split
|
|
106
|
+
|
|
107
|
+
## 데사우 교사(校舍)의 세 가지 설계 원칙
|
|
108
|
+
|
|
109
|
+

|
|
110
|
+
|
|
111
|
+
- **기능별 동** 공방, 교실, 기숙사를 각각의 동으로 나눠 다리로 잇는다
|
|
112
|
+
- **유리 커튼월** 공방 동의 외벽 전체가 유리라 작업이 밖에서 보인다
|
|
113
|
+
- **비대칭 배치** 정면이 없어, 걸으며 돌아봐야 전체가 읽힌다
|
|
114
|
+
- 출처: 예시 건축사 강의 자료, 2026년 (예시)
|
|
115
|
+
---
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
A timeline places the school's three sites in order, with what changed at each.
|
|
119
|
+
|
|
120
|
+
```markdown
|
|
121
|
+
---
|
|
122
|
+
layout: timeline
|
|
123
|
+
|
|
124
|
+
## 학교의 세 시기, 1919-1933년
|
|
125
|
+
|
|
126
|
+
| 시점 | 장소 | 무엇이 바뀌었나 |
|
|
127
|
+
|---|---|---|
|
|
128
|
+
| 1919년 | 바이마르 | 공방 중심 교육, 표현주의의 영향이 강하다 |
|
|
129
|
+
| 1925년 | 데사우 | 산업 생산과의 협업, 표준화된 제품 디자인 |
|
|
130
|
+
| 1932년 | 베를린 | 사립 학교로 축소, 이듬해 문을 닫는다 |
|
|
131
|
+
|
|
132
|
+
> 표 1. 바우하우스의 세 시기 (예시 자료)
|
|
133
|
+
|
|
134
|
+
- 출처: 예시 디자인사 강의 노트, 2026년 (예시)
|
|
135
|
+
---
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
## Examples
|
|
139
|
+
|
|
140
|
+
`15-design-lecture-bauhaus-ko.md`
|
|
@@ -32,7 +32,7 @@ a warm rust accent for the thing being taught. Pack file: `templates/tonalities/
|
|
|
32
32
|
## Type
|
|
33
33
|
|
|
34
34
|
Pretendard throughout. Compact ramp at density 10. Surfaces take a 6 pt radius; chalk is the only light pack
|
|
35
|
-
with rounded corners (night, on its dark ground, is the other).
|
|
35
|
+
with rounded corners (night, on its dark ground, is the other). Cover and statement titles take the hero step (60 pt) when their words fit; `hero: false` in the front matter turns it off. A figure is never larger than a title.
|
|
36
36
|
|
|
37
37
|
## Dials
|
|
38
38
|
|
|
@@ -51,10 +51,11 @@ Density 10, variance 6: up to four of its four treatments.
|
|
|
51
51
|
| reference | top-rule |
|
|
52
52
|
| definition | side-rail |
|
|
53
53
|
|
|
54
|
-
Treatments: kicker-numeral, top-rule, side-rail, statement. The side rail is the board
|
|
55
|
-
(`rail: field`): a
|
|
56
|
-
|
|
57
|
-
|
|
54
|
+
Treatments: kicker-numeral, top-rule, side-rail, statement. The side rail is the board colour
|
|
55
|
+
(`rail: field`): a full-height bar in the left margin beside the title. The kicker numeral stands
|
|
56
|
+
right of the title, in the accent. The statement is drawn `drench`, on the field
|
|
57
|
+
over the whole page. Top-rule draws the short rust accent bar. A comparison sets its criteria as row
|
|
58
|
+
heads in the body under a `side-rail` title (`structure: comparison: side-rail`), kept even when the deck
|
|
58
59
|
already leans on the rail. The agenda draws no numeral (OF-119), so a chalk deck whose only kicker
|
|
59
60
|
was its agenda needs a step or sidebar slide under `kicker-numeral` to keep three treatments
|
|
60
61
|
(OF-110); a sidebar note set across the top adds a top-title grid slide that can push that
|
|
@@ -93,7 +94,7 @@ means the slide needs more worked detail.
|
|
|
93
94
|
a bullet. Give the main column enough material (five groups with two sub-points is about right at
|
|
94
95
|
density 10).
|
|
95
96
|
- A `method` slide wants the formula as one plain line, then four or five terms each with one or two
|
|
96
|
-
sub-points.
|
|
97
|
+
sub-points. The formula runs across the body's columns and the terms in two
|
|
97
98
|
columns under it. Do not add a figure to the same slide; with a figure the formula line is not
|
|
98
99
|
drawn.
|
|
99
100
|
- Number step heads in the text (`- **1. 목표 온도 강하**`) and give each step the value it produces.
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
# Computational Brutalism
|
|
2
|
+
|
|
3
|
+
Computational Brutalism is the direction for a deck about a system, told to the people who build or
|
|
4
|
+
run it. It borrows from terminals, plotter paper and engineering drawings: the twelve-column grid is
|
|
5
|
+
marked in the top margin with numbered ticks, every content slide carries its index as `[03/08]`,
|
|
6
|
+
titles, labels and figures are set in a monospaced face, tables are ruled on every edge, and one
|
|
7
|
+
electric-blue signal colour marks the figure that matters. The structure is shown on purpose. What
|
|
8
|
+
keeps it readable is that body text stays in Pretendard and every mark sits on the grid it shows.
|
|
9
|
+
|
|
10
|
+
## When to use it
|
|
11
|
+
|
|
12
|
+
Reach for Computational Brutalism for an architecture review, an infrastructure or reliability
|
|
13
|
+
report, a developer-tool or AI-system launch given to engineers, a benchmark write-up, an incident
|
|
14
|
+
retrospective or a hackathon demo. The content signals that point here are metrics with units
|
|
15
|
+
(p99 latency, throughput, error budget, GPU hours), version numbers and identifiers, code or
|
|
16
|
+
command names in the text, before-and-after measurements, and an audience that reads a table
|
|
17
|
+
faster than a sentence. It is the first candidate for an engineering review or a developer launch,
|
|
18
|
+
and the second for a data review that an engineering team will read.
|
|
19
|
+
|
|
20
|
+
## When it is the wrong choice
|
|
21
|
+
|
|
22
|
+
It fails for a board, an investor committee, finance or a public-sector report, where the grid marks
|
|
23
|
+
read as unfinished work rather than as a style. It fails for a long Korean reading deck: the mono
|
|
24
|
+
face sets only Latin and figures, so a page of Hangul titles loses most of the look while keeping
|
|
25
|
+
its cost in width. It also fails for consumer marketing, for grief, safety or HR topics, and for a
|
|
26
|
+
deck under a corporate brand guide. For a quiet data review choose Ledger or Night; for a pitch to
|
|
27
|
+
investors, Signal or Neo-Brutalism.
|
|
28
|
+
|
|
29
|
+
## Tokens
|
|
30
|
+
|
|
31
|
+
The values below come from the pack file and are what the engine draws.
|
|
32
|
+
|
|
33
|
+
| Token | Value |
|
|
34
|
+
|---|---|
|
|
35
|
+
| ground / surface | #EEEDE7 / #E2E1D9 |
|
|
36
|
+
| ink / ink-muted / line | #111111 / #4D4C47 / #9A988F |
|
|
37
|
+
| accent / accent-deep / accent-tint | #1F43E0 / #14267A / #D9DEF2 |
|
|
38
|
+
| field / on-field | #111111 / #8CF5A6 (phosphor green on the terminal field) |
|
|
39
|
+
| positive / negative | #1C6B35 / #B3261E |
|
|
40
|
+
| series | #1F43E0, #111111, #7A786F |
|
|
41
|
+
| faces | JetBrains Mono Bold for display, title and numerals, JetBrains Mono Regular for labels, Pretendard Regular for body; Hangul inside a mono run is set in Pretendard; there is no A2Z map, so `faces: a2z` keeps these faces |
|
|
42
|
+
| ramp / hero | compact (body 13 pt, labels 11, sources 9) / hero step (60 pt) on cover and statement titles that fit, off with `hero: false`; figures at most title size |
|
|
43
|
+
| density / variance | 10 / 7 |
|
|
44
|
+
| radius / edge | 0 / border, 1 pt, in ink |
|
|
45
|
+
| decoration | hairline rules, column hairlines, outlined boxes, grid marks, kicker numerals |
|
|
46
|
+
| table | ruled grid on every cell edge, header in the label face, bold totals |
|
|
47
|
+
| chart | hairline gridlines, direct labels, the accent on the highlighted series over muted ones |
|
|
48
|
+
|
|
49
|
+
Density 10 sets the deck on the compact grid (24 pt side margins), body 13 pt and no step-up, as
|
|
50
|
+
every pack in the family: an engineering review is read again after the meeting, so each slide keeps
|
|
51
|
+
its basis and its source. The mono face is wider than Pretendard, so the engine measures
|
|
52
|
+
every mono title at its own width before it chooses a treatment; a long Latin title moves to a
|
|
53
|
+
treatment with a wider frame rather than shrinking.
|
|
54
|
+
|
|
55
|
+
The fonts ship with the skill: JetBrains Mono is under the SIL Open Font License 1.1 with no Reserved
|
|
56
|
+
Font Name, and the official Regular and Bold files are embedded unmodified with `--embed-fonts`.
|
|
57
|
+
|
|
58
|
+
## Treatments by slide role
|
|
59
|
+
|
|
60
|
+
Content, data, sequence and reference slides take `top-rule`; data with a takeaway takes
|
|
61
|
+
`bottom-anchor`; image slides `bottom-anchor`; definitions `side-rail`; statements `statement`. The
|
|
62
|
+
pack also pins a family's own title: `chart-insight` under `top-rule`, `table-insight` under
|
|
63
|
+
`bottom-anchor`, `comparison` as a spec sheet under a `side-rail` title, and `step-diagram`
|
|
64
|
+
under a large mono headline (`top-plain-large`). The engine lays out each allowed treatment, keeps
|
|
65
|
+
the pinned or role treatment when the body fills, and otherwise takes the one that leaves the least
|
|
66
|
+
empty band. Force one with `title: <id>` on the line after `layout:`.
|
|
67
|
+
|
|
68
|
+
## Families and variants
|
|
69
|
+
|
|
70
|
+
- `dashboard-grid` and `kpi-row` carry measured results: value, unit, label and basis in each cell.
|
|
71
|
+
- `chart-insight` and `full-chart` show a measured series with one highlighted line or bar.
|
|
72
|
+
- `table-insight` and `ledger-table` hold benchmark or capacity tables, ruled on every edge.
|
|
73
|
+
- `method` sets a pipeline or procedure as numbered stages with their inputs and outputs.
|
|
74
|
+
- `step-diagram` is a rollout or migration in three to five steps.
|
|
75
|
+
- `matrix-2x2` places options on two measured axes.
|
|
76
|
+
- `comparison` reads before and after, or two designs, across shared rows.
|
|
77
|
+
- `text-two-column` and `references-appendix` carry specifications and links.
|
|
78
|
+
- `quote` and `statement` hold one line an engineer said or one decision.
|
|
79
|
+
|
|
80
|
+
Covers are `cover-typographic`, `cover-index` and `cover-figures`; sections are `section-numeral`
|
|
81
|
+
and `section-rule`; closings are `closing-decision-box`, `closing-ask` and `closing-summary-list`.
|
|
82
|
+
|
|
83
|
+
Display slides. The typographic cover is the terminal field from edge to edge: black, with the
|
|
84
|
+
topic in phosphor green at display size, anchored low, and the date line above it. A statement sets
|
|
85
|
+
its sentence in phosphor on the same black field. A big number is an outlined panel on the ground.
|
|
86
|
+
A closing's decision sits in an outlined box. The grid marks and the slide index run on content
|
|
87
|
+
slides only; a drenched statement goes without them.
|
|
88
|
+
|
|
89
|
+
## Do
|
|
90
|
+
|
|
91
|
+
- Give every figure its unit and its basis: `p99 182 ms`, `2026년 9월 기준`.
|
|
92
|
+
- Keep identifiers, versions and commands in the text as they are written; the mono face is for them.
|
|
93
|
+
- Put one blue figure on a slide; everything else stays ink.
|
|
94
|
+
- Rule a table on every edge and right-align its numbers.
|
|
95
|
+
- End on a decision box or an ask with the owner and the date.
|
|
96
|
+
|
|
97
|
+
## Avoid
|
|
98
|
+
|
|
99
|
+
- Body paragraphs in the mono face (the pack refuses a mono body).
|
|
100
|
+
- Fake code, fake terminal prompts or decorative binary strings; show real identifiers or none.
|
|
101
|
+
- Grid marks or the slide index in the accent colour.
|
|
102
|
+
- A second accent colour; the phosphor green belongs to the black field only.
|
|
103
|
+
- This direction for a board pack, a finance report or a sensitive topic.
|
|
104
|
+
|
|
105
|
+
## Two worked slides
|
|
106
|
+
|
|
107
|
+
A latency review shows the measured result with its basis, and lets the table carry the detail.
|
|
108
|
+
|
|
109
|
+
```markdown
|
|
110
|
+
---
|
|
111
|
+
layout: kpi-row
|
|
112
|
+
|
|
113
|
+
## API 게이트웨이 v3 전환 결과, 2026년 9월
|
|
114
|
+
|
|
115
|
+
| p99 지연 | 처리량 | 오류율 | 노드 수 |
|
|
116
|
+
|---|---|---|---|
|
|
117
|
+
| 182 ms | 41k rps | 0.07% | 24 |
|
|
118
|
+
| v2 410 ms | v2 18k rps | v2 0.31% | v2 40 |
|
|
119
|
+
|
|
120
|
+
> 운영 클러스터 4주 평균, 2026년 9월 (예시)
|
|
121
|
+
|
|
122
|
+
- 지연은 절반 아래로 줄었고, 노드는 40대에서 24대로 줄었다
|
|
123
|
+
- 오류율 0.07%는 SLO 0.1% 안쪽이다
|
|
124
|
+
- 출처: 예시 관측 대시보드, 2026년 9월 (예시)
|
|
125
|
+
---
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
A migration plan reads as a sequence with the condition each step must meet.
|
|
129
|
+
|
|
130
|
+
```markdown
|
|
131
|
+
---
|
|
132
|
+
layout: step-diagram
|
|
133
|
+
|
|
134
|
+
## Cut-over plan for the v3 gateway
|
|
135
|
+
|
|
136
|
+
- **1. Shadow** mirror 5% of traffic to v3 and compare responses
|
|
137
|
+
(1) Exit: 0 mismatches over 72 h
|
|
138
|
+
- **2. Canary** route 10% of live traffic to v3 in one region
|
|
139
|
+
(1) Exit: p99 under 250 ms, error rate under 0.1%
|
|
140
|
+
- **3. Ramp** move to 50%, then 100%, one region a day
|
|
141
|
+
(1) Exit: no rollback for 7 days
|
|
142
|
+
- **4. Retire** drain v2 and remove its 40 nodes
|
|
143
|
+
(1) Owner: example platform team
|
|
144
|
+
- Source: example rollout runbook, October 2026 (example)
|
|
145
|
+
---
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
## Examples
|
|
149
|
+
|
|
150
|
+
`13-engineering-review-computational-brutalism-ko.md`
|