fix(card-frames): 카드 프레임 슬롯 레이아웃 정밀 보정 (픽셀 실측) #51

Merged
gahusb merged 1 commits from fix/p13-card-layout into main 2026-06-13 04:01:58 +09:00
2 changed files with 7224 additions and 7222 deletions
Showing only changes of commit afe995a895 - Show all commits

View File

@@ -188,17 +188,19 @@ const HEAD_OFFSET_Y = 1.4; // 몬스터 월드 원점 위로 띄울 높이(머
const HP_BAR_W = 140;
const WHITE = { r: 1, g: 1, b: 1, a: 1 };
const INK = { r: 0.13, g: 0.11, b: 0.09, a: 1 }; // 밝은 배너·설명 박스 위 먹색 글자
// 카드 프레임(263×366 원본, 0.72 비율) 슬롯 레이아웃 — 180×250 기준값을 폭 비례 스케일
// 카드 프레임(1054×1492 원본) 슬롯 레이아웃 — 픽셀 실측을 180×250 카드 좌표로 환산한 기준값을 폭 비례 스케일.
// 실측(워리어·메이지·밴딧 공통): 육각 중심 (120,127)→(-70,104) · 배너 본체 y55..165, x215..1015→중심 (+15,+107)
// · 설명 박스 y~1030..1480→중심 (0,-86) · 아트 영역 y260..1030→중심 (0,+17)
function cardFaceLayout(W) {
const s = W / 180;
const r = (v) => Math.round(v * s);
return {
texts: [
['Cost', { size: { x: r(44), y: r(44) }, pos: { x: r(-68), y: r(103) }, fontSize: r(26), bold: true, color: WHITE }],
['Name', { size: { x: r(150), y: r(26) }, pos: { x: r(4), y: r(97) }, fontSize: r(18), bold: true, color: INK }],
['Desc', { size: { x: r(152), y: r(64) }, pos: { x: 0, y: r(-85) }, fontSize: r(16), bold: false, color: INK }],
['Cost', { size: { x: r(40), y: r(40) }, pos: { x: r(-70), y: r(104) }, fontSize: r(24), bold: true, color: WHITE }],
['Name', { size: { x: r(132), y: r(24) }, pos: { x: r(15), y: r(107) }, fontSize: r(16), bold: true, color: INK }],
['Desc', { size: { x: r(150), y: r(62) }, pos: { x: 0, y: r(-86) }, fontSize: r(16), bold: false, color: INK }],
],
art: { size: { x: r(110), y: r(110) }, pos: { x: 0, y: r(16) } },
art: { size: { x: r(112), y: r(112) }, pos: { x: 0, y: r(17) } },
};
}
const CARD_W = 180;

File diff suppressed because it is too large Load Diff