@litfamily/litgrok 1.0.26 → 1.0.28

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (235) hide show
  1. package/.grok/hooks/lit-mark.mjs +42 -0
  2. package/.grok/hooks/lit-status-line.mjs +174 -21
  3. package/.grok/hooks/plan-gate.mjs +13 -3
  4. package/.grok/hooks/record-passive-event.mjs +40 -6
  5. package/.grok/hooks/session-end.json +15 -0
  6. package/.grok/hooks/session-end.mjs +6 -0
  7. package/.grok/hooks/session-liveness.mjs +102 -0
  8. package/.grok/hooks/session-rows.mjs +57 -0
  9. package/.grok/hooks/session-start.mjs +17 -0
  10. package/.grok/hooks/workflow-stage.mjs +5 -2
  11. package/.grok/rules/00-litgrok.md +14 -0
  12. package/.grok/skills/frontend-ui-ux/ATTRIBUTION.md +23 -0
  13. package/.grok/skills/frontend-ui-ux/SKILL.md +4 -1
  14. package/.grok/skills/frontend-ui-ux/examples/phase-3-readme-ab/README.md +9 -0
  15. package/.grok/skills/frontend-ui-ux/kit/components.css +414 -0
  16. package/.grok/skills/frontend-ui-ux/kit/fonts.json +22 -0
  17. package/.grok/skills/frontend-ui-ux/kit/layouts/landing.html +164 -0
  18. package/.grok/skills/frontend-ui-ux/kit/layouts/settings.html +114 -0
  19. package/.grok/skills/frontend-ui-ux/kit/layouts/workspace.html +115 -0
  20. package/.grok/skills/frontend-ui-ux/kit/styles/computational-brutalism.json +227 -0
  21. package/.grok/skills/frontend-ui-ux/kit/styles/field-notes.json +205 -0
  22. package/.grok/skills/frontend-ui-ux/kit/styles/graphite.json +200 -0
  23. package/.grok/skills/frontend-ui-ux/kit/styles/meadow.json +199 -0
  24. package/.grok/skills/frontend-ui-ux/kit/styles/neo-brutalism.json +222 -0
  25. package/.grok/skills/frontend-ui-ux/kit/ui.js +226 -0
  26. package/.grok/skills/frontend-ui-ux/references/adaptive-layout.md +10 -4
  27. package/.grok/skills/frontend-ui-ux/references/brand-and-imagery.md +11 -7
  28. package/.grok/skills/frontend-ui-ux/references/complete-contract.md +21 -0
  29. package/.grok/skills/frontend-ui-ux/references/composition.md +10 -6
  30. package/.grok/skills/frontend-ui-ux/references/craft-floor.md +256 -93
  31. package/.grok/skills/frontend-ui-ux/references/creative-directions.md +9 -6
  32. package/.grok/skills/frontend-ui-ux/references/default-editorial-pixel.json +28 -0
  33. package/.grok/skills/frontend-ui-ux/references/house-styles.md +234 -0
  34. package/.grok/skills/frontend-ui-ux/references/implementation-platforms.md +10 -6
  35. package/.grok/skills/frontend-ui-ux/references/inclusive-interface.md +11 -5
  36. package/.grok/skills/frontend-ui-ux/references/interaction-motion.md +34 -78
  37. package/.grok/skills/frontend-ui-ux/references/motion-guide.md +10 -7
  38. package/.grok/skills/frontend-ui-ux/references/performance-delivery.md +11 -8
  39. package/.grok/skills/frontend-ui-ux/references/probe-loop.md +1 -1
  40. package/.grok/skills/frontend-ui-ux/references/product-direction.md +9 -4
  41. package/.grok/skills/frontend-ui-ux/references/production-interview.md +17 -0
  42. package/.grok/skills/frontend-ui-ux/references/redesign-playbook.md +10 -6
  43. package/.grok/skills/frontend-ui-ux/references/slop-register.md +148 -73
  44. package/.grok/skills/frontend-ui-ux/references/system-foundations.md +10 -4
  45. package/.grok/skills/frontend-ui-ux/references/visual-language.md +10 -4
  46. package/.grok/skills/frontend-ui-ux/references/visual-reconstruction.md +39 -72
  47. package/.grok/skills/frontend-ui-ux/scripts/design-lock.mjs +400 -0
  48. package/.grok/skills/frontend-ui-ux/scripts/interface-probe-driver.mjs +33 -0
  49. package/.grok/skills/frontend-ui-ux/scripts/interface-probe-lock.mjs +196 -0
  50. package/.grok/skills/frontend-ui-ux/scripts/interface-probe-page.mjs +1555 -0
  51. package/.grok/skills/frontend-ui-ux/scripts/interface-probe-rules.mjs +153 -0
  52. package/.grok/skills/frontend-ui-ux/scripts/interface-probe-server.mjs +57 -0
  53. package/.grok/skills/frontend-ui-ux/scripts/interface-probe-static.mjs +139 -0
  54. package/.grok/skills/frontend-ui-ux/scripts/interface-probe.mjs +363 -0
  55. package/.grok/skills/frontend-ui-ux/scripts/pixel-art.mjs +60 -0
  56. package/.grok/skills/lit-adhd/SKILL.md +155 -0
  57. package/.grok/skills/lit-adhd/references/card-examples.md +131 -0
  58. package/.grok/skills/lit-adhd/references/status-taxonomy.md +50 -0
  59. package/.grok/skills/lit-adhd/scripts/lib/brief.mjs +421 -0
  60. package/.grok/skills/lit-adhd/scripts/lib/collect.mjs +395 -0
  61. package/.grok/skills/lit-adhd/scripts/lib/gauge.mjs +87 -0
  62. package/.grok/skills/lit-adhd/scripts/lib/next-step.mjs +22 -0
  63. package/.grok/skills/lit-adhd/scripts/lib/plan-task-rows.mjs +32 -0
  64. package/.grok/skills/lit-adhd/scripts/lib/project-state-root.mjs +55 -0
  65. package/.grok/skills/lit-adhd/scripts/lib/redact.mjs +64 -0
  66. package/.grok/skills/lit-adhd/scripts/lib/suggest.mjs +140 -0
  67. package/.grok/skills/lit-adhd/scripts/lib/transcripts.mjs +232 -0
  68. package/.grok/skills/lit-adhd/scripts/rewind.mjs +6 -0
  69. package/.grok/skills/lit-diagram-drawer/SKILL.md +17 -5
  70. package/.grok/skills/lit-diagram-drawer/references/output-spec.md +2 -2
  71. package/.grok/skills/lit-diagram-drawer/references/style-guide.md +20 -11
  72. package/.grok/skills/lit-diagram-drawer/references/type-architecture.md +3 -3
  73. package/.grok/skills/lit-diagram-drawer/references/type-dependency.md +1 -1
  74. package/.grok/skills/lit-diagram-drawer/references/type-tree.md +3 -3
  75. package/.grok/skills/lit-diagram-drawer/references/type-wardley.md +1 -1
  76. package/.grok/skills/lit-diagram-drawer/references/verifier-guide.md +4 -0
  77. package/.grok/skills/lit-diagram-drawer/scripts/visual-quality.mjs +2 -2
  78. package/.grok/skills/lit-handoff/SKILL.md +2 -0
  79. package/.grok/skills/lit-hijack/SKILL.md +459 -0
  80. package/.grok/skills/lit-hijack/references/capture-and-provenance.md +124 -0
  81. package/.grok/skills/lit-hijack/references/clean-room-build.md +130 -0
  82. package/.grok/skills/lit-hijack/references/distil-and-licence.md +128 -0
  83. package/.grok/skills/lit-hijack/references/gap-and-port-design.md +150 -0
  84. package/.grok/skills/lit-hijack/references/parity-and-report.md +130 -0
  85. package/.grok/skills/lit-hijack/scripts/hijack.mjs +890 -0
  86. package/.grok/skills/lit-hijack/scripts/lib/safe-fetch.mjs +213 -0
  87. package/.grok/skills/lit-plan/SKILL.md +3 -1
  88. package/.grok/skills/lit-plan/references/plan-schema.md +4 -0
  89. package/.grok/skills/lit-plan/scripts/scaffold-plan.mjs +9 -2
  90. package/.grok/skills/lit-plan/scripts/scope-roots.mjs +83 -0
  91. package/.grok/skills/lit-pptx/SKILL.md +10 -5
  92. package/.grok/skills/lit-pptx/examples/13-engineering-review-computational-brutalism-ko.md +173 -0
  93. package/.grok/skills/lit-pptx/examples/14-launch-pitch-neo-brutalism-ko.md +154 -0
  94. package/.grok/skills/lit-pptx/examples/15-design-lecture-bauhaus-ko.md +139 -0
  95. package/.grok/skills/lit-pptx/examples/16-community-programme-riso-ko.md +158 -0
  96. package/.grok/skills/lit-pptx/examples/17-public-data-briefing-newsroom-ko.md +179 -0
  97. package/.grok/skills/lit-pptx/fonts/jetbrains-mono/JetBrainsMono-Bold.ttf +0 -0
  98. package/.grok/skills/lit-pptx/fonts/jetbrains-mono/JetBrainsMono-Regular.ttf +0 -0
  99. package/.grok/skills/lit-pptx/fonts/jetbrains-mono/OFL.txt +93 -0
  100. package/.grok/skills/lit-pptx/fonts/jetbrains-mono/provenance.json +1 -0
  101. package/.grok/skills/lit-pptx/references/direction-step.md +34 -8
  102. package/.grok/skills/lit-pptx/references/tonalities/bauhaus.md +140 -0
  103. package/.grok/skills/lit-pptx/references/tonalities/computational-brutalism.md +150 -0
  104. package/.grok/skills/lit-pptx/references/tonalities/neo-brutalism.md +161 -0
  105. package/.grok/skills/lit-pptx/references/tonalities/newsroom.md +144 -0
  106. package/.grok/skills/lit-pptx/references/tonalities/riso.md +137 -0
  107. package/.grok/skills/lit-pptx/scripts/compile-deck.js +1 -1
  108. package/.grok/skills/lit-pptx/scripts/craft_extras.py +61 -3
  109. package/.grok/skills/lit-pptx/scripts/deck_output.py +76 -62
  110. package/.grok/skills/lit-pptx/scripts/embed_fonts.py +14 -1
  111. package/.grok/skills/lit-pptx/scripts/lib/grid-resolver.js +101 -110
  112. package/.grok/skills/lit-pptx/scripts/lib/layout-resolver.js +9 -15
  113. package/.grok/skills/lit-pptx/scripts/lib/render-pack.js +389 -582
  114. package/.grok/skills/lit-pptx/scripts/lib/slide-grid.js +104 -0
  115. package/.grok/skills/lit-pptx/scripts/lib/template-registry.js +60 -8
  116. package/.grok/skills/lit-pptx/scripts/qa_deck.py +4 -4
  117. package/.grok/skills/lit-pptx/templates/tonalities/atlas/pack.yaml +2 -0
  118. package/.grok/skills/lit-pptx/templates/tonalities/bauhaus/pack.yaml +98 -0
  119. package/.grok/skills/lit-pptx/templates/tonalities/chalk/pack.yaml +2 -0
  120. package/.grok/skills/lit-pptx/templates/tonalities/computational-brutalism/pack.yaml +99 -0
  121. package/.grok/skills/lit-pptx/templates/tonalities/gazette/pack.yaml +2 -0
  122. package/.grok/skills/lit-pptx/templates/tonalities/ledger/pack.yaml +2 -0
  123. package/.grok/skills/lit-pptx/templates/tonalities/neo-brutalism/pack.yaml +107 -0
  124. package/.grok/skills/lit-pptx/templates/tonalities/newsroom/pack.yaml +99 -0
  125. package/.grok/skills/lit-pptx/templates/tonalities/night/pack.yaml +2 -0
  126. package/.grok/skills/lit-pptx/templates/tonalities/paper/pack.yaml +2 -0
  127. package/.grok/skills/lit-pptx/templates/tonalities/riso/pack.yaml +99 -0
  128. package/.grok/skills/lit-pptx/templates/tonalities/signal/pack.yaml +3 -0
  129. package/.grok/skills/lit-pptx/templates/tonalities/studio/pack.yaml +2 -0
  130. package/.grok/skills/lit-recap/SKILL.md +1 -1
  131. package/.grok/skills/lit-schematic/SKILL.md +140 -0
  132. package/.grok/skills/lit-schematic/examples/iso-heat-exchanger/build.mjs +38 -0
  133. package/.grok/skills/lit-schematic/examples/iso-heat-exchanger/scene.mjs +133 -0
  134. package/.grok/skills/lit-schematic/examples/journal-adsorption-rig/build.mjs +87 -0
  135. package/.grok/skills/lit-schematic/examples/pid-dosing-skid/build.mjs +85 -0
  136. package/.grok/skills/lit-schematic/references/cutaway-outputs.md +70 -0
  137. package/.grok/skills/lit-schematic/references/isometric-craft.md +101 -0
  138. package/.grok/skills/lit-schematic/references/journal-figures.md +72 -0
  139. package/.grok/skills/lit-schematic/references/kit-api.md +134 -0
  140. package/.grok/skills/lit-schematic/references/pfd-and-layout.md +53 -0
  141. package/.grok/skills/lit-schematic/references/pid-drafting.md +103 -0
  142. package/.grok/skills/lit-schematic/references/pid-symbols.md +163 -0
  143. package/.grok/skills/lit-schematic/references/verification.md +100 -0
  144. package/.grok/skills/lit-schematic/scripts/doctor.mjs +57 -0
  145. package/.grok/skills/lit-schematic/scripts/lib/figure.mjs +81 -0
  146. package/.grok/skills/lit-schematic/scripts/lib/fonts.mjs +27 -0
  147. package/.grok/skills/lit-schematic/scripts/lib/geom.mjs +113 -0
  148. package/.grok/skills/lit-schematic/scripts/lib/interactive.mjs +292 -0
  149. package/.grok/skills/lit-schematic/scripts/lib/isa.mjs +115 -0
  150. package/.grok/skills/lit-schematic/scripts/lib/iso.mjs +719 -0
  151. package/.grok/skills/lit-schematic/scripts/lib/legend-sheet.mjs +162 -0
  152. package/.grok/skills/lit-schematic/scripts/lib/pid.mjs +937 -0
  153. package/.grok/skills/lit-schematic/scripts/lib/png.mjs +132 -0
  154. package/.grok/skills/lit-schematic/scripts/lib/qa-core.mjs +658 -0
  155. package/.grok/skills/lit-schematic/scripts/lib/route.mjs +218 -0
  156. package/.grok/skills/lit-schematic/scripts/lib/sheet.mjs +890 -0
  157. package/.grok/skills/lit-schematic/scripts/lib/svg.mjs +82 -0
  158. package/.grok/skills/lit-schematic/scripts/lib/theme.mjs +115 -0
  159. package/.grok/skills/lit-schematic/scripts/motion.mjs +129 -0
  160. package/.grok/skills/lit-schematic/scripts/qa.mjs +92 -0
  161. package/.grok/skills/lit-schematic/scripts/render.mjs +233 -0
  162. package/.grok/skills/lit-schematic/scripts/scaffold.mjs +60 -0
  163. package/.grok/skills/lit-scientific-visualization/SKILL.md +36 -12
  164. package/.grok/skills/lit-typographic-motion/SKILL.md +7 -4
  165. package/.grok/skills/lit-typographic-motion/THIRD_PARTY_NOTICES +11 -0
  166. package/.grok/skills/lit-typographic-motion/recipes/hero-3d/expected.json +62 -0
  167. package/.grok/skills/lit-typographic-motion/recipes/hero-3d/index.html +82 -0
  168. package/.grok/skills/lit-typographic-motion/references/choice-first.md +30 -0
  169. package/.grok/skills/lit-typographic-motion/references/cover.md +10 -1
  170. package/.grok/skills/lit-typographic-motion/references/depth.md +119 -0
  171. package/.grok/skills/lit-typographic-motion/references/treatment.md +9 -1
  172. package/.grok/skills/lit-typographic-motion/scripts/blender/runner.py +218 -0
  173. package/.grok/skills/lit-typographic-motion/scripts/lib/assets.mjs +230 -0
  174. package/.grok/skills/lit-typographic-motion/scripts/lib/blender.mjs +136 -0
  175. package/.grok/skills/lit-typographic-motion/scripts/lib/board.mjs +153 -0
  176. package/.grok/skills/lit-typographic-motion/scripts/lib/chrome.mjs +61 -32
  177. package/.grok/skills/lit-typographic-motion/scripts/lib/constants.mjs +4 -2
  178. package/.grok/skills/lit-typographic-motion/scripts/lib/cover-capture.mjs +20 -11
  179. package/.grok/skills/lit-typographic-motion/scripts/lib/cover-treatment.mjs +26 -2
  180. package/.grok/skills/lit-typographic-motion/scripts/lib/cover.mjs +12 -5
  181. package/.grok/skills/lit-typographic-motion/scripts/lib/frame-pool.mjs +78 -1
  182. package/.grok/skills/lit-typographic-motion/scripts/lib/gallery.mjs +160 -0
  183. package/.grok/skills/lit-typographic-motion/scripts/lib/house.mjs +43 -0
  184. package/.grok/skills/lit-typographic-motion/scripts/lib/look.mjs +39 -1
  185. package/.grok/skills/lit-typographic-motion/scripts/lib/scaffold.mjs +174 -0
  186. package/.grok/skills/lit-typographic-motion/scripts/lib/score.mjs +640 -0
  187. package/.grok/skills/lit-typographic-motion/scripts/lib/sound.mjs +143 -0
  188. package/.grok/skills/lit-typographic-motion/scripts/lib/soundtrack.mjs +12 -3
  189. package/.grok/skills/lit-typographic-motion/scripts/lib/stage-gate.mjs +44 -0
  190. package/.grok/skills/lit-typographic-motion/scripts/lib/stage-qa.mjs +132 -3
  191. package/.grok/skills/lit-typographic-motion/scripts/lib/stage-session.mjs +51 -3
  192. package/.grok/skills/lit-typographic-motion/scripts/lib/stage.mjs +74 -9
  193. package/.grok/skills/lit-typographic-motion/scripts/lib/styles.mjs +224 -0
  194. package/.grok/skills/lit-typographic-motion/scripts/lib/treatment.mjs +198 -4
  195. package/.grok/skills/lit-typographic-motion/scripts/lib/vendor/three/LICENSE +21 -0
  196. package/.grok/skills/lit-typographic-motion/scripts/lib/vendor/three/addons/environments/RoomEnvironment.js +144 -0
  197. package/.grok/skills/lit-typographic-motion/scripts/lib/vendor/three/addons/geometries/RoundedBoxGeometry.js +155 -0
  198. package/.grok/skills/lit-typographic-motion/scripts/lib/vendor/three/three.module.js +54571 -0
  199. package/.grok/skills/lit-typographic-motion/scripts/motion.mjs +56 -6
  200. package/.grok/skills/lit-typographic-motion/scripts/stage/cover-init.js +20 -8
  201. package/.grok/skills/lit-typographic-motion/scripts/stage/loop-kit.js +2 -2
  202. package/.grok/skills/lit-typographic-motion/scripts/stage/stage-kit.js +25 -0
  203. package/.grok/skills/lit-typographic-motion/styles/paper.json +1 -0
  204. package/.grok/skills/lit-typographic-motion/styles/swiss-signal.json +1 -0
  205. package/.grok/skills/lit-typographic-motion/styles/terminalcore.json +1 -0
  206. package/.grok/skills/lit-typographic-motion/styles/tidal.json +1 -0
  207. package/.grok/skills/litgrok/SKILL.md +1 -1
  208. package/.grok/skills/litresearch/SKILL.md +2 -0
  209. package/.grok/skills/readme-studio/SKILL.md +14 -12
  210. package/.grok/skills/readme-studio/references/choice-first.md +24 -0
  211. package/.grok/skills/start-work/SKILL.md +8 -1
  212. package/.grok-plugin/plugin.json +4 -1
  213. package/CHANGELOG.md +18 -0
  214. package/README.md +11 -11
  215. package/README_ko-KR.md +11 -11
  216. package/TRADEMARK.md +12 -0
  217. package/bin/litgrok.mjs +2 -0
  218. package/docs/assets/readme/badge-version.svg +1 -1
  219. package/docs/assets/showcase/brief.webp +0 -0
  220. package/docs/assets/showcase/deck.webp +0 -0
  221. package/docs/assets/showcase/page.webp +0 -0
  222. package/docs/assets/showcase/pid.webp +0 -0
  223. package/docs/assets/skills/lit-adhd.webp +0 -0
  224. package/docs/assets/skills/lit-hijack.webp +0 -0
  225. package/docs/assets/skills/lit-schematic.webp +0 -0
  226. package/docs/reference.md +11 -7
  227. package/docs/reference_ko-KR.md +11 -7
  228. package/hooks/hooks.json +11 -0
  229. package/package.json +6 -1
  230. package/plugin.json +1 -1
  231. package/.grok/skills/frontend-ui-ux/scripts/page-probe.mjs +0 -105
  232. package/.grok/skills/frontend-ui-ux/scripts/probe.mjs +0 -91
  233. package/.grok/skills/frontend-ui-ux/scripts/rule-data.mjs +0 -56
  234. package/.grok/skills/frontend-ui-ux/scripts/static-probe.mjs +0 -27
  235. package/.grok/skills/frontend-ui-ux/scripts/static-server.mjs +0 -19
