sintbot 1.0.15 → 1.3.0

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 (136) hide show
  1. package/CHANGELOG.en.json +118 -0
  2. package/CHANGELOG.json +118 -0
  3. package/README.md +20 -156
  4. package/README.zh-CN.md +20 -164
  5. package/THIRD-PARTY-NOTICES.md +394 -0
  6. package/bin/sintbot-v2.js +363 -0
  7. package/docs/AI-ASSISTED-INSTALL.md +19 -0
  8. package/docs/install.md +93 -0
  9. package/docs/zh-CN/AI-ASSISTED-INSTALL.md +19 -0
  10. package/docs/zh-CN/install.md +93 -0
  11. package/install.sh +84 -0
  12. package/package.json +74 -34
  13. package/src/agent/claudecode.js +149 -108
  14. package/src/agent/codexapp.js +458 -0
  15. package/src/agent/codexcode.js +210 -107
  16. package/src/agent/errtag.js +34 -0
  17. package/src/agent/privatecore.js +790 -0
  18. package/src/agent/privatecore.wasm +0 -0
  19. package/src/agent/runner.js +10 -8
  20. package/src/agent/winexec.js +35 -5
  21. package/src/c2install.js +117 -0
  22. package/src/config.js +2 -1
  23. package/src/core/c2cardeffectbridge.js +51 -0
  24. package/src/core/c2cardterminalpath.js +216 -0
  25. package/src/core/c2durableingress.js +148 -0
  26. package/src/core/c2durablejournal.js +1560 -0
  27. package/src/core/c2durableruntime.js +2361 -0
  28. package/src/core/c2eventidentity.js +90 -0
  29. package/src/core/c2globalfault.js +401 -0
  30. package/src/core/c2localeffectexecutor.js +193 -0
  31. package/src/core/c2payloadhandles.js +333 -0
  32. package/src/core/c2persistrelation.js +179 -0
  33. package/src/core/c2persiststate.js +342 -0
  34. package/src/core/c2platformrecoverysender.js +76 -0
  35. package/src/core/c2recoverygate.js +385 -0
  36. package/src/core/c2runnerinput.js +63 -0
  37. package/src/core/c2servicestartgate.js +103 -0
  38. package/src/core/c2sessionbridge.js +72 -0
  39. package/src/core/c2sourcequarantine.js +30 -0
  40. package/src/core/c2startuprecovery.js +105 -0
  41. package/src/core/c2successorbridge.js +151 -0
  42. package/src/core/c2terminaleffectbridge.js +154 -0
  43. package/src/core/c2terminalprune.js +108 -0
  44. package/src/core/c2turnprojection.js +177 -0
  45. package/src/core/enginecheckpoint.js +211 -0
  46. package/src/core/engineeffectcursor.js +394 -0
  47. package/src/core/enginestepcoordinator.js +183 -0
  48. package/src/core/store.js +52 -8
  49. package/src/core/v2engine.js +1469 -0
  50. package/src/platform/feishu.js +324 -67
  51. package/src/plugins.js +1 -9
  52. package/assets/design-styles/acid-pop.md +0 -155
  53. package/assets/design-styles/archive-index.md +0 -161
  54. package/assets/design-styles/art-deco.md +0 -164
  55. package/assets/design-styles/cinematic-noir.md +0 -178
  56. package/assets/design-styles/editorial.md +0 -121
  57. package/assets/design-styles/extra/README.md +0 -23
  58. package/assets/design-styles/extra/constructivism.md +0 -146
  59. package/assets/design-styles/extra/neo-brutalism.md +0 -175
  60. package/assets/design-styles/extra/new-wave.md +0 -166
  61. package/assets/design-styles/extra/nordic-material.md +0 -162
  62. package/assets/design-styles/extra/paris-couture.md +0 -162
  63. package/assets/design-styles/extra/tropical-modern.md +0 -168
  64. package/assets/design-styles/extra/ulm-functional.md +0 -182
  65. package/assets/design-styles/extra/wa-shikimen.md +0 -160
  66. package/assets/design-styles/extra/y2k-chrome.md +0 -172
  67. package/assets/design-styles/geometric-pop.md +0 -122
  68. package/assets/design-styles/hand-drawn.md +0 -117
  69. package/assets/design-styles/islamic-geometry.md +0 -155
  70. package/assets/design-styles/liquid-glass.md +0 -183
  71. package/assets/design-styles/neo-chinese.md +0 -136
  72. package/assets/design-styles/precision-mono.md +0 -156
  73. package/assets/design-styles/quiet-luxury.md +0 -163
  74. package/assets/design-styles/riso-print.md +0 -116
  75. package/assets/design-styles/soft-friendly.md +0 -174
  76. package/assets/design-styles/swiss-grid.md +0 -156
  77. package/assets/design-styles/tech-dark.md +0 -182
  78. package/assets/favicon.svg +0 -6
  79. package/assets/logo.svg +0 -24
  80. package/bin/sbot.js +0 -4711
  81. package/docs/slack-app-manifest.yaml +0 -104
  82. package/sbot.config.example.json +0 -235
  83. package/src/agent/askonce.js +0 -76
  84. package/src/agent/claudemodels.js +0 -60
  85. package/src/agent/claudestatus.js +0 -74
  86. package/src/agent/claudeusage.js +0 -200
  87. package/src/agent/codexstatus.js +0 -181
  88. package/src/agent/imagen.js +0 -458
  89. package/src/agent/quotaerr.js +0 -44
  90. package/src/agent/transienterr.js +0 -32
  91. package/src/cdp.js +0 -254
  92. package/src/clilang.js +0 -31
  93. package/src/core/cron.js +0 -182
  94. package/src/core/cronfire.js +0 -120
  95. package/src/core/cronrun.js +0 -116
  96. package/src/core/engine.js +0 -2762
  97. package/src/core/interfaces.js +0 -114
  98. package/src/core/issues.js +0 -185
  99. package/src/core/ledger.js +0 -30
  100. package/src/core/opsalert.js +0 -214
  101. package/src/core/pending.js +0 -123
  102. package/src/core/proxy.js +0 -424
  103. package/src/core/quotaalert.js +0 -79
  104. package/src/core/quotaerr.js +0 -55
  105. package/src/core/scheduler.js +0 -59
  106. package/src/design.js +0 -5161
  107. package/src/gitrepo.js +0 -150
  108. package/src/health.js +0 -353
  109. package/src/installdeps.js +0 -72
  110. package/src/leftover.js +0 -174
  111. package/src/platform/boardnotice.js +0 -77
  112. package/src/platform/boardops.js +0 -36
  113. package/src/platform/boardwatch.js +0 -447
  114. package/src/platform/cli.js +0 -45
  115. package/src/platform/slack.js +0 -1289
  116. package/src/platform/takeovercard.js +0 -37
  117. package/src/platform/wecom.js +0 -938
  118. package/src/platform/wecomcli.js +0 -128
  119. package/src/platform/wecomgate.js +0 -108
  120. package/src/platform/wecomname.js +0 -43
  121. package/src/platform/wecompoll.js +0 -241
  122. package/src/preview.js +0 -581
  123. package/src/projectmemory.js +0 -175
  124. package/src/service.js +0 -317
  125. package/src/ui/auth.js +0 -31
  126. package/src/ui/browser.html +0 -392
  127. package/src/ui/browserroutes.js +0 -234
  128. package/src/ui/console.html +0 -5494
  129. package/src/ui/dashboard.js +0 -168
  130. package/src/ui/feishulogin.js +0 -136
  131. package/src/ui/server.js +0 -2314
  132. package/src/ui/sessions.js +0 -78
  133. package/src/ui/takeover.js +0 -108
  134. package/src/updater.js +0 -243
  135. package/src/upgrade.js +0 -35
  136. package/src/usage.js +0 -144
@@ -1,182 +0,0 @@
1
- ---
2
- name: 乌尔姆功能
3
- description: 器物的可操作感——机身白外壳、4px 栅格无例外、信号红只标"能按的地方",有薄影就等于能碰
4
- suits: "工具产品"
5
- colors:
6
- shell: "#F0EDE5"
7
- ink: "#2B2B29"
8
- muted: "#8A8A87"
9
- signal: "#C02820"
10
- ciel: "#7FB2D4"
11
- line: "#D6D2C8"
12
- fonts:
13
- latin: "'Rotis Sans Serif', 'Frutiger'"
14
- cjk: sans
15
- typography:
16
- headline:
17
- latin: "'Rotis Semi Sans', 'Univers', 'Frutiger'"
18
- fontSize: "26px"
19
- fontWeight: 600
20
- lineHeight: 1.3
21
- letterSpacing: "-0.005em"
22
- body:
23
- fontSize: "15px"
24
- fontWeight: 400
25
- lineHeight: 1.55
26
- measure: "68ch"
27
- label:
28
- latin: "'IBM Plex Mono', 'SF Mono', 'Noto Sans Mono'"
29
- fontSize: "12px"
30
- fontWeight: 500
31
- letterSpacing: "0.06em"
32
- border:
33
- width: "1px"
34
- style: solid
35
- emphasis: "2px"
36
- rounded:
37
- sm: 2px
38
- md: 4px
39
- spacing:
40
- unit: "4px"
41
- gutter: "16px"
42
- margin: "24px"
43
- maxWidth: "1080px"
44
- columns: 12
45
- elevation:
46
- mode: shadow
47
- levels: "1"
48
- imagery:
49
- ratio: "3:2"
50
- treatment: grayscale
51
- crop: hard
52
- icon:
53
- style: line
54
- strokeWidth: "1.5px"
55
- linecap: butt
56
- corner: sharp
57
- components:
58
- button-primary:
59
- backgroundColor: "{colors.signal}"
60
- textColor: "{colors.shell}"
61
- typography: "{typography.label}"
62
- rounded: "{rounded.sm}"
63
- height: "40px"
64
- padding: "16px"
65
- button-secondary:
66
- backgroundColor: "{colors.shell}"
67
- textColor: "{colors.ink}"
68
- typography: "{typography.label}"
69
- rounded: "{rounded.sm}"
70
- height: "40px"
71
- padding: "16px"
72
- input-field:
73
- backgroundColor: "{colors.shell}"
74
- textColor: "{colors.ink}"
75
- typography: "{typography.body}"
76
- rounded: "{rounded.sm}"
77
- height: "40px"
78
- padding: "12px"
79
- card:
80
- backgroundColor: "{colors.shell}"
81
- textColor: "{colors.ink}"
82
- rounded: "{rounded.md}"
83
- padding: "16px"
84
- toggle-track:
85
- backgroundColor: "{colors.muted}"
86
- rounded: "{rounded.sm}"
87
- height: "24px"
88
- width: "40px"
89
- toggle-on:
90
- backgroundColor: "{colors.signal}"
91
- tag:
92
- backgroundColor: "{colors.ciel}"
93
- textColor: "{colors.ink}"
94
- typography: "{typography.label}"
95
- rounded: "{rounded.sm}"
96
- height: "24px"
97
- padding: "8px"
98
- status-dot:
99
- backgroundColor: "{colors.signal}"
100
- rounded: "{rounded.sm}"
101
- size: "8px"
102
- ---
103
-
104
- ## Overview
105
-
106
- 参照物:**Dieter Rams**(Braun 设计负责人 1961-1995;Vitsœ 606 通用搁架系统 1960,MoMA 永久馆藏)与 **Otl Aicher**(1953 年与 Inge Scholl、Max Bill 共同创办 HfG Ulm;1972 慕尼黑奥运视觉系统与象形符号;**Rotis** 字体家族 1988,四个变体 serif / semi-serif / semi-sans / sans,至今 bulthaup 在用)。
107
- 它产出的不是版面,是**器物**。判断标准也不是"好不好看",而是三个能逐元素查的问题:**这个颜色表示什么?这个尺寸是 4 的几倍?这个东西能不能按?**
108
-
109
- ## Colors
110
-
111
- **规则先于色值:每个颜色都必须能写出一行职责,写不出来的删掉。**
112
-
113
- - **shell (#F0EDE5)**:机身白,微灰微暖,全部底色——是**灰**不是纸白,这是它的底子。
114
- - **ink (#2B2B29)**:文字与图标,配 shell 12.1:1。层级靠字号与字重,不靠变浅。
115
- - **muted (#8A8A87)**:**非文字元素专用**——分隔加重、开关轨道、禁用态、图标次级笔画。⚠ 配 shell 只有 2.96:1,**任何字号都不达标**,所以它不承载文字;次级文字一律用 ink 降字号/降字重,这正是 Rams 的做法。
116
- - **signal (#C02820)**:**信号红,只标"可按 / 正在发生 / 出错"三件事**,配 shell 白字 5.0:1。一屏最多一处——有两个红点就等于没有信号。
117
- - **ciel (#7FB2D4)**:慕尼黑浅蓝,用于**中性状态标记**(标签、信息提示、选中态底),配 ink 6.2:1 可承载文字。它永远不表示"可按"。
118
- - **line (#D6D2C8)**:1px 分隔线与输入框边。
119
- - **1972 的「去政治」色板**:Aicher 为慕尼黑奥运定的浅蓝/绿/银/橙里**刻意不放红与黑**(避开 1936 年的联想),主色定为"非政治的浅蓝,和平的颜色",整套色相取自巴伐利亚阿尔卑斯。**这说明色板是可以被决定出来的**——先写清每个颜色的职责与禁忌,再选色值。本档就照此写。
120
- - ⚠ 出处如实标注:Braun 的三个色值来自二手聚合站点、不是官方色卡;慕尼黑 1972 的官方 hex 规范未找到,`#7FB2D4` 是按文献定性描述校准的值。
121
-
122
- ## Typography
123
-
124
- - 标题 Rotis Semi Sans 600 / 26px——**标题不大**。这套风格里标题是标签,不是海报字。正文 Rotis Sans 400 / 15px,行距 1.55,行宽 68ch,信息密度可以高。
125
- - 小标签走**等宽**(IBM Plex Mono)500 + 0.06em:参数、单位、编号、状态码一律等宽,数字要能上下对齐——这是仪表盘的基本要求,也是这套的签名细节。
126
- - 标题正文反差只有 26/15 ≈ 1.7 倍。**反差小是故意的**:器物界面靠位置与分组分层,不靠字号轰炸。
127
-
128
- ## Layout
129
-
130
- - **4px 栅格无例外**:所有间距、尺寸、位置都是 4 的整数倍;控件高度只有 **32 / 40 / 48** 三档。这条最容易破也最该守——出现一个 13px 就说明有人在凭手感调。
131
- - 12 列网格、齐左;标签在控件上方或左侧,固定一种、全站不混用。分组用 16px 间距 + 一条 1px line,不用卡片套卡片。图片 3:2 灰度硬裁,不加圆角不加影(它是资料,不是装饰)。
132
-
133
- ## Elevation & Depth
134
-
135
- `shadow` 模式,但**极薄**,而且带一条硬规则:
136
-
137
- 1. **Level 0**:shell 底 + 1px line 分区。不可操作的区域**一律无影**。
138
- 2. **Level 1**:`0 1px 2px rgba(0,0,0,.10)`——**只出现在可操作元件上**(按钮、开关、可点卡片)。
139
-
140
- **这条规则本身就是信息:有影 = 能碰。** 于是阴影从装饰变成了功能编码,用户不读文案也知道哪里能按——和信号红是同一套逻辑的两个通道。
141
- 没有 Level 2:弹层用 1px 边 + shell 底解决,不靠加厚阴影。
142
- Don't:大投影、多层投影、玻璃拟态、渐变高光、外发光聚焦环(聚焦用 `border.emphasis` 2px signal 描边解决)。
143
-
144
- ## Shapes
145
-
146
- - 圆角只有两档:`sm 2px`(按钮、输入框、标签、状态点)与 `md 4px`(卡片),**没有第三档**。2-4px 的倒角是**注塑件脱模的痕迹**,不是"柔和一点",所以它小到几乎看不见才对。
147
- - 描边 1px 全站统一,强调态(聚焦/选中)2px。允许的形:矩形、圆角矩形(2/4px)、正圆(仅状态点与旋钮)、等宽线段。图标走线性、**1.5px 等宽笔画**、平头端点、直角:**要像仪表符号,缩到 16px 仍可辨**。
148
-
149
- ## Components
150
-
151
- - **主按钮**:signal 实底 + shell 字 + 2px 圆角 + Level 1 薄影,40px 高,**一屏一个**。**次按钮**:shell 底 + 1px line 边 + ink 字,同 40px;它同样有薄影,因为它也能按。
152
- - **输入框**:shell 底 + 1px line 边,40px 高;聚焦 = 边框换 2px signal,不加发光。**卡片**:shell 底 + 4px 圆角 + 1px line;**可点的卡片才加薄影**,纯展示卡不加。
153
- - **开关**:40×24 轨道,关 = muted,开 = signal;位置变化与颜色变化同时发生。
154
- - **标签**:ciel 底 + ink 等宽小字,24px 高——它是状态不是按钮,**所以不加影**。**状态点**:8px signal 方点,只表示"正在发生"或"有异常"。
155
-
156
- ## Do's and Don'ts
157
-
158
- - Do:**信号色即功能编码**。Rams 的 Braun 产品里颜色只出现在操作点——T3 口袋收音机只有电源键是红的,ET44 计算器只有一个黄色指示。**颜色一旦不表示功能,就该删掉。**
159
- - Do:先写职责表再选色值(见 Colors 里 1972 那段的做法);4px 栅格逐元素查,控件高度只用 32/40/48;等宽字放一切数字与参数。
160
- - Don't:做成瑞士网格的翻版(见下节);用颜色去"好看"——不表示功能就删;让 muted 承载文字(见 Colors)。
161
- - Don't:大投影、玻璃拟态、渐变高光。
162
- - Don't:图标画成插画。图标是符号不是配图。
163
-
164
- ## 与「瑞士网格」「精密仪表」的分界
165
-
166
- **对瑞士网格**——最需要警惕的一对:两者都冷静、都无装饰,但目标物不同。瑞士网格是纸白底 #F4F3EF、圆角恒 0、一律禁影、8px + 列网格,重点在**版面构成**;这一套是**灰**机身白 #F0EDE5 + 中灰 #8A8A87、**2px/4px 两档倒角**、**1px 薄影且只在可操作元件上**、**4px 栅格无例外**(控件高 32/40/48),重点在**器物的可操作感**。
167
- 一句话:**它产出的是控件,瑞士网格产出的是版面。** 交付物若是一张海报或一页文章,选瑞士网格;若是一台机器的面板,选这一套。
168
-
169
- **对精密仪表**——同为「工具产品」档,4px 单位与小圆角几乎一样,分界在三处:①底色**冷白 #FAFAFA 对暖灰 #F0EDE5**;②强调是**蓝**(链接与主操作,可反复出现)对**信号红**(只标可按/正在发生/出错,一屏一处);③精密仪表 `elevation: flat` 完全无影、层次靠发丝线与密度,这一套**用 1px 薄影编码"能碰"**。
170
- 选法:做**屏幕原生的数据密排**(表格、日志、指标墙)用精密仪表;做**一台机器的操作面板**(少量控件、每个都要一眼看出能不能按)用这一套。
171
-
172
- ## Composition
173
-
174
- - 一屏一任务:主控件居左上,参数区成列排下,状态区固定在同一位置。
175
- - 视觉重量分布均匀,不做戏剧性焦点——唯一的焦点是那处 signal 红。配图走 3:2 灰度实拍(器物、结构、剖面),不用插画、不用氛围图。
176
- - 版面里可以出现刻度、编号、单位;它们是内容不是装饰,一律等宽字。
177
-
178
- ## Image Prompt Templates
179
-
180
- - base: "Ulm School functional design, industrial product interface, warm grey machine-white housing (#F0EDE5), near-black type (#2B2B29), one single signal red accent used only on the active control (#C02820), pale Munich blue status tag (#7FB2D4), strict 4px modular grid, tiny 2-4px corner radii, 1px hairlines, extremely thin 1px shadow only under interactive parts, Braun product aesthetic, Otl Aicher pictogram system, monospaced technical labels and numerals, flat, matte, no gradient"
181
- - negative: "large soft shadow, glassmorphism, gradient glow, neon, decorative color, illustrative icon, hand-drawn, gold, pill-shaped button, big rounded corners, 3D render, glossy plastic, lens flare, colorful dashboard"
182
- - 注:模型默认会给"现代 SaaS 仪表盘"(紫蓝渐变、大圆角、彩色图表),提示词必须写 "matte, no gradient, monochrome except one red";出图后按三条指标验收:**颜色是否都能说出职责 / 尺寸是否都是 4 的倍数 / 有影的地方是否都能按**。
@@ -1,160 +0,0 @@
1
- ---
2
- name: 和・色面
3
- description: 伝統色的大块平涂,色面拼出形体、不描轮廓;和文ベタ組み贴身排——战后日本平面的骨相,不是留白性冷淡
4
- suits: "品牌门面 · 内容阅读"
5
- colors:
6
- paper: "#FBFAF5"
7
- ink: "#2A4073"
8
- muted: "#595857"
9
- line: "#6C848D"
10
- accent: "#EB6101"
11
- kakishibu: "#9F563A"
12
- typography:
13
- headline:
14
- fontFamily: "'Ten Mincho', 'Yu Mincho', 'Hiragino Mincho ProN', 'Noto Serif JP', 'Noto Serif SC', serif"
15
- fontSize: "40px"
16
- fontWeight: 600
17
- lineHeight: 1.35
18
- letterSpacing: "-0.02em"
19
- body:
20
- fontFamily: "'Noto Sans JP', 'Hiragino Kaku Gothic ProN', 'Noto Sans SC', sans-serif"
21
- fontSize: "16px"
22
- fontWeight: 400
23
- lineHeight: 1.85
24
- letterSpacing: "0em"
25
- measure: "34em"
26
- label:
27
- fontFamily: "'Noto Sans JP', 'Hiragino Kaku Gothic ProN', 'Noto Sans SC', sans-serif"
28
- fontSize: "12px"
29
- fontWeight: 500
30
- letterSpacing: "0.18em"
31
- border:
32
- width: "0px"
33
- style: none
34
- emphasis: "0px"
35
- rounded:
36
- none: 0px
37
- spacing:
38
- unit: "8px"
39
- gutter: "24px"
40
- margin: "48px"
41
- maxWidth: "1080px"
42
- columns: 12
43
- elevation:
44
- mode: flat
45
- levels: "0"
46
- imagery:
47
- ratio: "1:1"
48
- treatment: duotone
49
- crop: hard
50
- icon:
51
- style: line
52
- strokeWidth: "1px"
53
- linecap: butt
54
- corner: sharp
55
- components:
56
- button-primary:
57
- backgroundColor: "{colors.ink}"
58
- textColor: "{colors.paper}"
59
- typography: "{typography.label}"
60
- rounded: "{rounded.none}"
61
- height: "44px"
62
- padding: "24px"
63
- card:
64
- backgroundColor: "{colors.paper}"
65
- textColor: "{colors.ink}"
66
- rounded: "{rounded.none}"
67
- padding: "32px"
68
- tag:
69
- backgroundColor: "{colors.muted}"
70
- textColor: "{colors.paper}"
71
- typography: "{typography.label}"
72
- rounded: "{rounded.none}"
73
- padding: "8px"
74
- color-plane:
75
- backgroundColor: "{colors.accent}"
76
- rounded: "{rounded.none}"
77
- size: "160px"
78
- ---
79
-
80
- ## Overview
81
-
82
- 参照物:田中一光 1981 年为 UCLA 亚洲表演艺术研究所做的《日本舞踊》海报——三个黑方块加两个深灰三角拼出发髻,一个红方块加两个亮色三角拼出和服(MoMA、V&A、悉尼 Powerhouse 三馆藏)。六个色值全部取自和色大辞典的日本伝統色官方色表,括号里即**伝統色名**。
83
- 一句话:**形体由色面拼出来,不由线画出来。** 这是它与所有「东方风」模板的分水岭——那些画细线、留白、配小字;这一套是大块平涂的伝統色,余白是留给色面呼吸的,不是为了显得空。
84
- 原研哉在《白》里区分过两个词:emptiness(受容的空)与 simplicity(西方的简)。白在这里是「有待填入」的状态,不是「什么都不放」的洁癖。
85
-
86
- ## Colors
87
-
88
- - **paper (#FBFAF5,生成り kinari)**:未漂白生丝的白,微黄,全部底色。
89
- - **ink (#2A4073,深縹 koki-hanada)**:主文字与主色面。它是**蓝**不是黑,整张图的调子由此偏冷;配 paper 9.7:1。
90
- - **muted (#595857,墨 sumi)**:次级文字、小标签底。配 paper 6.8:1。
91
- - **line (#6C848D,藍鼠 ai-nezu)**:第三色面与极少的分隔线。配 paper 3.8:1 ⇒ 只做面与线,不做文字底。
92
- - **accent (#EB6101,朱色 shu)**:唯一的暖色,一版一处。⚠ **不承载任何文字**——白字 3.2:1、深縹字 3.0:1,两头都不够。它是一块**色面**。
93
- - **kakishibu (#9F563A,柿渋色)**:第二色面,只用于图形。⚠ 它配 paper 其实有 5.2:1、放白字读得清,**禁它承载文字是构图纪律不是可读性问题**:色面一旦开始装字,色面構成就退化成普通彩色卡片。
94
-
95
- ## Typography
96
-
97
- - 标题明朝体(首选 Adobe **Ten Mincho** 貂明朝,西塚凉子与 Robert Slimbach,骨相取自江户中后期瓦版印刷的手写笔势),正文黑体。**标题衬线、正文无衬线**是这套的常规。
98
- - **ベタ組み**:和文与中文正文字距恒 `0em`,字身框贴字身框排——这是和文排版的默认制式,松一点点就散。
99
- - **字距两极分化**是签名:正文 `0em` 贴身,拉丁小标签 `0.18em` 拉到极开,中间值不许出现。
100
- - 标题正文字号比 40/16 = 2.5 倍;层级只走这两档,不设中间号。
101
-
102
- ## Layout
103
-
104
- - **版面率低**是硬指标,三条都能量出来:文字块占版面 ≤40%、余白 ≥45%、单一色面占版面 ≥1/3。
105
- - 12 列网格用来定色面的边,不用来切文字栏——色面可以横跨 5 列、7 列,但边必须落在格线上。
106
- - **縦組(竖排)** 可用一栏且仅一栏。⚠ 竖排里的拉丁长词必须转横排小块(縦中横)或改全角,把半角单词竖着摞下来是错排。
107
- - 分隔尽量不做;非做不可时用一条 1px 藍鼠细线,不用粗分割条。
108
-
109
- ## Elevation & Depth
110
-
111
- **零阴影**。层次全部来自色面的**大小与叠压顺序**——这是丝网印刷的物理:先印的在下,后印的在上。
112
-
113
- 1. 底:paper 生成り。
114
- 2. 大色面(深縹/藍鼠/柿渋)直接压在底上,**边缘绝对硬**,不描边、不留缝。
115
- 3. 小色面(朱色)压在大色面上,面积比 ≤1/8。压住即遮挡,**不做半透明、不做混色叠印**。
116
-
117
- 判断层级只看一件事:谁盖住了谁。所以色面之间必须**有实打实的重叠**(至少 24px),擦边并置会让层次消失、整张变成拼贴。
118
- Don't:任何 blur 阴影、任何投影、任何"浮起来"的卡片。这套风格里没有 Z 轴,只有先后。
119
-
120
- ## Shapes
121
-
122
- 形状语言 = **色面構成**:主体由 3-5 个几何块拼成,**不画轮廓线**。
123
-
124
- - 允许的块只有四类:矩形、正圆、三角形、半圆——用它们拼出人、器物、山、花。**圆角恒 0**,无例外。
125
- - 描边宽度 0——这套风格里没有"描边"这个概念,边界由两块颜色的交界产生;图标走 1px 细线、平头端点、直角相交,是唯一允许出现线条的地方。
126
-
127
- ## Components
128
-
129
- - **按钮**:深縹实底 + 生成り字,直角无影;次级按钮 = 生成り底 + 深縹字,靠字色区分。
130
- - **卡片**:就是一块 paper 色面,padding 32px,不加边框不加影——它靠周围的余白成立。**标签**:墨色实底 + 生成り小字 + 0.18em 字距,小而横排成列。
131
- - **色面**:朱色方块,纯装饰元件,**不可放字、不可点击**;它在版面里的角色相当于印章。
132
-
133
- ## Do's and Don'ts
134
-
135
- - Do:一版只用 2-3 个伝統色 + 生成り底;第四个想上场时先删一个。
136
- - Do:把最大那块色面做到**跨过版心**——大到"有点过分"才是这个风格。
137
- - Do:正文严格 `0em`、拉丁小标签严格 `0.18em`,这两个数是签名,不许调和。
138
- - Don't:做成「纯白 + 细灰线 + 极小字」的性冷淡模板。**战后日本平面的主干是伝統色的大块平涂**,不是无色——这是本档最大的误读风险。
139
- - Don't:樱花、富士山、鸟居、浮世绘浪花当背景贴图。要日本感就用色与构成,不用符号。
140
- - Don't:书法字体排正文;毛笔字只允许作为单个大字出现。
141
- - Don't:**假日文**——把汉字词拼成看起来像日文的「和风文案」。写不出正确日文就写中文或纯图形;**错一个假名整张废**,而这类错误母语者一眼可见。
142
- - Don't:朱色或柿渋上放字(见 Colors)。
143
-
144
- ## 与「新中式」的分界
145
-
146
- 全库最容易撞的一对,方向其实是**相反**的:新中式是暖宣纸底 #F5F0E6 + 墨(暖黑)+ 朱砂印章,手法是**线描**、白描、木版水印,字距**松**(0.05-0.15em);
147
- 和・色面是灰调生成り #FBFAF5 + 深縹(蓝),手法是**色面平涂**、拼块、无轮廓,字距**零**(ベタ組み),朱色是压在大色面上的一块面而不是落款印。
148
- 判定口诀:看到"线描 + 松字距 + 暖墨"是新中式;"平涂 + 零字距 + 冷蓝"才是这一套。**不是近亲,别互相借元素。**
149
-
150
- ## Composition
151
-
152
- - 一版一主体:主体由几块几何色面拼成,居版心偏上或偏左,四周大片生成り余白。
153
- - 小字块(标题/署名)贴着某块色面的边排,与色面**对齐而不居中**。
154
- - 图片处理成双色(生成り + 深縹),硬裁成正方,直接落在版面上不加框;一版内只出现一次竖排,只出现一处朱色。
155
-
156
- ## Image Prompt Templates
157
-
158
- - base: "post-war Japanese graphic design poster, flat color-plane composition, subject assembled from 3-5 geometric blocks with no outlines, warm unbleached kinari paper ground (#FBFAF5), deep hanada indigo (#2A4073), sumi grey (#595857), ai-nezu blue-grey (#6C848D), one small vermilion shu block (#EB6101), large uninterrupted negative space, silkscreen flat printing, hard edges, no shading, mincho display type with tight CJK setting"
159
- - negative: "outline drawing, line art contour, cherry blossom, Mount Fuji, torii gate, ukiyo-e wave, calligraphy brush script as body text, kawaii illustration, pure white background, gradient, drop shadow, 3D render, glossy, pastel palette, wide letter spacing on CJK"
160
- - 注:版面里若要出现日文,**必须确认假名与汉字都写对**,拿不准就只放中文或纯图形;提示词补 "flat vector, no gradient" 压住模型自动加的光影,补 "tight CJK typesetting" 防它把中文排松。
@@ -1,172 +0,0 @@
1
- ---
2
- name: 千禧未来
3
- description: 液态铬字、果冻高光与 Bondi 蓝——1998-2002 那种半透明塑料的乐观未来感,克制着用才好看
4
- suits: "活动推广 · 生图插画"
5
- colors:
6
- ice: "#E6F2F7"
7
- steel: "#2A3340"
8
- accent: "#0095B6"
9
- citrus: "#FF6A00"
10
- magenta: "#FF2E9A"
11
- chrome: "#C7D2DB"
12
- muted: "#5F7183"
13
- line: "#9FB3C0"
14
- fonts:
15
- latin: "'Rubik'"
16
- cjk: sans
17
- typography:
18
- headline:
19
- latin: "'Eurostile', 'Michroma'"
20
- fontSize: "48px"
21
- fontWeight: 700
22
- lineHeight: 1.1
23
- letterSpacing: "0.06em"
24
- body:
25
- fontSize: "16px"
26
- fontWeight: 400
27
- lineHeight: 1.6
28
- measure: "62ch"
29
- label:
30
- latin: "'Share Tech Mono', 'Noto Sans Mono CJK SC'"
31
- fontSize: "12px"
32
- fontWeight: 400
33
- letterSpacing: "0.10em"
34
- border:
35
- width: "1px"
36
- style: solid
37
- emphasis: "2px"
38
- rounded:
39
- sm: 8px
40
- md: 12px
41
- pill: 999px
42
- spacing:
43
- unit: "8px"
44
- gutter: "24px"
45
- margin: "32px"
46
- maxWidth: "1120px"
47
- columns: 12
48
- elevation:
49
- mode: shadow
50
- levels: "2"
51
- imagery:
52
- ratio: "4:3"
53
- treatment: duotone
54
- crop: rounded
55
- icon:
56
- style: solid
57
- strokeWidth: "2px"
58
- linecap: round
59
- corner: round
60
- components:
61
- button-primary:
62
- backgroundColor: "{colors.accent}"
63
- textColor: "{colors.ice}"
64
- typography: "{typography.label}"
65
- rounded: "{rounded.pill}"
66
- height: "44px"
67
- padding: "20px"
68
- button-secondary:
69
- backgroundColor: "{colors.chrome}"
70
- textColor: "{colors.steel}"
71
- rounded: "{rounded.pill}"
72
- height: "44px"
73
- tag:
74
- backgroundColor: "{colors.citrus}"
75
- textColor: "{colors.steel}"
76
- typography: "{typography.label}"
77
- rounded: "{rounded.pill}"
78
- height: "26px"
79
- card:
80
- backgroundColor: "{colors.ice}"
81
- textColor: "{colors.steel}"
82
- rounded: "{rounded.md}"
83
- padding: "24px"
84
- ---
85
-
86
- ## Overview
87
-
88
- 参照物:**The Designers Republic**(Ian Anderson 1986 年在谢菲尔德创立;Warp Records 的 globe 标与 "Warp purple"、LFO / Aphex Twin / Autechre 的封套、1995 年 WipEout 的全套游戏美术);
89
- **iMac G3 Bondi Blue**(1998,Jonathan Ive 领衔的苹果工业设计组,半透明聚碳酸酯外壳;Bondi Blue ≈ #0095B6,名字取自悉尼 Bondi 海滩的水色);**Apple Aqua**(2000,Jobs 说"设计目标就是让你看到它就想舔一口");当代实现看 Poolsuite FM(poolsuite.net)—— 复古壳里装真功能,这条路上做得最扎实的一个。
90
- 一句话:**光打在物体表面上**。铬是抛光的、按钮是果冻做的、蓝是海水的青绿蓝,不是紫。
91
-
92
- ## Colors
93
-
94
- - **ice (#E6F2F7)**:冰蓝白底,比纯白更有塑料透光感;**steel (#2A3340)** 是主文字色,ice 上 11.2:1 —— 这个风格不用纯黑,纯黑不反光。
95
- - **accent (#0095B6)**:Bondi Blue,整套风格的身份色,按钮 / 链接 / 主图形都归它。
96
- - **citrus (#FF6A00)** / **magenta (#FF2E9A)**:对冲色。青绿蓝要有橙和品红顶着,才不塌成"科技蓝页面"。
97
- - **chrome (#C7D2DB)**:铬的基色,只做渐变与高光的底,不当色块;**muted (#5F7183)** 次级文字(4.4:1);**line (#9FB3C0)** 1px 分隔线,比文字轻两档。
98
- - ⚠ 三支彩色**同屏最多两支**,且面积比要悬殊(一支大面积、另一支只做点缀)。
99
-
100
- ## Typography
101
-
102
- - 标题 Eurostile / Michroma,700,**正字距 0.06em** —— 这个风格的字是拉开的,不是挤的(与酸性荧光正相反,这是它们最快的辨认点)。
103
- - 正文 Rubik 400,16px / 1.6。Rubik 的圆角末端与果冻按钮同源,但正文不做任何特效。
104
- - 小标签走等宽 Share Tech Mono + 0.10em,做编号、状态、"SYSTEM READY" 这类仪表感文字。
105
- - 标题与正文 3 倍反差(48/16);标题可全大写(拉丁),中文标题靠字重与字距撑。
106
-
107
- ## Layout
108
-
109
- - 12 列网格,面板化布局:内容装在有边框的"窗口"里,窗口有标题条、有状态栏。
110
- - 允许一层嵌套面板(外壳 + 内屏),**不许第三层** —— 再套就是控制面板不是设计。
111
- - 大圆角只给面板(12px),小圆角给输入框(8px)。⚠ **`pill` 只给按钮与标签,不许污染面板** —— 整块面板做成胶囊,立刻变成 2015 年的卡通 app。
112
- - 半透明是允许的(白色 `rgba` 10-20% 叠在色块上),但它是**塑料的透光**,不是玻璃的折射:不加背景模糊。
113
-
114
- ## Elevation & Depth
115
-
116
- 深度来自**表面反射**:物体是有厚度的塑料,光从左上打下来。
117
-
118
- 1. **Level 0**:ice 底。**Level 1**(卡片 / 面板):`0 6px 16px rgba(0,120,150,0.22)` —— 阴影带蓝味,不是灰。
119
- 2. **Level 2**(按钮 / 悬浮件):同上再叠内高光 `inset 0 1px 0 rgba(255,255,255,0.80)`。这行 inset 就是"果冻"的全部秘密:上沿有一道白,元素立刻鼓起来。
120
-
121
- **三个签名细节**(这个风格好不好看,全在这三处的克制上):
122
-
123
- ① **液态铬字** —— 字面被多段明暗渐变切分,中间一条水平明暗分界(上冷下暖),`background-clip: text` 实现,**只用在大标题与图标**。
124
- ② **果冻 / 水滴按钮** —— 上半强高光、下半淡影、边缘 1px 白描边,按下时高光收窄。
125
- ③ **四角星形闪光与镜头光晕** —— **每屏 ≤2 处**,只落在铬物件或主图的边角上。
126
-
127
- Don't:铬渐变用在正文或小字(字面被切碎就没法读);阴影用纯灰;背景模糊(那是液态玻璃的语言)。
128
-
129
- ## Shapes
130
-
131
- - 圆角三档:`sm 8px`(输入框)、`md 12px`(面板 / 卡片)、`pill 999px`(按钮 / 标签)。
132
- - 图标实心 + 2px 圆头描边 + 圆角转角 —— 这个风格里没有尖角,尖的东西不像塑料;允许的形状:圆角矩形、胶囊、椭圆、四角星、水滴、同心圆(仪表 / 刻度);图片 4:3 圆角裁切 —— 4:3 是那个年代显示器的画幅,16:9 会立刻当代化。
133
-
134
- ## Components
135
-
136
- - **按钮**:accent 胶囊 + 果冻高光 + 冰白字。⚠ 小字反白要换深一档的底,见下面的对比度实测。
137
- - **次级按钮**:chrome 底 + steel 字 + 1px 白内高光;**标签**:citrus 胶囊 + **近黑字**(不是白字),做状态与分类。
138
- - **面板 / 卡片**:ice 底 + 1px line 边 + 12px 圆角 + 蓝味投影,可带一条标题栏。
139
- - **输入框**:8px 圆角 + 1px line 边;聚焦态 = 边框换 accent + 外发光 `0 0 0 3px rgba(0,149,182,.25)`。
140
-
141
- ## Do's and Don'ts
142
-
143
- - Do:**对比度实测值照着用** —— `#0095B6` 上白字只有 **3.56:1**(仅够 ≥18px 大字);小字要反白,把底压到 **#007391(5.5:1)**。
144
- - Do:`#FF6A00` 上必须用近黑字(**6.4:1**);白字在它上面只有 **2.9:1**,是错的。`#FF2E9A` 只做大字与点缀,别承载正文。
145
- - Do:半透明塑料感靠"白色 inset 高光 + 轻微透光",不靠加模糊。
146
- - Don't:**紫蓝渐变**。那是 AI-slop 的签名,不是 Y2K —— **Y2K 的蓝是青绿向的 Bondi / 冰蓝,用橙与品红对冲**。想加第二个颜色时往暖色走,别往紫走。
147
- - Don't:满屏光晕 + 闪光 + 噪点 + 铬字全上(TDR 的克制才是这风格好看的原因)。
148
- - Don't:`pill` 用在面板上;三层以上嵌套面板;纯黑与纯白大面积出现。
149
-
150
- ## 怎么做才不像廉价怀旧贴图
151
-
152
- 图库里的"Y2K"通常长这样:紫蓝渐变 + 满屏星光 + 液态铬字堆到正文 + 随机 3D 环形。
153
- 那是**素材包**不是设计。TDR 的封套现在还耐看,靠的是**克制**:一版里通常只有一个铬物件、一组网格化的数字标签、一两块高饱和色。四条硬约束:
154
-
155
- 1. **签名细节每屏 ≤2 处**(铬字 / 闪光 / 光晕合计),其余地方老老实实排版。
156
- 2. **蓝必须是青绿向**(#0095B6 这类);偏紫的蓝一出现,整屏立刻滑进 AI 通稿。
157
- 3. **正文区零特效**:16px / 1.6 / steel 字 / 无渐变无发光。特效只发生在标题、按钮、图形。
158
- 4. **画面里要有真信息**:编号、日期、版本号、状态词 —— TDR 的画面永远像一台设备的说明,不是装饰。
159
-
160
- **与「酸性荧光」分界**:酸性是灰白纸底 + 荧光二次色 + 2px 硬黑边 + 零模糊,平的、贴纸式的;千禧是冰蓝底 + 金属反射 + 柔高光与投影,鼓的、有厚度的。酸性挤字,千禧拉字距。
161
- **与「液态玻璃」分界**(最容易混的一对):**千禧是不透明的金属反射 + 高饱和(光打在物体表面上);液态玻璃是透明层 + 折射模糊 + 中性色(光穿过物体)**。一个像抛光的铬与塑料,一个像磨砂玻璃片。判据很简单:**背后的东西能不能透过来看见** —— 能就是玻璃,只有反射就是千禧。
162
-
163
- ## Composition
164
-
165
- - 活动页:一个铬质大标题 + 一块 Bondi 蓝主视觉(4:3 圆角图)+ 一排等宽小标签 + 一个果冻按钮;重心稳定,元素排成有秩序的网格 —— 未来感来自"被设计过的设备",不是来自混乱。
166
- - 插画 / 生图:半透明塑料机身、水滴、同心圆刻度、悬浮的圆角矩形屏,背景是青绿向的冰蓝渐层。
167
-
168
- ## Image Prompt Templates
169
-
170
- - base: "Y2K futurism design, translucent polycarbonate plastic and polished chrome, Bondi blue (#0095B6) and ice blue (#E6F2F7) palette with orange (#FF6A00) accents, glossy jelly buttons with white inset highlight, liquid chrome lettering with a horizontal light-dark split, soft blue-tinted drop shadows, wide-tracked squarish techno sans-serif type, 4:3 framing, one four-point star sparkle, 1999 Apple iMac and WipEout aesthetic, clean and restrained"
171
- - negative: "purple to blue gradient, violet, matte flat design, grunge texture, heavy noise, chrome text on body copy, dozens of sparkles, frosted glass blur, 16:9 widescreen, dark mode"
172
- - 注:一定要写 "restrained, only one chrome object, at most two sparkles",否则模型会把闪光铺满;蓝色必须点名 "teal-leaning blue, not purple"。中文版面补 "clean CJK sans-serif with wide letter spacing"。
@@ -1,122 +0,0 @@
1
- ---
2
- name: 几何构成
3
- description: 包豪斯与风格派的几何撞色——三原色纪律、大形状、平涂无渐变,明快而有秩序
4
- name_en: "Geometric Pop"
5
- description_en: "The bold geometry of Bauhaus and De Stijl: strict primary colors, large shapes and flat fills with no gradients. Bright and orderly."
6
- suits: "活动推广 · 生图插画"
7
- colors:
8
- cream: "#F6EFE3"
9
- ink: "#1C1B1A"
10
- blue: "#2244A8"
11
- yellow: "#F2B705"
12
- red: "#E85D2F"
13
- fonts:
14
- latin: "'Avenir Next'"
15
- cjk: sans
16
- typography:
17
- headline:
18
- latin: "'Futura', 'Avenir Next'"
19
- fontSize: "40px"
20
- fontWeight: 700
21
- body:
22
- fontSize: "16px"
23
- lineHeight: 1.6
24
- measure: "60ch"
25
- fontWeight: 400
26
- label:
27
- latin: "'Futura'"
28
- fontWeight: 500
29
- letterSpacing: "0.1em"
30
- border:
31
- width: "3px"
32
- style: solid
33
- emphasis: "3px"
34
- rounded:
35
- none: 0px
36
- circle: 999px
37
- spacing:
38
- unit: 8px
39
- omitted: ["Components"]
40
- imagery:
41
- ratio: "1:1"
42
- treatment: duotone
43
- crop: hard
44
- icon:
45
- style: solid
46
- strokeWidth: "3px"
47
- linecap: butt
48
- corner: sharp
49
- ---
50
-
51
- ## Overview
52
-
53
- 参照物:包豪斯展览招贴、风格派(De Stijl)构成、Paul Rand 的商标草图。
54
- 圆、三角、矩形是全部词汇;三个颜色是全部音符。
55
- 撞色的秩序感来自「形状大 + 数量少 + 平涂到底」;一多就成了儿童房贴纸。
56
-
57
- ## Colors
58
-
59
- - **cream (#F6EFE3)**:奶油底色——比纯白更有印刷海报感。
60
- - **ink (#1C1B1A)**:近黑,文字与结构线。
61
- - **blue (#2244A8) / yellow (#F2B705) / red (#E85D2F)**:三主色,全部平涂。一张图 2-3 色封顶(含比例悬殊:一色大面积、其余点缀)。
62
- - 不允许出现这五色之外的任何颜色(照片素材除外,且照片要做单色化处理)。
63
-
64
- ## Typography
65
-
66
- - 几何无衬线:拉丁 Futura/Avenir,中文系统黑体(苹方 / 微软雅黑,思源黑体兜底);标题全部粗体,可全大写(拉丁)。
67
- - 文字本身当几何元素用:大字号、实心色块上的反白字、沿形状边缘排布。
68
-
69
- ## Layout
70
-
71
- - 大形状构图:2-4 个几何形占据版面主体,文字嵌在形状的秩序里。
72
- - 对角线是允许的动势来源(旋转 15°/30°/45° 的整角度),但一图只用一个斜向系统。
73
- - 形状可以出血、可以互相咬合(重叠处换色),不加描边。
74
-
75
- ## Elevation & Depth
76
-
77
- **绝对平面**。包豪斯的画面里没有光源,也就没有影子。
78
-
79
- 1. **层级 = 色块面积比**:最大的那块蓝就是主角,不需要它「浮起来」。
80
- 最大形状是最小形状的 10 倍以上时,主次自明。
81
- 2. **重叠 = 实色压印**:蓝压黄的重叠区**直接换成第三色**(画成 red 或 ink),
82
- 不是半透明、不是混色算法——重叠区是一块新的实色形状。
83
- 3. **唯一允许的「深度」错觉**:一个正圆压在一个正方上,靠**形状关系**读出前后,不靠阴影。
84
-
85
- Don't:box-shadow、渐变、半透明。
86
- Don't:3D 或等距(isometric)透视——那是另一个世纪的语言。
87
-
88
- ## Shapes
89
-
90
- 形状语言 = **三个基本形**:正圆、等边三角、矩形。**没有第四种**。
91
-
92
- - ⚠ **两档圆角各有专职**:`none 0px` 给一切矩形(色块、按钮、图片、文字块);
93
- `full 999px` **只给正圆**(圆点、圆形色块、圆形裁图)。**矩形永远不许沾胶囊**——
94
- 胶囊是圆角矩形,不属于基本形,一出现构成就散了。
95
- - **转角族用 `rounded`(直角)不用 `cut`**(M3 逐字:"This makes the corner a straight line
96
- instead of curved.")——切角会凭空造出第四种形状。
97
- - **不描边**:front matter 的 `border.width: 3px` 是**连线与结构线**的粗细,不是形状的轮廓。
98
- 形状要么实心,要么不存在。
99
- - **线条**:3px 实线,端点 butt,角度只取 0° / 45° / 90°;不用虚线、不用曲线箭头。
100
- - **旋转只取整角度**:15° / 30° / 45°,且一图只用一个斜向系统。
101
- - **图标**:同样由基本形拼成,且**实心平涂**——线性描边图标不属于这套语言(形状要么实心,
102
- 要么不存在)。需要线的地方 3px、端点 butt、转角直角。
103
-
104
- ## Do's and Don'ts
105
-
106
- - Don't:渐变、投影、立体效果——平涂是底线。
107
- - Don't:超过 3 个彩色;第 4 个颜色出现时删掉一个形状。
108
- - Don't:孟菲斯贴纸大杂烩(波浪线、随机圆点、蚯蚓曲线满天飞)。
109
- - Don't:描边形状(要么实心,要么不存在)。
110
- - Do:比例悬殊——最大的形状是最小的 10 倍以上,构成才有张力。
111
- - Do:留出奶油底色的呼吸区,别把版面填满。
112
-
113
- ## Composition
114
-
115
- - 海报:一个主导形状(大圆/大三角)+ 一两个次级形状 + 标题字块,重心稳定在下 1/3。
116
- - 图标/插图:用基本形拼组具象物(几何化的房子/箭头/人形),拼组件数 ≤5。
117
-
118
- ## Image Prompt Templates
119
-
120
- - base: "Bauhaus-inspired geometric poster, flat solid shapes only, cream paper background (#F6EFE3), bold composition of oversized circle and triangle in cobalt blue (#2244A8) and warm red (#E85D2F) with a yellow accent (#F2B705), near-black geometric sans-serif typography, hard edges, no gradients, no outlines, strong scale contrast, 1920s modernist print aesthetic"
121
- - negative: "gradient, drop shadow, 3D, Memphis-style squiggles and confetti, outlined shapes, more than three colors, glossy, childish sticker style"
122
- - 注:形状数量与颜色数量在描述里写死(例如 "three shapes, two colors plus black"),模型不约束就会加料。