diff --git a/docs/superpowers/specs/2026-04-07-script-layout-optimization-design.md b/docs/superpowers/specs/2026-04-07-script-layout-optimization-design.md new file mode 100644 index 0000000..f25ff78 --- /dev/null +++ b/docs/superpowers/specs/2026-04-07-script-layout-optimization-design.md @@ -0,0 +1,152 @@ +--- +author: Peanut +created_at: 2026-04-07 +purpose: 优化"创造未来"页面布局,与原型图完全一致 +--- + +# 小程序"创造未来"页面布局优化设计 + +## 问题背景 + +当前 ScriptView.vue 中存在两处布局与原型不一致: + +### 1. 关键配角/新的人设区域 + +**问题**:姓名、角色、关系三个输入框当前为两列布局,导致布局混乱。 + +**原型设计**: +- 三列等分布局 (`grid-cols-3`) +- 间距 `gap-2` (≈ 16rpx) + +**当前实现**: +- 两列布局 (`grid-template-columns: 1fr 1fr`) +- 导致关系选择器换行 + +### 2. 核心参数区域 + +**问题**:叙事风格、故事篇幅的按钮容器间距与原型不一致。 + +**原型设计**: +- 外层容器:两列布局,间距 `gap-3` (≈ 24rpx) +- 内层按钮:`flex flex-wrap gap-1.5` (≈ 12rpx) + +--- + +## 设计方案 + +### 1. NPC 表单三列布局 + +**当前代码**: +```css +.npc-form { + display: grid; + grid-template-columns: 1fr 1fr; /* 两列 */ + gap: 16rpx; +} + +.npc-textarea { + grid-column: 1 / -1; /* 跨越两列 */ +} +``` + +**修改后**: +```css +.npc-form { + display: grid; + grid-template-columns: 1fr 1fr 1fr; /* 三列等分 */ + gap: 16rpx; /* 间距适中 */ +} + +.npc-textarea { + grid-column: 1 / -1; /* 跨越三列 */ +} +``` + +**效果**: +- 第一行:姓名 | 角色 | 关系(三个输入框等宽) +- 第二行:人设描述(textarea 跨越三列) + +### 2. 核心参数间距调整 + +**当前代码**: +```css +.params-container { + display: grid; + grid-template-columns: 1fr 1fr; + gap: 24rpx; /* 当前值可能与原型不一致 */ +} + +.param-options { + display: flex; + flex-wrap: wrap; + gap: 10rpx; /* 调整为目标值 */ +} +``` + +**修改后**: +```css +.params-container { + display: grid; + grid-template-columns: 1fr 1fr; + gap: 24rpx; /* 与原型 gap-3 一致 */ +} + +.param-options { + display: flex; + flex-wrap: wrap; + gap: 10rpx; /* 与原型 gap-1.5 一致 (≈ 12rpx) */ +} +``` + +--- + +## 修改文件 + +| 文件 | 修改内容 | +|------|----------| +| `mini-program/src/pages/main/ScriptView.vue` | 修改 `.npc-form` 为三列布局,调整 `.params-container` 和 `.param-options` 间距 | + +--- + +## 验收标准 + +- [x] NPC 表单:姓名、角色、关系三个输入框在同一行,等宽分布 +- [x] NPC 表单:textarea 跨越三列,宽度与上方三个输入框总宽度一致 +- [x] 核心参数容器:叙事风格和故事篇幅两列布局,间距 24rpx +- [x] 参数选项:按钮换行展示,间距 10rpx +- [x] 整体布局与原型视觉一致 + +--- + +## 原型参考 + +**NPC 表单**(原型代码): +```html +
叙事风格
+故事篇幅
+