CrystalOrb 升级(P0 视觉震撼): - 从 CSS 动画重写为 Canvas 2D 粒子系统 - 环绕能量粒子(3层32个,emerald/fuchsia/rose,带拖尾) - 环境星尘(40个,闪烁漂移) - 点击爆发粒子 + 冲击波环(连击解锁更多层) - 晶核辉光呼吸 + 3层六边形纹理 + 鼠标视差 - VLM 视觉评分 8/10 角色属性系统(P1 RPG 深度): - 新增 attributes.ts 逻辑层 + AttributesPanel UI - 四维属性:探索力/智慧/勇气/灵感(emerald/fuchsia/amber/rose) - 两区加成公式(0-50线性,50-100递减) - 飞升获得属性点(ascensions×2+1),手动分配 - 完成活动获得属性经验,自动升级 - 接入 pulse/clickNode/resolveCurrentNode/grantCruiseReward/tickTide - 旧存档兼容(migrateAttributes) - 新增 2 项成就 + 第 8 个标签页「角色」 - VLM 视觉评分 7-8/10 lint 零错误;HTTP 200
272 lines
18 KiB
Markdown
272 lines
18 KiB
Markdown
# 回响星核 / Echo Nexus — 开发工作日志
|
||
|
||
> 持续性任务的工作交接文档。每个阶段更新,避免进度丢失。
|
||
|
||
---
|
||
|
||
## 一、项目当前状态描述 / 判断
|
||
|
||
### 概况
|
||
- **项目**:回响星核 / Echo Nexus — 深空考古放置策略游戏
|
||
- **一句话**:自治无人机采矿 → 解码记忆晶体(原创共振谜题)→ 拼凑碎片叙事 → 飞升多周目。差异化:解码谜题驱动叙事涌现,全息晶体 + 深空粒子美学。
|
||
- **当前版本**:**v0.7**(CrystalOrb Canvas 粒子系统 + 角色属性系统)
|
||
- **在线游玩**:https://gitea-pages.atdunbg.xyz/Super_Z/echo-nexus/
|
||
- **仓库**:https://git.atdunbg.xyz/Super_Z/echo-nexus
|
||
- **技术栈**:Next.js 16 (App Router) + TypeScript + Tailwind + shadcn/ui + Canvas 2D + Zustand + Web Audio API
|
||
- **定时任务**:每 15 分钟一次 `webDevReview`(`fixed_rate` + `"900"` 秒,priority=10,job_id 228266)。正常完成不会被删除,无需自持续机制。
|
||
|
||
### 状态判断
|
||
- dev 服务器运行正常(HTTP 200,编译 < 250ms)
|
||
- v0.7 两大新功能已完成:CrystalOrb Canvas 粒子系统升级(VLM 8/10)+ 角色属性系统(VLM 7/10)
|
||
- 系统总体稳定,无阻塞性 bug,可继续推进新功能
|
||
|
||
### 已完成版本里程碑(精简)
|
||
| 版本 | 核心内容 |
|
||
|------|---------|
|
||
| v0.1 | MVP:放置采矿 + 解码共振谜题 + 技术树 + 记忆图谱 + 飞升 + 统计 |
|
||
| v0.1.1 | 解码可解性修复(路径构造法生成器,100% 可解率)|
|
||
| v0.2 | 遗迹探险肉鸽系统(能量/探险力/6 节点/程序化路径/BOSS)|
|
||
| v0.2.1 | 程序化音频(15 种音效)+ 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 间距优化 |
|
||
| v0.5.2 | 离线收益报告弹窗 + 标签页 UI 重设计 + persist rehydrate 竞态修复 |
|
||
| v0.6 | 深空巡航 Canvas 2D 实时玩法 + UI 偏移重叠修复 |
|
||
| **v0.7** | **CrystalOrb Canvas 粒子系统升级 + 角色属性系统(四维)** |
|
||
|
||
### 核心系统清单(8 大系统)
|
||
1. **放置采矿** — 中央晶体球 + 主动脉冲 + 连击加成(`CrystalOrb.tsx`)
|
||
2. **谐振解码** — 原创路径谜题,路径构造法 100% 可解(`DecodeArray.tsx` + `engine.ts`)
|
||
3. **技术树** — 三层科技解锁,提升产能/解码/探险(`TechTree.tsx`)
|
||
4. **遗迹探险** — 肉鸽系统,6 种节点 + 程序化路径 + BOSS(`ExpeditionPanel.tsx` + `expedition.ts`)
|
||
5. **星潮事件** — 6 种动态事件,为放置循环注入变化(`StarTide.tsx` + `starTide.ts`)
|
||
6. **星图天文台** — 飞升后 3 选 1 天赋 draft,跨周目永久生效,18 个天赋(`ConstellationPanel.tsx` + `constellation.ts`)
|
||
7. **回响编年史** — 跨周目叙事时间轴,5 纪元循环命名(`ChronicleDialog.tsx` + `chronicle.ts`)
|
||
8. **深空信标** — 每日挑战 + 本地排行榜 Top20(`BeaconPanel.tsx` + `beacon.ts`)
|
||
9. **深空巡航** — Canvas 2D 实时玩法,飞船操控/陨石躲避/星门通关(`CruiseMode.tsx` + `cruise.ts`)【v0.6】
|
||
10. **角色属性系统** — 四维属性(探索力/智慧/勇气/灵感),飞升获得属性点,影响所有系统(`AttributesPanel.tsx` + `attributes.ts`)【v0.7 新增】
|
||
|
||
---
|
||
|
||
## 二、当前目标 / 已完成的修改 / 验证结果
|
||
|
||
### v0.7 CrystalOrb Canvas 粒子系统升级(已完成)
|
||
**动机**:P0 优先级 — 将中央晶体球从 CSS 动画升级为 Canvas 粒子视觉盛宴,提升视觉震撼。
|
||
|
||
**重写文件**:`src/components/game/CrystalOrb.tsx`
|
||
- 从纯 CSS 动画升级为 Canvas 2D 粒子系统
|
||
- **多层粒子**:
|
||
- 环绕能量粒子(3层14/10/8个,emerald/fuchsia/rose三色,不同速度方向环绕晶核,带拖尾)
|
||
- 环境星尘(40个,缓慢漂移 + 闪烁)
|
||
- 点击爆发粒子(10-30个径向发散,颜色随连击等级变色)
|
||
- 冲击波环(点击触发1-3层错峰扩散,连击≥3/5解锁更多层)
|
||
- **晶核升级**:径向渐变辉光 + 3层六边形纹理旋转 + 高光 + 鼠标视差偏移
|
||
- **呼吸动画**:晶核 + 外层辉光随时间呼吸(sin波)
|
||
- **进度环**:SVG渐变环(emerald→fuchsia→rose)保留
|
||
- **交互保留**:点击脉冲、连击Toast、浮动数字、音效、`data-tut="crystal-orb"` 锚点
|
||
- **性能**:DPR cap 2,ResizeObserver 自适应,requestAnimationFrame 60fps
|
||
|
||
**QA 验证**(agent-browser + VLM):
|
||
- VLM 视觉评分 **8/10**:晶体球清晰可见,多层辉光,环绕粒子动态自然,无渲染问题
|
||
- 点击交互:冲击波环 ✅ + 爆发粒子 ✅,评分 7/10
|
||
- lint 零错误;HTTP 200
|
||
|
||
### v0.7 角色属性系统(已完成)
|
||
**动机**:P1 优先级 — 增加RPG深度,四维属性影响所有游戏系统。
|
||
|
||
**新增文件**:
|
||
- `src/lib/game/attributes.ts`(~330行逻辑层):CharacterAttributes/AttributeProgress 类型、ATTRIBUTE_CONFIG 元信息、getAttributeBonus 两区加成公式(0-50线性+0.5%/点,50-100递减+0.2%/点)、getAllBonuses 12项修饰器、levelUpCheck 自动升级、computePrestigeAttrPoints、migrateAttributes 旧存档兼容
|
||
- `src/components/game/AttributesPanel.tsx`(~330行 UI):四维卡片网格(小屏2×2/大屏1×4)、图标+中英文名+Lv.badge+数值/100+加成%+经验条+影响列表+分配按钮、顶部待分配点数badge闪烁、底部总览+12项修饰器明细
|
||
|
||
**修改文件**:
|
||
- `types.ts`:GameState 新增 attributes/attributeProgress/pendingAttrPoints
|
||
- `config.ts`:INITIAL_STATE 补全默认值
|
||
- `engine.ts`:recomputeStats 聚合属性加成;performPrestige 发放属性点(ascensions×2+1)
|
||
- `gameStore.ts`:新增 allocateAttribute/gainAttributeExp actions;pulse/clickNode/autoDecodeTick/resolveCurrentNode/grantCruiseReward/tickTide 全部接入属性经验;init() 调用 migrateAttributes
|
||
- `achievements.ts`:新增 ach_attr_total_50 + ach_attr_max_100 两项成就
|
||
- `page.tsx`:grid-cols-7→8,新增「角色」标签页(User图标),红点提示,StatsPanel新增5行属性行,版本号 v0.6→v0.7
|
||
|
||
**四维属性设计**:
|
||
- 探索力(emerald):探险力+X%/巡航飞船速度+X%
|
||
- 智慧(fuchsia):解码步数+X/洞见+X%/自动解码周期-X%
|
||
- 勇气(amber):探险生命+X/BOSS胜率+X%/巡航护盾+X
|
||
- 灵感(rose):接触率+X/星潮概率+X/脉冲连击+X%
|
||
|
||
**QA 验证**(agent-browser + VLM):
|
||
- VLM 视觉评分 **7/10**(面板)/ **8/10**(待分配状态):四维卡片可见、数值/等级/加成/经验条齐全、四色全息
|
||
- 功能验证:setState pendingAttrPoints=5 → 显示5点待分配 → 点击分配按钮 → exploration 0→1, pending 5→4 ✅
|
||
- lint 零错误;HTTP 200
|
||
|
||
---
|
||
|
||
### v0.6 深空巡航 Canvas 2D 实时玩法(历史记录)
|
||
**动机**:回应用户反馈「玩法太单调(全是点点点)」+「视觉震撼不足」——首次引入实时操作玩法。
|
||
|
||
**新增文件**:
|
||
- `src/lib/game/cruise.ts`(~520 行逻辑层)
|
||
- 类型系统:CruiseEntity 联合类型(ship/asteroid/storm/crystal/insight/beacon/stargate/particle 共 8 种)
|
||
- mulberry32 + FNV-1a 种子化 RNG(`cruiseSeed(level)`)
|
||
- `generateLevel`:程序化生成陨石带(8+lvl×2)、虚空风暴(1+lvl/2)、晶体碎片(5+lvl)、洞见光球(2+lvl/3)、信标(1+lvl/4)、星门
|
||
- `updateCruise`:物理推进 + 碰撞检测 + 粒子系统 + 震动 + 600ms 无敌帧
|
||
- `computeRewards`:crystals=碎片×(8+lvl×2)、insights=洞见×(2+lvl×0.5)、contact=信标×(1.5+lvl×0.3);通关×1.5、失败×0.5
|
||
- 独立 localStorage `echo-nexus-cruise-v1`:最高分/累计通关/最高关卡/累计奖励/最近 20 局
|
||
|
||
- `src/components/game/CruiseMode.tsx`(~830 行渲染层)
|
||
- 全屏 fixed inset-0 z-50 Canvas,DPR cap 2,resize 监听
|
||
- 3 层视差星空:远(100星)/中(60星)/近(30星),独立漂移 + 飞船速度视差 + 闪烁
|
||
- 8 种实体全部 ctx.shadowBlur 辉光绘制
|
||
- 粒子系统:尾焰/收集/碰撞/烟花,上限 200
|
||
- 屏幕震动 280ms 衰减;低护盾(<30%)红色边框脉冲
|
||
- HUD(HTML 叠层,glass+backdrop-blur,80ms 节流):护盾/能量/分数/用时/收集计数
|
||
- 控制:桌面 WASD/方向键 8 方向 + 移动端虚拟摇杆 + P 暂停 + Esc 退出 + 失焦自动暂停
|
||
- 阶段:ready → playing → won/lost(结算明细 + 奖励 + 下一关/重试/返回)
|
||
|
||
**修改文件**:
|
||
- `src/app/page.tsx`:header 新增 amber 主题「巡航」按钮(Navigation 图标)+ cruiseOpen state + 条件渲染 CruiseMode
|
||
- `src/store/gameStore.ts`:新增 `grantCruiseReward({crystals?, insights?, contact?})` action(crystals 受 crystalCap 限制,contact 受 100 上限)
|
||
- 版本号 v0.5.2 → v0.6
|
||
|
||
**UI 偏移/重叠 BUG 修复**(3 处):
|
||
- `DecodeArray.tsx`:移除 className 冲突的 `-translate-x-1/2 -translate-y-1/2`,统一用 inline transform 定位+缩放
|
||
- `AchievementsPanel.tsx`:移除内层 `max-h-[300px]`,改 `flex-1 min-h-0` 自适应父容器
|
||
- `page.tsx`:调整三个 section 的 min-h,避免小屏单列时总高度超过手机视口
|
||
|
||
**色彩规范**:严格遵循 emerald(#34d399) / rose(#fb7185) / amber(#fbbf24) / fuchsia(#e879f9) 四色全息色谱,零蓝色/靛色
|
||
|
||
**QA 验证**(agent-browser + VLM):
|
||
- lint 零错误;dev 服务器 HTTP 200;编译 < 250ms
|
||
- VLM 确认主界面:巡航按钮存在、晶体球居中、解码区正常、无重叠偏移
|
||
- VLM 确认巡航玩法:飞船可见(绿色三角形)、HUD 完整、陨石+星空背景、粒子特效(黄色尾焰+紫色辉光)
|
||
- WASD 控制飞船移动,按 W 直冲星门 → 通关,奖励 +30 晶体(2×10×1.5=30 计算正确)
|
||
- localStorage 正确记录 highScore/totalRuns/totalWins/bestLevel
|
||
- 奖励同步 gameStore(grantCruiseReward,满仓时 cap 逻辑正确)
|
||
- 退出返回主界面,7 标签页 + 晶体球 + 解码面板均完好
|
||
|
||
---
|
||
|
||
## 三、未解决问题或风险 / 下一阶段优先事项
|
||
|
||
### 已知问题 / 风险
|
||
1. **dev 服务器 Turbopack 缓存偶发损坏**:`Unable to open static sorted file` + 进程被杀,需 `rm -rf .next` 重启。静态导出构建稳定可靠。
|
||
2. **定时任务调度类型**:必须用 `fixed_rate` + `"900"` 秒(15分钟),不要用 cron 表达式。`webDevReview` 类型任务正常完成不会被删除,只有抛出未捕获异常才会被标记失败。
|
||
3. **v0.3 星潮为单机版**:原计划 socket 全局事件,后续可扩展为多人同步。
|
||
4. **v0.5 信标排行榜为本地版**(纯 localStorage):升级云排行榜需后端 API。
|
||
5. **v0.5 每日挑战仅 1 个/天**:可加入"周挑战"或"信标链"(连续完成 N 天奖励)。
|
||
6. **探险 BOSS 战胜率较低**:基础探索力 10 vs BOSS 难度 5-7,胜率约 25%,需玩家投资探险技术。
|
||
7. **探险能量恢复较慢**:45s/点,可加技术提升恢复速度。
|
||
8. **编年史上限 50 条**:超过自动丢弃最早的;v0.4 之前飞升无回填(空状态有提示)。
|
||
9. **5 纪元叙事为模板化生成**:v0.5+ 将加入手写剧情节点。
|
||
10. **CrystalOrb 仍为 CSS 动画**:v0.6 未完成 Canvas 粒子系统升级(上下文截断),是下一阶段第一优先级。
|
||
|
||
### 下一阶段优先级
|
||
1. **🔴 P0 — CrystalOrb Canvas 粒子系统升级**:中央晶体球从 CSS 动画升级为 Canvas 粒子视觉(能量流动/晶体共振/脉冲冲击波/环境粒子),提升视觉震撼。文件:`src/components/game/CrystalOrb.tsx`,保留对 `data-tut="crystal-orb"` 锚点。
|
||
2. **🟠 P1 — 角色属性系统**:探索力/智慧/勇气/灵感四维属性,影响探险/解码/星潮/巡航,增加 RPG 深度。
|
||
3. **🟠 P1 — 巡航玩法增强**:BOSS 战关卡 / 事件选择节点 / 更多关卡类型 / 道具掉落。
|
||
4. **🟡 P2 — UI 样式细节打磨**:标签页图标/文字比例、视觉层次强化、移动端响应式进一步优化。
|
||
5. **🟡 P2 — 云存档 + 云排行榜**:v0.5+ 后端 API(需评估是否引入 mini-service)。
|
||
6. **🟢 P3 — 全 5 纪元手写叙事节点**:替换模板化 lore。
|
||
7. **🟢 P3 — socket 多人同步星潮**:全局事件共享。
|
||
|
||
### 定时任务(fixed_rate · 900s)
|
||
- **当前 job_id**: 228266(2026-06-24 04:31 创建)
|
||
- **配置**: `fixed_rate` + `"900"`(15分钟间隔),`priority=10`(高优先级),`payload.kind=webDevReview`
|
||
- **任务名**: Echo Nexus - 任务审查与持续迭代
|
||
- **正常完成不会被删除**,只有未捕获异常会标记失败。若任务列表为空,需用 cron create 重建(schedule.kind=fixed_rate, expr="900", priority=10, payload.kind=webDevReview)。
|
||
- **job_id 历史**: 227909(失效) → 228130(失效) → 228172(失效) → 228186(失效) → 228218(删除重建) → 228236(cron版,删除重建) → 228266(当前,fixed_rate版)
|
||
|
||
---
|
||
|
||
## 定时任务描述模板(webDevReview · fixed_rate)
|
||
|
||
> 重建参数:schedule.kind=`fixed_rate`, schedule.expr=`"900"`, params.priority=`10`, payload.kind=`webDevReview`
|
||
|
||
```
|
||
请先判断当前项目状态,使用 agent-browser 进行必要测试和 QA,然后自主选择本轮最合适的工作重点并继续开发。
|
||
|
||
要求:
|
||
1. 开始任务时查看 /home/z/my-project/worklog.md 了解实际进展,拆解详细todo
|
||
2. 使用 agent-browser 进行测试和QA,有bug优先修复
|
||
3. 如果稳定,自主提出新需求继续推进
|
||
4. 样式要越做细节越多!!
|
||
5. 功能要越做越多!!
|
||
6. 工作告一段落更新 /home/z/my-project/worklog.md
|
||
7. 项目结束后一定要把工作记录写在 worklog.md 里
|
||
|
||
交接文档建议包含三部分:
|
||
- 项目当前状态描述/判断
|
||
- 当前目标/已完成的修改/验证结果
|
||
- 未解决问题或风险,建议下一阶段优先事项
|
||
```
|
||
|
||
---
|
||
|
||
## 历史详细版本记录(按需查阅 docs/repo/docs/)
|
||
|
||
- `04-解码系统修复-v0.1.1.md`
|
||
- `05-遗迹探险系统-v0.2.md`
|
||
- `06-音频与成就系统-v0.2.1.md`
|
||
- `07-星潮事件系统-v0.3.md`
|
||
- `08-星图天文台系统-v0.3.1.md`
|
||
- `09-回响编年史系统-v0.4.md`
|
||
- `10-深空信标系统-v0.5.md`
|
||
|
||
---
|
||
|
||
Task ID: 7
|
||
Agent: full-stack-developer
|
||
Task: 角色属性系统(探索力/智慧/勇气/灵感)
|
||
|
||
Work Log:
|
||
- 阅读 worklog.md 了解 v0.6 项目背景,确认 8 大系统架构与四色全息色彩规范
|
||
- 新建 `src/lib/game/attributes.ts` 逻辑层(~330 行):
|
||
- 定义 CharacterAttributes/AttributeProgress/AttributeKey 类型 + ATTRIBUTE_CONFIG 元信息
|
||
- getAttributeBonus 线性+递减两区加成公式(0-50 每 10 点 +5%,50-100 每点 +2%)
|
||
- getAllBonuses 返回 12 个修饰器(探险力/巡航速度/解码步数/洞见/自动解码周期/探险生命/BOSS 胜率/巡航护盾/接触率/星潮触发/脉冲连击/产能)
|
||
- levelUpCheck 自动跨多级 + expRequiredForLevel + computePrestigeAttrPoints + migrateAttributes 兼容
|
||
- 扩展 `src/lib/game/types.ts` GameState:新增 attributes/attributeProgress/pendingAttrPoints
|
||
- 扩展 `src/lib/game/config.ts` INITIAL_STATE:补全默认值(0 数值 + 空 progress)
|
||
- 扩展 `src/lib/game/engine.ts`:
|
||
- recomputeStats 末尾聚合 am.crystalsPerSecMult/insightMultAdd/contactRateMult/decodeStepsBonus
|
||
- performPrestige 保留 attributes 数值,清空 attributeProgress,发放 ascensions × 2 + 1 点属性点
|
||
- createInitialState 每次返回全新对象避免引用共享
|
||
- 扩展 `src/store/gameStore.ts`(核心改造,10+ 处 syncStats 调用全部补 attributes 参数):
|
||
- pulse:连击 ≥3 给灵感经验 + 脉冲威力乘灵感连击加成
|
||
- clickNode 完成:给智慧经验(tier × 2)
|
||
- autoDecodeTick:智慧经验 +1 + 自动解码周期受 am.autoDecodeIntervalMult 影响
|
||
- startExpedition:探险力乘 am.expeditionPowerMult,生命加 am.expeditionHpBonus
|
||
- resolveCurrentNode:BOSS 节点包装 RNG 提升 +am.bossWinRateBonus 胜率;战斗胜利给勇气+探索力经验
|
||
- grantCruiseReward:按总奖励量给探索力+勇气经验
|
||
- tickTide:灵感 am.tideTriggerBonus 缩短星潮间隙(上限 30%)
|
||
- init() 调用 migrateAttributes 补全旧存档
|
||
- 新增 allocateAttribute / gainAttributeExp 两个 action
|
||
- 新建 `src/components/game/AttributesPanel.tsx` UI 面板(~330 行):
|
||
- 四维卡片网格(小屏 2×2,大屏 1×4)
|
||
- 每张卡片:图标 + 中英文名 + Lv.badge + 数值/100 + 加成% + 经验条 + 影响列表 + 「+分配」按钮
|
||
- 顶部待分配点数 badge(pendingAttrPoints > 0 时 echo-pending-pulse 闪烁动画)
|
||
- 底部总等级/总加成概览 + 12 个修饰器明细
|
||
- 4 色辉光边框(emerald/fuchsia/amber/rose),顶角光晕装饰
|
||
- 接入 `src/app/page.tsx`:
|
||
- grid-cols-7 → grid-cols-8,新增第 8 个「角色」TabsTrigger(User 图标,渐变主题)
|
||
- pendingAttrPoints > 0 时显示 rose 红点提示
|
||
- 渲染 AttributesPanel
|
||
- StatsPanel 新增 5 行属性行(探索力/智慧/勇气/灵感/待分配点)
|
||
- 版本号 v0.6 → v0.7
|
||
- 新增 `src/lib/game/achievements.ts` 2 项成就:
|
||
- ach_attr_total_50(四维觉醒):总属性 ≥ 50 → 产能+6%/洞见+6%
|
||
- ach_attr_max_100(维度精通):任一属性 100 → 产能+12%/洞见+10%
|
||
- 写入 `agent-ctx/7-full-stack-developer.md` 工作记录
|
||
- 最终验证:lint 零错误 + dev 服务器 HTTP 200 + 编译 < 250ms
|
||
|
||
Stage Summary:
|
||
- ✅ 角色属性系统 v0.7 P1 全部完成
|
||
- ✅ 新增 2 文件(attributes.ts + AttributesPanel.tsx),修改 6 文件(types/config/engine/gameStore/achievements/page)
|
||
- ✅ 四维属性完整接入游戏各系统(探险/解码/脉冲/巡航/星潮)
|
||
- ✅ 飞升属性点公式 = ascensions × 2 + 1;经验累积自动升级(每级 10×level)
|
||
- ✅ 旧存档兼容(migrateAttributes 补全字段,同步 level 与 attributes)
|
||
- ✅ lint 零错误 + HTTP 200 + 编译 < 250ms
|
||
- ✅ 严格四色全息(emerald/fuchsia/amber/rose),零蓝色/靛色
|
||
- ✅ 8 标签页 + 巡航按钮全部保留,data-tut 锚点未破坏
|
||
- ✅ 待分配点数时标签页 rose 红点提示 + 顶部 badge 闪烁
|