- 10단계 변환 프로세스 (PROCESS.md) - 수학 공식 레퍼런스 (MATH.md, gradient_math.py) - CSS 보정 규칙 R1~R16 (RULES.md) - 작업 규율 7개 규칙 (PROCESS-CONTROL.md) - 8개 Figma 프레임 1:1 HTML 변환물 (block-tests/) - 8개 Jinja2 템플릿 staging (templates_staging/) - 변환 완료 도서관 + 디자인 인사이트 (blocks_index.md) - 사용법 가이드 (README.md) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
52 lines
1.7 KiB
Markdown
52 lines
1.7 KiB
Markdown
# 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}" ]` 체크.
|
|
|
|
## 의미 매핑
|
|
|
|
해시 파일명은 사람이 못 읽으므로 의미 라벨을 따로 관리:
|
|
|
|
1. **블록별 매핑**: `block-tests/{slug}_assets.txt`
|
|
```
|
|
849658071be46a26936e8666e3722b2dd548aee7.png bg_texture
|
|
f05ebf15a1125b6c5809f9ffa35b4e4e750687d3.png arc_top
|
|
```
|
|
|
|
2. **전체 카탈로그**: `blocks_index.md` 의 "발견된 공통 자산" 표
|
|
|
|
## HTML 참조
|
|
|
|
블록 HTML은 `block-tests/{slug}.html` 위치이므로 상대 경로:
|
|
|
|
```html
|
|
<img src="assets/shared/849658071be46a26936e8666e3722b2dd548aee7.png">
|
|
```
|
|
|
|
## legacy 자산
|
|
|
|
이전 변환물 ([bim-goals-3circles](../../bim-goals-3circles.html)) 의 자산은 `block-tests/assets/frame_1171281211/` 에 그대로 두었음. 새 변환부터는 shared/ 만 사용.
|