From b1921ee8435ebf69a6c4e06fa37d7a9a565e9e3c Mon Sep 17 00:00:00 2001 From: gahusb Date: Mon, 8 Jun 2026 01:11:44 +0900 Subject: [PATCH] =?UTF-8?q?gen-slaydeck:=20=EC=9C=A0=ED=9A=A8=ED=95=9C=20G?= =?UTF-8?q?UID=20=EC=83=9D=EC=84=B1=EC=9C=BC=EB=A1=9C=20=EC=88=98=EC=A0=95?= =?UTF-8?q?=20(DeckHud=C2=B7=EC=B9=B4=EB=93=9C=20=EC=9E=90=EC=8B=9D=20enti?= =?UTF-8?q?ty=20id)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 기존 guid() prefix+4hex는 8-4-4-4-12 형식이 아니어서 Maker가 적용 거부(LEA-3054). 네임스페이스 바이트 기반 hex GUID로 변경하고, 기존 자식 id도 재생성 시 정규화. Co-Authored-By: Claude Opus 4.8 (1M context) --- tools/gen-slaydeck.mjs | 6 +++++- ui/DefaultGroup.ui | 48 +++++++++++++++++++++--------------------- 2 files changed, 29 insertions(+), 25 deletions(-) diff --git a/tools/gen-slaydeck.mjs b/tools/gen-slaydeck.mjs index 690ab3f..557eeb6 100644 --- a/tools/gen-slaydeck.mjs +++ b/tools/gen-slaydeck.mjs @@ -19,7 +19,10 @@ const ALIGN_CENTER = 0; const ALIGN_BOTTOM_CENTER = 6; function guid(prefix, n) { - return `${prefix}${n.toString(16).padStart(4, '0')}-0000-4000-8000-${n.toString(16).padStart(12, '0')}`; + // 유효한 8-4-4-4-12 hex GUID 생성. prefix는 충돌 방지용 네임스페이스 바이트로 매핑. + const ns = prefix === 'hud' ? 0xd0 : prefix === 'dck' ? 0xca : 0xfe; + const v = (ns * 0x100000 + n) >>> 0; + return `${v.toString(16).padStart(8, '0')}-0000-4000-8000-${v.toString(16).padStart(12, '0')}`; } function transform({ parentW, parentH, anchor, pivot, size, pos, align = 0 }) { @@ -229,6 +232,7 @@ function upsertUi() { ui.ContentProto.Entities.push(child); byPath.set(path, child); } else { + child.id = guid('dck', i * 10 + children.findIndex(([s]) => s === suffix)); child.jsonString.enable = true; child.jsonString.visible = true; child.jsonString['@components'][2].Text = cfg.value; diff --git a/ui/DefaultGroup.ui b/ui/DefaultGroup.ui index eb3652a..a2692ea 100644 --- a/ui/DefaultGroup.ui +++ b/ui/DefaultGroup.ui @@ -1395,7 +1395,7 @@ } }, { - "id": "cad00002-0000-4000-8000-000000000002", + "id": "0ca0000a-0000-4000-8000-00000ca0000a", "path": "/ui/DefaultGroup/CardHand/Card1/Cost", "componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.TextComponent", "jsonString": { @@ -1583,7 +1583,7 @@ } }, { - "id": "cad00003-0000-4000-8000-000000000003", + "id": "0ca0000b-0000-4000-8000-00000ca0000b", "path": "/ui/DefaultGroup/CardHand/Card1/Name", "componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.TextComponent", "jsonString": { @@ -1771,7 +1771,7 @@ } }, { - "id": "cad00004-0000-4000-8000-000000000004", + "id": "0ca0000c-0000-4000-8000-00000ca0000c", "path": "/ui/DefaultGroup/CardHand/Card1/Desc", "componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.TextComponent", "jsonString": { @@ -2147,7 +2147,7 @@ } }, { - "id": "cad00006-0000-4000-8000-000000000006", + "id": "0ca00014-0000-4000-8000-00000ca00014", "path": "/ui/DefaultGroup/CardHand/Card2/Cost", "componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.TextComponent", "jsonString": { @@ -2335,7 +2335,7 @@ } }, { - "id": "cad00007-0000-4000-8000-000000000007", + "id": "0ca00015-0000-4000-8000-00000ca00015", "path": "/ui/DefaultGroup/CardHand/Card2/Name", "componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.TextComponent", "jsonString": { @@ -2523,7 +2523,7 @@ } }, { - "id": "cad00008-0000-4000-8000-000000000008", + "id": "0ca00016-0000-4000-8000-00000ca00016", "path": "/ui/DefaultGroup/CardHand/Card2/Desc", "componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.TextComponent", "jsonString": { @@ -2899,7 +2899,7 @@ } }, { - "id": "cad0000a-0000-4000-8000-00000000000a", + "id": "0ca0001e-0000-4000-8000-00000ca0001e", "path": "/ui/DefaultGroup/CardHand/Card3/Cost", "componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.TextComponent", "jsonString": { @@ -3087,7 +3087,7 @@ } }, { - "id": "cad0000b-0000-4000-8000-00000000000b", + "id": "0ca0001f-0000-4000-8000-00000ca0001f", "path": "/ui/DefaultGroup/CardHand/Card3/Name", "componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.TextComponent", "jsonString": { @@ -3275,7 +3275,7 @@ } }, { - "id": "cad0000c-0000-4000-8000-00000000000c", + "id": "0ca00020-0000-4000-8000-00000ca00020", "path": "/ui/DefaultGroup/CardHand/Card3/Desc", "componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.TextComponent", "jsonString": { @@ -3651,7 +3651,7 @@ } }, { - "id": "cad0000e-0000-4000-8000-00000000000e", + "id": "0ca00028-0000-4000-8000-00000ca00028", "path": "/ui/DefaultGroup/CardHand/Card4/Cost", "componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.TextComponent", "jsonString": { @@ -3839,7 +3839,7 @@ } }, { - "id": "cad0000f-0000-4000-8000-00000000000f", + "id": "0ca00029-0000-4000-8000-00000ca00029", "path": "/ui/DefaultGroup/CardHand/Card4/Name", "componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.TextComponent", "jsonString": { @@ -4027,7 +4027,7 @@ } }, { - "id": "cad00010-0000-4000-8000-000000000010", + "id": "0ca0002a-0000-4000-8000-00000ca0002a", "path": "/ui/DefaultGroup/CardHand/Card4/Desc", "componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.TextComponent", "jsonString": { @@ -4403,7 +4403,7 @@ } }, { - "id": "dck0032-0000-4000-8000-000000000032", + "id": "0ca00032-0000-4000-8000-00000ca00032", "path": "/ui/DefaultGroup/CardHand/Card5/Cost", "componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.TextComponent", "jsonString": { @@ -4591,7 +4591,7 @@ } }, { - "id": "dck0033-0000-4000-8000-000000000033", + "id": "0ca00033-0000-4000-8000-00000ca00033", "path": "/ui/DefaultGroup/CardHand/Card5/Name", "componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.TextComponent", "jsonString": { @@ -4779,7 +4779,7 @@ } }, { - "id": "dck0034-0000-4000-8000-000000000034", + "id": "0ca00034-0000-4000-8000-00000ca00034", "path": "/ui/DefaultGroup/CardHand/Card5/Desc", "componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.TextComponent", "jsonString": { @@ -4967,7 +4967,7 @@ } }, { - "id": "hud0000-0000-4000-8000-000000000000", + "id": "0d000000-0000-4000-8000-00000d000000", "path": "/ui/DefaultGroup/DeckHud", "componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent", "jsonString": { @@ -5108,7 +5108,7 @@ } }, { - "id": "hud0001-0000-4000-8000-000000000001", + "id": "0d000001-0000-4000-8000-00000d000001", "path": "/ui/DefaultGroup/DeckHud/DrawPile", "componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent", "jsonString": { @@ -5249,7 +5249,7 @@ } }, { - "id": "hud0002-0000-4000-8000-000000000002", + "id": "0d000002-0000-4000-8000-00000d000002", "path": "/ui/DefaultGroup/DeckHud/DrawPile/Label", "componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.TextComponent", "jsonString": { @@ -5437,7 +5437,7 @@ } }, { - "id": "hud0003-0000-4000-8000-000000000003", + "id": "0d000003-0000-4000-8000-00000d000003", "path": "/ui/DefaultGroup/DeckHud/DrawPile/Count", "componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.TextComponent", "jsonString": { @@ -5625,7 +5625,7 @@ } }, { - "id": "hud0004-0000-4000-8000-000000000004", + "id": "0d000004-0000-4000-8000-00000d000004", "path": "/ui/DefaultGroup/DeckHud/DiscardPile", "componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent", "jsonString": { @@ -5766,7 +5766,7 @@ } }, { - "id": "hud0005-0000-4000-8000-000000000005", + "id": "0d000005-0000-4000-8000-00000d000005", "path": "/ui/DefaultGroup/DeckHud/DiscardPile/Label", "componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.TextComponent", "jsonString": { @@ -5954,7 +5954,7 @@ } }, { - "id": "hud0006-0000-4000-8000-000000000006", + "id": "0d000006-0000-4000-8000-00000d000006", "path": "/ui/DefaultGroup/DeckHud/DiscardPile/Count", "componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.TextComponent", "jsonString": { @@ -6142,7 +6142,7 @@ } }, { - "id": "hud0007-0000-4000-8000-000000000007", + "id": "0d000007-0000-4000-8000-00000d000007", "path": "/ui/DefaultGroup/DeckHud/EndTurnButton", "componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.ButtonComponent,MOD.Core.TextComponent", "jsonString": { @@ -6377,7 +6377,7 @@ } }, { - "id": "hud0008-0000-4000-8000-000000000008", + "id": "0d000008-0000-4000-8000-00000d000008", "path": "/ui/DefaultGroup/DeckHud/Energy", "componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.TextComponent", "jsonString": {