diff --git a/templates/phase_z2/catalog/frame_contracts.yaml b/templates/phase_z2/catalog/frame_contracts.yaml index ef0ae4d..095becd 100644 --- a/templates/phase_z2/catalog/frame_contracts.yaml +++ b/templates/phase_z2/catalog/frame_contracts.yaml @@ -206,10 +206,13 @@ three_persona_benefits: - constructor - designer - # min_height_px : initial estimate (3-card 텍스트 밀도 기준, F13=230 vs F29=345 사이). - # smoke 통과 후 batch full-pipeline render 시 실측 갱신. + # min_height_px : derive + confirm (Codex round 13 §2.2). + # Figma frame 1927 px @ scale 0.49213 → 948 px adapted (full frame). + # Phase Z slide-body ≤ 585 px → adaptive content fit. + # Content density (3 col × 7 bullets + badge) → F29 (345) class 보다 가벼움. + # Derived = 290 (between F13=230 and F29=345). confirm via smoke + sample run. visual_hints: - min_height_px: 280 + min_height_px: 290 accepted_content_types: - text_block diff --git a/templates/phase_z2/families/three_persona_benefits.html b/templates/phase_z2/families/three_persona_benefits.html index 167c5cc..9d25c2b 100644 --- a/templates/phase_z2/families/three_persona_benefits.html +++ b/templates/phase_z2/families/three_persona_benefits.html @@ -5,29 +5,48 @@ Visual Provenance — figma_to_html_agent/blocks/1171281191/ (frame 14) ───────────────────────────────────────────────────────────────────────────── Frame 14 = "주체별 기대효과" (cards-3col-persona, 2601×1927 px, scale 0.49213). -Figma 원본 = 3 컬럼 카드, 각 카드 = 배경 텍스처 + 컬러 오버레이 + 원형 뱃지 -(persona 이름 + "목표") + 7 bullets + 하단 사진. token-fixed Phase Z partial. +3 컬럼 카드 : 발주자 / 시공자 / 설계자 각 persona 별 *목표* + bullet 7 개 안팎. +본 partial 은 `figma_to_html_agent/blocks/1171281191/index.html` (184 lines) 을 +base 로 Phase Z 규약 (Jinja slot + token CSS + slide-base wrap + pure CSS) adapt. -PROMOTED (Figma 색 → CSS gradient / accent 보존) : - - 발주자 accent : Figma TEXT #285b4a (dark green) - - 시공자 accent : Figma TEXT #445a2f (olive) - - 설계자 accent : Figma TEXT #743002 (red-brown) - - title gradient : Figma #000 → #883700 (frame 13 과 동일 family 의 zone title) - - card 외곽 border : 2px solid (frame 13 의 pillar bar 룰 따라) +PROMOTED (Figma 색 / 디자인 의도 → CSS 로 보존) : + - 발주자 accent color : Figma TEXT #285b4a (dark green) — index.html L80 + - 시공자 accent color : Figma TEXT #445a2f (olive) — index.html L81 + - 설계자 accent color : Figma TEXT #743002 (red-brown) — index.html L82 + - 발주자 overlay tint : #d6e7c4 (opacity-80) — index.html L45 + - 시공자 overlay tint : #e1efe1 — index.html L46 + - 설계자 overlay tint : #d0c0ad — index.html L47 + - title gradient : #000 → #883700 (F13 zone-title 와 동일 family) + - badge 원형 의도 : index.html L60-69 (396×397 round badges) → CSS round + - bullet check 의도 : index.html L94 (32×32 check icon) → CSS ::before unicode + - section divider line : 카드 별 색 border 위계 (F13 pillar bar 답습) -NOT PROMOTED (Figma 데코지만 MDX 에 없으므로 주입 X — memory rule -`feedback_blocks_must_be_css.md` : Figma SVG/PNG image slot 금지) : - - col_bg_texture / overlay / 하단 사진 등 image asset - - 원형 뱃지 inner/outer image — CSS round shape 으로 대체 +NOT PROMOTED (Figma 데코지만 MDX 무관 — memory rule `feedback_blocks_must_be_css.md` ++ 기존 F13/F29/F16 partials 의 strict CSS-only convention) : + - col_bg_texture.png (3 컬럼 BG 텍스처) — index.html L113-115 + - col-overlay raster (실제 데이터 = solid 색) — index.html L44-47 → CSS 단색 + - 하단 사진 (photo--left/mid/right) 3 개 — index.html L122-123, 177-178 + - 원형 뱃지 outer / inner image (badge-outer/inner) — index.html L62-69 → CSS round + - 체크 아이콘 image (bullet-icon img) — index.html L94-99 → CSS unicode ADAPTED : - Figma 65/50/40px → token-fixed (zone-title 13 / sub-title 12 / body 11) - - badge 원형 → CSS circle (radial-gradient 의 accent border) - - bullet check icon image → ::before 의 unicode check (∙ → ✓ approximate) + - 396×397 absolute-positioned round badge → flex card-header 안 CSS round + - Figma `zoom: 0.49213` + absolute positioning → Phase Z flex/grid (zone fit) + - 7 bullets vertical absolute layout → flex column 안 자동 spacing + - Figma `line-height: 85/50px` → token-fixed `--lh-body` +───────────────────────────────────────────────────────────────────────────── +min_height_px derivation (Codex round 13 §2.2 — derive + confirm) : + Figma frame total height = 1927 px @ scale 0.49213 → 948 px adapted + But Phase Z slide-body height ≤ 585 px → adaptive content fit + Content density : 3 col × 7 bullets + badge → similar to F29 (345) class + Initial derived value = 290 (between F13=230 and F29=345) + → confirm via smoke + sample run before bulk activation (Track A calibration) ───────────────────────────────────────────────────────────────────────────── slots : title, personas[].{label, body, color_class} - color_class ∈ {client, constructor, designer} (role_order 따라) - body = list[{text:str, indent:int}] (parse_quadrant_item 출력) + - persona suffix "목표" = frame 의 visual 언어 (slot 미사용, partial 내부 노출) #}