kasaframe 0.1.4 → 0.1.5

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 (294) hide show
  1. package/NOTICE +298 -0
  2. package/README.md +16 -3
  3. package/docs/AGENTS.md +1 -1
  4. package/package.json +1 -1
  5. package/packages/cli/src/commands/doctor.ts +15 -2
  6. package/packages/cli/src/commands/fonts.ts +118 -0
  7. package/packages/cli/src/commands/update.ts +66 -0
  8. package/packages/cli/src/fonts.ts +405 -0
  9. package/packages/cli/src/kf.ts +5 -0
  10. package/packages/cli/src/update.ts +250 -0
  11. package/packages/plan/src/asks.ts +1 -1
  12. package/packages/plan/src/themes.ts +8 -2
  13. package/packages/themes/kit/THEME-MAKE.md +2 -2
  14. package/packages/themes/kit/fonts/display.json +3517 -0
  15. package/packages/themes/kit/fonts/sans.json +5155 -0
  16. package/packages/themes/kit/fonts/serif.json +5229 -0
  17. package/packages/themes/kit/fonts.json +243 -79
  18. package/packages/themes/package.json +3 -1
  19. package/packages/themes/src/fontfile.ts +183 -0
  20. package/packages/themes/src/fonts.ts +296 -0
  21. package/packages/themes/src/index.ts +10 -2
  22. package/packages/themes/src/look.ts +34 -8
  23. package/packages/themes/src/types.ts +5 -0
  24. package/packages/themes/src/vary.ts +35 -34
  25. package/presets/kawaii-pastel.json +2 -2
  26. package/skills/kasaframe/SKILL.md +1 -0
  27. package/themes/blueprint/sample/style.json +5 -5
  28. package/themes/blueprint/style.json +5 -5
  29. package/themes/blueprint/theme.json +3 -1
  30. package/themes/blueprint/variants/deep-rose-suit.json +1 -1
  31. package/themes/blueprint/variants/navy-coral-2.json +1 -1
  32. package/themes/blueprint/variants/navy-coral-suit.json +1 -1
  33. package/themes/blueprint/variants/navy-orange-2.json +1 -1
  34. package/themes/blueprint/variants/navy-orange-suit.json +1 -1
  35. package/themes/cartography/sample/style.json +2 -2
  36. package/themes/cartography/style.json +2 -2
  37. package/themes/cartography/theme.json +3 -1
  38. package/themes/cartography/variants/deep-plum.json +1 -1
  39. package/themes/cartography/variants/frost-teal.json +1 -1
  40. package/themes/cartography/variants/navy-green.json +1 -1
  41. package/themes/circuit-board/sample/style.json +2 -2
  42. package/themes/circuit-board/style.json +2 -2
  43. package/themes/circuit-board/theme.json +3 -1
  44. package/themes/circuit-board/variants/dusk-gold-pretendard.json +1 -1
  45. package/themes/circuit-board/variants/navy-gold-grain.json +1 -1
  46. package/themes/circuit-board/variants/wine-gold-pretendard.json +1 -1
  47. package/themes/clay-toy/sample/style.json +2 -2
  48. package/themes/clay-toy/style.json +2 -2
  49. package/themes/clay-toy/theme.json +3 -1
  50. package/themes/clay-toy/variants/blush-coral-grain.json +1 -1
  51. package/themes/clay-toy/variants/chalk-teal.json +1 -1
  52. package/themes/clay-toy/variants/frost-sky.json +1 -1
  53. package/themes/clay-toy/variants/frost-teal.json +1 -1
  54. package/themes/clay-toy/variants/lilac-plum-round.json +1 -1
  55. package/themes/clay-toy/variants/lilac-plum.json +1 -1
  56. package/themes/clay-toy/variants/sage-indigo.json +1 -1
  57. package/themes/conveyor-factory/sample/style.json +3 -3
  58. package/themes/conveyor-factory/style.json +3 -3
  59. package/themes/conveyor-factory/theme.json +3 -1
  60. package/themes/conveyor-factory/variants/cocoa-gold.json +1 -1
  61. package/themes/conveyor-factory/variants/navy-gold.json +1 -1
  62. package/themes/conveyor-factory/variants/slate-amber-2.json +1 -1
  63. package/themes/conveyor-factory/variants/slate-amber-suit.json +1 -1
  64. package/themes/conveyor-factory/variants/slate-gold-bold.json +1 -1
  65. package/themes/data-journal/theme.json +3 -1
  66. package/themes/data-journal/variants/deep-coral.json +1 -1
  67. package/themes/data-journal/variants/navy-lime.json +1 -1
  68. package/themes/data-journal/variants/wine-indigo.json +1 -1
  69. package/themes/debug-hud/sample/style.json +1 -1
  70. package/themes/debug-hud/style.json +1 -1
  71. package/themes/debug-hud/theme.json +2 -1
  72. package/themes/debug-hud/variants/cocoa-teal.json +2 -2
  73. package/themes/debug-hud/variants/deep-teal-scan.json +2 -2
  74. package/themes/debug-hud/variants/dusk-plum.json +2 -2
  75. package/themes/debug-hud/variants/forest-lime.json +2 -2
  76. package/themes/debug-hud/variants/slate-green.json +2 -2
  77. package/themes/debug-hud/variants/wine-gold.json +2 -2
  78. package/themes/depth-flight/sample/style.json +1 -1
  79. package/themes/depth-flight/style.json +1 -1
  80. package/themes/depth-flight/theme.json +3 -1
  81. package/themes/depth-flight/variants/cocoa-cyan.json +1 -1
  82. package/themes/depth-flight/variants/cocoa-violet.json +1 -1
  83. package/themes/depth-flight/variants/deep-sky.json +1 -1
  84. package/themes/depth-flight/variants/forest-blue.json +1 -1
  85. package/themes/depth-flight/variants/navy-sky-grain.json +1 -1
  86. package/themes/depth-flight/variants/navy-sky.json +1 -1
  87. package/themes/depth-flight/variants/night-teal.json +1 -1
  88. package/themes/depth-flight/variants/slate-indigo.json +1 -1
  89. package/themes/depth-flight/variants/slate-violet.json +1 -1
  90. package/themes/film-reel/sample/style.json +2 -2
  91. package/themes/film-reel/style.json +2 -2
  92. package/themes/film-reel/theme.json +3 -1
  93. package/themes/film-reel/variants/chalk-pink.json +1 -1
  94. package/themes/film-reel/variants/lilac-gold.json +1 -1
  95. package/themes/film-reel/variants/lilac-violet.json +1 -1
  96. package/themes/glass-light/sample/style.json +1 -1
  97. package/themes/glass-light/style.json +1 -1
  98. package/themes/glass-light/theme.json +3 -1
  99. package/themes/glass-light/variants/blush-pink.json +1 -1
  100. package/themes/glass-light/variants/blush-plum.json +1 -1
  101. package/themes/glass-light/variants/cream-violet.json +1 -1
  102. package/themes/glass-light/variants/frost-sky-suit.json +1 -1
  103. package/themes/glass-light/variants/frost-sky.json +1 -1
  104. package/themes/glass-light/variants/sage-green.json +1 -1
  105. package/themes/ink-wash/sample/style.json +3 -3
  106. package/themes/ink-wash/style.json +3 -3
  107. package/themes/ink-wash/theme.json +3 -1
  108. package/themes/iso-diorama/sample/style.json +1 -1
  109. package/themes/iso-diorama/style.json +1 -1
  110. package/themes/iso-diorama/theme.json +3 -1
  111. package/themes/iso-diorama/variants/chalk-plum.json +1 -1
  112. package/themes/iso-diorama/variants/cocoa-indigo.json +1 -1
  113. package/themes/iso-diorama/variants/dusk-blue.json +1 -1
  114. package/themes/iso-diorama/variants/dusk-coral.json +1 -1
  115. package/themes/iso-diorama/variants/dusk-jade.json +1 -1
  116. package/themes/iso-diorama/variants/forest-cyan.json +1 -1
  117. package/themes/iso-diorama/variants/frost-green.json +1 -1
  118. package/themes/iso-diorama/variants/frost-teal.json +1 -1
  119. package/themes/iso-diorama/variants/navy-amber.json +1 -1
  120. package/themes/isotype/sample/style.json +2 -2
  121. package/themes/isotype/style.json +2 -2
  122. package/themes/isotype/theme.json +2 -1
  123. package/themes/isotype/variants/blush-rose.json +1 -1
  124. package/themes/isotype/variants/chalk-coral.json +1 -1
  125. package/themes/isotype/variants/chalk-orange.json +1 -1
  126. package/themes/isotype/variants/frost-amber.json +1 -1
  127. package/themes/isotype/variants/frost-coral.json +1 -1
  128. package/themes/isotype/variants/frost-orange.json +1 -1
  129. package/themes/isotype/variants/sand-amber.json +1 -1
  130. package/themes/kawaii-sticker/sample/style.json +2 -2
  131. package/themes/kawaii-sticker/style.json +2 -2
  132. package/themes/kawaii-sticker/theme.json +3 -1
  133. package/themes/kawaii-sticker/variants/cream-gold.json +1 -1
  134. package/themes/kawaii-sticker/variants/dusk-green.json +1 -1
  135. package/themes/kawaii-sticker/variants/dusk-indigo.json +1 -1
  136. package/themes/kawaii-sticker/variants/dusk-sky.json +1 -1
  137. package/themes/kawaii-sticker/variants/dusk-teal.json +1 -1
  138. package/themes/kawaii-sticker/variants/frost-blue.json +1 -1
  139. package/themes/kawaii-sticker/variants/frost-plum.json +1 -1
  140. package/themes/kawaii-sticker/variants/lilac-violet.json +1 -1
  141. package/themes/kawaii-sticker/variants/navy-gold.json +1 -1
  142. package/themes/kawaii-sticker/variants/navy-plum.json +1 -1
  143. package/themes/lab-notebook/sample/style.json +3 -3
  144. package/themes/lab-notebook/style.json +3 -3
  145. package/themes/lab-notebook/theme.json +2 -1
  146. package/themes/lab-notebook/variants/blush-orange.json +1 -1
  147. package/themes/lab-notebook/variants/chalk-coral.json +1 -1
  148. package/themes/lab-notebook/variants/chalk-orange.json +1 -1
  149. package/themes/lab-notebook/variants/chalk-rose.json +1 -1
  150. package/themes/lab-notebook/variants/lilac-rose.json +1 -1
  151. package/themes/lab-notebook/variants/sage-rose.json +1 -1
  152. package/themes/lab-notebook/variants/sand-orange.json +1 -1
  153. package/themes/lab-notebook/variants/snow-orange.json +1 -1
  154. package/themes/lab-notebook/variants/snow-rose.json +1 -1
  155. package/themes/manga-panel/sample/style.json +3 -3
  156. package/themes/manga-panel/style.json +3 -3
  157. package/themes/manga-panel/theme.json +3 -1
  158. package/themes/manga-panel/variants/chalk-cyan-dots.json +1 -1
  159. package/themes/manga-panel/variants/chalk-rose.json +1 -1
  160. package/themes/manga-panel/variants/snow-cyan.json +1 -1
  161. package/themes/manga-panel/variants/snow-magenta-dots.json +1 -1
  162. package/themes/marble-run/sample/style.json +2 -2
  163. package/themes/marble-run/style.json +2 -2
  164. package/themes/marble-run/theme.json +3 -1
  165. package/themes/marble-run/variants/slate-orange.json +1 -1
  166. package/themes/neon-sign/sample/style.json +2 -2
  167. package/themes/neon-sign/style.json +2 -2
  168. package/themes/neon-sign/theme.json +2 -1
  169. package/themes/neon-sign/variants/dusk-plum.json +1 -1
  170. package/themes/neon-sign/variants/forest-magenta.json +1 -1
  171. package/themes/neon-sign/variants/night-pink.json +1 -1
  172. package/themes/neon-sign/variants/night-violet.json +1 -1
  173. package/themes/neon-sign/variants/slate-violet.json +1 -1
  174. package/themes/newspaper/sample/style.json +2 -2
  175. package/themes/newspaper/style.json +2 -2
  176. package/themes/newspaper/theme.json +2 -1
  177. package/themes/newspaper/variants/blush-amber.json +1 -1
  178. package/themes/newspaper/variants/chalk-magenta.json +1 -1
  179. package/themes/newspaper/variants/frost-sky.json +1 -1
  180. package/themes/newspaper/variants/lilac-green.json +1 -1
  181. package/themes/newspaper/variants/sage-lime.json +1 -1
  182. package/themes/og-measure/THEME.md +32 -6
  183. package/themes/og-measure/effects.ts +219 -115
  184. package/themes/og-measure/sample/assets/brand/og-logo.svg +11 -11
  185. package/themes/og-measure/sample/lib/data.ts +6 -0
  186. package/themes/og-measure/sample/scenes/end.ts +14 -10
  187. package/themes/og-measure/sample/scenes/gather.ts +12 -1
  188. package/themes/og-measure/sample/scenes/models.ts +13 -2
  189. package/themes/og-measure/sample/scenes/one.ts +8 -6
  190. package/themes/og-measure/sample/scenes/price.ts +20 -3
  191. package/themes/og-measure/sample/style.json +30 -35
  192. package/themes/og-measure/slots.ts +25 -30
  193. package/themes/og-measure/still.png +0 -0
  194. package/themes/og-measure/style.json +30 -35
  195. package/themes/og-measure/theme.json +64 -49
  196. package/themes/og-measure/variants/snow-blue.json +90 -0
  197. package/themes/orbit-system/sample/style.json +3 -3
  198. package/themes/orbit-system/style.json +3 -3
  199. package/themes/orbit-system/theme.json +3 -1
  200. package/themes/orbit-system/variants/cocoa-amber.json +1 -1
  201. package/themes/orbit-system/variants/cocoa-cyan.json +1 -1
  202. package/themes/orbit-system/variants/dusk-magenta.json +1 -1
  203. package/themes/orbit-system/variants/dusk-violet.json +1 -1
  204. package/themes/orbit-system/variants/forest-coral.json +1 -1
  205. package/themes/orbit-system/variants/wine-amber.json +1 -1
  206. package/themes/orbit-system/variants/wine-magenta.json +1 -1
  207. package/themes/origami-fold/sample/style.json +1 -1
  208. package/themes/origami-fold/style.json +1 -1
  209. package/themes/origami-fold/theme.json +3 -1
  210. package/themes/origami-fold/variants/deep-amber-sunflower.json +1 -1
  211. package/themes/origami-fold/variants/deep-orange.json +1 -1
  212. package/themes/origami-fold/variants/forest-coral.json +1 -1
  213. package/themes/origami-fold/variants/forest-pink.json +1 -1
  214. package/themes/origami-fold/variants/frost-amber-paper.json +1 -1
  215. package/themes/origami-fold/variants/sage-coral-sunflower.json +1 -1
  216. package/themes/origami-fold/variants/sage-coral.json +1 -1
  217. package/themes/origami-fold/variants/sage-pink-round.json +1 -1
  218. package/themes/origami-fold/variants/sage-pink.json +1 -1
  219. package/themes/paper-cutout/sample/style.json +2 -2
  220. package/themes/paper-cutout/style.json +2 -2
  221. package/themes/paper-cutout/theme.json +3 -1
  222. package/themes/paper-cutout/variants/blush-violet.json +1 -1
  223. package/themes/paper-cutout/variants/frost-lime.json +1 -1
  224. package/themes/paper-cutout/variants/lilac-gold.json +1 -1
  225. package/themes/paper-cutout/variants/sage-cyan.json +1 -1
  226. package/themes/paper-cutout/variants/sage-green.json +1 -1
  227. package/themes/paper-cutout/variants/sage-pink.json +1 -1
  228. package/themes/paper-cutout/variants/sand-blue.json +1 -1
  229. package/themes/pixel-quest/theme.json +2 -1
  230. package/themes/receipt/sample/style.json +2 -2
  231. package/themes/receipt/style.json +2 -2
  232. package/themes/riso-zine/sample/style.json +2 -2
  233. package/themes/riso-zine/style.json +2 -2
  234. package/themes/riso-zine/theme.json +3 -1
  235. package/themes/riso-zine/variants/chalk-lime.json +1 -1
  236. package/themes/riso-zine/variants/frost-green.json +1 -1
  237. package/themes/riso-zine/variants/lilac-plum.json +1 -1
  238. package/themes/riso-zine/variants/lilac-violet.json +1 -1
  239. package/themes/server-hall/sample/style.json +2 -2
  240. package/themes/server-hall/style.json +2 -2
  241. package/themes/server-hall/theme.json +3 -1
  242. package/themes/server-hall/variants/night-indigo.json +1 -1
  243. package/themes/server-hall/variants/wine-plum.json +1 -1
  244. package/themes/subway-map/sample/style.json +2 -2
  245. package/themes/subway-map/style.json +2 -2
  246. package/themes/subway-map/theme.json +3 -1
  247. package/themes/subway-map/variants/deep-green.json +1 -1
  248. package/themes/subway-map/variants/deep-teal.json +1 -1
  249. package/themes/subway-map/variants/frost-jade.json +1 -1
  250. package/themes/subway-map/variants/frost-teal.json +1 -1
  251. package/themes/subway-map/variants/slate-green.json +1 -1
  252. package/themes/subway-map/variants/snow-jade.json +1 -1
  253. package/themes/swiss-poster/sample/style.json +2 -2
  254. package/themes/swiss-poster/style.json +2 -2
  255. package/themes/swiss-poster/theme.json +3 -1
  256. package/themes/swiss-poster/variants/chalk-plum.json +1 -1
  257. package/themes/swiss-poster/variants/cocoa-cyan.json +1 -1
  258. package/themes/swiss-poster/variants/dusk-magenta.json +1 -1
  259. package/themes/swiss-poster/variants/frost-indigo.json +1 -1
  260. package/themes/swiss-poster/variants/slate-orange.json +1 -1
  261. package/themes/water-works/sample/style.json +1 -1
  262. package/themes/water-works/style.json +1 -1
  263. package/themes/water-works/theme.json +3 -1
  264. package/themes/water-works/variants/chalk-cyan.json +1 -1
  265. package/themes/water-works/variants/frost-indigo.json +1 -1
  266. package/themes/water-works/variants/sand-amber.json +1 -1
  267. package/themes/water-works/variants/sand-plum.json +1 -1
  268. package/themes/whiteboard/sample/style.json +2 -2
  269. package/themes/whiteboard/style.json +2 -2
  270. package/themes/whiteboard/theme.json +3 -1
  271. package/themes/whiteboard/variants/chalk-coral.json +1 -1
  272. package/themes/whiteboard/variants/cream-lime.json +1 -1
  273. package/themes/whiteboard/variants/frost-teal.json +1 -1
  274. package/themes/whiteboard/variants/lilac-indigo.json +1 -1
  275. package/themes/whiteboard/variants/sage-plum.json +1 -1
  276. package/themes/whiteboard/variants/snow-cyan.json +1 -1
  277. package/themes/whiteboard/variants/snow-green.json +1 -1
  278. package/themes/whiteboard/variants/snow-magenta.json +1 -1
  279. package/themes/og-measure/sample/assets/brand/og-logo-full.svg +0 -12
  280. package/themes/og-measure/variants/chalk-orange.json +0 -102
  281. package/themes/og-measure/variants/cocoa-amber.json +0 -138
  282. package/themes/og-measure/variants/cocoa-cyan.json +0 -138
  283. package/themes/og-measure/variants/cocoa-gold.json +0 -129
  284. package/themes/og-measure/variants/cream-lime.json +0 -137
  285. package/themes/og-measure/variants/deep-jade.json +0 -100
  286. package/themes/og-measure/variants/dusk-violet.json +0 -133
  287. package/themes/og-measure/variants/forest-cyan.json +0 -123
  288. package/themes/og-measure/variants/frost-amber.json +0 -129
  289. package/themes/og-measure/variants/frost-cyan.json +0 -133
  290. package/themes/og-measure/variants/lilac-plum.json +0 -127
  291. package/themes/og-measure/variants/lilac-violet.json +0 -139
  292. package/themes/og-measure/variants/sage-green.json +0 -137
  293. package/themes/og-measure/variants/wine-jade.json +0 -127
  294. package/themes/og-measure/variants/wine-plum.json +0 -127
