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\\p5-linocut\\base\\source-front.png",
"edited": "D:\\workspace\\vignette\\docs\\avatar-art\\p5-linocut\\base\\edits\\body-1.png",
"out": "D:\\workspace\\vignette\\docs\\avatar-art\\p5-linocut\\base\\edits\\aligned-body-1.png",
"refSize": [
1145,
1374
],
"editedOriginalSize": [
1145,
1374
],
"eccCorrelation": 0.89496,
"transform": {
"scaleSqrtDet": 1.00107,
"rotationDeg": 0.009,
"translateX": 0.868,
"translateY": -2.827,
"matrix": [
[
1.000537,
-0.000853,
0.867875
],
[
0.000151,
1.001599,
-2.827145
]
],
"direction": "ref(template) 좌표 -> edited(resized, input) 좌표. 정렬된 출력은 이 행렬의 역변환(WARP_INVERSE_MAP)으로 만든다."
},
"eccIncludeMaskPixels": 551610,
"chamferInMask": {
"median": 0.0,
"p90": 2.0,
"nSamples": 76942
}
}

View file

@ -0,0 +1,40 @@
{
"mode": "body",
"ref": "D:\\workspace\\vignette\\docs\\avatar-art\\p5-linocut\\base\\source-front.png",
"edited": "D:\\workspace\\vignette\\docs\\avatar-art\\p5-linocut\\base\\edits\\body-2.png",
"out": "D:\\workspace\\vignette\\docs\\avatar-art\\p5-linocut\\base\\edits\\aligned-body-2.png",
"refSize": [
1145,
1374
],
"editedOriginalSize": [
1145,
1374
],
"eccCorrelation": 0.99029,
"transform": {
"scaleSqrtDet": 1.00132,
"rotationDeg": 0.005,
"translateX": -0.386,
"translateY": -3.197,
"matrix": [
[
1.000755,
2.9e-05,
-0.385584
],
[
9.5e-05,
1.001881,
-3.197296
]
],
"direction": "ref(template) 좌표 -> edited(resized, input) 좌표. 정렬된 출력은 이 행렬의 역변환(WARP_INVERSE_MAP)으로 만든다."
},
"eccIncludeMaskPixels": 540648,
"chamferInMask": {
"median": 0.0,
"p90": 1.414,
"nSamples": 74241
}
}

View file

@ -0,0 +1,129 @@
{
"mode": "faceless",
"ref": "D:\\workspace\\vignette\\docs\\avatar-art\\p5-linocut\\base\\source-front.png",
"edited": "D:\\workspace\\vignette\\docs\\avatar-art\\p5-linocut\\base\\edits\\faceless-1.png",
"out": "D:\\workspace\\vignette\\docs\\avatar-art\\p5-linocut\\base\\edits\\aligned-faceless-1.png",
"refSize": [
1145,
1374
],
"editedOriginalSize": [
1145,
1374
],
"eccCorrelation": 0.99531,
"transform": {
"scaleSqrtDet": 0.99998,
"rotationDeg": 0.004,
"translateX": -0.129,
"translateY": -0.135,
"matrix": [
[
1.000166,
-9.9e-05,
-0.128815
],
[
6.5e-05,
0.999797,
-0.135042
]
],
"direction": "ref(template) 좌표 -> edited(resized, input) 좌표. 정렬된 출력은 이 행렬의 역변환(WARP_INVERSE_MAP)으로 만든다."
},
"eccIncludeMaskPixels": 828124,
"chamferInMask": {
"median": 0.0,
"p90": 1.0,
"nSamples": 116456
},
"faceOvalBandChamfer": {
"median": 0.0,
"p90": 1.0,
"nSamples": 5503
},
"inkRatioByBox": {
"eyeA": {
"box": [
398,
453,
539,
533
],
"refInkRatio": 0.1947,
"editedInkRatio": 0.0
},
"eyeB": {
"box": [
614,
452,
754,
533
],
"refInkRatio": 0.1799,
"editedInkRatio": 0.0
},
"browA": {
"box": [
352,
385,
557,
475
],
"refInkRatio": 0.2908,
"editedInkRatio": 0.1291
},
"browB": {
"box": [
599,
387,
802,
476
],
"refInkRatio": 0.3371,
"editedInkRatio": 0.181
},
"mouth": {
"box": [
475,
653,
672,
769
],
"refInkRatio": 0.1209,
"editedInkRatio": 0.0
}
},
"eccExcludeBoxes": {
"eyeA": [
398,
453,
539,
533
],
"eyeB": [
614,
452,
754,
533
],
"browA": [
352,
385,
557,
475
],
"browB": [
599,
387,
802,
476
],
"mouth": [
475,
653,
672,
769
]
}
}

View file

@ -0,0 +1,129 @@
{
"mode": "faceless",
"ref": "D:\\workspace\\vignette\\docs\\avatar-art\\p5-linocut\\base\\source-front.png",
"edited": "D:\\workspace\\vignette\\docs\\avatar-art\\p5-linocut\\base\\edits\\faceless-2.png",
"out": "D:\\workspace\\vignette\\docs\\avatar-art\\p5-linocut\\base\\edits\\aligned-faceless-2.png",
"refSize": [
1145,
1374
],
"editedOriginalSize": [
1145,
1374
],
"eccCorrelation": 0.99558,
"transform": {
"scaleSqrtDet": 0.99969,
"rotationDeg": 0.004,
"translateX": 0.599,
"translateY": 0.017,
"matrix": [
[
0.999723,
-0.000189,
0.599433
],
[
6.2e-05,
0.999659,
0.017416
]
],
"direction": "ref(template) 좌표 -> edited(resized, input) 좌표. 정렬된 출력은 이 행렬의 역변환(WARP_INVERSE_MAP)으로 만든다."
},
"eccIncludeMaskPixels": 828124,
"chamferInMask": {
"median": 0.0,
"p90": 1.0,
"nSamples": 112934
},
"faceOvalBandChamfer": {
"median": 0.0,
"p90": 1.0,
"nSamples": 5305
},
"inkRatioByBox": {
"eyeA": {
"box": [
398,
453,
539,
533
],
"refInkRatio": 0.1947,
"editedInkRatio": 0.0
},
"eyeB": {
"box": [
614,
452,
754,
533
],
"refInkRatio": 0.1799,
"editedInkRatio": 0.0
},
"browA": {
"box": [
352,
385,
557,
475
],
"refInkRatio": 0.2908,
"editedInkRatio": 0.1199
},
"browB": {
"box": [
599,
387,
802,
476
],
"refInkRatio": 0.3371,
"editedInkRatio": 0.1758
},
"mouth": {
"box": [
475,
653,
672,
769
],
"refInkRatio": 0.1209,
"editedInkRatio": 0.0
}
},
"eccExcludeBoxes": {
"eyeA": [
398,
453,
539,
533
],
"eyeB": [
614,
452,
754,
533
],
"browA": [
352,
385,
557,
475
],
"browB": [
599,
387,
802,
476
],
"mouth": [
475,
653,
672,
769
]
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB