story: 落实庇护寻伴与早期贡献至越境的因果链

This commit is contained in:
2026-09-28 22:26:21 +08:00
parent c8eed5e3e6
commit 2687f49f85
41 changed files with 450 additions and 161 deletions
+27
View File
@@ -41,6 +41,33 @@ foreach ($line in ((Read-ProjectText '03_故事大纲/主线总年表.md') -spli
}
if ($timelineRows -ne 22) { $failures.Add("Expected 22 timeline rows, got $timelineRows") }
# V03 chronology must keep early achievement, recruitment, conflict and exile in order.
$v3Timeline = Read-ProjectText '03_故事大纲/主线总年表.md'
$v3Checks = @(
@{ Year = 869; Terms = @('多年', '尚无正式冲突') },
@{ Year = 870; Terms = @('13岁艾达', '受监督寻伴', '推迟接纳') },
@{ Year = 871; Terms = @('第二农事季', '深秋仓塌') },
@{ Year = 872; Terms = @('黑腹热', '方法收编') },
@{ Year = 873; Terms = @('神判', '担保撤销') },
@{ Year = 874; Terms = @('洛恩', '庇护挡击', '自愿越境') },
@{ Year = 880; Terms = @('第二次', '推迟接纳') }
)
foreach ($check in $v3Checks) {
$row = [regex]::Match($v3Timeline, "(?m)^\| [+-]?\d+ \| $($check.Year) \|.*$").Value
foreach ($term in $check.Terms) {
if (-not $row.Contains($term)) { $failures.Add("V03 timeline fact missing in $($check.Year): $term") }
}
}
$v3Arc = Read-ProjectText '03_故事大纲/前期因果链_V03_从受庇护者到越境者.md'
$v3Rule = Read-ProjectText '02_世界设定/女神庇护与寻伴仪.md'
foreach ($term in @('865—866', '867—869', '870春', '15岁', '卢西安14岁', '艾达13岁', '卡莎')) {
if (-not $v3Arc.Contains($term)) { $failures.Add("V03 early arc missing: $term") }
}
foreach ($term in @('贤者之席', '没有隐藏回路', '庇护不是常亮光环', '教会能保管')) {
if (-not $v3Rule.Contains($term)) { $failures.Add("V03 blessing rule missing: $term") }
}
Write-Output "V03 chronology: $($v3Checks.Count) anchors; early arc and blessing rules checked"
$scriptText = Read-ProjectText '06_AI动漫制作/01_改编开发/03_动画剧本/S01E01_停不下来的夜_V01.txt'
$sceneIds = @([regex]::Matches($scriptText, '(?m)^(01-\d{2})\s') | ForEach-Object { $_.Groups[1].Value })
$expectedSceneIds = @(1..16 | ForEach-Object { '01-{0:D2}' -f $_ })