리노컷 자산 파이프라인 공통화와 캐스트 외형 설계

- P1 전용 스크립트를 docs/avatar-art/linocut-pipeline 으로 옮겨 persona.json 설정으로 일반화(P1 재실행 리그 바이트 동일)
- 7명 외형·상징 설계(linocut-cast.md)와 P2~P7 정면 원화 생성 프롬프트, 얼굴 없는 화풍 참조
- P1 원화 생성 프롬프트 보존
This commit is contained in:
Yun Chan 2026-10-01 16:11:28 +09:00
parent f11e76ff18
commit ecb36d123f
38 changed files with 2393 additions and 990 deletions

View file

@ -1,21 +1,36 @@
# P1 서연 리노컷 아바타 자산
아바타 v3 리노컷 리그(결정문 [`avatar-expression-engine-v3.md`](../../decisions/avatar-expression-engine-v3.md) §8)의 P1 원본·중간 산출물·파이프라인이다.
아바타 v3 리노컷 리그(결정문 [`avatar-expression-engine-v3.md`](../../decisions/avatar-expression-engine-v3.md) §8)의 P1 원본·중간 산출물이다.
파이프라인 스크립트는 이 폴더가 아니라 모든 페르소나가 공유하는
[`../linocut-pipeline/`](../linocut-pipeline/README.md)에 있다. 이 폴더에는 P1 고유의 원화·설정만 둔다.
- `persona.json`: P1 고유 설정(게시 경로, rig 내보내기 이름, 점 위치, 팔레트 표본 상자, 피벗 등).
스키마는 [`../linocut-pipeline/README.md`](../linocut-pipeline/README.md#personajson-스키마) 참고.
- `base/`: 정면 원화(`base-front.png`)와 얼굴 없는 기본형(`base-faceless*.png`). 모든 레이어 픽셀의 원천이다.
- `raw/`: 참조 편집 생성 원본(가려진 영역 채움용).
- `layers/v2/`: 분할된 레이어·입술·턱 조각 PNG. `scripts/`가 만든다.
- `motif/`: 봉오리·날씨 스프라이트 원본과 프롬프트.
- `layers/v2/`: 분할된 레이어·입술·턱 조각 PNG. 공통 파이프라인이 만든다.
- `motif/`: 봉오리·날씨 스프라이트 원본과 프롬프트(이 폴더 전용 — 공통 파이프라인 범위 밖).
- `reference/`: 소유자 기준 이미지(비탄 강도 1).
- `preview/`: 검사 증거. JPG만 저장소에 둔다. PNG 진단 그림은 다시 만들 수 있어 무시한다.
- `manifest.json`: 랜드마크·검사 수치·게시 기록.
- `scripts/`: 파이프라인. `export_rig.py`가 `apps/web/public/avatar/v3/p1/`에 게시하고 `apps/web/src/components/avatar/v3/rigs/p1Rig.ts`를 만든다.
## 파이프라인 재실행
```
<venv>/python.exe ../linocut-pipeline/scripts/run_pipeline.py .
```
저장소 루트에서는:
```
<venv>/python.exe docs/avatar-art/linocut-pipeline/scripts/run_pipeline.py docs/avatar-art/p1-linocut
```
`export_rig.py`가 `apps/web/public/avatar/v3/p1/`에 게시하고
`apps/web/src/components/avatar/v3/rigs/p1Rig.ts`를 만든다.
## 모델 파일(저장소에 없음)
`scripts/_models/`에 MediaPipe 모델을 받아 둔다.
- `face_landmarker.task`: https://storage.googleapis.com/mediapipe-models/face_landmarker/face_landmarker/float16/1/face_landmarker.task
- `selfie_multiclass_256x256.tflite`: https://storage.googleapis.com/mediapipe-models/image_segmenter/selfie_multiclass_256x256/float32/latest/selfie_multiclass_256x256.tflite
python 환경은 numpy·Pillow·scipy·opencv·mediapipe가 필요하다.
모델은 이 폴더가 아니라 `../linocut-pipeline/scripts/_models/`에 받아 둔다(모든 페르소나가 공유).
자세한 내용은 [`../linocut-pipeline/README.md`](../linocut-pipeline/README.md) 참고.