thread-master/docs/product/haixun-console/tasks/T013-wizard-script-steps.md

48 lines
945 B
Markdown
Raw Normal View History

2026-07-09 03:45:28 +00:00
# T013 — Wizard script steps (speakers include lead)
> Status: `todo`
> Milestone: `M5`
> Est. change: `~180 lines`
## Goal
步驟 3 劇本root 固定 leadreply 每步帳號下拉 = **lead cast****含 lead**)。
## Depends on
- T012
## Inputs
- Spec §2 Speakers、§4.3 步驟 3、驗收 root→cast→lead
## Outputs
### 程式變更
| 路徑 | 動作 | 說明 |
|------|------|------|
| `apps/web/src/pages/studio/steps/ScriptStep.tsx` | add | 步驟列表 |
| `apps/web/src/domain/speakers.ts` | add/edit | speakersOf(play)、validate |
### 行為變更
- 新增/刪除 reply 步root 不可刪)
- 每步文案 textarea
- reply 可選 lead
- 校驗reply.account_id ∈ Speakers
## Out of scope
- 預覽與提交T014
## Acceptance
- [ ] 可建 root(A) reply(B) reply(A)
- [ ] 不在 Speakers 的選項不出現
- [ ] `npm run build` 通過
```bash
cd apps/web && npm run build
```