Brutalist 设计合约
贡献者原创 Brutalist 风格族使用的视觉语法
Brutalist 设计合约
Section titled “Brutalist 设计合约”本文档描述 Brutalist 基础切片与参考 Button projection 使用的视觉语法。语义、键盘、ARIA 和命令连接继续以 Base 合约为准。
- 控件和表面使用方角几何。
- 结构边框固定为 2px 实线 ink。
- 小型信息 surface 只有在对应 family 明确编目时才允许 2px 圆角。
| 状态 | 位移 | 硬阴影 |
|---|---|---|
| 默认 | 无 | 3px 3px |
| 悬停 | -1px, -1px | 4px 4px |
| 按下 | 1px, 1px | 无 |
基础色为 paper/ink。平涂强调色承担语义:金丝雀黄用于明确动作、薄荷绿用于确认、薰衣草紫用于 focus 或批注、珊瑚红用于警示与按压、天空蓝用于发现或选中轨道。禁止渐变、玻璃、模糊和柔光。
位置、标签、几何和状态是主要信号;颜色只是辅助。
每一种强调填充都以固定的背景/前景色对交付(例如 bg-main 配 text-main-foreground)。强调前景在 Light 与 Dark 下都保持墨色。纸面等主题相关表面通过 CSS 变量解析,使宿主主题切换时已挂载控件无需指针交互即可重绘。
Preset 交付
Section titled “Preset 交付”Package-owned BRUTALIST_THEME manifest 是 Light 与 Dark semantic values 的 authoring source。文档页面与 CLI preset 消费同一完整 key set 的 generated projection;示例不再维护局部 palette subset。
Proto UI config v1 只启用一个项目级 style preset。Brutalist 项目应使用 proto-ui init --prototypes brutalist 初始化。若项目已启用另一 preset,添加 Brutalist component 会在安装或修改 generated files 前失败;CLI 不会自动替换应用主题。使用 --no-styles 时,add 会成功并给出 ownership note,应用显式提供全部必需的 --pui-* semantic tokens。
- Focus 使用有偏移的硬轮廓。
- Disabled 保留边框和结构,同时降低强调。
- 交互目标保留可访问名称和 Base 键盘行为。
- Portal surface 继承页面级主题变量。