fix(skin): 修复最终评审发现的 6 处缺陷(junction 排除失效/meta 静默丢失等)

跨任务视角发现的问题:Critical1 materialize.mjs 的 junction 排除比较在
Windows 上因长路径前缀恒假、从未生效,且测试夹具的 junction 指向真源自身,
掩盖了此问题;Critical2 composeSkin 例外通道在 uuid 缺失/框架侧无 meta 时
静默失败,违反第二准则;Important3 可覆盖范围误把 theme/ 下的框架 TS 代码
也纳入;Important5 cli-entry 测试漏注册 check-skin/build-game;Important6
composeSkin 与 check-skin 各自拼路径,未共用 paths.mjs 权威推导;Important7
--platform 缺值时静默落到默认平台。逐条修复并补测试,Critical1 用诱饵框架
目录验证过能真正杀掉该 bug(变异推演见 fix report)。

spec §5 step5 的 dist/<name>/ 拷贝按要求标注为本期未实现,不实现。

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-08-27 23:15:28 +08:00
co-authored by Claude Opus 5
parent 88deab3533
commit 5708926711
12 changed files with 209 additions and 24 deletions
@@ -269,9 +269,13 @@ npm run build-game <name> [--platform android]
3. 皮肤合成 assets/game/override/** 覆盖到 assets/framework/ui/**
按 §3.2 校验;任一不合法即中止;打印命中统计
4. 构建 调 Cocos CLI 在临时工程上构建
5. 产出 拷至 dist/<name>/,写 build-info.json
5. 产出 写 build-info.json(拷至 dist/<name>/ 本期未实现,见下)
```
> **`dist/<name>/` 拷贝:本期未实现。** `build-game.mjs` 目前止步于 `build-workspace/<name>/`
> 内调用 Cocos CLI 构建 + 写 `build-info.json`;把构建产物拷到独立的 `dist/<name>/` 尚未落地
> (构建产物的实际目录结构未经真实构建验证,贸然实现拷贝逻辑等于凭空猜测路径)。
### 5.1 四条硬规则
**① 绝不在框架真源上做合成。**