story: 落实庇护寻伴与早期贡献至越境的因果链
This commit is contained in:
@@ -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 $_ })
|
||||
|
||||
Reference in New Issue
Block a user