Files
ichni_Official/docs/release-readiness-roadmap.md

29 KiB
Raw Blame History

ichni Release Readiness Roadmap

文档状态Active
首次基线2026-07-18
最近扫描2026-07-18
最近 Scope 更新2026-07-18
当前阶段Production研发中期
当前结论NOT READY FOR RELEASE
主工作范围:D:\Projects\ichni Official
条件性关联:仅当任务实际修改共享序列化、内容导出/导入或节奏游戏核心数据契约时,再纳入 D:\Projects\IchniCreatorStudio

1. 文档用途

这是 ichni 从当前研发中期走到可发布版本的长期执行文档。它同时承担四个职责:

  1. 保存当前项目基线,避免后续只凭印象判断进度。
  2. 定义 Release 的完成标准和阶段门。
  3. 用稳定的任务编号逐项推进、复核和留证。
  4. 记录需要跨项目处理时的明确依赖;本轮默认只处理 ichni Official

本文件中的百分比是“发布就绪度区间”,不是工时完成率,也不能直接用于推算发布日期。每项任务只有在验收证据可复查时才能标记为完成。

2. 已确认的 Release Scope

本节已由产品负责人于 2026-07-18 确认。路线图从此按下列范围执行Chapter 1 和 Creator 都不能阻塞 Chapter 0 首发。

  • DEC-001 首发平台PCWindows、Android、iOS。
  • DEC-002 首发内容Chapter 0 是最低且必须完成的首发内容Chapter 1 为 Stretch Goal只能在不危及 Chapter 0 的前提下推进。
  • DEC-003 首发语言:enzh-CNjakovi-VN
  • DEC-004 发布渠道:尚未确定;在 Gate 3 前必须决定具体 PC 与移动端商店。
  • DEC-005 首发模式:纯 Offline账户、登录、联网服务均不属于首发功能。
  • DEC-006 目标日期:暂无固定日期;原则是 Chapter 0 达到质量门后尽早发布,而不是用未确定的谱面工期反推日期。
  • DEC-007 工作重心:当前只计划/美术/游戏框架/剧情/本地化/设置/发布准备Chapter 0 谱面流程已稳定,由独立节奏游戏制作链路自行推进并只提供完成状态。

记录格式:

Decision 选择 决策日期 决策人 影响
DEC-001 Windows + Android + iOS 2026-07-18 产品负责人 三平台 Build、QA、Input、Safe Area 与商店合规
DEC-002 Chapter 0 必达Chapter 1 Stretch 2026-07-18 产品负责人 Chapter 1 不得阻塞内容锁定
DEC-003 en / zh-CN / ja / ko / vi-VN 2026-07-18 产品负责人 五语翻译、字体、排版和 LQA
DEC-004 TBD 产品负责人 商店 SDK、签名、年龄分级、隐私和商店材料
DEC-005 Pure Offline 2026-07-18 产品负责人 移除/Feature Gate 登录与网络依赖
DEC-006 无固定日期,尽早完成 2026-07-18 产品负责人 用 Gate 和质量证据管理,不承诺虚假日期
DEC-007 非谱面工作优先;谱面由独立流程跟踪 2026-07-18 产品负责人 路线图不展开 Creator 或谱面生产排期

3. 现状扫描结论

3.1 阶段判断

项目处于明确的 Production 阶段,置信度高:核心音游 Runtime、两个主要 Scene、内容加载、谱面制作器、Wwise、章节/选曲/演奏/结算等系统已经存在,且已有可运行内容。项目尚未进入 Feature Complete、Content Complete 或 Release Candidate 阶段,因为主 GameLoop 的结果持久化、剧情节点、本地化、设置完整性、测试、Build Pipeline 和发布合规仍有阻断项。

3.2 发布就绪度快照

领域 就绪度区间 状态 当前判断
核心音游 Runtime 6075% Yellow 演奏、判定、暂停、结算骨架存在;记录初始化、进度写回和异常路径需补齐
谱面与章节内容 约 60% Yellow 以用户提供的 60% 为准Official 当前扫描到 13 个歌曲目录、31 组难度包
GameLoop / Progression 3045% Red 页面链路存在但结果未确认写回存档Story 的 Song/Tutorial 节点仍为占位
UI/UX 3550% Yellow 已有完整视觉方向和主要页面响应式、Safe Area、可访问性、占位文本与统一规范未完成
Settings / Input 3550% Red 音量、帧率、Render Scale、Offset、语言、Rebind 已有;存在逻辑缺口与移动端风险
剧情系统与文本 2035% Red Yarn/Presenter/Portrait/Save 框架存在;目前只有少量原型文本和不完整 StoryData
Localization 1025% Red 同时使用 I2 与 Unity Localization源语言配置冲突多数 Locale 空缺
Creator 内容管线 不纳入本轮 Gray 仅在 Official 出现共享数据或导入/导出关联证据时重新纳入
QA / Automation 010% Red 未发现项目自有自动化测试、Test asmdef、CI 或正式回归证据体系
Build / Release Engineering 515% Red 缺少可复现 Build Profile、CI、版本/渠道矩阵、发布候选流程和回滚方案
Legal / Store / Operations 010% Red 未发现隐私政策、EULA、Credits、第三方许可台账、商店素材清单或上线运维手册

3.3 已确认的工程与内容资产

  • ichni Official 使用 Unity 6000.3.7f1Creator 的同版本信息仅作为条件性关联基线保存。
  • Official Build Settings 当前包含 Assets/Scenes/MenuScene.unityAssets/Scenes/GameScene.unity
  • Official 的用户代码规模已经足以支撑完整产品,不建议推倒重写;应以修复闭环、统一数据与建立验证体系为主。
  • Official 当前发现 13 个歌曲目录和 31 组完整加密谱面包,每组含 BeatmapProjectInfoSongInfoCommandScripts
  • Creator 当前发现 15 个项目目录和 16 组对应 JSON 内容;这是基线信息,不是本轮工作范围。只有当 Official 的首发内容出现共享数据/导出异常时,才建立跨项目 Manifest 或处理 Creator。
  • UI 已有统一的深蓝/青色、轨道与装饰线条风格,适合渐进式重构,不需要先更换全部视觉语言。
  • 新 Story 系统已具备 Yarn 播放、Typewriter、Choice、Portrait、Variable Save 等能力,重点是完成内容、数据和 GameLoop 接入。

4. 需要优先解决的 Release Blockers

P0阻止形成完整产品闭环

  1. 演奏结果初始化和存档闭环待 Unity 端到端验证。 2026-07-18 已在 GameManager 初始化 PlayingRecorder,并在 Wwise 歌曲结束回调中将结果写入 BeatmapSave / SongStatusSave;需要验证结算、退出、重开后的 Accuracy / FC / AP 和完成状态一致。
  2. Story 到 Song/Tutorial 的转场仍是占位。 SongBlockViewTutorialBlockView 只输出 Debug.Log
  3. Chapter 0 StoryData 不完整。 当前定义了 A-0B-0B-1C-0,只有 A-0 绑定 Yarn条件中引用了未定义的 B-2
  4. Localization 源语言与内容不一致。 Yarn Project 的 Base Language 是 en,但当前 en Story Table 中实际是中文;zh-CN 仅有少量空项,其他 Locale 大多为空。
  5. Offline 首发必须完全关闭 Online/Login 路径。 TapTap 初始化被禁用Start 页面绕过登录API 指向 http://localhost:53734,并存在硬编码凭据、敏感响应日志和本地 Token 存储风险。首发应移除或明确 Feature Gate而非让不可用服务残留在用户路径上。

