pattern_id: cards-3col-persona category: cards version: 0.1.0 # staging draft provenance: source_frame: "45:16 / Frame 1171281191" reference_html: ../block-tests/bim-3roles-cards.html reference_render: ../block-tests/_renders/bim-3roles-cards_v8.png description: | N개의 평행한 stakeholder/관점/카테고리 카드. 각 카드는 상단 원형 뱃지(역할 라벨), 배경 이미지+컬러 오버레이, 본문 bullet 리스트(custom marker), 그리고 optional 하단 사진을 포함. R13 (Custom-Marker Bullet List) sub-pattern을 카드 본문에 사용. # AI 블록 선택기가 매칭에 사용하는 조건 when: relation_type: - parallel-stakeholders # 발주자/시공자/설계자 같이 여러 주체의 관점 - multi-perspective # 같은 주제를 여러 시각으로 - role-comparison # 역할별 책임/목표/특징 나열 - parallel-categories # N개 카테고리의 병렬 항목 나열 content_shape: columns_count: { min: 2, max: 4 } items_per_column: { min: 1, max: 12 } not_for: - linear_process # 순차적 단계 - single_main_message # 단일 핵심 메시지 - hierarchical_tree # 트리/계층 # 슬롯 정의 slots: marker_icon: type: image required: true description: bullet 마커 (체크박스/점/화살표/PNG 등). 모든 컬럼 공통. columns: type: list required: true min: 2 max: 4 item: role_label: type: tuple items: [string, string] # ["발주자", "목표"] — 2 line label required: true role_color: type: color # CSS color (hex, rgb, hsl) required: true description: 뱃지 라벨 색 + (옵션) overlay tint bg_image: type: image required: true description: 카드 배경 사진/일러스트 overlay_image: type: image required: false # 없으면 단색 BG만 description: 배경 위 컬러 오버레이 (보통 80% opacity) badge: type: object required: true properties: outer_image: { type: image, required: true } inner_image: { type: image, required: true } bullet_items: type: list required: true min: 1 max: 12 item: text: type: string required: true max_chars: 25 # zone width 기준 가이드 compact: type: boolean default: false description: 2줄 들어가는 긴 항목인 경우 true. 텍스트 길이로 자동 결정 가능. bottom_photo: type: image required: false # ★ 사진 없는 mdx도 매칭 가능 description: 카드 하단 보조 사진. 없으면 bullet-list가 더 많은 공간 사용. # 디자인 토큰 (외부 override 가능) tokens: block_w: { default: 1280, unit: px } block_h: { default: 948, unit: px } font_body_size: { default: "0.95rem" } font_body_lh: { default: 2.125 } # 단일 line item line-height ratio font_body_lh_compact: { default: 1.25 } # 2-line item line-height ratio col_gap: { default: "0.3%" } card_padding_top: { default: "4.3%" } marker_w: { default: "1.25rem" } marker_h: { default: "1.25rem" } marker_gap: { default: "0.45rem" } # zone 적합성 min_size_px: width: 720 height: 540 max_size_px: width: 2600 height: 2000 # 적용 sub-pattern sub_patterns: - id: bullet-list-with-marker rule: R13 location: card-body > .bullet-list # 우선순위 (다른 블록과 경합 시) priority: 50 # 1:1 reference 와의 차이 (intentional) diff_from_reference: - "Figma 절대 좌표 → flex layout (반응형)" - "Figma 픽셀 fixed values → CSS 변수 + % 비율" - "letter-spacing 보정 제거 → 자연 wrap" - "explicit
제거 → 자연 wrap (텍스트 길이로 결정)" - "compact class 수동 → 텍스트 길이로 자동 (또는 외부 입력)" - "사진 absolute → flex item, optional"