@@ -0,0 +1,93 @@
1
+ Copyright 2020 The JetBrains Mono Project Authors (https://github.com/JetBrains/JetBrainsMono)
2
+
3
+ This Font Software is licensed under the SIL Open Font License, Version 1.1.
4
+ This license is copied below, and is also available with a FAQ at:
5
+ https://scripts.sil.org/OFL
6
+
7
+
8
+ -----------------------------------------------------------
9
+ SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
10
+ -----------------------------------------------------------
11
+
12
+ PREAMBLE
13
+ The goals of the Open Font License (OFL) are to stimulate worldwide
14
+ development of collaborative font projects, to support the font creation
15
+ efforts of academic and linguistic communities, and to provide a free and
16
+ open framework in which fonts may be shared and improved in partnership
17
+ with others.
18
+
19
+ The OFL allows the licensed fonts to be used, studied, modified and
20
+ redistributed freely as long as they are not sold by themselves. The
21
+ fonts, including any derivative works, can be bundled, embedded,
22
+ redistributed and/or sold with any software provided that any reserved
23
+ names are not used by derivative works. The fonts and derivatives,
24
+ however, cannot be released under any other type of license. The
25
+ requirement for fonts to remain under this license does not apply
26
+ to any document created using the fonts or their derivatives.
27
+
28
+ DEFINITIONS
29
+ "Font Software" refers to the set of files released by the Copyright
30
+ Holder(s) under this license and clearly marked as such. This may
31
+ include source files, build scripts and documentation.
32
+
33
+ "Reserved Font Name" refers to any names specified as such after the
34
+ copyright statement(s).
35
+
36
+ "Original Version" refers to the collection of Font Software components as
37
+ distributed by the Copyright Holder(s).
38
+
39
+ "Modified Version" refers to any derivative made by adding to, deleting,
40
+ or substituting -- in part or in whole -- any of the components of the
41
+ Original Version, by changing formats or by porting the Font Software to a
42
+ new environment.
43
+
44
+ "Author" refers to any designer, engineer, programmer, technical
45
+ writer or other person who contributed to the Font Software.
46
+
47
+ PERMISSION & CONDITIONS
48
+ Permission is hereby granted, free of charge, to any person obtaining
49
+ a copy of the Font Software, to use, study, copy, merge, embed, modify,
50
+ redistribute, and sell modified and unmodified copies of the Font
51
+ Software, subject to the following conditions:
52
+
53
+ 1) Neither the Font Software nor any of its individual components,
54
+ in Original or Modified Versions, may be sold by itself.
55
+
56
+ 2) Original or Modified Versions of the Font Software may be bundled,
57
+ redistributed and/or sold with any software, provided that each copy
58
+ contains the above copyright notice and this license. These can be
59
+ included either as stand-alone text files, human-readable headers or
60
+ in the appropriate machine-readable metadata fields within text or
61
+ binary files as long as those fields can be easily viewed by the user.
62
+
63
+ 3) No Modified Version of the Font Software may use the Reserved Font
64
+ Name(s) unless explicit written permission is granted by the corresponding
65
+ Copyright Holder. This restriction only applies to the primary font name as
66
+ presented to the users.
67
+
68
+ 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
69
+ Software shall not be used to promote, endorse or advertise any
70
+ Modified Version, except to acknowledge the contribution(s) of the
71
+ Copyright Holder(s) and the Author(s) or with their explicit written
72
+ permission.
73
+
74
+ 5) The Font Software, modified or unmodified, in part or in whole,
75
+ must be distributed entirely under this license, and must not be
76
+ distributed under any other license. The requirement for fonts to
77
+ remain under this license does not apply to any document created
78
+ using the Font Software.
79
+
80
+ TERMINATION
81
+ This license becomes null and void if any of the above conditions are
82
+ not met.
83
+
84
+ DISCLAIMER
85
+ THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
86
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
87
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
88
+ OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
89
+ COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
90
+ INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
91
+ DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
92
+ FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
93
+ OTHER DEALINGS IN THE FONT SOFTWARE.
@@ -0,0 +1 @@
1
+ {"files": [{"bytes": 273900, "coverage": "static TTF; Latin coverage checked", "file": "JetBrainsMono-Regular.ttf", "sha256": "a0bf60ef0f83c5ed4d7a75d45838548b1f6873372dfac88f71804491898d138f"}, {"bytes": 277828, "coverage": "static TTF; Latin coverage checked", "file": "JetBrainsMono-Bold.ttf", "sha256": "5590990c82e097397517f275f430af4546e1c45cff408bde4255dad142479dcb"}, {"bytes": 4399, "file": "OFL.txt", "sha256": "30f0c136e3c88e422d0791acd97238870f9054a9729bc34cf2ff0d4ed8cac4ad"}], "license": "SIL Open Font License 1.1", "release": "v2.304", "releaseArchive": "https://github.com/JetBrains/JetBrainsMono/releases/download/v2.304/JetBrainsMono-2.304.zip", "repository": "https://github.com/JetBrains/JetBrainsMono", "sourcePath": "fonts/ttf/JetBrainsMono-Regular.ttf, fonts/ttf/JetBrainsMono-Bold.ttf"}
@@ -1,15 +1,17 @@
1
1
  # Direction step
2
2
 
3
3
  A deck's look is decided once, before the first slide is written, and it is decided as data: one of
4
- the eight tonality packs in `templates/tonalities/<id>/pack.yaml`. The pack fixes the palette roles,
4
+ the thirteen tonality packs in `templates/tonalities/<id>/pack.yaml`. The pack fixes the palette roles,
5
5
  the type ramp, the title treatments each slide role may take, the layout families the engine will
6
6
  draw, the cover, section and closing variants, and the density and variance dials. Skipping this
7
7
  step leaves the engine without a design and the deck without a reason for looking the way it does.
8
8
 
9
9
  The step produces three things: a direction card in the build log, a `tonality:` line in the deck
10
- frontmatter, and two or three sentences in the reply that name the choice and two alternatives. A
11
- bare request (`lit 발표자료 만들어줘`, "make me a deck on X") asks the user nothing. The skill
12
- infers what it needs, writes the inference on the card, and lets the user correct it afterwards.
10
+ frontmatter, and two or three sentences in the reply that name the choice and two alternatives.
11
+ Before building, ask the user to choose the tonality with a numbered choice in the reply
12
+ (recommended first); skip only when the brief names it or says you choose. When the brief leaves
13
+ the look open on purpose, also render a compare strip of the first three slides under the chosen
14
+ tonality and both alternatives and build the rest under the one picked.
13
15
 