P1阻止 Feature Complete / Beta

  1. Offline 内容解锁已统一为独立 UnlockSaveModule;仍需补齐新档、授予 Key、重启读取与所有入口拦截的 Unity 端到端证据。
  2. Settings 加载未应用语言I2 与 Unity Localization 依赖相同 Index 顺序,容易错配。
  3. Rebind 使用 Rebinds 保存,但 Reset 查询/删除 Rebind,无法正确恢复默认值。
  4. KeyRebindButton 在找不到 Action 的异常路径中可能不恢复 Input 与 Waiting Cover。
  5. Input Actions 缺少完整的 Submit/Back/Controller 导航与 Control Scheme未发现 EnhancedTouchSupport.Enable(),移动端触控需实机验证。
  6. UI Scene 内混用 1920×10802560×1440 和 Constant Pixel Size未发现 Screen.safeArea 适配。
  7. Scene 中仍存在大量测试值、硬编码中英文、114514Choice 0、Test 文案等候选占位内容。
  8. Localization 资产不完整I2 54 个 Term 中多个语言缺失,且有 5 个引用 Term 与资源命名不一致Unity UI Table 只有 7 个 Keyen/zh-CN 外其余表为空Message Table 为空。
  9. StreamingAssets 同时包含 Android、iOS、Windows64 ThemeBundle可能让各平台 Build 携带无关资源。
  10. Runtime Assets 中保存了大量 PSD、整屏 Mockup 和 120 帧 Loading PNG需在不破坏引用的前提下分离 Source Art 与 Runtime Export。

条件性跨项目事项(不进入当前执行队列)

  • Creator 的静态构建曾报 3 个 PositionSync 相关错误。这是 Creator 自身的健康问题,但当前 UI、剧情、设置、Offline GameLoop 和首发准备不依赖它;除非 Official 的 Chapter 0 导入/读取出现明确关联,本轮不处理。
  • 未来只要任务修改共享 BM、加密/序列化 Schema、Beatmap Export Contract 或 BaseElement 节奏游戏元素,就必须先重新评估 Official/Creator 同步范围,并在任务说明中明确提醒。

P2阻止 Release Candidate / 长期维护

  1. 未发现项目自有自动化测试、CI、稳定的 Build Profile 和可追踪测试证据。
  2. 未建立 Crash Reporting、性能基线、最低设备矩阵、长时间 Soak Test 和存档兼容测试。
  3. 未建立隐私政策、EULA、Credits、第三方 SDK/字体/音乐/素材许可台账。
  4. PlayerSettings 中 Standalone Application Identifier 仍是 Unity Template 值;版本、渠道、签名和商店资料未形成单一来源。
  5. 代码中仍有 14 处 NotImplementedException、158 处 Debug.Log 和少量 TODO需按 Runtime 可达性审计,不能仅机械删除。
  6. Summary 的 Share Button 存在但未发现实现;需要实现或移除。

5. Release Definition of Done

ichni 只有同时满足以下条件,才可以进入正式 Release

  • 产品 Scope、平台、语言、渠道与 Online 范围已经冻结并记录。
  • 新用户可以从启动页进入章节、完成剧情/选曲、完成歌曲、查看结算、保存进度、退出并重开继续。
  • Chapter 0 的首发歌曲、谱面、剧情、教程、音频和 UI 内容完成并锁定Chapter 1 仅在不影响该 Gate 时纳入。
  • 不存在可达的占位节点、测试按钮、测试文本、开发后门或默认服务地址。
  • enzh-CNjakovi-VN 达到 100% Key 覆盖,完成字体、溢出、断行和真机 LQA。
  • Settings 在所有目标平台可保存、迁移、重置并实际生效Debug Settings 在 Release Build 不可访问。
  • 键鼠、手柄和目标移动设备的 Input 路径通过验证;所有移动平台通过 Safe Area 测试。
  • 如首发工作实际触及共享 Schema、序列化或导出/导入契约,则 Official 与 Creator 的相关面已完成同步与回放验证;否则无需作为首发 Gate。
  • 每个首发 Build 可由干净环境按文档重复构建并产出版本、Hash、符号和变更记录。
  • P0/P1 Bug 为 0获准延期的 P2 有 Owner、风险说明和后续版本计划。
  • 核心流程自动化测试、人工回归、性能、Soak、存档升级和崩溃恢复均有可复查证据。
  • 商店素材、年龄分级、隐私、EULA、Credits、许可、SDK 声明和联系方式准备完成。
  • Release Candidate 在目标设备矩阵上通过最终签署,并已演练回滚/Hotfix 流程。