@@ -1,127 +0,0 @@
1
- {
2
- "id": "lilac-plum",
3
- "world": "og-measure",
4
- "name": "Lilac Plum",
5
- "desc": "연보라 바탕에 자두색 강조 · 또렷한 기하 고딕",
6
- "params": {
7
- "scheme": "light",
8
- "bgL": 0.9532,
9
- "tint": {
10
- "h": 316.2491,
11
- "c": 0.0145
12
- },
13
- "inkL": 0.2595,
14
- "hue": 305.8515,
15
- "chroma": 1.0852,
16
- "fonts": "suit",
17
- "texture": {
18
- "kind": "none",
19
- "amount": 0
20
- },
21
- "stroke": 1.42,
22
- "radius": 5,
23
- "tempo": 1.11,
24
- "density": 1
25
- },
26
- "style": {
27
- "scheme": "light",
28
- "colors": {
29
- "bg": "#F3EDF6",
30
- "surface": "#EEE9F4",
31
- "raised": "#E8E5F2",
32
- "line": "#DBDBEC",
33
- "ink": "#1B2338",
34
- "inkSoft": "#384058",
35
- "dim": "#766882",
36
- "accent": "#9B55D7",
37
- "accentSoft": "rgba(155, 85, 215, 0.45)",
38
- "accentText": "#7946A8",
39
- "onAccent": "#060606",
40
- "tint": "rgba(155, 85, 215, 0.08)",
41
- "success": "#00BA54",
42
- "danger": "#EF4444",
43
- "warning": "#E89500",
44
- "darkBg": "#26242A",
45
- "darkSurface": "#2F2E39",
46
- "darkLine": "#505368",
47
- "darkInk": "#C5C3D7",
48
- "darkAccent": "#B260F9",
49
- "bar": "rgba(118, 104, 130, 0.28)"
50
- },
51
- "fonts": {
52
- "sans": "\"SUIT Variable\", \"Pretendard Variable\", Pretendard, \"Noto Sans KR\", \"Apple SD Gothic Neo\", sans-serif",
53
- "display": "\"SUIT Variable\", \"Pretendard Variable\", Pretendard, \"Noto Sans KR\", \"Apple SD Gothic Neo\", sans-serif",
54
- "mono": "\"JetBrains Mono\", ui-monospace, \"SUIT Variable\", \"Pretendard Variable\", Pretendard, \"Noto Sans KR\", \"Apple SD Gothic Neo\", monospace",
55
- "faces": [
56
- {
57
- "family": "SUIT Variable",
58
- "src": "https://cdn.jsdelivr.net/gh/sun-typeface/SUIT@2.0.5/fonts/variable/ttf/SUIT-Variable.ttf",
59
- "weight": "100 900"
60
- },
61
- {
62
- "family": "Pretendard Variable",
63
- "src": "https://cdn.jsdelivr.net/npm/pretendard@1.3.9/dist/web/variable/woff2/PretendardVariable.woff2",
64
- "weight": "45 920"
65
- },
66
- {
67
- "family": "JetBrains Mono",
68
- "src": "https://cdn.jsdelivr.net/npm/@fontsource-variable/jetbrains-mono@5/files/jetbrains-mono-latin-wght-normal.woff2",
69
- "weight": "100 800"
70
- }
71
- ]
72
- },
73
- "type": {
74
- "weightDisplay": 800,
75
- "weightBody": 500,
76
- "tracking": "-0.02em"
77
- },
78
- "radius": {
79
- "sm": 3,
80
- "md": 5,
81
- "lg": 5,
82
- "pill": 999
83
- },
84
- "look": {
85
- "stroke": 1.42,
86
- "tempo": 1.11
87
- }
88
- },
89
- "tags": {
90
- "mood": [
91
- "정밀",
92
- "차분한",
93
- "신뢰",
94
- "기술적",
95
- "밝은"
96
- ],
97
- "light": "light",
98
- "use": [
99
- "측정",
100
- "벤치마크",
101
- "데이터",
102
- "비교",
103
- "API",
104
- "설명"
105
- ],
106
- "dims": "2D"
107
- },
108
- "check": {
109
- "ok": true,
110
- "at": "2026-10-11",
111
- "colors": {
112
- "ink": 13.56,
113
- "inkSoft": 8.93,
114
- "dim": 4.5,
115
- "accentText": 5.59,
116
- "accent": 3.9,
117
- "onAccent": 4.52,
118
- "success~danger": 0.043,
119
- "success~warning": 0.052,
120
- "danger~warning": 0.107,
121
- "accent~danger": 0.226,
122
- "accent~ink": 0.332
123
- },
124
- "frame": "kf check 통과 — 표준 장면 0–4초",
125
- "pattern": "hook-number.counter"
126
- }
127
- }
@@ -1,139 +0,0 @@
1
- {
2
- "id": "lilac-violet",
3
- "world": "og-measure",
4
- "name": "Lilac Violet",
5
- "desc": "연보라 바탕에 보라 강조 · 고정폭 라틴 제목에 Plex 한글",
6
- "params": {
7
- "scheme": "light",
8
- "bgL": 0.9307,
9
- "tint": {
10
- "h": 299.4497,
11
- "c": 0.0248
12
- },
13
- "inkL": 0.1363,
14
- "hue": 289.8221,
15
- "chroma": 1.1724,
16
- "fonts": "plex-mono",
17
- "texture": {
18
- "kind": "none",
19
- "amount": 0
20
- },
21
- "stroke": 0.86,
22
- "radius": 9,
23
- "tempo": 0.95,
24
- "density": 1
25
- },
26
- "style": {
27
- "scheme": "light",
28
- "colors": {
29
- "bg": "#EAE5F7",
30
- "surface": "#E4E0F4",
31
- "raised": "#DDDCF1",
32
- "line": "#D0D0E9",
33
- "ink": "#03061B",
34
- "inkSoft": "#1D243E",
35
- "dim": "#6A6483",
36
- "accent": "#6C43D5",
37
- "accentSoft": "rgba(108, 67, 213, 0.45)",
38
- "accentText": "#4E309D",
39
- "onAccent": "#EAE5F7",
40
- "tint": "rgba(108, 67, 213, 0.08)",
41
- "success": "#00B451",
42
- "danger": "#E03438",
43
- "warning": "#E08F00",
44
- "darkBg": "#0A0910",
45
- "darkSurface": "#13131F",
46
- "darkLine": "#363951",
47
- "darkInk": "#B6B5D0",
48
- "darkAccent": "#8151FD",
49
- "bar": "rgba(106, 100, 131, 0.28)"
50
- },
51
- "fonts": {
52
- "sans": "\"IBM Plex Sans KR\", \"Pretendard Variable\", Pretendard, \"Noto Sans KR\", \"Apple SD Gothic Neo\", sans-serif",
53
- "display": "\"IBM Plex Mono\", \"IBM Plex Sans KR\", \"Pretendard Variable\", Pretendard, \"Noto Sans KR\", \"Apple SD Gothic Neo\", monospace",
54
- "mono": "\"IBM Plex Mono\", ui-monospace, \"IBM Plex Sans KR\", \"Pretendard Variable\", Pretendard, \"Noto Sans KR\", \"Apple SD Gothic Neo\", monospace",
55
- "faces": [
56
- {
57
- "family": "IBM Plex Mono",
58
- "src": "https://cdn.jsdelivr.net/gh/google/fonts@bd8f81ddb5c74d5c8897b36ad88b440266245103/ofl/ibmplexmono/IBMPlexMono-Regular.ttf",
59
- "weight": "400"
60
- },
61
- {
62
- "family": "IBM Plex Mono",
63
- "src": "https://cdn.jsdelivr.net/gh/google/fonts@bd8f81ddb5c74d5c8897b36ad88b440266245103/ofl/ibmplexmono/IBMPlexMono-Bold.ttf",
64
- "weight": "700"
65
- },
66
- {
67
- "family": "IBM Plex Sans KR",
68
- "src": "https://cdn.jsdelivr.net/gh/google/fonts@bd8f81ddb5c74d5c8897b36ad88b440266245103/ofl/ibmplexsanskr/IBMPlexSansKR-Regular.ttf",
69
- "weight": "400"
70
- },
71
- {
72
- "family": "IBM Plex Sans KR",
73
- "src": "https://cdn.jsdelivr.net/gh/google/fonts@bd8f81ddb5c74d5c8897b36ad88b440266245103/ofl/ibmplexsanskr/IBMPlexSansKR-Bold.ttf",
74
- "weight": "700"
75
- },
76
- {
77
- "family": "Pretendard Variable",
78
- "src": "https://cdn.jsdelivr.net/npm/pretendard@1.3.9/dist/web/variable/woff2/PretendardVariable.woff2",
79
- "weight": "45 920"
80
- }
81
- ]
82
- },
83
- "type": {
84
- "weightDisplay": 700,
85
- "weightBody": 400,
86
- "tracking": "0em"
87
- },
88
- "radius": {
89
- "sm": 5,
90
- "md": 9,
91
- "lg": 9,
92
- "pill": 999
93
- },
94
- "look": {
95
- "stroke": 0.86,
96
- "tempo": 0.95
97
- }
98
- },
99
- "tags": {
100
- "mood": [
101
- "정밀",
102
- "차분한",
103
- "신뢰",
104
- "기술적",
105
- "밝은",
106
- "차가운",
107
- "선명한"
108
- ],
109
- "light": "light",
110
- "use": [
111
- "측정",
112
- "벤치마크",
113
- "데이터",
114
- "비교",
115
- "API",
116
- "설명"
117
- ],
118
- "dims": "2D"
119
- },
120
- "check": {
121
- "ok": true,
122
- "at": "2026-10-11",
123
- "colors": {
124
- "ink": 16.25,
125
- "inkSoft": 12.36,
126
- "dim": 4.51,
127
- "accentText": 7.62,
128
- "accent": 5,
129
- "onAccent": 5,
130
- "success~danger": 0.064,
131
- "danger~warning": 0.124,
132
- "accent~danger": 0.258,
133
- "success~warning": 0.051,
134
- "accent~ink": 0.371
135
- },
136
- "frame": "kf check 통과 — 표준 장면 0–4초",
137
- "pattern": "hook-number.counter"
138
- }
139
- }
@@ -1,137 +0,0 @@
1
- {
2
- "id": "sage-green",
3
- "world": "og-measure",
4
- "name": "Sage Green",
5
- "desc": "세이지 바탕에 초록 강조 · 단정한 기술 문서체",
6
- "params": {
7
- "scheme": "light",
8
- "bgL": 0.9303,
9
- "tint": {
10
- "h": 118.8026,
11
- "c": 0.0182
12
- },
13
- "inkL": 0.1363,
14
- "hue": 143.5543,
15
- "chroma": 0.9818,
16
- "fonts": "plex",
17
- "texture": {
18
- "kind": "none",
19
- "amount": 0
20
- },
21
- "stroke": 0.89,
22
- "radius": 0,
23
- "tempo": 1.07,
24
- "density": 1
25
- },
26
- "style": {
27
- "scheme": "light",
28
- "colors": {
29
- "bg": "#E6EADC",
30
- "surface": "#E0E5DA",
31
- "raised": "#D9E1D8",
32
- "line": "#CCD5D0",
33
- "ink": "#010914",
34
- "inkSoft": "#1A2734",
35
- "dim": "#596E5A",
36
- "accent": "#007E12",
37
- "accentSoft": "rgba(0, 126, 18, 0.45)",
38
- "accentText": "#005C0A",
39
- "onAccent": "#FCFCFC",
40
- "tint": "rgba(0, 126, 18, 0.08)",
41
- "success": "#00B551",
42
- "danger": "#E03438",
43
- "warning": "#E19000",
44
- "darkBg": "#080B08",
45
- "darkSurface": "#111516",
46
- "darkLine": "#333C45",
47
- "darkInk": "#B3BABA",
48
- "darkAccent": "#009719",
49
- "bar": "rgba(89, 110, 90, 0.28)"
50
- },
51
- "fonts": {
52
- "sans": "\"IBM Plex Sans KR\", \"Pretendard Variable\", Pretendard, \"Noto Sans KR\", \"Apple SD Gothic Neo\", sans-serif",
53
- "display": "\"IBM Plex Sans KR\", \"Pretendard Variable\", Pretendard, \"Noto Sans KR\", \"Apple SD Gothic Neo\", sans-serif",
54
- "mono": "\"IBM Plex Mono\", ui-monospace, \"IBM Plex Sans KR\", \"Pretendard Variable\", Pretendard, \"Noto Sans KR\", \"Apple SD Gothic Neo\", monospace",
55
- "faces": [
56
- {
57
- "family": "IBM Plex Sans KR",
58
- "src": "https://cdn.jsdelivr.net/gh/google/fonts@bd8f81ddb5c74d5c8897b36ad88b440266245103/ofl/ibmplexsanskr/IBMPlexSansKR-Medium.ttf",
59
- "weight": "500"
60
- },
61
- {
62
- "family": "IBM Plex Sans KR",
63
- "src": "https://cdn.jsdelivr.net/gh/google/fonts@bd8f81ddb5c74d5c8897b36ad88b440266245103/ofl/ibmplexsanskr/IBMPlexSansKR-Bold.ttf",
64
- "weight": "700"
65
- },
66
- {
67
- "family": "IBM Plex Mono",
68
- "src": "https://cdn.jsdelivr.net/gh/google/fonts@bd8f81ddb5c74d5c8897b36ad88b440266245103/ofl/ibmplexmono/IBMPlexMono-Medium.ttf",
69
- "weight": "500"
70
- },
71
- {
72
- "family": "IBM Plex Mono",
73
- "src": "https://cdn.jsdelivr.net/gh/google/fonts@bd8f81ddb5c74d5c8897b36ad88b440266245103/ofl/ibmplexmono/IBMPlexMono-Bold.ttf",
74
- "weight": "700"
75
- },
76
- {
77
- "family": "Pretendard Variable",
78
- "src": "https://cdn.jsdelivr.net/npm/pretendard@1.3.9/dist/web/variable/woff2/PretendardVariable.woff2",
79
- "weight": "45 920"
80
- }
81
- ]
82
- },
83
- "type": {
84
- "weightDisplay": 700,
85
- "weightBody": 500,
86
- "tracking": "-0.01em"
87
- },
88
- "radius": {
89
- "sm": 0,
90
- "md": 0,
91
- "lg": 0,
92
- "pill": 999
93
- },
94
- "look": {
95
- "stroke": 0.89,
96
- "tempo": 1.07
97
- }
98
- },
99
- "tags": {
100
- "mood": [
101
- "정밀",
102
- "차분한",
103
- "신뢰",
104
- "기술적",
105
- "밝은"
106
- ],
107
- "light": "light",
108
- "use": [
109
- "측정",
110
- "벤치마크",
111
- "데이터",
112
- "비교",
113
- "API",
114
- "설명"
115
- ],
116
- "dims": "2D"
117
- },
118
- "check": {
119
- "ok": true,
120
- "at": "2026-10-11",
121
- "colors": {
122
- "ink": 16.34,
123
- "inkSoft": 12.37,
124
- "dim": 4.5,
125
- "accentText": 6.75,
126
- "accent": 4.28,
127
- "onAccent": 5.08,
128
- "success~danger": 0.066,
129
- "danger~warning": 0.126,
130
- "accent~danger": 0.08,
131
- "success~warning": 0.051,
132
- "accent~ink": 0.389
133
- },
134
- "frame": "kf check 통과 — 표준 장면 0–4초",
135
- "pattern": "hook-number.counter"
136
- }
137
- }
@@ -1,127 +0,0 @@
1
- {
2
- "id": "wine-jade",
3
- "world": "og-measure",
4
- "name": "Wine Jade",
5
- "desc": "포도주빛 바탕에 옥색 강조 · 폭 넓고 힘 있는 브랜드 고딕",
6
- "params": {
7
- "scheme": "dark",
8
- "bgL": 0.2133,
9
- "tint": {
10
- "h": 5.7165,
11
- "c": 0.0421
12
- },
13
- "inkL": 0.9329,
14
- "hue": 151.8114,
15
- "chroma": 1.0977,
16
- "fonts": "wanted",
17
- "texture": {
18
- "kind": "none",
19
- "amount": 0
20
- },
21
- "stroke": 0.97,
22
- "radius": 3,
23
- "tempo": 1.15,
24
- "density": 1
25
- },
26
- "style": {
27
- "scheme": "dark",
28
- "colors": {
29
- "bg": "#291016",
30
- "surface": "#2B141B",
31
- "raised": "#2E1720",
32
- "line": "#351F2A",
33
- "ink": "#E9E5FF",
34
- "inkSoft": "#C5BDD8",
35
- "dim": "#6A8773",
36
- "accent": "#00964B",
37
- "accentSoft": "rgba(0, 150, 75, 0.45)",
38
- "accentText": "#39B366",
39
- "onAccent": "#291016",
40
- "tint": "rgba(0, 150, 75, 0.08)",
41
- "success": "#22C55E",
42
- "danger": "#EF4444",
43
- "warning": "#F59E0B",
44
- "darkBg": "#F3E1E8",
45
- "darkSurface": "#E4D3DF",
46
- "darkLine": "#B2A4B9",
47
- "darkInk": "#483140",
48
- "darkAccent": "#00803F",
49
- "bar": "rgba(106, 135, 115, 0.28)"
50
- },
51
- "fonts": {
52
- "sans": "\"Wanted Sans Variable\", \"Pretendard Variable\", Pretendard, \"Noto Sans KR\", \"Apple SD Gothic Neo\", sans-serif",
53
- "display": "\"Wanted Sans Variable\", \"Pretendard Variable\", Pretendard, \"Noto Sans KR\", \"Apple SD Gothic Neo\", sans-serif",
54
- "mono": "\"Geist Mono\", ui-monospace, \"Wanted Sans Variable\", \"Pretendard Variable\", Pretendard, \"Noto Sans KR\", \"Apple SD Gothic Neo\", monospace",
55
- "faces": [
56
- {
57
- "family": "Wanted Sans Variable",
58
- "src": "https://cdn.jsdelivr.net/npm/wanted-sans@1.0.3/fonts/webfonts/variable/complete/woff2/WantedSansVariable.woff2",
59
- "weight": "400 1000"
60
- },
61
- {
62
- "family": "Pretendard Variable",
63
- "src": "https://cdn.jsdelivr.net/npm/pretendard@1.3.9/dist/web/variable/woff2/PretendardVariable.woff2",
64
- "weight": "45 920"
65
- },
66
- {
67
- "family": "Geist Mono",
68
- "src": "https://cdn.jsdelivr.net/npm/geist@1.3.1/dist/fonts/geist-mono/GeistMono-Variable.woff2",
69
- "weight": "100 900"
70
- }
71
- ]
72
- },
73
- "type": {
74
- "weightDisplay": 800,
75
- "weightBody": 500,
76
- "tracking": "-0.02em"
77
- },
78
- "radius": {
79
- "sm": 2,
80
- "md": 3,
81
- "lg": 3,
82
- "pill": 999
83
- },
84
- "look": {
85
- "stroke": 0.97,
86
- "tempo": 1.15
87
- }
88
- },
89
- "tags": {
90
- "mood": [
91
- "정밀",
92
- "차분한",
93
- "신뢰",
94
- "기술적",
95
- "어두운"
96
- ],
97
- "light": "dark",
98
- "use": [
99
- "측정",
100
- "벤치마크",
101
- "데이터",
102
- "비교",
103
- "API",
104
- "설명"
105
- ],
106
- "dims": "2D"
107
- },
108
- "check": {
109
- "ok": true,
110
- "at": "2026-10-11",
111
- "colors": {
112
- "ink": 14.51,
113
- "inkSoft": 9.88,
114
- "dim": 4.5,
115
- "accentText": 6.66,
116
- "accent": 4.62,
117
- "onAccent": 4.62,
118
- "success~danger": 0.074,
119
- "success~warning": 0.057,
120
- "danger~warning": 0.139,
121
- "accent~danger": 0.075,
122
- "accent~ink": 0.331
123
- },
124
- "frame": "kf check 통과 — 표준 장면 0–4초",
125
- "pattern": "hook-number.counter"
126
- }
127
- }
@@ -1,127 +0,0 @@
1
- {
2
- "id": "wine-plum",
3
- "world": "og-measure",
4
- "name": "Wine Plum",
5
- "desc": "포도주빛 바탕에 자두색 강조 · 폭 넓고 힘 있는 브랜드 고딕",
6
- "params": {
7
- "scheme": "dark",
8
- "bgL": 0.1368,
9
- "tint": {
10
- "h": 344.3877,
11
- "c": 0.0273
12
- },
13
- "inkL": 0.952,
14
- "hue": 329.3906,
15
- "chroma": 1.1036,
16
- "fonts": "wanted",
17
- "texture": {
18
- "kind": "none",
19
- "amount": 0
20
- },
21
- "stroke": 1.32,
22
- "radius": 8,
23
- "tempo": 1.13,
24
- "density": 1
25
- },
26
- "style": {
27
- "scheme": "dark",
28
- "colors": {
29
- "bg": "#10050B",
30
- "surface": "#130710",
31
- "raised": "#150A14",
32
- "line": "#1D131F",
33
- "ink": "#EBEEFF",
34
- "inkSoft": "#BEC0DE",
35
- "dim": "#8A7085",
36
- "accent": "#B03CAC",
37
- "accentSoft": "rgba(176, 60, 172, 0.45)",
38
- "accentText": "#C86EC3",
39
- "onAccent": "#FCFCFC",
40
- "tint": "rgba(176, 60, 172, 0.08)",
41
- "success": "#22C55E",
42
- "danger": "#EF4444",
43
- "warning": "#F59E0B",
44
- "darkBg": "#F2E9F2",
45
- "darkSurface": "#E1D9E7",
46
- "darkLine": "#A9A4BC",
47
- "darkInk": "#312637",
48
- "darkAccent": "#9F009B",
49
- "bar": "rgba(138, 112, 133, 0.28)"
50
- },
51
- "fonts": {
52
- "sans": "\"Wanted Sans Variable\", \"Pretendard Variable\", Pretendard, \"Noto Sans KR\", \"Apple SD Gothic Neo\", sans-serif",
53
- "display": "\"Wanted Sans Variable\", \"Pretendard Variable\", Pretendard, \"Noto Sans KR\", \"Apple SD Gothic Neo\", sans-serif",
54
- "mono": "\"Geist Mono\", ui-monospace, \"Wanted Sans Variable\", \"Pretendard Variable\", Pretendard, \"Noto Sans KR\", \"Apple SD Gothic Neo\", monospace",
55
- "faces": [
56
- {
57
- "family": "Wanted Sans Variable",
58
- "src": "https://cdn.jsdelivr.net/npm/wanted-sans@1.0.3/fonts/webfonts/variable/complete/woff2/WantedSansVariable.woff2",
59
- "weight": "400 1000"
60
- },
61
- {
62
- "family": "Pretendard Variable",
63
- "src": "https://cdn.jsdelivr.net/npm/pretendard@1.3.9/dist/web/variable/woff2/PretendardVariable.woff2",
64
- "weight": "45 920"
65
- },
66
- {
67
- "family": "Geist Mono",
68
- "src": "https://cdn.jsdelivr.net/npm/geist@1.3.1/dist/fonts/geist-mono/GeistMono-Variable.woff2",
69
- "weight": "100 900"
70
- }
71
- ]
72
- },
73
- "type": {
74
- "weightDisplay": 800,
75
- "weightBody": 500,
76
- "tracking": "-0.02em"
77
- },
78
- "radius": {
79
- "sm": 5,
80
- "md": 8,
81
- "lg": 8,
82
- "pill": 999
83
- },
84
- "look": {
85
- "stroke": 1.32,
86
- "tempo": 1.13
87
- }
88
- },
89
- "tags": {
90
- "mood": [
91
- "정밀",
92
- "차분한",
93
- "신뢰",
94
- "기술적",
95
- "어두운"
96
- ],
97
- "light": "dark",
98
- "use": [
99
- "측정",
100
- "벤치마크",
101
- "데이터",
102
- "비교",
103
- "API",
104
- "설명"
105
- ],
106
- "dims": "2D"
107
- },
108
- "check": {
109
- "ok": true,
110
- "at": "2026-10-11",
111
- "colors": {
112
- "ink": 17.39,
113
- "inkSoft": 11.29,
114
- "dim": 4.5,
115
- "accentText": 6.17,
116
- "accent": 3.91,
117
- "onAccent": 4.99,
118
- "success~danger": 0.074,
119
- "success~warning": 0.057,
120
- "danger~warning": 0.139,
121
- "accent~danger": 0.143,
122
- "accent~ink": 0.396
123
- },
124
- "frame": "kf check 통과 — 표준 장면 0–4초",
125
- "pattern": "hook-number.counter"
126
- }
127
- }