14
16
  ## What to settle first
15
17
 
@@ -23,9 +25,10 @@ and the sources when it does not.
23
25
  | Delivery | Presented live, read alone, or both? | "미리 배포", "보고서형", "circulate" → read; "keynote", "demo day" → presented |
24
26
  | Language | Korean, English or mixed? | the language of the request, unless the sources or the user say otherwise |
25
27
 
26
- Pretendard Regular and Bold are the only faces this skill ships. Every pack draws with them, so the
28
+ Pretendard Regular and Bold are the faces every pack draws with, so the
27
29
  direction never depends on a font the machine might lack. Hierarchy comes from size, weight, colour
28
- and placement.
30
+ and placement. One pack adds a second face: Computational Brutalism sets Latin titles, labels and
31
+ figures in the bundled JetBrains Mono (Hangul stays Pretendard); body text stays Pretendard in every pack.
29
32
 
30
33
  ## Candidates by deck type
31
34
 
@@ -34,9 +37,14 @@ Start from the row for the deck type. The first name is the default when no sign
34
37
  | Deck type | First choice | Second | Third, and when |
35
38
  |---|---|---|---|
36
39
  | Pitch (투자·제안) | signal | studio | atlas, when the product is a physical thing to show |
40
+ | Launch, demo day or campaign (런칭·데모데이·캠페인) | neo-brutalism | signal | studio |
41
+ | Engineering or developer review (아키텍처·인프라·장애 리뷰) | computational-brutalism | night, for a stage screen | ledger, when it is read alone |
37
42
  | Business review (실적 보고) | ledger | gazette, when circulated in Korean before the meeting | night, when shown on a stage screen |
38
43
  | Research talk (연구 발표) | paper | night, for a keynote hall | chalk, for a tutorial |
39
44
  | Lecture (강의·교육) | chalk | paper | studio, for a public lecture |
45
+ | Design or culture lecture (디자인·건축·전시·워크숍) | bauhaus | studio | atlas, when the works are the deck |
46
+ | Community, culture or education programme (커뮤니티·문화·교육 프로그램) | riso | studio | bauhaus, for a design programme |
47
+ | Data story for the public (주민·독자 대상 데이터 브리핑) | newsroom | gazette, when it is read alone | ledger |
40
48
  | Data-heavy review (데이터 리뷰) | night | ledger | paper, for a written analysis |
41
49
  | Image-led (제품·현장·포트폴리오) | atlas | studio | signal, for a launch |
42
50
  | Korean briefing (보고서형 덱) | gazette | ledger | — |
@@ -53,6 +61,7 @@ choice.
53
61
  |---|---|---|
54
62
  | User's choice | the brief or an earlier turn names a tonality | use it, still write the card |
55
63
  | Named template | the brief names an enrolled template such as AZURE-PRO | use that template, offer two tonalities as alternatives |
64
+ | Named style | the brief names a style rather than a pack id: 네오 브루탈리즘, neo-brutalism; 컴퓨테이셔널 브루탈리즘, computational brutalism, 레트로 퓨처, retro-futurist, terminal look; 바우하우스, Bauhaus; 리소, risograph, zine; 뉴스룸, data journalism, explainer | that pack, as if named; a bare 브루탈리즘 or brutalist takes Neo-Brutalism for a pitch or launch and Computational Brutalism for a technical deck, and the card says which reading it took |
56
65
  | Read, not presented | the brief says the file is sent ahead or filed | gazette (Korean) or ledger (any language) moves to first |
57
66
  | Tables | 30 % or more of content slides hold a table | ledger and gazette up one place |
58
67
  | Charts | 30 % or more hold a chart | ledger, night and paper up one place |
@@ -62,6 +71,12 @@ choice.
62
71
  | Citations | numbered references, DOIs or a references slide | paper up one place |
63
72
  | Teaching structure | definitions, a formula, or a sequence of three or more steps taught in order | chalk up one place, paper up one |
64
73
  | Dark room | keynote, stage, demo day | night up one place |
74
+ | Metrics, versions or identifiers | p99, rps, v3 or endpoint names on a third of the content slides | Computational Brutalism up one place |
75
+ | Young or consumer audience | a sign-up or launch ask, stated in the brief | Neo-Brutalism up one place |
76
+ | Works, makers or periods | the subject of a third of the content slides | Bauhaus up one place |
77
+ | Participants, sessions and dates | a community or a class, on a third of the content slides | Riso up one place |
78
+ | One-point charts for outsiders | charts with one point each for readers outside the field, stated in the brief | Newsroom up one place |
79
+ | Board, finance or sensitive topic | a board, investor committee, finance or public-sector reader, or a sensitive topic (loss, safety, HR), stated in the brief | Neo-Brutalism, Computational Brutalism, Bauhaus and Riso drop out |
65
80
  | Coverage gap | a pack has no family for a slide the outline needs | drop that pack |
66
81
 
67
82
  The coverage row decides more often than it seems. Read `--list-layouts <id>` against the outline:
@@ -76,6 +91,11 @@ The coverage row decides more often than it seems. Read `--list-layouts <id>` ag
76
91
  | gazette | charts, pictures |
77
92
  | studio | tables |
78
93
  | night | tables (KPI rows and charts only), pictures, running text |
94
+ | computational-brutalism | pictures, agenda, timelines |
95
+ | neo-brutalism | timelines, running text |
96
+ | bauhaus | picture-led decks (image-split only), dashboard grids |
97
+ | riso | dashboard grids, reference appendices |
98
+ | newsroom | agenda, process steps |
79
99
 
80
100
  A ten-slide deck with four charts cannot be a chalk or gazette deck, however well the rest fits. A
81
101
  deck with a 2×2 option matrix needs ledger or gazette.
@@ -174,7 +194,7 @@ pick becomes the card's reason ("chosen from the comparison"); then build the fu
174
194
  ## Enrolled templates
175
195
 
176
196
  The templates in `templates/enrolled/` keep their single fixed look. `--list-tonalities` lists them