6. 阶段路线图与 Gate

本路线图采用 Gate而不是先虚构日期。平台、内容、语言、Offline 和工作重心已经冻结;仅在 Gate 3 前补充商店渠道决策与对应日历排期。谱面制作不作为本路线图的排期驱动项。

Gate 0 — Scope Baseline

目标:把“什么叫首发完成”冻结成可执行合同。

交付物:

  • 已确认的 DEC-001DEC-003DEC-005DEC-007 录入本文;在 Gate 3 前确认 DEC-004
  • Chapter 0 Release ManifestSong、Difficulty、Story Node、Tutorial、Locale、PlatformChapter 1 单独标记为 Stretch。
  • Offline 决策落实为登录/网络功能的 Build-time 或 Runtime Feature Gate。
  • 首发设备矩阵、性能预算和 Release Definition of Done 复核。

Exit Criteria所有后续任务都能判断“首发必须 / 可延期 / 不做”,且没有未归属的 Release Scope。

Gate 1 — Complete Playable Loop

目标:先让一个 Chapter 0 样本形成可靠闭环,再扩大内容生产。

必须完成:CORE-001CORE-008STORY-001SET-001QA-001

Exit Criteria新存档从启动到完成一首歌、结算、解锁、返回、退出并重开后数据一致失败/取消/重试也不会损坏存档。

Gate 2 — Feature Complete Alpha

目标Chapter 0 的所有首发功能都有最终实现路径不再新增大功能Chapter 1 只作为独立 Stretch 轨道推进。

必须完成Story、Settings、Input、UI 基础规范、Offline Feature Gate所有可达占位实现清零或明确剔除。Creator 不在本 Gate 内,除非实际改动共享内容契约。

Exit Criteria所有首发功能都可用可以缺内容和细节 Polish但不能存在“以后再接”的功能节点。

Gate 3 — Content Complete Beta

目标:内容锁定,进入系统性修复和质量验证。

必须完成Chapter 0 首发谱面状态确认、剧情、五语翻译、音频、UI Export 和教程;完成 Release Manifest 对账。

Exit Criteria除 Bug Fix、性能、LQA 和批准的微调外,不再改数据 Schema、核心流程或新增文本。

Gate 4 — Release Candidate

目标:构建一个可直接发布、仅等待签署的候选版本。

必须完成:自动化/人工回归、平台认证检查、性能、Soak、存档升级、安装/卸载、Offline 启动与离线可玩验证、Legal/Store、Build Reproducibility。

Exit CriteriaP0/P1 为 0候选包 Hash 固定;所有签署证据齐全;回滚和 Hotfix 已演练。

Gate 5 — Release & Stabilization

目标:安全上线并监控第一轮真实用户问题。

交付物发布包、版本说明、支持渠道、Crash/日志观察、Known Issues、Day-One Patch 判断、Postmortem 数据。

Exit Criteria首发观察窗口结束严重问题关闭或已部署修复进入正常版本节奏。

7. 可逐项执行的 Master Backlog

状态只能使用:TODOIN PROGRESSBLOCKEDVERIFYDONEDEFERREDEXTERNALEXTERNAL 表示由独立节奏游戏制作流程跟踪但仍受 Release Gate 验证;DONE 必须填写 Evidence。

