- 重构版主提示词(14 parts,面向 ClassHelper 灵动岛重构) - ClassIsland 全量规格提示词(20 parts,含分卷与逐章版本) - 投喂指南、分卷、逐节文件 - 调研记录、一致性基线、生成与质检脚本
32 lines
2.1 KiB
JavaScript
32 lines
2.1 KiB
JavaScript
import { readFileSync, writeFileSync } from 'node:fs';
|
||
function patch(file, pairs) {
|
||
let t = readFileSync('parts-r/' + file, 'utf8');
|
||
for (const [a, b] of pairs) {
|
||
if (!t.includes(a)) { console.log('MISS ' + file + ' :: ' + a.slice(0, 60)); continue; }
|
||
t = t.split(a).join(b);
|
||
}
|
||
writeFileSync('parts-r/' + file, t, 'utf8');
|
||
console.log('patched ' + file);
|
||
}
|
||
|
||
patch('06-tokens.md', [
|
||
['| 固定包围盒 | 不适用(classisland fixed 行宽按内容 + 窗口按行宽自适应;仍需包围盒) |',
|
||
'| 固定包围盒(fixed) | `宽 = min(工作区宽, 960)`、`高 = 40 + 2×pad`(pad 默认 20,覆盖阴影);行内容在窗口内按停靠对齐并在超出时截断/省略;消息到达不改变窗口尺寸 |'],
|
||
]);
|
||
patch('07-island-components.md', [
|
||
['| 窗口几何 | 宽按内容、高恒 40+2×pad |',
|
||
'| 窗口几何 | 宽 = min(工作区宽, 960),高恒 40+2×pad(pad 默认 20) |'],
|
||
]);
|
||
patch('10-animations.md', [
|
||
['| t=0 | 主进程把消息压入队列并把 `mode` 切为 `expanded`;窗口在「不可见时」先扩到气泡所需包围盒 |',
|
||
'| t=0 | 主进程把消息压入队列并把 `mode` 切为 `expanded`;窗口使用预设包围盒(宽 = min(工作区宽,960)、高 = 40+2×pad),**不因气泡扩窗** |'],
|
||
]);
|
||
patch('04-file-plan.md', [
|
||
['- **风险**:行内气泡会改变行宽测量;必须由 `geometry.ts` 统一计算"内容自然宽/截断/换行",并让主进程窗口包围盒同步(见 05 的 metrics);「还有 N 条」跳转必须带未读上下文,不得丢失已读回执。',
|
||
'- **风险**:行内气泡只改变行内内容测量与截断(正文最多 2 行、超出省略),**不改变窗口包围盒**(fixed 窗口尺寸固定为 min(工作区宽,960) × (40+2×pad));「还有 N 条」跳转必须带未读上下文,不得丢失已读回执。'],
|
||
]);
|
||
patch('12-acceptance.md', [
|
||
['**fixed(classisland 风格)**',
|
||
'**fixed(classisland 风格)**\n- [ ] fixed 窗口包围盒固定:宽 = min(工作区宽, 960)、高 = 40 + 2×pad(pad 默认 20);消息到达/展开/多条列表均不改变窗口尺寸。'],
|
||
]);
|