@wji.ai/cli 0.1.0 → 0.2.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.
- package/README.md +10 -1
- package/dist/commands/canvas.js +91 -12
- package/dist/commands/fsnode.js +30 -1
- package/dist/commands/gen.js +4 -19
- package/dist/commands/workspace.js +6 -2
- package/dist/index.js +4 -1
- package/package.json +1 -1
- package/skill/short-drama/SKILL.md +305 -0
- package/skill/short-drama/examples/night-shift/episodes/E01.json +1883 -0
- package/skill/short-drama/examples/night-shift/project.json +774 -0
- package/skill/short-drama/reference/canvas-recipes.md +199 -0
- package/skill/short-drama/reference/craft-motion.md +116 -0
- package/skill/short-drama/reference/craft-shots.md +177 -0
- package/skill/short-drama/reference/craft-story.md +188 -0
- package/skill/short-drama/reference/dialogue-craft.md +120 -0
- package/skill/short-drama/reference/schema.md +435 -0
- package/skill/short-drama/reference/stage-art.md +56 -0
- package/skill/short-drama/reference/stage-characters.md +206 -0
- package/skill/short-drama/reference/stage-outline.md +103 -0
- package/skill/short-drama/reference/stage-script.md +113 -0
- package/skill/short-drama/reference/stage-storyboard.md +465 -0
- package/skill/short-drama/reference/workspace-layout.md +118 -0
- package/skill/short-drama/scripts/selftest.mjs +1411 -0
- package/skill/short-drama/scripts/short-drama.mjs +3371 -0
- package/skill/wji/SKILL.md +97 -22
- package/skill/wji/reference/canvas-recipes.md +16 -2
- package/skill/wji/reference/commands.md +15 -6
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
# Story craft — how a commercial 短剧 is written
|
|
2
|
+
|
|
3
|
+
The method behind stages 1, 2 and 4, distilled from the user's `w-short-drama-editor` and
|
|
4
|
+
`w-screenplay-character-creator` skills. **Read this before the outline and again before the
|
|
5
|
+
first character.** What can be checked is a gate (named in each section); the rest is the job.
|
|
6
|
+
|
|
7
|
+
The one idea underneath everything: a 短剧 is not a story told fast, it is **audience emotion
|
|
8
|
+
managed per 30 seconds** — an opening conflict keeps them, a turn every half minute keeps them
|
|
9
|
+
expecting, and a cliff makes the next tap involuntary.
|
|
10
|
+
|
|
11
|
+
## 1. The six judgements — `outline.brief` (gate `brief`)
|
|
12
|
+
|
|
13
|
+
Nothing is written until these are answered. A one-line idea from the user is not enough; ask
|
|
14
|
+
the focusing questions first, do not pad a synopsis around a blank.
|
|
15
|
+
|
|
16
|
+
| 判断项 | 必须回答的问题 | 合格标准 | field |
|
|
17
|
+
| --- | --- | --- | --- |
|
|
18
|
+
| 题材定位 | 复仇、逆袭、甜宠、豪门、悬疑、古装、家庭伦理,还是混合? | 类型清晰,不能只写“爱情”或“都市” | `params.genre` |
|
|
19
|
+
| 受众定位 | 主要观众追求什么情绪补偿? | 能说出观众想看的爽感、痛点或幻想 | `audience` |
|
|
20
|
+
| 一句话卖点 | 主角、困境、反击与最大看点,一句话 | 句子内同时有角色、冲突、反转或利益点 | `logline` |
|
|
21
|
+
| 核心爽点 | 打脸、复仇、强宠、身份揭露、智商碾压还是情感释放? | 爽点可以反复变奏,不是一场戏就用完 | `satisfactionEngine` |
|
|
22
|
+
| 主角压力 | 被谁压迫、被什么困住、最怕失去什么? | 压力具体可拍,有人、有事、有代价 | `protagonistPressure` |
|
|
23
|
+
| 商业钩子 | 前 3 集凭什么令观众留下? | 羞辱、危机、秘密、身份差、强反转或强欲望 | `mainHook` |
|
|
24
|
+
|
|
25
|
+
Plus `antagonistPressure` (how the opposition stays effective — a villain who loses IQ to move
|
|
26
|
+
the plot is a fault), `emotionalLine` (爱情 / 亲情 / 友情 / 师徒 / 复仇执念) and `promise` (the
|
|
27
|
+
emotional payment the audience is owed at the end).
|
|
28
|
+
|
|
29
|
+
## 2. Three phases — `outline.structure` (gate `structure`)
|
|
30
|
+
|
|
31
|
+
The commercial rhythm of an 80–100 episode drama is 黄金窗口 (1–10) / 稳固发展 (11–30) / 高潮收束
|
|
32
|
+
(31+). Scale it: **the first ~20 % is the retention window, the middle ~50 % escalates, the
|
|
33
|
+
last ~30 % pays**. A three-episode drama is 1 / 1 / 1. For six or more episodes the golden
|
|
34
|
+
window is never shorter than the first three.
|
|
35
|
+
|
|
36
|
+
| 阶段 | 功能 | 写作任务 | 常见错误 |
|
|
37
|
+
| --- | --- | --- | --- |
|
|
38
|
+
| 黄金窗口期 `golden` | 建立人设、困境、主线、最大钩子 | 快速展示主角被压迫、关键秘密、反击能力与核心关系 | 开场铺垫太久、背景讲解太多、爽点太迟出现 |
|
|
39
|
+
| 发展升级期 `escalation` | 反复升级冲突与关系拉扯 | 每 3–5 集一个小高潮,每 8–10 集一次大反转 | 只换事件不升级矛盾;反派重复羞辱但主线无进展 |
|
|
40
|
+
| 高潮收束期 `climax` | 集中爆发秘密、终局对抗、情感选择 | 回收伏笔,逼主角作终极选择,完成最大爽点 | 反转失控、支线过多、高潮与主题无关 |
|
|
41
|
+
|
|
42
|
+
Each phase carries `task`, `satisfactionPlan`, `hookPlan`.
|
|
43
|
+
|
|
44
|
+
## 3. The first three episodes (gate `episode-design`)
|
|
45
|
+
|
|
46
|
+
| 集 | 功能 | 建议内容 |
|
|
47
|
+
| --- | --- | --- |
|
|
48
|
+
| 第 1 集 | 立刻抓人 | 主角被羞辱、被迫选择、遇到重大危机;结尾抛出身份或危机钩子 |
|
|
49
|
+
| 第 2 集 | 证明爽点 | 主角第一次反击或被强力角色撑腰 — **`satisfaction.type` equals the brief's engine** |
|
|
50
|
+
| 第 3 集 | 放大主线 | 更大阴谋、真正反派或长线情感矛盾 — function includes 冲突升级 / 身份揭露 / 大反转 |
|
|
51
|
+
|
|
52
|
+
The finale's function includes 清算收束 or 大反转. The same `hookType` four episodes in a row
|
|
53
|
+
is a monotony the gate refuses.
|
|
54
|
+
|
|
55
|
+
## 4. One episode — 分集目录 fields (gate `episode-design`)
|
|
56
|
+
|
|
57
|
+
Every `outline.episodes[]` entry answers, before any prose:
|
|
58
|
+
|
|
59
|
+
- `function` — 开局钩子 / 冲突升级 / 身份揭露 / 情感推进 / 大反转 / 清算收束 (one or more).
|
|
60
|
+
- `task` — `goal` (what they must do), `obstacle` (who stops them), `stake` (what losing costs).
|
|
61
|
+
- `change` — **这一集改变了什么?** If the honest answer is "they discussed something", the
|
|
62
|
+
episode is not strong enough. Relationship, task, secret or situation must move.
|
|
63
|
+
- `satisfaction` — `type` from the library below and `action`: the visible action that does it.
|
|
64
|
+
A 爽点 is never a feeling; it is a document slammed on a table, a recording played, a crowd
|
|
65
|
+
changing how they address someone.
|
|
66
|
+
- `hookType` — 身份 / 危机 / 结果 / 情感 / 反转 / 道具.
|
|
67
|
+
|
|
68
|
+
### 爽点类型库
|
|
69
|
+
|
|
70
|
+
| 类型 | 使用方法 | 可拍摄表现 |
|
|
71
|
+
| --- | --- | --- |
|
|
72
|
+
| 打脸 | 被看低后用证据、身份、能力或盟友即场反压 | 文件甩桌、监控播放、众人改口、反派失态 |
|
|
73
|
+
| 身份揭露 | 低位角色忽然暴露高位身份或关键关系 | 名片、印章、电话、车队、众人称呼转变 |
|
|
74
|
+
| 复仇 | 曾经伤害主角的人付出明确代价 | 合约作废、职位被撤、婚礼中断、假面被拆 |
|
|
75
|
+
| 强宠 | 权力角色公开选边站 | 挡刀、撑腰、牵手离场、公开承认关系 |
|
|
76
|
+
| 智商碾压 | 主角提前布局,反派自投罗网 | 反派说出的每句话都被录下或反成证据 |
|
|
77
|
+
| 情感释放 | 长期压抑的爱、恨、委屈或歉意终于爆发 | 含泪对峙、沉默拥抱、戒指落地、转身离开 |
|
|
78
|
+
|
|
79
|
+
### 钩子类型库
|
|
80
|
+
|
|
81
|
+
| 类型 | 典型情境 | 适用 |
|
|
82
|
+
| --- | --- | --- |
|
|
83
|
+
| 身份 | 「你叫她什么?她才是真正的……」 | 豪门、替身、真假千金、复仇 |
|
|
84
|
+
| 危机 | 门被踢开、主角被包围、证据被抢走 | 动作、悬疑、商战、家庭伦理 |
|
|
85
|
+
| 结果 | 比赛结果、亲子鉴定、合约判决即将公布 | 需要观众等答案的剧情 |
|
|
86
|
+
| 情感 | 一方告白、误会揭穿、选择二选一 | 甜宠、虐恋、婚恋 |
|
|
87
|
+
| 反转 | 观众刚以为赢了,真正幕后者出现 | 任何需要升级的中后段 |
|
|
88
|
+
| 道具 | 手机讯息、录音笔、戒指、遗嘱、诊断书出现 | 低成本高信息量 |
|
|
89
|
+
|
|
90
|
+
## 5. The 创作指引 — `outline.guideline` (gate `guideline`)
|
|
91
|
+
|
|
92
|
+
The top-level rule document of the drama. `render guideline` publishes it as its own dataset,
|
|
93
|
+
and **the skill re-reads it before writing any character, episode or storyboard** — that
|
|
94
|
+
discipline, not the fields, is what the reference skill is built on. `tone`,
|
|
95
|
+
`emotionalIntensity`, `dialogueStyle`, `visualStyle`, `productionLimits`, at least three
|
|
96
|
+
`forbidden` rules, three to five `priorities` (不可偏离重点). When the user changes a core
|
|
97
|
+
requirement — genre, register, episode length, the ending — the guideline changes first, then the
|
|
98
|
+
episodes.
|
|
99
|
+
|
|
100
|
+
## 6. Inside an episode — the formula (gate `rhythm`, stage 4)
|
|
101
|
+
|
|
102
|
+
| 段落 | 目标 | 必须出现 | 检查问题 |
|
|
103
|
+
| --- | --- | --- | --- |
|
|
104
|
+
| 0–15 秒 | 立即留住观众 | 冲突、羞辱、危机、奇观、秘密、反转 | 观众不看上一集,是否仍会想继续看? |
|
|
105
|
+
| 前 30 秒 | 建立本集任务 | 要做什么、阻力是谁、输了的代价 | 任务是否清楚?谁在阻止主角? |
|
|
106
|
+
| 中段 | 推进主线与情绪 | 新信息、新阻碍、新反击、新误会、新选择 | 是否只是聊天? |
|
|
107
|
+
| 最后 30 秒 | 迫观众追下一集 | 身份揭露、危机升级、结果悬念、情感选择、反转打脸 | 下一集是否非看不可? |
|
|
108
|
+
|
|
109
|
+
In the JSON: `hookBeat` within `hookSeconds` (15) of cumulative time; beats that bring new
|
|
110
|
+
information / obstacle / counter / choice carry `turn: true`; the 爽点 is `satisfactionBeat`
|
|
111
|
+
(an action beat, or a line with an action beside it); the last beat is the cliff. The gate
|
|
112
|
+
measures the gaps hook → turns → 爽点 → cliff against `turnSeconds` (30).
|
|
113
|
+
|
|
114
|
+
**谈话 + 行动.** Dialogue is accompanied by a visible action, resistance, reaction or change
|
|
115
|
+
of pressure. Never more than `maxConsecutiveLines` (3) lines without an action beat; action beats
|
|
116
|
+
at least `minActionRatio` (35 %) of the line count.
|
|
117
|
+
|
|
118
|
+
| 规则 | 不合格写法 | 合格写法 |
|
|
119
|
+
| --- | --- | --- |
|
|
120
|
+
| 可拍摄 | 她心里很难过,想起多年委屈。 | △她捏皱鉴定报告,指节泛白,却没有掉泪。 |
|
|
121
|
+
| 有对抗 | 两人坐着解释背景。 | 一人要走,一人堵门;一人要藏证据,一人逼他交出。 |
|
|
122
|
+
| 台词短准 | 「其实这件事的前因后果是……」 | 「你早就知道,对吗?」 |
|
|
123
|
+
| 每集有进展 | 重复上一集吵架。 | 吵架导致证据曝光、关系破裂或新任务出现。 |
|
|
124
|
+
|
|
125
|
+
Words that are prose and not pictures (心想 / 内心 / 回忆起 / 脑海 / 感到无比 / 说不出的) are
|
|
126
|
+
refused by the `filmable` gate, as are inferred states (像是 / 似乎 / seems to) and more than
|
|
127
|
+
three hand verbs in one beat — see `craft-shots.md` §generability for why a video model cannot
|
|
128
|
+
perform them.
|
|
129
|
+
|
|
130
|
+
## 7. The character bible — `characters[].bible` (gates `bible`, `relationships`)
|
|
131
|
+
|
|
132
|
+
A bible answers three questions: **how did they become this, how do they act now, how will the
|
|
133
|
+
story force them to change or pay**. It is not a résumé.
|
|
134
|
+
|
|
135
|
+
Method, in order:
|
|
136
|
+
|
|
137
|
+
1. **剧情功能** — 主角 / 共同主角 / 反派 / 爱情线 / 导师 / 盟友 / 镜像 / 压力测试者 / 喜剧调节. Not
|
|
138
|
+
the tier: a `support` character can be the 反派.
|
|
139
|
+
2. **一句话人物钩子** — 身份 + 核心矛盾 + 外在欲望 + 风险. "一个靠揭穿谎言成名的记者,却为保护女儿
|
|
140
|
+
必须掩盖一宗真相。"
|
|
141
|
+
3. **Outside in** — the visible first (`profile.appearance`, `identityEn`, `speech`), then the
|
|
142
|
+
wound, the misbelief, the want, the need.
|
|
143
|
+
4. **Want vs Need** — `want` is the concrete goal they chase on screen; `need` is the truth they
|
|
144
|
+
must face; the gate refuses them being the same sentence. `misbelief` is the wrong world-view
|
|
145
|
+
the wound taught them; `contradiction` is the tension they live in ("相信正义,但靠犯罪养家").
|
|
146
|
+
5. **Conflict map** — inner / interpersonal / task / social / moral; each becomes a scene.
|
|
147
|
+
6. **关系网** — for every important pair: `surface` (表面关系), `real` (真正关系), `power`
|
|
148
|
+
(权力差), `secret`, `turnEpisode`. A relationship that is only a title has no drama in it.
|
|
149
|
+
Somewhere in the cast there is a secret; that is where the reversals come from.
|
|
150
|
+
7. **微叙事小传** — `wound` (150–250 字: not the event, the choice they made and what they
|
|
151
|
+
believed after) and `pastChoices` (≥ 2 for leads: when / pressure / choice / gained / lost /
|
|
152
|
+
residue).
|
|
153
|
+
8. **Arc** — 开场 → 第一转折 → 中段 → 低谷 → 高潮选择 → 结局, each stage bound to an episode; a
|
|
154
|
+
lead has at least three stages and the 高潮选择 is one of them.
|
|
155
|
+
9. **Scene tools** — `pressureResponse` (what the body does under pressure), `speech`
|
|
156
|
+
(`rhythm`, `catchphrase`, `silence`, `forbiddenWords`, optional `register` override), three
|
|
157
|
+
`forbidden` (things that break the character) and three `mustFace`.
|
|
158
|
+
|
|
159
|
+
| 错误 | 修正 |
|
|
160
|
+
| --- | --- |
|
|
161
|
+
| 人物只有背景,没有现在行动 | 加入外在目标、场景选择与赌注 |
|
|
162
|
+
| 人物很惨但不主动 | 设计角色在压力下的主动策略 |
|
|
163
|
+
| 缺点只是讨厌 | 改成角色如何阻碍自己 |
|
|
164
|
+
| 关系只有称谓 | 补上权力差、秘密、需求、欠债与转折 |
|
|
165
|
+
| 矛盾只是标签 | 让矛盾在至少三场戏中被测试 |
|
|
166
|
+
| 弧线只写“变成熟” | 写出具体新行为与付出的代价 |
|
|
167
|
+
|
|
168
|
+
`voice.videoDirection` and every line's `delivery` are written *from* `bible.speech` — the
|
|
169
|
+
rhythm, the way they go silent, the words they never use. `seed script` prints them in the
|
|
170
|
+
`seedNote` so they are in front of you while writing.
|
|
171
|
+
|
|
172
|
+
## 8. Writing order, per the reference skill
|
|
173
|
+
|
|
174
|
+
1. Save the user's brief and constraints (`source`, `params`, `register`).
|
|
175
|
+
2. `outline.brief` — the six judgements. Ask before inventing.
|
|
176
|
+
3. Characters: outline entries, then bibles and the relationship web.
|
|
177
|
+
4. `outline.structure`, `beats`, `guideline`.
|
|
178
|
+
5. `outline.episodes` — the 分集目录 (function / task / change / 爽点 / 钩子) before any synopsis.
|
|
179
|
+
6. Validate, sign off with the user, then episodes in batches.
|
|
180
|
+
7. Scripts, one at a time, re-reading `render guideline` and the speakers' bibles first.
|
|
181
|
+
8. `render script` — the 创作自检 table at the bottom is the reference's 16-point check; a green
|
|
182
|
+
episode is 16/16 by construction, anything less names the row to fix.
|
|
183
|
+
|
|
184
|
+
Sources: 红果短剧官方《短剧编剧教程》节奏设计 (juben.pro), 知乎《如何从0到1成为短剧编剧》, 远见《两分钟一个钩子》,
|
|
185
|
+
Stage 32 *How To Develop Complex Characters*, September C. Fawkes *Want vs Need*, Writers Helping
|
|
186
|
+
Writers *Complex Characters and the Power of Contradiction*, Industrial Scripts *Conflict in a
|
|
187
|
+
Story*, Movie Outline *Unusual Character Relationships*, Writers in the Storm *Creating a Bible
|
|
188
|
+
for Characters*.
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
# Dialogue craft — lines as action, in the right 语体
|
|
2
|
+
|
|
3
|
+
Distilled from the user's `w-film-dialogue-editor` skill. Read it before writing a script's
|
|
4
|
+
lines and before any polish pass (`render dialogue --ep N`). What can be checked is the
|
|
5
|
+
**advisory** `dialogue-register` gate — it reports, it never blocks, because a 穿越 character
|
|
6
|
+
speaking 古装 in a modern drama is right, not wrong.
|
|
7
|
+
|
|
8
|
+
## 1. A line is an action under pressure
|
|
9
|
+
|
|
10
|
+
Not "what would they say", but: what do they want *right now*, how does the other person block
|
|
11
|
+
it, why do they not say the true thing, and is the situation different after the line. A line
|
|
12
|
+
that does not push the plot, reveal the person, change the relationship, create conflict, carry
|
|
13
|
+
the theme or set a rhythm is cut.
|
|
14
|
+
|
|
15
|
+
| 维度 | 判断问题 | 常见问题 | 修改方向 |
|
|
16
|
+
| --- | --- | --- | --- |
|
|
17
|
+
| 戏剧功能 | 这句话推动剧情、揭露角色、改变关系或制造冲突吗? | 交代资料、重复情绪、填空 | 删除、压缩,或改成令对方必须回应的行动 |
|
|
18
|
+
| 角色声音 | 遮住名字,还认得出是谁在说吗? | 所有人同声同气 | 按年龄、阶层、职业、教育、地域、亲密距离改 |
|
|
19
|
+
| 潜台词 | 真正想说的有没有藏起来? | 太直白、太解释 | 试探、否认、迂回、玩笑、攻击、照顾动作或沉默 |
|
|
20
|
+
| 资讯处理 | 熟人是否在互相解释已知的事? | exposition 太方便 | 把资料藏入控诉、责任、交易、威胁、笑话或选择 |
|
|
21
|
+
| 节奏 | 有停顿、打断和反应吗? | 每句完整说明 | 删短、拆句、加反应 |
|
|
22
|
+
| 可拍摄性 | 演员能用行动演出来吗? | 只有心理描述 | 可演动词:逼、哄、避、试探、挑衅、求饶 |
|
|
23
|
+
|
|
24
|
+
Order of work: structure and function first, then voice, then tone words last. A scene with no
|
|
25
|
+
goal, obstacle or turn is not saved by natural-sounding lines.
|
|
26
|
+
|
|
27
|
+
**`delivery` is an action verb, not an emotion.** `(压着嗓子)`, `(明知故问,带着笑)`, `(逼)`,
|
|
28
|
+
`(哄)` — never a bare `(生气)`. The gate notes an emotion-only delivery. The same parenthetical
|
|
29
|
+
feeds two places downstream: the storyboard's visible performance state and the video prompt's
|
|
30
|
+
speech direction; both derive from it, neither invents a new emotion.
|
|
31
|
+
|
|
32
|
+
## 2. 语体 — `params.register`
|
|
33
|
+
|
|
34
|
+
Decide it once (`init --register`), per character override in `bible.speech.register`. It also
|
|
35
|
+
sets the accent the video model is told to speak when `speechAccent` is empty.
|
|
36
|
+
|
|
37
|
+
### 粤语/港式
|
|
38
|
+
|
|
39
|
+
Not written Chinese with 啦 sprinkled on. Age, class, job, education, family language, power
|
|
40
|
+
position and intimacy decide the particles, the swearing, the English mixed in, the short
|
|
41
|
+
sentences and the silences. 短、快、准、狠, 笑中有痛 — but every 金句 grows from the person and the
|
|
42
|
+
moment. Do not pile 啦、喇、啫、咋、喎、噃、吖嘛; each one marks an attitude. The gate notes a 粤语
|
|
43
|
+
drama where fewer than half the lines of a scene carry a Cantonese marker (咗 嘅 唔 冇 哋 喺 嚟 嗰
|
|
44
|
+
啲 咁 乜 佢 睇 諗 …) — that is the 书面中文硬转 smell.
|
|
45
|
+
|
|
46
|
+
### 大陆普通话
|
|
47
|
+
|
|
48
|
+
Layered by region, generation and trade, not 播音腔. Particles 啊、呀、吧、嘛、呢、啦、唄、咯、嘞、嗎
|
|
49
|
+
mark attitude; 儿化音 only on northern characters. Net slang (卧槽、绝了、破防、emo、整活、麻了、家人们
|
|
50
|
+
…) belongs to the 90后/00后 — the gate notes it on anyone whose `ageRange` reads forty or
|
|
51
|
+
over. Workplace / 海归 characters mix English (OKR、deadline、卷、躺平) only when it fits. Regional
|
|
52
|
+
accents (京片子、东北、川渝、沪普、粤普) are a tag on a few characters, never the whole cast.
|
|
53
|
+
|
|
54
|
+
### 台湾国语
|
|
55
|
+
|
|
56
|
+
Softer and rounder: 啊、欸、耶、啦、嘛、嘞、喔、囉、哦、吼、餒; sentence ends 的啦/好不好/是不是/对不对.
|
|
57
|
+
Keep 就、然后、其实、真的 from becoming filler. Light English (OK、no、yeah、sorry、case), 闽南语/客语
|
|
58
|
+
as identity marks (歹势、阿娘喂、靠北、冲啥小、夭寿喔). Not written Chinese plus 啦.
|
|
59
|
+
|
|
60
|
+
### 港式普通话
|
|
61
|
+
|
|
62
|
+
Cantonese syntax leaking through (量词错位「一位朋友」, 后置副词「先」「过」), more English than
|
|
63
|
+
mainland speech, particles mixed (啦/囉/嘛/呢/嘅), flat tone. It surfaces when the character is
|
|
64
|
+
tired or irritated — not every line, or it reads as a joke.
|
|
65
|
+
|
|
66
|
+
### 古装/年代
|
|
67
|
+
|
|
68
|
+
白话 base plus period vocabulary, never 文言. Forms of address by power position (大人、老爷、夫人、
|
|
69
|
+
姑娘、公子、在下、卑职、奴婢、本宫、朕、孤). No modern words — OK、没问题、搞定、紧张、压力、约会、上班、项目、
|
|
70
|
+
团队、套路 (the gate notes them), no net slang, no Cantonese particles. 年代: 民国 (先生、太太、洋行、
|
|
71
|
+
跑街、堂倌), 早期共和国 (同志、单位、组织、批判), 80–90 年代 (万元户、下海、大哥大、BP 机、的士).
|
|
72
|
+
|
|
73
|
+
### English (美式 main axis, 英式 for authority and threat)
|
|
74
|
+
|
|
75
|
+
Four hard rules. **Short** — a native actor's line averages 7–12 words; over 20 needs a reason
|
|
76
|
+
(the gate notes it). **Contractions are the default** — `I am / do not / cannot / going to` mark
|
|
77
|
+
emphasis, formality, threat or a non-native speaker (noted). **Subtext by deflection, not
|
|
78
|
+
adjectives** — "I hate you!" is soap opera; the hot scene is the understated one. **Names are
|
|
79
|
+
heavy** — English speakers address each other by name once or twice a scene, as a warning,
|
|
80
|
+
comfort, pressure or plea (the gate notes more than `maxNameCallsPerScene`). Pauses go in action
|
|
81
|
+
lines (`△ She doesn't answer.`), `--` is an interruption from outside, `...` is trailing off inside.
|
|
82
|
+
|
|
83
|
+
Chinese → English is **transcreation, not translation**: keep the scene goal, the strategies and
|
|
84
|
+
the turn; rewrite the surface. Traps: 句句带称谓, 职衔直译 (Boss Wang / Teacher Li), 情绪直述, 反问句
|
|
85
|
+
密集, 客套敬语, 成语直译, 主语省略, 语气词 (呵/哼/唉 → action line), 解释型台词, 集体主语 (我们女人).
|
|
86
|
+
Check by reading the English with the names covered: if it sounds like subtitles or a TED talk,
|
|
87
|
+
it is not done.
|
|
88
|
+
|
|
89
|
+
American register comes from three axes — class/education, region, community — one or two per
|
|
90
|
+
character, General American under it. British English in an American drama is the polite threat
|
|
91
|
+
("That's interesting." = I disagree; "With the greatest respect…" = you are an idiot); switch
|
|
92
|
+
whole vocabularies (flat / trainers / mobile / queue / holiday), never half. Generation slang has
|
|
93
|
+
a 6–18-month half-life: two or three signature words per character, no more. Platform swearing:
|
|
94
|
+
vertical short drama allows damn / hell / ass / limited bitch, avoids the f-word; the first three
|
|
95
|
+
seconds are clean.
|
|
96
|
+
|
|
97
|
+
## 3. The polish pass — `render dialogue --ep N`
|
|
98
|
+
|
|
99
|
+
Produces the reference's 逐句校对表: 原句 filled, 问题 / 修改句 / 修改理由 / 导演/演员提示 to fill,
|
|
100
|
+
with each speaker's `bible.speech` summary in the last column. Levels: 轻修 (keep the sentence,
|
|
101
|
+
fix tone, rhythm, filler), 中修 (restructure, cut explanation, sharpen the attack and defence),
|
|
102
|
+
重修 (re-design the beats and strategies, keep the story intent). Do it when the user asks, when
|
|
103
|
+
dialogue is the visible weakness, or when the register gate keeps noting the same scene. The
|
|
104
|
+
filled table is appended to the screenplay dataset under `## 对白校对`.
|
|
105
|
+
|
|
106
|
+
| 原句 | 问题 | 修改句 | 修改理由 |
|
|
107
|
+
| --- | --- | --- | --- |
|
|
108
|
+
| 我很生气,因为你五年前害死我弟弟。 | 情绪和背景太直白 | 你每年今日都买花,是买给他,还是买给你自己好过点? | 背景藏入控诉,角色不是解释,是攻击 |
|
|
109
|
+
| 我爱你,所以我希望你不要走。 | 情绪直接,缺少防卫 | 外面下雨。把伞拿上再走。 | 照顾动作代替表白 |
|
|
110
|
+
| 我不信任你。 | 太概念化 | 你今晚的电话,又刚好没电? | 具体质疑,可演 |
|
|
111
|
+
|
|
112
|
+
Director notes are playable actions: "你不是解释,你是在逼对方认错", "这句停半拍,因为角色在决定是否把真
|
|
113
|
+
正的话吞回去" — never "自然一点".
|
|
114
|
+
|
|
115
|
+
## 4. Before delivery
|
|
116
|
+
|
|
117
|
+
Shorter, more purposeful, more the person, more subtext, easier to play — and not everyone
|
|
118
|
+
sounding the same. Read the 粤语 aloud; check the 普通话 for the right particles and no 串味
|
|
119
|
+
between 大陆 / 台湾 / 港式; check 古装 for modern words; check English for contractions, name
|
|
120
|
+
density, length, emotion declarations and consistent nationality.
|