ID Priority 项目 工作项 Size Dependency Status Evidence
REL-001 P0 Official 确认平台、渠道、内容、语言、Online 和日期 Scope S IN PROGRESS DEC-001/2/3/5/6/7 已于本文第 2 节确认DEC-004 待定
REL-002 P0 Official 建立 Chapter 0 Release Manifest 与唯一内容 IDChapter 1 单独标为 Stretch M REL-001 TODO Manifest + 对账报告
REL-003 P0 Official 定义 Release DoD、性能预算和目标设备矩阵 S REL-001 TODO 本文复核 + 设备表
CORE-001 P0 Official 创建 PlayingRecorder 后调用并验证 Initialize() S DONE 2026-07-18已通过完整游玩流程与重启读取验证。
CORE-002 P0 Official 结算时写回最高 Accuracy、FC/AP、完成状态与持久化当前项目尚未定义 Score 规则 L CORE-001 DONE 2026-07-18已验证 ES3 写入、重启读取与结果合并。
SAVE-001 P1 Official 游戏记录 Schema Version、旧存档迁移前备份、未来版本只读保护 M CORE-002 DONE 2026-07-18当前预发布策略为 Schema v1 不兼容存档重置;正式发布前须恢复迁移/保护策略。
SAVE-002 P1 Official 每谱面 Chart Revision 与历史 Max ComboRevision 变化仅重置该谱面成绩 M CORE-002 DONE 2026-07-18已验证 Revision 变化与 Max Combo 合并行为。
UI-008 P1 Official 保持章节内存选曲/难度缓存:恢复退出歌曲和难度,不写入玩家存档 S CORE-002 DONE 2026-07-18已验证失效歌曲、不可用难度与空配置的安全回退。
CORE-003 P0 Official 明确纯 Offline 下的 Story/Song/Payment Unlock 行为;无首发用途的 Payment Unlock 必须移除或可靠禁用 M REL-001 DONE 2026-07-18已验证独立 Unlock Save v1、章节/歌曲统一规则、Yarn grant_unlock、重启读取和所有现有进歌入口拦截Payment Unlock 运行时代码已移除。
CORE-004 P0 Official 实现 SongBlockView 到歌曲加载/返回 Story 的流程 M REL-002 TODO PlayMode + Manual E2E
CORE-005 P0 Official 实现 TutorialBlockView 或从首发 Scope 移除 M REL-001 TODO Tutorial E2E / Scope Decision
CORE-006 P0 Official 为 Project/Theme/Bundle/Beatmap 加载增加错误、重试、取消和平台失败处理 L TODO Fault-injection Checklist
CORE-007 P1 Official 实现或移除 Summary Share Button S REL-001 TODO UI Test
CORE-008 P1 Official 清理 ProjectLoader.TestLoad() 命名与开发假设,形成正式入口 S CORE-006 TODO Code Review
STORY-001 P0 Official 修复 Chapter 0 Story Graph未定义 B-2、空绑定与条件完整性 M REL-002 TODO Graph Validator
STORY-002 P0 Official 决定 Yarn 真正 Source Language 并修正 Yarn Project/Table M DEC-003 TODO Locale Contract
STORY-003 P0 Official 完成首发剧情、角色表、Portrait、Command 与分支条件 L REL-002, STORY-002 TODO Story Content Audit
STORY-004 P1 Official 移除 Test Title 等原型命令,补充缺失内容验证器 M STORY-003 TODO Zero-placeholder Report
LOC-001 P0 Official 选择 I2/Unity Localization 的职责边界或迁移方案,禁止同 Index 隐式绑定 L STORY-002 TODO Localization ADR
LOC-002 P0 Official 建立单一 Key Manifest、术语表、Source/Target Locale 规则 M LOC-001 TODO Key Manifest
LOC-003 P0 Official 修复 5 个缺失 I2 Term 引用和现有空翻译 S LOC-002 TODO Automated Coverage Report
LOC-004 P0 Official 完成首发语言 100% Key 覆盖并锁定文本 L DEC-003, LOC-002 TODO Locale Coverage = 100%
LOC-005 P1 Official 配置 TMP Font/Fallback 并完成溢出、断行、RTL如适用和 LQA L LOC-004 TODO Screenshot Matrix
SET-001 P0 Official 修复 Rebinds / Rebind Reset Key 错配 S TODO Automated Save Test
SET-002 P0 Official Settings Load 时应用语言,并验证 Locale 顺序不再隐式耦合 M LOC-001 TODO Restart Test
SET-003 P1 Official 修复 Rebind 异常退出,补 Submit/Back/Controller/Control Scheme M TODO Input Matrix
SET-004 P1 Official 移动端启用/验证 Enhanced Touch、触控取消与多点触控 M DEC-001 TODO Device Test
SET-005 P1 Official 增加 Settings Version、Validation、Migration、Atomic Save 与 Reset All L TODO Migration Tests
SET-006 P1 Official 将 Debug/Judge/AutoPlay 从 Release Settings 隔离 S TODO Release Build Inspection
SET-007 P1 Official 明确 Resolution/Render Scale/Fullscreen/VSync/Frame Limit 的平台行为 M DEC-001 TODO Platform Settings Matrix
UI-001 P0 Official 建立 UI InventoryScreen、Prefab、State、Text Key、Owner、完成度 M REL-001 TODO UI Inventory
UI-002 P1 Official 建立 UI Design TokensColor、Type、Spacing、Border、Motion、Icon M UI-001 TODO UI Style Guide
UI-003 P1 Official 统一 Canvas Scaler 策略并实现 Safe Area L DEC-001, UI-002 TODO Resolution Screenshot Matrix
UI-004 P1 Official 清理 Scene 中测试/硬编码文本并全部接入 Localization L LOC-002 TODO Static Scan + Runtime Review
UI-005 P1 Official 补齐 Focus、Keyboard/Controller Navigation、文字缩放与色彩对比 L UI-002, SET-003 TODO Accessibility Checklist
UI-006 P1 Official ai-assisted-ui-art-workflow.md 完成一个 Pilot Screen M UI-002 TODO Pilot A/B + Unity Capture
UI-007 P2 Official 审核并迁移 PSD/整屏 Mockup只保留 Runtime Export 在 Assets L UI-001 TODO Reference Audit + Build Size Diff
CONTENT-001 P2 Creator条件性 仅当 Official 出现共享数据/导出异常时,建立 Creator Source → Export → Official Package 对账 M REL-002 DEFERRED 关联问题的 Roundtrip Report
CONTENT-002 P2 Creator条件性 修复/确认 3 个 PositionSync 静态编译错误 M DEFERRED 仅在 Creator 成为当前阻塞项时执行
CONTENT-003 P0 Official外部跟踪 Chapter 0 谱面完成状态与逐谱面 Schema、Timing、Audio、Difficulty 验证 L REL-002 EXTERNAL Beatmap QA Sheets / 完成状态
CONTENT-004 P1 Official 审核 Wwise Event/Bank、缺失音频、平台导入与音量分类 L REL-002 TODO Wwise Validation
CONTENT-005 P1 Official 按目标平台只打包对应 ThemeBundle移除跨平台冗余 M DEC-001 TODO Build Size Report
QA-001 P0 Official 建立最小 EditMode/PlayMode Test asmdef 和核心流程 Smoke Test L TODO Test Results XML
QA-002 P1 Official 为存档升级、Story Graph、Localization 和 Chapter 0 Runtime Data 写自动检查;共享导出仅在需要时纳入 L QA-001 TODO CI Test Results
QA-003 P1 Official 建立 Bug 模板、Severity/Priority 和每 Gate 的回归清单 M TODO QA Docs
QA-004 P1 Official 建立 CPU/GPU/Memory/Loading/Build Size 基线和最低设备预算 L DEC-001 TODO Profiler Captures
QA-005 P1 Official 执行 2h/8h Soak、暂停恢复、来电/切后台、无网络环境启动/游玩和存档破坏测试 L Gate 3 TODO Soak Logs
BUILD-001 P0 Official 建立可复现的 Development/Release Build Profile 与版本来源 L DEC-001 TODO Clean Build Record
BUILD-002 P1 Official 建立 CICompile、Tests、Content Validators、Build Artifact L BUILD-001, QA-001 TODO CI Run URL/Log
BUILD-003 P1 Official 修正 Application Identifier、Signing、Scripting Backend 和平台设置 M DEC-001, DEC-004 TODO PlayerSettings Audit
BUILD-004 P1 Official 建立 Crash Symbol、日志、Crash Reporting 与隐私约束 M DEC-004 TODO Staging Crash Test
ONLINE-001 P0 Official 将纯 Offline 决策落实:完全剔除或可靠 Feature Gate 登录、TapTap、网络入口和 Localhost 配置 M DEC-005 VERIFY 2026-07-18玩家路径已绕过并隐藏登录界面Release Build 无网络 E2E 待补
ONLINE-002 P2 Official 为未来 Online 版本建立 HTTPS、Server URL、Secret、Token 安全改造设计 L ONLINE-001 DEFERRED Security ADR
ONLINE-003 P2 Official 为未来 Online 版本建立登录、断网、撤销和隐私删除测试设计 L ONLINE-002 DEFERRED Integration Test Plan
LEGAL-001 P1 Official 建立第三方 SDK、字体、音乐、图片和代码 License/Credit 台账 M REL-002 TODO License Register
LEGAL-002 P1 Official 准备 Offline 数据声明/Privacy Policy、EULA、Support 与年龄分级材料 L DEC-004, ONLINE-001 TODO Approved Documents
STORE-001 P1 Official 准备商店文案、截图、Trailer、Icon、Capsule、系统需求和 Locale L Gate 3 TODO Store Preview
REL-004 P0 Official 执行最终 Release Checklist、签署 RC 和回滚演练 L Gate 4 TODO Signed RC Record

8. 推荐的首批执行顺序

不要先批量重做美术。当前最高收益顺序是:

  1. 将第 2 节确认的 Scope 固化到 REL-002 Chapter 0 Release ManifestChapter 1 只保留 Stretch 标记。
  2. 执行 STORY-001CORE-004,让 Chapter 0 Story 真正连接歌曲并形成可验证的主线闭环。
  3. 决定并执行 CORE-005:接入 Tutorial Block或将其从首发 Chapter 0 Scope 移除。
  4. 执行 ONLINE-001,从首发 Build 中彻底关闭 Login、TapTap、网络入口和 Localhost 配置。
  5. 执行 LOC-001STORY-002,在继续写 Chapter 0 剧情/五语翻译前确定源语言和管线。
  6. 执行 SET-001SET-002SET-003SET-004,修复 Settings/Input并优先验证 Android/iOS Touch。
  7. 执行 QA-001 和核心 E2E Smoke Test防止后续改 UI 时破坏 GameLoop。
  8. 执行 UI-001UI-002,再开始 UI-006 的 AI Dialogue Pilot不要让 Chapter 1 美术阻塞此处。
  9. 由独立谱面流程更新 CONTENT-003 的 Chapter 0 完成状态;本路线图只消费其 QA 证据,不安排 Creator 工作。
  10. 在 Gate 2 后启动完整 Build/Store/Legal 工作;最晚在 Gate 3 前决定 DEC-004 商店渠道。

