figma_to_html_agent/: - Figma MCP 기반 블록 추출 에이전트 (CLAUDE.md, PLAN.md, PROCESS.md 등) - block-tests/: Figma→HTML 변환 결과물 (bim-3roles-cards 등) - templates_staging/: Jinja2 템플릿 + meta.yaml + example.yaml - figma-analysis/, figma-assets/: Figma 분석 데이터 + 에셋 - scripts/: gradient_math.py 등 유틸리티 설정: - .mcp.json: Figma MCP 서버 연결 설정 - .claude/settings.json: Claude Code 프로젝트 설정 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
shared/ — 해시 기반 공통 자산 캐시
여러 프레임에서 등장하는 자산(배경 텍스처, 아이콘, 아크 등)을 해시 파일명으로 한 번만 저장한다.
파일명 규칙
Figma MCP 가 자산 URL을 다음 형식으로 제공:
http://localhost:3845/assets/849658071be46a26936e8666e3722b2dd548aee7.png
URL 끝의 hash (849658071be46a26936e8666e3722b2dd548aee7) 그대로 파일명 사용:
shared/849658071be46a26936e8666e3722b2dd548aee7.png
dedup 작동 원리
Figma는 같은 자산을 다른 노드에서 사용해도 동일 hash로 서빙한다. 따라서:
프레임 A: bg_texture (hash: 849658...) → 다운로드 → shared/849658....png
프레임 B: bg_texture (hash: 849658...) → 이미 있음 → 다운로드 스킵
프레임 C: 새 아이콘 (hash: f05ebf...) → 다운로드 → shared/f05ebf....png
매 변환마다 다운로드 전 [ -f "shared/${hash}.${ext}" ] 체크.
의미 매핑
해시 파일명은 사람이 못 읽으므로 의미 라벨을 따로 관리:
-
블록별 매핑:
block-tests/{slug}_assets.txt849658071be46a26936e8666e3722b2dd548aee7.png bg_texture f05ebf15a1125b6c5809f9ffa35b4e4e750687d3.png arc_top -
전체 카탈로그:
blocks_index.md의 "발견된 공통 자산" 표
HTML 참조
블록 HTML은 block-tests/{slug}.html 위치이므로 상대 경로:
<img src="assets/shared/849658071be46a26936e8666e3722b2dd548aee7.png">
legacy 자산
이전 변환물 (bim-goals-3circles) 의 자산은 block-tests/assets/frame_1171281211/ 에 그대로 두었음. 새 변환부터는 shared/ 만 사용.