177
- as legacy templates after the eight packs. Use one only when the user names it or an existing source
197
+ as legacy templates after the thirteen packs. Use one only when the user names it or an existing source
178
198
  already says `template:`. The card names the template, the reply still offers two tonalities, and
179
199
  the gate reports its variety and band checks as advisories, because a named template asks for one
180
200
  look on purpose.
@@ -191,7 +211,7 @@ look on purpose.
191
211
 
192
212
  ## Example decks
193
213
 
194
- Twelve complete decks live in `examples/`, each verified to compile and pass the gate under its
214
+ Seventeen complete decks live in `examples/`, each verified to compile and pass the gate under its
195
215
  pack. Open the one whose deck type and language match the job before drafting. The picture slides name `assets/example-a.png`, `assets/example-b.png` and
196
216
  `assets/example-c.png`; put real images at those paths, or change the paths, before compiling.
197
217
 
@@ -208,4 +228,10 @@ pack. Open the one whose deck type and language match the job before drafting. T
208
228
  | `09-pitch-studio-en.md` | pitch for a physical product | studio | signal, atlas |
209
229
  | `10-image-led-studio-ko.md` | image-led portfolio | studio | atlas, signal |
210
230
  | `11-business-review-night-en.md` | business review on a stage screen | night | ledger, gazette |
231
+ | `12-status-update-gazette-ko.md` | status update | gazette | ledger, night |
232
+ | `13-engineering-review-computational-brutalism-ko.md` | engineering review | computational-brutalism | night, ledger |
233
+ | `14-launch-pitch-neo-brutalism-ko.md` | launch pitch | neo-brutalism | signal, studio |
234
+ | `15-design-lecture-bauhaus-ko.md` | design lecture | bauhaus | studio, atlas |
235
+ | `16-community-programme-riso-ko.md` | community programme | riso | studio, bauhaus |
236
+ | `17-public-data-briefing-newsroom-ko.md` | data story for residents | newsroom | gazette, ledger |
211
237
  | `12-status-update-gazette-ko.md` | status update, circulated in Korean | gazette | ledger, night |