9. 验证矩阵

Core E2E 必测路径

  • Fresh Install → Start → Chapter → Story → Song → Loading → Play → Pause/Resume → Summary → Return。
  • Pass / Fail / Restart / Abort / Force Close / Relaunch。
  • 首次 Clear、重复 Clear、更高分、更低分、FC、AP、不同 Difficulty。
  • Story Choice、章节/歌曲条件锁、Unlock Key 授予、Save Upgrade。
  • 缺 ThemeBundle、损坏 Beatmap、无网络、Wwise Bank 缺失、Locale 资源缺失。

UI 设备/分辨率最低矩阵

  • 16:91920×1080、2560×1440。
  • 16:101920×1200。
  • Ultrawide2560×1080 或目标范围。
  • Android/iOS至少各一台带刘海/挖孔和一台低端设备;横屏 Safe Area 为首发必测项。
  • Keyboard/Mouse、Controller、Touch系统文字缩放和不同 Locale 长文本。

存档兼容

  • 无存档、当前版本存档、上一发布版本存档、缺字段、损坏文件。
  • Settings、Key Rebind、Story Variables、Song Progress、Unlock Keys 分别验证。
  • 写入期间强制退出,验证不会同时损坏主存档与备份。

10. 基线证据索引

发现 证据路径
Recorder 只创建未初始化 Assets/Scripts/Manager/GameManager.csAssets/Scripts/Manager/PlayingRecorder.cs
Song Save 只发现初始化/读取,未发现结算写回 Assets/Scripts/Saving/GameSaveManager.csAssets/Scripts/UI/SongSelection/
Song/Tutorial Story 节点为占位 Assets/Scripts/NewStorySystem/Tree/SongBlockView.csTutorialBlockView.cs
Chapter 0 引用未定义 B-2 Assets/Story/Chapter0/StoryData_Chapter0.asset
Yarn 与 Story Localization 配置冲突 Assets/Story/Chapter0/Chapter0.yarnprojectAssets/Localization/Story/
I2 Term 覆盖与命名缺口 Assets/Resources/I2Languages.asset
Rebind Reset Key 错配 Assets/Scripts/UI/Settings/RebindingWindow.cs
Login 被绕过、Localhost API 与 SDK 禁用 Assets/Scripts/UI/StartPage/StartUIPage.csAssets/Scripts/Online/
UI 缩放策略混合 Assets/Scenes/MenuScene.unityAssets/Scenes/GameScene.unity
多平台 ThemeBundle 同时位于 StreamingAssets Assets/StreamingAssets/ThemeBundles/
Creator 编译阻断(条件性,不在当前队列) D:\Projects\IchniCreatorStudio\Assets\Scripts\Console\consoleOnMono.csAssets\Scripts\DynamicUI\Core\InspectorBuilder.cs

