P2~P7 리노컷 캐스트 원화·리그와 세션 활성화

- 추천 원화(P2 b·P3 v2b·P4 v2b·P5 v2a·P6 v2b·P7 v2b)로 얼굴 없는 기본형·몸 원본 codex 편집, 정렬·정규화 후 공통 파이프라인 실행
- 게시 자산 apps/web/public/avatar/v3/p2~p7, 리그 rigs/p2Rig~p7Rig
- 세션 레지스트리 P1~P7 전원 활성, Lab은 생성된 리그 자동 수집
- P3·P6 기본 눈 감김을 줄여 중립 렌더를 원화 눈매에 맞춤
- 표정 E2E를 v3 렌더러 기대로 갱신(검사 의도 유지)
This commit is contained in:
Yun Chan 2026-10-01 22:38:45 +09:00
parent 98577cf4ae
commit ded312acdc
258 changed files with 18463 additions and 32 deletions

View file

@ -0,0 +1,40 @@
{
"mode": "body",
"ref": "D:\\workspace\\vignette\\docs\\avatar-art\\p6-linocut\\base\\source-front.png",
"edited": "D:\\workspace\\vignette\\docs\\avatar-art\\p6-linocut\\base\\edits\\body-1.png",
"out": "D:\\workspace\\vignette\\docs\\avatar-art\\p6-linocut\\base\\edits\\aligned-body-1.png",
"refSize": [
1145,
1374
],
"editedOriginalSize": [
1145,
1374
],
"eccCorrelation": 0.78033,
"transform": {
"scaleSqrtDet": 1.00045,
"rotationDeg": -0.002,
"translateX": -0.468,
"translateY": -2.06,
"matrix": [
[
0.999511,
0.000548,
-0.468036
],
[
-3.8e-05,
1.001399,
-2.060432
]
],
"direction": "ref(template) 좌표 -> edited(resized, input) 좌표. 정렬된 출력은 이 행렬의 역변환(WARP_INVERSE_MAP)으로 만든다."
},
"eccIncludeMaskPixels": 478631,
"chamferInMask": {
"median": 0.0,
"p90": 1.414,
"nSamples": 80775
}
}

View file

@ -0,0 +1,40 @@
{
"mode": "body",
"ref": "D:\\workspace\\vignette\\docs\\avatar-art\\p6-linocut\\base\\source-front.png",
"edited": "D:\\workspace\\vignette\\docs\\avatar-art\\p6-linocut\\base\\edits\\body-2.png",
"out": "D:\\workspace\\vignette\\docs\\avatar-art\\p6-linocut\\base\\edits\\aligned-body-2.png",
"refSize": [
1145,
1374
],
"editedOriginalSize": [
1145,
1374
],
"eccCorrelation": 0.76917,
"transform": {
"scaleSqrtDet": 1.00098,
"rotationDeg": 0.002,
"translateX": -0.523,
"translateY": -3.41,
"matrix": [
[
0.99945,
0.000442,
-0.523264
],
[
3.3e-05,
1.002504,
-3.409868
]
],
"direction": "ref(template) 좌표 -> edited(resized, input) 좌표. 정렬된 출력은 이 행렬의 역변환(WARP_INVERSE_MAP)으로 만든다."
},
"eccIncludeMaskPixels": 480048,
"chamferInMask": {
"median": 0.0,
"p90": 2.0,
"nSamples": 82384
}
}

View file

@ -0,0 +1,129 @@
{
"mode": "faceless",
"ref": "D:\\workspace\\vignette\\docs\\avatar-art\\p6-linocut\\base\\source-front.png",
"edited": "D:\\workspace\\vignette\\docs\\avatar-art\\p6-linocut\\base\\edits\\faceless-1.png",
"out": "D:\\workspace\\vignette\\docs\\avatar-art\\p6-linocut\\base\\edits\\aligned-faceless-1.png",
"refSize": [
1145,
1374
],
"editedOriginalSize": [
1145,
1374
],
"eccCorrelation": 0.99634,
"transform": {
"scaleSqrtDet": 0.99986,
"rotationDeg": 0.0,
"translateX": -0.3,
"translateY": -0.333,
"matrix": [
[
0.999866,
-1.6e-05,
-0.299886
],
[
8e-06,
0.999857,
-0.333271
]
],
"direction": "ref(template) 좌표 -> edited(resized, input) 좌표. 정렬된 출력은 이 행렬의 역변환(WARP_INVERSE_MAP)으로 만든다."
},
"eccIncludeMaskPixels": 884598,
"chamferInMask": {
"median": 0.0,
"p90": 1.0,
"nSamples": 148881
},
"faceOvalBandChamfer": {
"median": 0.0,
"p90": 1.0,
"nSamples": 6403
},
"inkRatioByBox": {
"eyeA": {
"box": [
390,
488,
535,
574
],
"refInkRatio": 0.2302,
"editedInkRatio": 0.0
},
"eyeB": {
"box": [
606,
478,
750,
564
],
"refInkRatio": 0.2649,
"editedInkRatio": 0.0232
},
"browA": {
"box": [
351,
423,
546,
514
],
"refInkRatio": 0.3136,
"editedInkRatio": 0.1598
},
"browB": {
"box": [
587,
412,
783,
506
],
"refInkRatio": 0.4015,
"editedInkRatio": 0.2383
},
"mouth": {
"box": [
476,
709,
680,
823
],
"refInkRatio": 0.0804,
"editedInkRatio": 0.0
}
},
"eccExcludeBoxes": {
"eyeA": [
390,
488,
535,
574
],
"eyeB": [
606,
478,
750,
564
],
"browA": [
351,
423,
546,
514
],
"browB": [
587,
412,
783,
506
],
"mouth": [
476,
709,
680,
823
]
}
}

View file

@ -0,0 +1,129 @@
{
"mode": "faceless",
"ref": "D:\\workspace\\vignette\\docs\\avatar-art\\p6-linocut\\base\\source-front.png",
"edited": "D:\\workspace\\vignette\\docs\\avatar-art\\p6-linocut\\base\\edits\\faceless-2.png",
"out": "D:\\workspace\\vignette\\docs\\avatar-art\\p6-linocut\\base\\edits\\aligned-faceless-2.png",
"refSize": [
1145,
1374
],
"editedOriginalSize": [
1145,
1374
],
"eccCorrelation": 0.99628,
"transform": {
"scaleSqrtDet": 0.99981,
"rotationDeg": 0.001,
"translateX": -0.117,
"translateY": -0.47,
"matrix": [
[
0.999689,
-2.3e-05,
-0.116897
],
[
2.1e-05,
0.999929,
-0.469733
]
],
"direction": "ref(template) 좌표 -> edited(resized, input) 좌표. 정렬된 출력은 이 행렬의 역변환(WARP_INVERSE_MAP)으로 만든다."
},
"eccIncludeMaskPixels": 884598,
"chamferInMask": {
"median": 0.0,
"p90": 1.0,
"nSamples": 150035
},
"faceOvalBandChamfer": {
"median": 0.0,
"p90": 1.0,
"nSamples": 6389
},
"inkRatioByBox": {
"eyeA": {
"box": [
390,
488,
535,
574
],
"refInkRatio": 0.2302,
"editedInkRatio": 0.0
},
"eyeB": {
"box": [
606,
478,
750,
564
],
"refInkRatio": 0.2649,
"editedInkRatio": 0.0207
},
"browA": {
"box": [
351,
423,
546,
514
],
"refInkRatio": 0.3136,
"editedInkRatio": 0.1554
},
"browB": {
"box": [
587,
412,
783,
506
],
"refInkRatio": 0.4015,
"editedInkRatio": 0.2278
},
"mouth": {
"box": [
476,
709,
680,
823
],
"refInkRatio": 0.0804,
"editedInkRatio": 0.0
}
},
"eccExcludeBoxes": {
"eyeA": [
390,
488,
535,
574
],
"eyeB": [
606,
478,
750,
564
],
"browA": [
351,
423,
546,
514
],
"browB": [
587,
412,
783,
506
],
"mouth": [
476,
709,
680,
823
]
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB