第一年关键节点体验评分 v1
审计日期:2026-07-27 工作包:WP0 年度脊柱与现状评分 范围:Year 1 的 12 个核心时刻与 7 个回响/收束时刻;本文件是只读运行时审计,不替代剧情月本或施工卡。 口径:
0-3分沿用2026-07-27-Year1产品体验打磨执行计划-v1.md§3。八项依次为:冲突(冲)、选择(选)、即时反馈(即)、延迟回响(回)、角色推进(角)、经营融合(营)、表现记忆点(表)、年终贡献(年)。
审计边界与证据口径
- 数据已存在:
src/data/eventTables/storyline-year1.ts提供 Year 1 canonical 节点、日窗、选项与结算效果;src/data/storyEvents/year1Showcase/**提供精选节点、场景路径与priorEventIds。 - 运行时已消费:
src/utils/storyEvents/year1ShowcaseLogic.ts的resolveYear1ShowcaseEvent()只把该节点的priorEventIds中已完成选项转为玩家可读的前账;getYear1ShowcaseChoiceOutcome()生成数值、员工、羁绊、物件和人情账结果。src/components/RandomEventPopup.tsx渲染逐句对白、精选视觉与结果卡。 - 年度终局的实际输入:
src/components/endgame/useEndgameFlowController.ts将year1CloseoutCompleted传给evaluateYearEndOutcome();src/utils/endgame/victorySettlement.ts的胜利结算仅消费铜钱、名声、羁绊分数、周目和模式,未消费storyProgress.completed、节点选择或 Day 355 方针。 - 验证口径:现有回归源码覆盖 canonical 数据、pending/Day 360 钳制、月度前账、结果卡和部分场景映射(
src/utils/storyEvents/*.regression.ts、src/components/RandomEventPopup.dialogue.regression.tsx)。本 WP0 没有运行自动测试或正常 GameApp 浏览器长链,故所有“只欠验证”均不冒充已验收。 - 视觉口径:
StoryShowcaseVisual.tsx会渲染场景<img>,失败时回退。当前实际存在月 1、月 2-10 的相应资源;以下四条运行时路径不存在:/story/year1/month11/original/day330-closeout-hall-v1.png、/story/year1/month12/original/day350-reunion-hall-v1.png、day355-annual-hall-v1.png、day360-newyear-hall-v1.png。它们的“表”不得按正式场景完成计分。
年度脊柱评分
第一幕:开张立规矩
Day 1 开业(核心)
- 评分:冲 3 / 选 3 / 即 3 / 回 2 / 角 2 / 营 3 / 表 3 / 年 1,合计
20/24。 - 证据:
storyline_y1_m01_n01将掌柜亲带第一桌与放手让伙计学开店,写成铜钱、名声、清洁的交叉取舍;Day 3 与 Day 30 的priorEventIds会显示真实已选文案。month01.ts场景已落盘,精选弹窗会显示场景、角色和选择结果。 - 缺口:
逻辑未消费:Day 1 选择未进入年终结算或个性化摘要;只欠验证:无正常新档到 Day 30 的浏览器证据。 - 最小建议:把已存 Day 1 选择纳入年度摘要的候选条目,并用一条新档录制验证 Day 1 -> Day 3 -> Day 30。
Day 10 赊账取舍(核心)
- 评分:冲 3 / 选 3 / 即 3 / 回 2 / 角 2 / 营 3 / 表 3 / 年 2,合计
21/24。 - 证据:
storyline_y1_m01_n04把现金、人情与治安情报并列;结果卡显示实际数值/物件/人情账。Day 30 与 Day 355 的priorEventIds都包含该事件,可回显已选的玩家文案。 - 缺口:
逻辑未消费:Day 355 的回看止于文本,终局未读取此选择;只欠验证:没有三条选择的桌面与竖屏实测。 - 最小建议:保留既有数值,不加奖励;为三项选择补一条可派生的年终叙述映射,并验三条结果卡路径。
Day 30 满月小结(回响)
- 评分:冲 2 / 选 1 / 即 2 / 回 3 / 角 2 / 营 2 / 表 3 / 年 1,合计
16/24。 - 证据:
storyline_y1_m01_n08的priorEventIds包含开业、三日盘账和赊账;getLedgerEcho()真实读取 completed/missed 状态并加入在堂伙计。月 1 四张正式图已接入。 - 缺口:
内容缺失:它是“记账确认”,没有把第一幕的经营规则收束成差异化阶段结论;逻辑未消费:未进入年终总结。 - 最小建议:仅补一条由已选赊账策略派生的阶段收束句,不新增事件或数值。
第二幕:聚人扛风险
Day 58 试菜/入店(核心)
- 评分:冲 3 / 选 3 / 即 3 / 回 1 / 角 3 / 营 3 / 表 2 / 年 1,合计
19/24。 - 证据:
storyline_y1_m02_n07有试菜上市/先试吃的经营取舍与李大嘴身份确认;结果逻辑可将解锁显示为“身份确认”。month02.ts提供 Day 58 场景且资源存在。 - 缺口:
逻辑未消费:后续精选节点未把该选择作为因果输入;只欠验证:资源存在不等于真实 DOM 解码和移动端可读。 - 最小建议:让 Day 90 或后续菜单节点读取该选择,给出“先口碑/先上菜单”的一句回响;补一次 DOM 加载与窄屏检查。
Day 63 食安风波(核心)
- 评分:冲 3 / 选 3 / 即 3 / 回 2 / 角 2 / 营 3 / 表 2 / 年 2,合计
20/24。 - 证据:
storyline_y1_m03_n01是食安主线锚点;Day 90 的priorEventIds会回显其选择,Day 355 的“元年回看”也直接包含它。场景配置存在于month03.ts。 - 缺口:
逻辑未消费:回响只复述选择文本,未使食安处理改变后续经营策略、角色状态或年终评价;只欠验证:未见正常路径验证。 - 最小建议:从已有安全/名声状态派生一条后续客流或街坊信任句,避免新字段。
Day 90 季末小结(回响)
- 评分:冲 2 / 选 1 / 即 2 / 回 3 / 角 2 / 营 2 / 表 2 / 年 1,合计
15/24。 - 证据:
storyline_y1_m03_n06的前账覆盖食安与守门,且通过同一精选逻辑显示已选事项;canonical 数据的确认选项会结算既有状态。 - 缺口:
内容缺失:季末文案说明事件,但未将“谁承担第一次危机”汇成可区分的团队结论;逻辑未消费:季末结论不进入年终。 - 最小建议:以既有两项 completed 选择生成一条“守规矩/先护人”的季末结论,并登记为年度摘要候选。
第三幕:扩张与负担
Day 95 堂中加桌(核心)
- 评分:冲 3 / 选 3 / 即 3 / 回 1 / 角 2 / 营 3 / 表 2 / 年 1,合计
18/24。 - 证据:
storyline_y1_m04_n01明确给出加桌成本、回本预期和人手负担;A 有精简人情账。场景配置与资源路径齐备。 - 缺口:
逻辑未消费:Day 155 的priorEventIds仅指向 Day 150 月结,未读取 Day 95;没有“加桌/压成本”对半年盘账的可见因果。 - 最小建议:为 Day 155 增加 Day 95 作为前账输入,并由原选择的资源/名声结果派生一条得失句。
Day 155 半年盘账(核心)
- 评分:冲 2 / 选 1 / 即 2 / 回 1 / 角 2 / 营 3 / 表 2 / 年 1,合计
14/24。 - 证据:
storyline_y1_m06_n01展示半年账、客流和结余,运行时会进入精选结果卡;但节点只有“确认半年报告归档”一个选择,month06.ts的前账只连 Day 150。 - 缺口:
内容缺失:没有可选择的经营得失判断;逻辑未消费:未消费 Day 95 或扩建状态;UI未表达:页面没有把半年结果归因给玩家的扩张策略。 - 最小建议:不新增选项,直接在现有盘账正文/结果卡追加一条从 Day 95 派生的“扩张收益与压力”总结。
Day 180 半年大结(回响)
- 评分:冲 2 / 选 1 / 即 2 / 回 3 / 角 2 / 营 2 / 表 2 / 年 1,合计
15/24。 - 证据:
storyline_y1_m06_n06是 closeout,priorEventIds已包含 Day 95(storyline_y1_m04_n01)及赊账、试菜、食安、商队和井水决策;getLedgerEcho()会逐条显示玩家的真实选择。 - 缺口:
逻辑未消费:Day 180 仅通用回显 Day 95 的已选文案,未派生扩张经营或人物承担的差异;Day 155 仍未消费 Day 95,故 C1 尚未形成完整“扩张 -> 半年盘账 -> 阶段结论”;内容缺失:没有团队状态和经营方式的差异化结论。 - 最小建议:保留 Day 180 的既有前账;先让 Day 155 消费 Day 95,再由 Day 95/155 的既有状态为 Day 180 派生一句扩张与团队承担结论。
第四幕:关系与共同目标
Day 200 两百日回看(核心)
- 评分:冲 2 / 选 2 / 即 2 / 回 1 / 角 3 / 营 2 / 表 2 / 年 1,合计
15/24。 - 证据:
storyline_y1_m07_n04以给伙计写信呈现“是否留下”的角色主题,month07.ts的摘要和场景均可被精选弹窗消费。 - 缺口:
逻辑未消费:Day 215 只引用 Day 210 月结,未读取 Day 200 的信或关系状态;UI未表达:没有“谁被信任、谁仍有隔阂”的关系快照。 - 最小建议:从既有羁绊 stage/value 派生最多两条关系快照,并作为 Day 215 的前账。
Day 215 挂红绸(核心)
- 评分:冲 3 / 选 3 / 即 3 / 回 2 / 角 2 / 营 2 / 表 2 / 年 2,合计
19/24。 - 证据:
storyline_y1_m08_n01的选择有即时结算;Day 240 直接把它列为priorEventIds,Day 355 也会回看它。场景资源路径已存在。 - 缺口:
逻辑未消费:Day 215 的筹备方式不根据 Day 200 信任/隔阂改变;只欠验证:没有低关系继续推进的真实路径证据。 - 最小建议:在 Day 215 文案中派生团队状态提示,低关系保持可进入但使用不同语气。
Day 240 八月小结(回响)
- 评分:冲 2 / 选 1 / 即 2 / 回 3 / 角 2 / 营 2 / 表 2 / 年 1,合计
15/24。 - 证据:
storyline_y1_m08_n06将本月五个真实选择列为前账,摘要把红绸、擂台筹备和守擂宣言收进报名册。 - 缺口:
内容缺失:没有对合作方式及代价的区分性结论;逻辑未消费:未连接 Day 200,且年终不读取这一幕的合作结论。 - 最小建议:以 Day 215 和既有关系状态生成一条“同心/勉力相撑”的落款句。
第五幕:名声与高光代价
Day 250 擂台报名(核心)
- 评分:冲 3 / 选 3 / 即 3 / 回 1 / 角 2 / 营 3 / 表 2 / 年 1,合计
18/24。 - 证据:
storyline_y1_m09_n02提供报名策略与人情账短句;可见结果卡会呈现既有结算,month09.ts配置了正式场景路径。 - 缺口:
逻辑未消费:Day 275 只读取 Day 270 月结,未读取报名策略;内容缺失:风险偏好未转成决擂准备或角色状态。 - 最小建议:把 Day 250 选项作为 Day 275 的前账输入,并仅用既有名声/安全/资源效果写一条准备提示。
Day 275 决擂之日(核心)
- 评分:冲 3 / 选 3 / 即 3 / 回 2 / 角 3 / 营 3 / 表 2 / 年 2,合计
21/24。 - 证据:
storyline_y1_m10_n01是高潮节点,Day 300 的priorEventIds直接读取它,Day 355 的回看也包含它;Day 275 场景文件存在。 - 缺口:
逻辑未消费:决擂并未同时读取至少一种经营准备和一种人物状态,当前前账只来自 Day 270;只欠验证:没有低资源但可继续主线的浏览器实证。 - 最小建议:在不改变胜负规则下,读取现有资源和一个羁绊 stage,向结果卡增加“准备/支撑”描述。
Day 300 三百日总结(回响)
- 评分:冲 2 / 选 1 / 即 2 / 回 3 / 角 2 / 营 2 / 表 2 / 年 1,合计
15/24。 - 证据:
storyline_y1_m10_n06的前账包含 Day 275 和 Day 278,能回显决擂实际选择与余波选择。 - 缺口:
内容缺失:未同时总结名声、团队和后续压力;逻辑未消费:没有把高光结论交给年终或失败恢复。 - 最小建议:从已有名声、羁绊与安全状态各取一个已存在信号,写一条三百日结果句。
第六幕:清账与归属
Day 330 年关盘点(回响)
- 评分:冲 2 / 选 1 / 即 2 / 回 3 / 角 2 / 营 2 / 表 0 / 年 1,合计
13/24。 - 证据:
storyline_y1_m11_n06的前账能回显十一月五项选择;但其场景配置指向不存在的day330-closeout-hall-v1.png,UI 会走图片失败回退。 - 缺口:
内容缺失:正式年关场景缺失;逻辑未消费:盘点结论未进入 Day 355 年终评价;只欠验证:未做失败回退与正常视觉验收。 - 最小建议:先补正式场景并做 DOM 解码验收,再把冬储等已选策略归并为 Day 355 一条经营风格输入。
Day 350 团圆饭(回响)
- 评分:冲 2 / 选 3 / 即 3 / 回 1 / 角 3 / 营 2 / 表 0 / 年 2,合计
16/24。 - 证据:
storyline_y1_m12_n04被 Day 355 和 Day 360 均列为前账,角色齐聚的场景和道具已配置;其day350-reunion-hall-v1.png尚不存在。 - 缺口:
内容缺失:正式团圆饭场景缺失;逻辑未消费:其角色状态没有被归纳为终局关系描述;只欠验证:无实际三分支或移动端验收。 - 最小建议:补图后,使用现有核心羁绊 stage 生成一句团圆饭关系快照,供终局摘要复用。
Day 355 来年方针(核心)
- 评分:冲 3 / 选 3 / 即 3 / 回 3 / 角 2 / 营 2 / 表 0 / 年 2,合计
18/24。 - 证据:
storyline_y1_m12_n05的六条priorEventIds跨开业、食安、旱灾、红绸、决擂和团圆饭;A/B/C 在choiceOutcomeLabels中即时显示“扩张经营/稳健经营/人情优先”,并已由结果卡渲染。其场景路径day355-annual-hall-v1.png不存在。 - 缺口:
内容缺失:正式总录场景缺失;逻辑未消费:方针没有进入胜利/失败摘要,终局只消费数值与羁绊;只欠验证:三条方针尚无正常 GameApp 桌面与竖屏证据。 - 最小建议:先保持方针不分叉 Year 2;把其玩家可见标签与至少三条既有跨幕选择一起传入年度摘要的纯派生函数。
Day 360 跨年落款(核心)
- 评分:冲 2 / 选 1 / 即 2 / 回 3 / 角 2 / 营 2 / 表 0 / 年 3,合计
15/24。 - 证据:
storyline_y1_m12_n06会回显半年、决擂、团圆和方针;完成时completeYear1StoryEvent()写入year1Closed。useEndgameFlowController以year1CloseoutCompleted作为年终判断门,现有回归覆盖未落款不结算、落款后单次结算。场景路径day360-newyear-hall-v1.png不存在。 - 缺口:
内容缺失:正式跨年场景缺失;UI未表达:终局页不显示跨幕选择、角色状态或 Day 355 方针;只欠验证:胜利、失败、pending、刷新四条正常 GameApp 路径均未形成浏览器证据。 - 最小建议:以 Day 360 为首条实现链,先补图并实现最小年度摘要;再按四条状态路径完成正常 GameApp 验收,不改 Year 2 或存档 schema。
C1-C4 因果链缺口汇总
| 链 | 当前已存在的真实链路 | 数据缺口 | 逻辑未消费 | UI未表达 | 验证缺口 |
| --- | --- | --- | --- | --- | --- |
| C1 扩张:95 -> 155 -> 180 | Day 95 有成本/收益;Day 180 已通过 priorEventIds 通用回显 Day 95;Day 155、180 均可播放且有结果卡/前账 | Day 155 的 priorEventIds 不含 Day 95;无“扩张得失”摘要配置 | Day 180 只回显 Day 95 选择,未由加桌状态派生经营/人物差异;Day 155 尚未消费 Day 95 | 半年盘账没有指出扩张收益、人手压力与阶段结论 | 无 C1 正常存档、双选择与窄屏路径 |
| C2 团队:200 -> 215 -> 240 | Day 215 -> 240 有直接前账;三节点均有精选 UI | Day 215 未声明 Day 200/关系状态为输入 | 未读取信任/隔阂、低关系不改变筹备语气 | 无角色关系快照或合作代价结论 | 无低关系仍可推进的 GameApp 证据 |
| C3 高光:250 -> 275 -> 300 | Day 275 -> 300 有直接前账;Day 275、300 场景可用 | Day 275 未声明 Day 250 报名策略为输入 | 未同时读取经营准备与人物状态 | 决擂结果显示为事件结果,未解释全年积累或后续压力 | 无低资源/低关系仍可继续的实测 |
| C4 年终:355 -> 360 -> 终局摘要 | Day 355 跨六项前账;Day 360 落款门已接入胜负判断 | 四个岁末场景文件缺失;终局没有选择/方针/角色摘要数据合同 | victorySettlement.ts 未消费故事进度或 Day 355 方针 | 终局四块只显示经营、关系分、名声、阅历,不能复盘关键决定 | 无 Day 355 A/B/C、Day 360 胜利/失败/pending/刷新正常 GameApp 证据 |
结论与优先级
- 首条实现链:C4 年终链。 Day 355 与 Day 360 的事件、前账、落款门和自动回归基础已在位;最短缺口是四张岁末图、一个从既有
storyProgress/羁绊/方针派生的年度摘要,以及四条正常路径验收。 - 最大共性缺口不是事件数量,而是因果消费。 月度
priorEventIds已能回显选择,但 C1-C3 关键起点并未进入指定后续节点;终局也没有消费选择,因此不能把“前账可见”误报为“年度结论个性化”。 - 不得以自动回归替代玩家验收。 本轮仅确认了回归源码覆盖范围;需要独立完成桌面、390x844、刷新和正常 GameApp 的证据链。
- 未建议扩事件、Year 2、存档 schema 或未批准数值。 全部最小建议均复用既有 completed choice、资源、员工和羁绊状态。