构建验证备注2026-07-18 的 Creator dotnet build --no-restore 报 3 个 PositionSync 相关错误。Official 的同类静态检查受到 obj\Debug\Assembly-CSharp.dll 文件锁影响,未得到可作为代码结论的结果;必须在 Unity Console 与清洁构建环境重新验证。Git/LFS clean filter 也阻止了本次可靠获取完整 Worktree 状态,因此本文不把 Git 状态作为发布证据。

11. 长期维护规则

  1. 每周或每个 Sprint 只更新任务的 StatusEvidence 和“最近扫描”日期,不随意改 ID。
  2. Scope 变化必须先更新 Decision再评估受影响的 Gate、测试矩阵和内容总量。
  3. 只有 Official 任务实际修改共享 Schema、序列化类、导出契约或 BaseElement 节奏游戏元素时,才纳入 Creator并要求两边的实现和 Roundtrip Evidence。
  4. DONE 不等于“代码写完”,而是 Acceptance Criteria 已通过且 Evidence 可复查。
  5. 每个 Gate 前创建一次 SnapshotBuild Version、Commit、Content Manifest Hash、Test Results、Known Bugs。
  6. 新 P0/P1 Bug 必须立即关联到 Gate不能仅记录在聊天或个人 TODO 中。
  7. 进入 Release Candidate 前,再正式执行项目的 /launch-checklist 工作流进行全团队签署;本次扫描没有替代该最终流程。

12. 下一次更新入口

当前 Scope 已确认后:

  1. 先建立 REL-002 的 Chapter 0 Release Manifest并把 Chapter 1 标为 Stretch。
  2. STORY-001CORE-004 开始实施 Gate 1 的下一段主线闭环。
  3. 同步建立第一份 Core E2E 测试证据。
  4. 在 Gate 3 前补充 DEC-004 的具体商店渠道、账号、签名与提交要求。