diff --git a/cocoscreator_projects/framework-tests/legacy-layer-migration/fixtures/spirit-semantics.json b/cocoscreator_projects/framework-tests/legacy-layer-migration/fixtures/spirit-semantics.json index ef55efb..64c4308 100644 --- a/cocoscreator_projects/framework-tests/legacy-layer-migration/fixtures/spirit-semantics.json +++ b/cocoscreator_projects/framework-tests/legacy-layer-migration/fixtures/spirit-semantics.json @@ -25,7 +25,8 @@ "5": { "component": "cc.Sprite", "note": "9-slice 缩放精灵; 独有属性 LeftEdge/TopEdge/RightEdge/BottomEdge (4 个边缘宽度); CanClick=1, CanDragSize=1; Cocos 映射: cc.Sprite._type = 1 (SLICED)", - "evidence": "Game_Surface_3 中 type=5 spirit 独有 LeftEdge/TopEdge/RightEdge/BottomEdge 属性 (Layer00002 Spirit159 (100/80/100/80, 隐式) / Layer00006 Spirit287 (70/1/70/1) / Layer00017 '个人信息背景' (70/70/70/70) / Layer00609 '设置背景' (100/134/100/135) / Layer00612 Tips_Layer 5 个 type=5 边缘容器); 39/55 Layer 含 type=5; YouleNexus Login_Layer.prefab 中唯一一个 cc.Sprite._type=1 (SLICED) 节点的 _contentSize 是 370×170, 严格匹配 Layer00002 Spirit159 Width=370 Height=170 — 同一个节点, 1:1 对应; YouleNexus Layer609_Setting.prefab 中 cc.Sprite._type=1 对应 Layer00609 '设置背景' (9-slice 边缘切片背景); 4 个边缘宽度正是 9-slice 缩放 slice 区域定义" + "evidence": "Game_Surface_3 中 type=5 spirit 独有 LeftEdge/TopEdge/RightEdge/BottomEdge 属性 (Layer00002 Spirit159 (100/80/100/80, 隐式) / Layer00006 Spirit287 (70/1/70/1) / Layer00017 '个人信息背景' (70/70/70/70) / Layer00609 '设置背景' (100/134/100/135) / Layer00612 Tips_Layer 5 个 type=5 边缘容器); 39/55 Layer 含 type=5; YouleNexus Login_Layer.prefab 中唯一一个 cc.Sprite._type=1 (SLICED) 节点的 _contentSize 是 370×170, 严格匹配 Layer00002 Spirit159 Width=370 Height=170 — 同一个节点, 1:1 对应; YouleNexus Layer609_Setting.prefab 中 cc.Sprite._type=1 对应 Layer00609 '设置背景' (9-slice 边缘切片背景); 4 个边缘宽度正是 9-slice 缩放 slice 区域定义", + "uncertainty_note": "PoC 2 实证 (2026-09-02): Login_Layer.prefab Spirit465 (type=5 SLICED, _type=1 hard-coded) 引用的 SpriteFrame 8e3905be-...@f9941 实际 capInsets=[0,0,0,0] (非 9-slice). 正确做法: 从 SpriteFrame.capInsets 推 _type (all zero → 0/SIMPLE, otherwise → 1/SLICED). 当前实现按 type 硬编码 _type=1 与 YouleNexus 手工 prefab 一致 (手工也有同样错误), 但运行时 SpriteFrame 实际不是 SLICED 渲染. fix: 扩展 resolveSpriteFrameUuid 返回 capInsets, emitPrefabJson 根据 capInsets 决定 _type. Not yet implemented — final reviewer Important #11 deferred to PoC 2 follow-up." } }, "size_calc_mode": {