@@ -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
+ ![도 1. 데사우 교사 전경 | 출처: 예시 이미지](assets/example-a.png)
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`
@@ -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`
@@ -0,0 +1,161 @@
1
+ # Neo-Brutalism
2
+
3
+ Neo-Brutalism is the loud direction, and it is loud on purpose. Every card is a flat yellow block
4
+ with a thick black border and a hard black shadow offset down and to the right, with no blur at all.
5
+ Titles are heavy and tight, the topic band is saturated blue, one pink-red accent marks the figure
6
+ the slide is for, and the ground is a warm cream. Nothing is soft: no gradients, no rounded corners,
7
+ no glow. It reads like a poster or a product sticker, so it suits a room that should feel energy,
8
+ and it stays legible because every colour pair still meets the contrast floor.
9
+
10
+ ## When to use it
11
+
12
+ Reach for Neo-Brutalism for a startup pitch at a demo day, a consumer product launch, a campaign
13
+ kick-off, a creator or community event, a hackathon final or an education deck for a young audience.
14
+ The content signals that point here are a short body (one claim and two or three facts per slide),
15
+ three or four headline numbers, a launch or sign-up ask, and words such as 런칭, 출시, 데모데이,
16
+ 캠페인, 크리에이터, or the user asking for something bold, punchy or "brutalist". It is the second
17
+ candidate for the pitch deck type, after Signal, and the first when the user asks for a bold or
18
+ playful look.
19
+
20
+ ## When it is the wrong choice
21
+
22
+ It fails for a formal report, an academic talk, a board or finance review and any deck read alone
23
+ later: the blocks take space a reader needs for detail, and a slide of long paragraphs between thick
24
+ borders reads as noise. It is wrong for grief, safety, HR or financial-loss topics, and
25
+ for a deck under a corporate brand guide. When the brief says "clean" or "minimal", Signal or Studio
26
+ fits; when it says "report", Ledger or Gazette.
27
+
28
+ ## Tokens
29
+
30
+ The values below come from the pack file and are what the engine draws.
31
+
32
+ | Token | Value |
33
+ |---|---|
34
+ | ground / surface | #FFF5E1 / #FFD43B (the yellow card) |
35
+ | ink / ink-muted / line | #111111 / #3A3A3A / #111111 |
36
+ | accent / accent-deep / accent-tint | #D81B5C / #6B0F2E / #FFC9DA |
37
+ | field / on-field | #2F4BFF / #FFFFFF |
38
+ | positive / negative | #137A43 / #111111 |
39
+ | series | #D81B5C, #2F4BFF, #111111, #137A43 |
40
+ | faces | Pretendard Bold for display, title, labels and numerals, Pretendard Regular for body; `faces: a2z` swaps to A2Z Black display, titles and numerals |
41
+ | register / ramp / hero | bold / presented (body 18 pt, labels 14, sources 12, titles 32, display 44) / allowed: a statement and a big figure may take the 72 pt hero step |
42
+ | type voice | titles tracked −2, display −3 |
43
+ | density / variance | 10 / 7 |
44
+ | radius / edge | 0 / fill and border, 2.5 pt in ink |
45
+ | shadow | 6 pt offset at 45°, ink, fully opaque, no blur |
46
+ | table | yellow header, ruled grid, protagonist row in pink tint, bold totals |
47
+ | chart | no gridlines, direct labels, series in order (pink, blue, black) |
48
+
49
+ This is the family's bold register (`register: bold`): it sets presented type and the 72 pt hero step, so
50
+ titles, figures and statements run large, but they fill the same slide-grid zones as every other
51
+ pack. A title still sits in the one title zone and the body still starts at y 120; the register
52
+ changes the size inside a zone, never the zone. The registry refuses presented type in a pack without
53
+ `register: bold`, so a report pack cannot drift into this size by accident; every pack takes its own
54
+ hero step on the cover and statements. A KPI
55
+ row keeps its bordered cards, because the card is this direction's figure. The pink accent was darkened until a pink figure on a yellow card still holds 3:1 at title
56
+ size. Losses use ink with a ▼ sign, because pink already means "look here".
57
+
58
+ The shadow is written into the file as a real outer shadow with a blur of zero, so PowerPoint,
59
+ Keynote and LibreOffice all draw the same hard edge. Every block of the blue field (a band, a
60
+ section page, a cover plate) carries the black border too.
61
+
62
+ ## QA allowances
63
+
64
+ The yellow card, the blue band and the pink accent share a content slide inside the default OF-101
65
+ limit (four hue families; a fifth fails). The gate reads this pack's `qa:` block:
66
+ `offset-shadow: true` lets OF-120 pass the hard shadow; a shadow with any blur still fails, and the
67
+ same shadow in any pack without this allowance fails. Contrast floors are unchanged.
68
+
69
+ ## Treatments by slide role
70
+
71
+ Content slides and data with a takeaway take `top-plain-large`; data, sequence, reference and
72
+ definition slides take `band` (the title in white on the blue band); image slides `bottom-anchor`;
73
+ statements `statement`. `kicker-numeral` is the third option for a sequence. The engine lays out
74
+ every treatment the family allows, keeps the role's own when the body fills, and otherwise takes the
75
+ one that leaves the least empty band. Force one with `title: <id>` on the line after `layout:`.
76
+
77
+ ## Families and variants
78
+
79
+ - `kpi-row` sets two to four results as yellow cards, each with value, label and basis.
80
+ - `big-number` is a blue panel of related figures beside the facts that explain them.
81
+ - `comparison` reads before and after across shared rows.
82
+ - `process` and `step-diagram` show three to five steps with a numeral in the accent.
83
+ - `chart-insight` carries one growth chart with its takeaway beside it.
84
+ - `table-insight` holds the one table a pitch needs, usually unit economics.
85
+ - `image-split` pairs a product shot with three short points.
86
+ - `summary-box-list` sets two to four bordered boxes of one claim each.
87
+ - `agenda`, `quote` and `statement` keep the type loud and the page open.
88
+
89
+ Covers are `cover-typographic`, `cover-split-field` and `cover-numeral`; sections are
90
+ `section-field` and `section-numeral`; closings are `closing-ask`, `closing-decision-box` and
91
+ `closing-statement`.
92
+
93
+ Display slides. The typographic cover sets the topic in white on a blue plate across the lower
94
+ half, bordered in black. A statement drenches the page in blue with the sentence in white. A big
95
+ number is a blue field panel. A closing's next step sits in a bordered box with its shadow.
96
+
97
+ ## Do
98
+
99
+ - Keep one claim per slide and write it in the first body line, in plain words.
100
+ - Give every figure its label and its basis in the card.
101
+ - Let the yellow cards carry figures and short labels, never paragraphs.
102
+ - End on `closing-ask` with the amount, its uses and the next meeting.
103
+
104
+ ## Avoid
105
+
106
+ - Blurred or soft shadows, rounded corners and gradients; the look is flat and hard.
107
+ - Thin hairlines beside the 2.5 pt borders.
108
+ - More than three fill colours on one slide.
109
+ - Muted grey text on the yellow surface.
110
+ - This direction for formal reports or sensitive topics.
111
+
112
+ ## Two worked slides
113
+
114
+ A launch deck opens its traction slide with four results as cards and two facts under them.
115
+
116
+ ```markdown
117
+ ---
118
+ layout: kpi-row
119
+
120
+ ## 베타 8주 성과, 2026년 10월
121
+
122
+ | 가입자 | 주간 재방문 | 추천 가입 | 유료 전환 |
123
+ |---|---|---|---|
124
+ | 1만 2천 명 | 46% | 38% | 7.4% |
125
+ | 목표 1만 명 | 업계 평균 25% | 광고비 0원 | 목표 5% |
126
+
127
+ > 베타 운영 기록, 2026년 8-10월 (예시)
128
+
129
+ - 광고 없이 가입자 목표를 넘겼다: 셋 중 하나 이상이 친구 추천으로 왔다
130
+ - 유료 전환 7.4%는 목표 5%를 넘었고, 연 결제가 그중 60%다
131
+ - 출처: 예시 서비스 운영 대시보드, 2026년 10월 (예시)
132
+ ---
133
+ ```
134
+
135
+ The closing states the ask, shows where the money goes and names the next step.
136
+
137
+ ```markdown
138
+ ---
139
+ layout: closing-ask
140
+
141
+ ## 시드 15억 원 사용 계획
142
+
143
+ | 쓰임 | 금액 | 시점 |
144
+ |---|---|---|
145
+ | 앱 개발 인력 4명 | 7억 원 | 2027년 상반기 |
146
+ | 크리에이터 제휴 200곳 | 4억 원 | 2027년 1분기 |
147
+ | 마케팅 실험 | 3억 원 | 상시 |
148
+ | 운영 예비비 | 1억 원 | 필요 시 |
149
+ | 합계 | 15억 원 | 12개월 |
150
+
151
+ > 투자금 쓰임 (예시 데이터)
152
+
153
+ - 요청: 시드 15억 원 투자 승인
154
+ - 기대 성과: 12개월 뒤 가입자 10만 명, 월 매출 2억 원
155
+ - 다음 단계: 11월 첫째 주 후속 미팅, 담당 예시 대표
156
+ ---
157
+ ```
158
+
159
+ ## Examples
160
+
161
+ `14-launch-pitch-neo-brutalism-ko.md`