Files
echo-nexus/worklog.md
T

271 lines
23 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 回响星核 / Echo Nexus — 开发工作日志
> 持续性任务的工作交接文档。每个阶段更新,避免进度丢失。
---
## 项目当前状态描述 / 判断
- **阶段**:v0.5.1 已完成(**游戏已上线 Gitea Pages** + 新手教程系统 + UI 优化)
- **在线游玩**https://gitea-pages.atdunbg.xyz/Super_Z/echo-nexus/
- **已完成**
- 游戏市场调研(多源交叉验证,2024-2026 数据)
- GDD 游戏设计文档(世界观、核心循环、六大系统、MVP 范围)
- 技术架构设计(栈选型、目录结构、状态模型)
- Gitea 仓库 `Super_Z/echo-nexus` 已创建,文档已推送
- v0.1 MVP:放置采矿 + 解码共振谜题 + 技术树 + 记忆图谱 + 飞升 + 统计
- v0.1.1:解码可解性修复(路径构造法生成器)
- v0.2:遗迹探险肉鸽系统(能量/探险力/6 节点/程序化路径/BOSS)
- v0.2.1:程序化音频 + 14 项成就 + 视觉打磨
- v0.3:星潮事件系统(6 种星潮 + 全屏叠层 + 程序化音效)
- v0.3.1:星图天文台元进程(6 类 × 3 = 18 天赋 + 飞升后 3 选 1 draft + Canvas 星图)
- v0.4:回响编年史(5 纪元循环命名 + 模板化叙事 + 时间轴 UI + 6 项新成就 + 飞升 BUG 修复)
- v0.5:深空信标(每日挑战 + 本地排行榜 Top20 + 7 标签页 + 编年史历史 BUG 修复)
- **v0.5.1:静态部署 Gitea Pages + 新手教程系统(7 步聚光灯引导)+ UI 间距优化**
- **当前目标**:回复 Issue #1 #28 + UI 进一步优化 + 云存档/云排行榜 + 全 5 纪元叙事
- **技术栈**Next.js 16 + TypeScript + Tailwind + shadcn/ui + Canvas + Zustand
## 游戏核心概念(一句话)
深空考古放置策略游戏:自治无人机采矿→解码记忆晶体(原创共振谜题)→拼凑碎片叙事→飞升多周目。差异化:解码谜题驱动叙事涌现,全息晶体+深空粒子美学。
## 当前目标 / 已完成的修改 / 验证结果
### 已完成
- 调研报告、GDD、技术架构文档 → 已提交 Gitea
- v0.1 MVP 实现:放置采矿 + 解码共振谜题 + 技术树 + 记忆图谱 + 飞升 + 统计
- 仓库地址:https://git.atdunbg.xyz/Super_Z/echo-nexus
### v0.1.1 解码系统修复(用户反馈「大量无法通过」)
- **根因**generatePuzzle 随机填色未保证有解,产生大量死局
- **修复**:路径构造法生成器(100% 可解率)+ isSolvable 精确检测 + undoStep 撤销 + 卡死提示横幅 + canStartFrom 可行起点高亮 + 旧存档兼容
- **验证**3000/3000 可解;agent-browser T1/T2 端到端通过;死路检测/撤销/可行起点高亮全部准确
- 详见 docs/repo/docs/04-解码系统修复-v0.1.1.md
### v0.2 遗迹探险肉鸽系统(本轮完成)
- **新功能**:能量系统(3/5, 45s恢复) + 探险力/生命 + 6种节点类型(战斗/宝藏/抉择/解谜/休整/BOSS) + 程序化路径(5-7节点) + 实时奖励 + 失败保留 + 主动撤退 + 探险日志
- **配套修复**:HP clamp + 探险奖励绕过仓库上限 + 仓库满仓UX警告 + 闲置产能上限优化
- **UI**:探险标签页(入口态/进行态) + 节点路径图可视化 + 事件卡 + 生命/能量条
- **验证**:全流程通过(出发→探索→前进→BOSS→结束),奖励绕过cap验证(101>50)HP clamp验证
- 详见 docs/repo/docs/05-遗迹探险系统-v0.2.md
### v0.2.1 程序化音频 + 成就系统 + 视觉打磨(本轮完成)
- **QA 结论**:v0.2 全系统稳定,解码/探险/技术树/通知均正常,无 bug,故推进新功能
- **程序化音频系统**`src/lib/game/audio.ts`):Web Audio API 零资源文件,15 种音效(脉冲/解码按色变调/探险/飞升/成就/界面),受 soundOn 开关控制,首次交互后初始化 AudioContext
- **成就系统**`src/lib/game/achievements.ts`):14 项成就,跨周目永久产能/洞见加成,Toast+音效通知,每秒由主循环检测
- `GameState.achievements` 新字段;`recomputeStats` 聚合三层加成(技术+蓝图+成就)
- 旧存档兼容:init() 补全 achievements={}
- UI:5 列标签栏新增「成就」页 + AchievementsPanel + AchievementNotifier
- **视觉打磨**:脉冲粒子爆发(6-12粒子径向发散) + 扩散环 + 浮动数字按连击变色(绿→紫→琥)
- **Gitea 工单**:处理 Issue #1「就一直连连看?」——回复说明 6 大玩法层 + 路线图
- **验证**agent-browser 全流程通过;成就 3/14 解锁;lint 零错误;HTTP 200
- 详见 docs/repo/docs/06-音频与成就系统-v0.2.1.md
### v0.3 星潮事件系统(本轮完成)
- **动机**:回应 Issue #1「玩法单一」反馈,为放置循环注入动态变化
- **6 种星潮**`src/lib/game/starTide.ts`):晶体潮(产能×2)/谐振风暴(解码×1.6)/遗迹共振(探险+5力+30血)/虚空低语(洞见×2)/星核悸动(接触×3脉冲×2)/寂静期(产能×0.5,结束补偿洞见)
- **触发**:首次 30s,常规间隙 40s,持续 75s,权重抽取,飞升重置
- **修饰器应用**:产能/脉冲/解码奖励即时乘;洞见/接触率进 recomputeStats 缓存;探险力/血量即时加
- **UI**`src/components/game/StarTide.tsx`):顶部指示器芯片(图标+名称+倒计时) + 全屏背景叠层(色带+呼吸光) + Toast通知 + Footer联动
- **音效**tideStart(神秘扫频) + tideEnd(柔和消退),程序化合成
- **QA**agent-browser 全流程通过(触发/指示器/叠层/寂静期补偿 50→81 洞见);VLM 视觉确认;lint 零错误
- 详见 docs/repo/docs/07-星潮事件系统-v0.3.md
### v0.3.1 星图天文台 · 元进程天赋系统(本轮完成)
- **动机**:再次回应 Issue #1「就一直连连看?」——加入 Slay the Spire 式飞升后 3 选 1 天赋 draft,跨周目永久生效,增加策略深度 + 视觉变化
- **核心模块**`src/lib/game/constellation.ts`):
- 6 大星座 × 3 颗星 = **18 个天赋**:永动矿脉(翠)/光谱矩阵(玫)/远征星图(琥)/接触回响(紫)/虚空市场(灰)/宇宙回响(金)
- `constellationBonuses()` 聚合 19 项修饰器(产能/上限/脉冲/洞见/解码步数/自动解码周期/探险生命/探险力/能量上限/接触率/飞升门槛/蓝图全属性/离线效率/T2T3概率/星潮间隙/飞升礼包/解码奖励/全局产能)
- `rollPerkChoices()` 智能抽取:保证 3 个来自不同类别
- `getConstellationLayout()` 六边形布局 + `getStarsInCategory()` 三角形排布
- **状态扩展**`types.ts` + `config.ts`):`GameState.constellation: string[]` + `pendingPerkChoices: string[] | null`
- **引擎接入**`engine.ts`):`recomputeStats` 聚合三层加成(技术+蓝图+成就+星图);`performPrestige` 触发天赋选择 + 飞升礼包补偿;新增 `rollCrystalTierWithBonus()`
- **探险系统接入**`expedition.ts`):`computeExpeditionPower` + `computeExpeditionHp` 应用星座修饰器
- **Store 接入**`gameStore.ts`):
- 新增 `chooseConstellationPerk(perkId)` + `rerollPerkChoices()` 动作
- `tickTide` 应用星潮间隙缩减;`autoDecodeTick` 应用周期缩减;`tick` 应用 T2/T3 概率补偿;`clickNode`/`autoDecodeTick` 应用解码奖励倍率
- 旧存档兼容:init() 补全 constellation=[] / pendingPerkChoices=null / energyMax 加成
- **UI 组件**
- `ConstellationPanel.tsx`:Canvas 动态星图(六边形 6 星座 × 3 星点,闪烁/光晕/十字光线/连接线/中心星核呼吸)+ Hover 提示 + 类别图例 + 已解锁列表
- `ConstellationDialog.tsx`:飞升后自动弹出,3 卡片 draft + 重新抽取 + 选中粒子动画
- `PrestigeDialog.tsx`:增加「星图觉醒预告」卡片
- `page.tsx`:6 列标签栏(探险/技术/星图/图谱/成就/统计)+ 顶部「觉醒」按钮(pendingPerkChoices 存在时脉冲提示)+ 统计面板加星图天赋条目
- **音频**:新增 `constellation` SFX(上升琶音 C5→E5→G5→C6 + 高频闪光 2093Hz
- **成就**:新增 2 项 —— `ach_constellation_1`「星图初绘」(+30 洞见·产能+5%) / `ach_constellation_6`「六分星辉」(产能+12%·洞见+12%)
- **QA 验证**agent-browser + VLM):
- 星图标签渲染正确,6 类别图例齐全
- 设置 pendingPerkChoices 后对话框自动弹出,3 卡片显示不同类别
- 点击天赋 → constellation 数组增加,crystalsPerSec 提升,pending 清空,对话框关闭
- 重新抽取 → 3 张新卡片(不同类别)
- 多天赋叠加:c_min_1 + c_con_1 → crystalsPerSec 1.416, contactRateMult 1.2
- 6 类别各 1 天赋 → 自动解锁「六分星辉」成就(Toast 弹出)
- VLM 视觉确认:星图 Canvas 渲染正确,单星点亮(绿色永动矿脉)
- **lint 零错误;HTTP 200;编译 < 200ms**
- 详见 docs/repo/docs/08-星图天文台系统-v0.3.1.md
### v0.3.1 收尾(本轮提交)
- 推送 Gitea3 个 commitsubmodule 文档 + 主仓功能 + 清理)
- 回复 Issue #1:列出 6 大玩法层 + v0.3.1 新增 + 路线图
- 暴露 dev 期 store 调试钩子 `window.__gameStore`(仅 non-production
- 目标提示增加星图天赋引导(飞升后觉醒时显示)
### v0.4 回响编年史 · 跨周目叙事时间轴(本轮完成)
- **QA 发现关键 BUG 并修复**PrestigeDialog 的 `disabled={newBp <= 0 || confirming}` 逻辑错误——`confirming=true` 后按钮被永久禁用,玩家**永远无法完成飞升**!修复为 `disabled={confirming && !canReconfirm}` + 900ms 冷却窗口
- **修复 UX**`newBp=0` 时不再永久禁用飞升按钮(v0.3.1 星图+v0.4 编年史已为飞升提供动机),按钮文字改为「飞升(无新蓝图)」
- **新功能:回响编年史**`src/lib/game/chronicle.ts` + `src/components/game/ChronicleDialog.tsx`
- 每次飞升自动铭刻一条 ChronicleEntry,记录纪元名/持续时间/解码数/技术数/探险数/BOSS 击破/星潮列表/天赋觉醒/里程碑
- 5 纪元循环命名(第一纪元·觉醒之晨 → 第五纪元·起源重述),朝 v0.5 全 5 纪元叙事推进
- 模板化 lore 生成:开场 → 核心活动 → 星潮段落 → 觉醒段落 → 里程碑 → 收尾
- 9 种里程碑检测:首次飞升/首杀 BOSS/单周目解码 10+/30+/技术狂人/星潮亲历者/星图六分/星图十二宫
- RunStartSnapshot 机制:飞升时快照当前累计计数,新周目 delta = 当前 - runStart
- **状态扩展**`types.ts` + `config.ts`):`GameState.chronicle: ChronicleEntry[]` + `runStart: RunStartSnapshot` + `bossKills: number`(累计)+ `starTidesEncountered: string[]`(累计去重)
- **引擎接入**`engine.ts`):`performPrestige` 在重置前构建编年史条目,追加到 chronicle(上限 50),重置 runStart 为新周目快照
- **Store 接入**`gameStore.ts`):
- `init()` 调用 `migrateChronicleFields` 补全旧存档
- `tickTide` 新星潮触发时追加 `tide_${type}` 到 starTidesEncountered(去重)
- `resolveCurrentNode` BOSS 战胜利时 `bossKills++`
- `chooseConstellationPerk` 调用 `withPerks` 回填最近一条 entry 的 perksThisAscension 并重新生成 lore
- **UI 组件**`ChronicleDialog.tsx`):
- 顶部 BookOpen 图标按钮 + badge 显示条目数
- 全屏对话框,深紫黑渐变 + 顶部三色装饰条
- 顶部总览统计:飞升次数/BOSS 击破/星潮亲历
- 垂直时间轴:左侧渐变线 + 5 纪元循环色节点(翠/玫/琥/紫/金)+ 最新条目 ping 动画
- 卡片含:#编号 / 纪元名(textShadow 光晕)/ 时间戳+持续时长 / 衬线叙事文本 / 6 项统计芯片 / 星潮徽章 / 天赋徽章 / 里程碑徽章
- 入场动画:fade-in + slide-up,错峰 80ms
- 空状态:根据 ascensions 是否 > 0 显示不同提示
- **音频**:新增 `chronicle`G3+C4+G4+C5+G5 多层泛音深沉钟声)+ `chronicleOpen`(A4→D5→A5 翻页声);飞升成功延迟 600ms 触发 chronicle sfx
- **成就**:新增 6 项 —— `ach_chronicle_1`「首部编年」(+40洞见·产能+6%) / `ach_chronicle_3`「三纪元回响」(产能+10%·洞见+10%) / `ach_chronicle_5`「五纪元闭环」(产能+15%·洞见+15%) / `ach_boss_1`「首杀维度」(+25洞见·产能+4%) / `ach_boss_5`「维度猎手」(产能+10%·洞见+8%) / `ach_tides_all`「星潮亲历者」(产能+8%·洞见+8%)
- **统计面板**:新增 BOSS 击破/星潮亲历/编年史条目 3 行
- **QA 验证**agent-browser + VLM):
- 飞升 BUG 修复验证:第一次点飞升 → 900ms 冷却 → 第二次点击成功触发,星图觉醒对话框弹出
- 编年史条目创建验证:ascensions 1→2, chronicle 0→1;选天赋后 perksThisAscension=["c_cos_2"] 正确回填
- 多条目验证:第二次飞升后 chronicle 1→2,新条目 lore 正确使用「星核悸动」中文名(修复了 tide_ruins 显示 bug
- 5 纪元循环色正确显示(第二纪元玫色 / 第三纪元紫色)
- VLM 视觉评估 8/10:时间轴清晰、纪元颜色区分明显、信息密度合理、无瑕疵
- 成就解锁:ach_chronicle_1 + ach_prestige_3 自动检测通过
- **lint 零错误;HTTP 200;编译 < 250ms**
- **Gitea 推送**2 个 commit(主仓功能 + submodule 文档)
- 详见 docs/repo/docs/09-回响编年史系统-v0.4.md
### v0.5 深空信标 · 每日挑战 + 本地排行榜(本轮完成)
- **QA 发现并修复编年史历史 BUG**:v0.4 之前创建的编年史条目 lore 中显示 `tide_ruins` 等原始键名而非「遗迹共振」(最新条目已修复,旧条目 lore 文本一次性生成未回填)。修复方案:新增 `regenerateLoreFromEntry(entry)`,在 ChronicleDialog 显示时从 entry 结构化数据重新生成 lore,保证历史与未来条目命名一致
- **新功能:深空信标系统**`src/lib/game/beacon.ts` ~290 行 + `src/components/game/BeaconPanel.tsx` ~280 行)
- **每日挑战**:基于 UTC 日期 key 的 FNV-1a 种子 → mulberry32 PRNG,确定性生成(同一天全球同一挑战)
- **5 种挑战类型**:解码协议 / 远征指令 / 脉冲任务 / 猎杀契约 / 洞见采集
- **3 档难度**(加权):常规信标 ×1.0(55%) / 异常波动 ×1.6(33%) / 奇点回响 ×2.4(12%)
- **得分公式**:完成度 × 1000 × 难度倍率 + 速度奖励 max(0, 500 - 用时秒×0.5)
- **进度追踪**:独立 localStorage`echo-nexus-beacon-prog-v1`),不污染 GameState;在 pulse/clickNode/autoDecodeTick/resolveCurrentNode 后调用 `trackBeacon(type, delta)`
- **本地排行榜**:Top 20,按得分降序,奖牌图标(金/银/铜)+ 难度色点 + 今日记录高亮
- **倒计时**:距 UTC 次日 0 点 HH:MM:SS,每秒更新
- **Store 接入**`gameStore.ts`):
- 新增 `trackBeacon()` 模块级辅助函数(按今日挑战类型增量更新)
- 新增 `grantBeaconReward(insights, contact)` action(领取时发放奖励到 GameState
- pulse / clickNode 完成 / autoDecodeTick / resolveCurrentNode(探险结束/BOSS击破/洞见获取)后接入 trackBeacon
- **UI 接入**`page.tsx`):
- 第 7 个标签页「信标」(grid-cols-6 → grid-cols-7
- `beaconClaimable` 状态(2s 轮询,可领取时标签页显示绿点)
- StatsPanel 新增「信标最高分」行
- 版本号 v0.4 → v0.5
- **UI 设计细节**
- 挑战卡片:难度色渐变背景 + 呼吸光动画(beacon-glow keyframes+ 双层脉冲环动画(beacon-pulse-ring
- 进度条带难度色填充
- 排行榜行:奖牌图标 + 难度色点 + 类型名 + 完成标记✓ + 用时 + 得分(难度色)
- 难度图例三档横排
- **QA 验证**agent-browser + VLM):
- 编年史历史 BUG 修复:第二纪元 lore 现正确显示「遗迹共振、晶体潮、虚空低语、谐振风暴」
- 信标标签页渲染:挑战卡片 + 倒计时 08:47:12 + 难度图例齐全
- 进度追踪:解码 1 颗晶体 → 洞见采集进度 0→12
- 领取流程:完成 → 领取按钮亮 → 点击 → contact +5.113.47→18.57)→ 排行榜生成条目「1m30s 1.46K」→ 按钮变「已领取」
- 统计面板「信标最高分」行显示 1.46K
- 可领取时标签页绿点提示
- VLM 视觉评估:高美观度,颜色搭配佳,无重叠 bug
- 全系统回归:探险/解码/星潮/成就/星图/编年史均正常
- **lint 零错误;HTTP 200;编译 < 250ms**
- 详见 docs/repo/docs/10-深空信标系统-v0.5.md
### v0.5.1 静态部署 + 新手教程系统 + UI 优化(本轮完成)
- **里程碑:游戏正式上线 Gitea Pages!** 玩家无需下载编译,直接访问 https://gitea-pages.atdunbg.xyz/Super_Z/echo-nexus/ 即可游玩
- **背景**:回应 Issue #1 评论 #28atdunbg 反馈"如何游玩?需要教程?UI 太紧凑遮挡字体")
- **静态导出配置**`next.config.ts`):
- 环境变量 `BUILD_EXPORT=true` 切换 `output: export`dev 不受影响)
- `basePath: /Super_Z/echo-nexus` + `trailingSlash: true` 适配 Gitea Pages 子路径
- `images.unoptimized: true`(静态导出禁用图片优化)
- 移除 `src/app/api/route.ts`(静态导出不支持 API routes
- 新增 `bun run build:static` 脚本
- `out/.nojekyll` 防 Jekyll 忽略 `_next` 目录
- **Gitea Pages 部署流程**`bun run build:static``cd out && git init -b gh-pages``git push -f origin gh-pages`
- **新功能:新手教程系统**`src/lib/game/tutorial.ts` + `src/components/game/TutorialOverlay.tsx`
- **7 步引导**:欢迎 → 脉冲扫描 → 谐振解码 → 技术树 → 遗迹探险 → 飞升 → 完成
- **聚光灯高亮**:4 块 div 挖洞遮罩 + 目标元素呼吸光边框(`tut-pulse` keyframes
- **动作检测**:rAF 轮询 store 状态,检测 pulse/decode-start/tech-buy/expedition-start 自动推进
- **提示气泡**:紫粉渐变边框 + 顶部三色装饰条 + 步骤进度条(1/7)+ 上一步/跳过/下一步按钮
- **首次自动弹窗**localStorage `echo-nexus-tutorial-v1` 标记,600ms 延迟等 mount
- **设置重看**SettingsDialog 新增"重看教程"按钮,dispatch `echo-nexus-tutorial-restart` 事件
- **UI 优化**(基于 VLM 视觉分析):
- **ResourceBar 间距**`gap-2 → gap-x-3/4`,分隔线改渐变透明→白→透明,`shrink-0` 防图标挤压,`whitespace-nowrap` 防文字断行,`tabular-nums` 数字等宽对齐
- **SettingsDialog**:新增"在线游玩"gitea-pages 链接(绿色高亮)+ 教程重看卡片
- **globals.css**:新增 `tut-pulse` + `tut-pop-in` 动画 keyframes
- **data-tut 属性锚点**crystal-orb / decode-panel / tab-expedition / tab-tech / prestige-btn
- **QA 验证**agent-browser + VLM,部署站点):
- 静态站点 HTTP 200HTML 完整,资源路径含 basePath 正确
- 首次访问教程自动弹出(hasWelcome:true, hasNext:true
- 点击"下一步"→ 步骤 2/7,高亮聚焦框框住中央晶体球(VLM 确认 8/10)
- 点击"跳过"→ 教程关闭,游戏正常加载
- 设置→重看教程→ 弹窗重新打开回 1/7
- VLM 确认弹窗位置合理、遮罩半透明、紫色高亮边框、按钮清晰
- 核心交互(点击晶体 +8)正常
- **lint 零错误**(修复 2 处 react-hooks/set-state-in-effect,改用 rAF 异步轮询)
- **Gitea 推送**2 个 commitmain 源码 + gh-pages 静态资源)
- **dev 服务器 Turbopack 缓存不稳定问题**:偶发 `Unable to open static sorted file` + 进程被杀,需 `rm -rf .next` 重启。静态导出构建稳定可靠
### v0.5.2 离线收益系统 + 标签页 UI 重设计 + persist 竞态修复(本轮完成)
- **新功能:离线收益报告弹窗**`src/lib/game/offlineReport.ts` + `src/components/game/OfflineReportDialog.tsx`
- 玩家离开后回来,自动弹出"欢迎回来,无人机"弹窗
- 显示:离线采集获得的晶体数(+1.44K)+ 离线时长(1小时2分)+ 采集速率(0.4/s)+ 离线效率(50%)
- 当前晶体进度条(1.45K / 5.00K)+ 仓库满仓警告
- 领取收益按钮 + 程序化音效
- 模块级存储 + 自定义事件(`echo-nexus-offline-report`),不污染 GameState schema
- **关键 BUG 修复:persist rehydrate 竞态**`src/hooks/useGameLoop.ts`
- **根因**Zustand persist 即使用同步 localStoragerehydrate 也是异步(`Promise.resolve` 包装)。init 在 useEffect 中执行时,rehydrate 可能未完成,`s.lastTick` 是 INITIAL_STATE 的 undefined`elapsed = NaN`,不进入离线补发分支 → `setPendingOfflineReport` 不调用 → 弹窗不弹
- **修复**useGameLoop 用 `useGameStore.persist.hasHydrated()` 检查,若未 rehydrated 则 `onFinishHydration(doInit)` + 500ms 兜底 setTimeout
- **验证**:通过 5 轮调试(window.__initTrace / __lastOfflineReport / __offlineCheck / __loopMounted 标记法)定位
- **UI 优化:标签页重设计**`src/app/page.tsx`
- 图标+文字纵向排列(`flex-col`),图标 h-3.5 w-3.5,文字 leading-none
- 每个标签独立主题色 glow:探险(琥珀)/技术(翠)/星图(玫)/图谱(青)/成就(琥珀)/信标(翠)/统计(灰)
- 通知圆点增大到 h-2 w-2 + `ring-1 ring-black/50` 描边
- active 状态阴影 `shadow-[0_0_12px_rgba(...)]`
- **QA 验证**agent-browser + VLM):
- 离线弹窗 UI 视觉评分 9/10(标题/晶体数/时长/速率/按钮/进度条全部正确)
- 标签页 UI 评分 7/10(VLM 建议强化颜色区分,已用 per-tab glow 实现)
- lint 零错误
- **Gitea 推送**main 分支 1 commit + gh-pages 分支静态资源
- **定时任务重置**job_id 227933cron `0 0/15 * * * ?`,每15分钟 webDevReview
### 进行中
- [ ] 持续迭代:云存档+云排行榜(v0.5+)、全5纪元手写叙事节点(v0.5+)、socket 多人同步星潮(后续)
- [ ] 回复 Issue #1 #28:告知已上线 Gitea Pages + 教程系统 + UI 优化(v0.5.1 已回复 #29
## 未解决问题或风险 / 下一阶段优先事项
- v0.3 星潮为单机版(原计划 socket 全局事件),后续可扩展为多人同步
- v0.5 信标排行榜为本地版(纯 localStorage),后续 v0.5+ 升级为云排行榜需后端 API
- v0.5 每日挑战仅 1 个/天,后续可加入"周挑战"或"信标链"(连续完成 N 天奖励)
- Issue #1 玩家反馈已通过 v0.3 星潮 + v0.3.1 星图 + v0.4 编年史 + v0.5 信标 + v0.5.1 教程+上线 五层回应
- v0.2 探险 BOSS 战胜率较低(基础探索力 10 vs BOSS 难度 5-7,胜率约 25%),需玩家投资探险技术
- 探险能量恢复较慢(45s/点),后续可加技术提升恢复速度
- 编年史上限 50 条,超过自动丢弃最早的;v0.4 之前的飞升无回填(空状态有对应提示)
- 5 纪元叙事内容目前为模板化生成,v0.5+ 将加入手写剧情节点
- dev 服务器 Turbopack 缓存偶发损坏,静态导出构建更稳定
- **下一阶段优先**
1. 回复 Issue #1 #28atdunbg 等待游玩方式答复)
2. UI 进一步优化(标签页图标/文字比例、视觉层次强化)
3. 云存档+云排行榜(v0.5+)
4. 全 5 纪元手写叙事节点(v0.5+)
5. socket 多人同步星潮
## 定时任务
- 已设置:每 15 分钟 webDevReview(自动 QA + 迭代开发,job_id: 227933cron `0 0/15 * * * ?`tz Asia/Shanghai
- 上一轮 job_id 227909 已失效(列表为空),已重新创建
---