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

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 MiB

View file

@ -0,0 +1,40 @@
{
"mode": "body",
"ref": "D:\\workspace\\vignette\\docs\\avatar-art\\p2-linocut\\base\\source-front.png",
"edited": "D:\\workspace\\vignette\\docs\\avatar-art\\p2-linocut\\base\\edits\\body-1.png",
"out": "D:\\workspace\\vignette\\docs\\avatar-art\\p2-linocut\\base\\edits\\aligned-body-1.png",
"refSize": [
1004,
1566
],
"editedOriginalSize": [
1004,
1567
],
"eccCorrelation": 0.86251,
"transform": {
"scaleSqrtDet": 1.00197,
"rotationDeg": -0.001,
"translateX": -1.76,
"translateY": -2.211,
"matrix": [
[
1.002585,
-0.000235,
-1.760458
],
[
-9e-06,
1.001356,
-2.210697
]
],
"direction": "ref(template) 좌표 -> edited(resized, input) 좌표. 정렬된 출력은 이 행렬의 역변환(WARP_INVERSE_MAP)으로 만든다."
},
"eccIncludeMaskPixels": 584670,
"chamferInMask": {
"median": 0.0,
"p90": 3.0,
"nSamples": 110891
}
}

View file

@ -0,0 +1,40 @@
{
"mode": "body",
"ref": "D:\\workspace\\vignette\\docs\\avatar-art\\p2-linocut\\base\\source-front.png",
"edited": "D:\\workspace\\vignette\\docs\\avatar-art\\p2-linocut\\base\\edits\\body-2.png",
"out": "D:\\workspace\\vignette\\docs\\avatar-art\\p2-linocut\\base\\edits\\aligned-body-2.png",
"refSize": [
1004,
1566
],
"editedOriginalSize": [
1004,
1567
],
"eccCorrelation": 0.86381,
"transform": {
"scaleSqrtDet": 1.00257,
"rotationDeg": -0.001,
"translateX": -0.653,
"translateY": -5.297,
"matrix": [
[
1.001779,
-0.000341,
-0.652621
],
[
-2.6e-05,
1.00337,
-5.296521
]
],
"direction": "ref(template) 좌표 -> edited(resized, input) 좌표. 정렬된 출력은 이 행렬의 역변환(WARP_INVERSE_MAP)으로 만든다."
},
"eccIncludeMaskPixels": 584730,
"chamferInMask": {
"median": 1.0,
"p90": 2.828,
"nSamples": 108723
}
}

View file

@ -0,0 +1,129 @@
{
"mode": "faceless",
"ref": "D:\\workspace\\vignette\\docs\\avatar-art\\p2-linocut\\base\\source-front.png",
"edited": "D:\\workspace\\vignette\\docs\\avatar-art\\p2-linocut\\base\\edits\\faceless-1.png",
"out": "D:\\workspace\\vignette\\docs\\avatar-art\\p2-linocut\\base\\edits\\aligned-faceless-1.png",
"refSize": [
1004,
1566
],
"editedOriginalSize": [
1004,
1567
],
"eccCorrelation": 0.99442,
"transform": {
"scaleSqrtDet": 1.00043,
"rotationDeg": 0.004,
"translateX": -0.943,
"translateY": -0.245,
"matrix": [
[
1.001139,
-8.8e-05,
-0.942587
],
[
6.6e-05,
0.999724,
-0.24468
]
],
"direction": "ref(template) 좌표 -> edited(resized, input) 좌표. 정렬된 출력은 이 행렬의 역변환(WARP_INVERSE_MAP)으로 만든다."
},
"eccIncludeMaskPixels": 881537,
"chamferInMask": {
"median": 0.0,
"p90": 1.414,
"nSamples": 147663
},
"faceOvalBandChamfer": {
"median": 0.0,
"p90": 1.0,
"nSamples": 6008
},
"inkRatioByBox": {
"eyeA": {
"box": [
318,
527,
461,
611
],
"refInkRatio": 0.2271,
"editedInkRatio": 0.0011
},
"eyeB": {
"box": [
526,
526,
669,
610
],
"refInkRatio": 0.2123,
"editedInkRatio": 0.0
},
"browA": {
"box": [
276,
463,
475,
554
],
"refInkRatio": 0.367,
"editedInkRatio": 0.1944
},
"browB": {
"box": [
510,
460,
712,
550
],
"refInkRatio": 0.2291,
"editedInkRatio": 0.0745
},
"mouth": {
"box": [
393,
750,
599,
862
],
"refInkRatio": 0.1096,
"editedInkRatio": 0.0
}
},
"eccExcludeBoxes": {
"eyeA": [
318,
527,
461,
611
],
"eyeB": [
526,
526,
669,
610
],
"browA": [
276,
463,
475,
554
],
"browB": [
510,
460,
712,
550
],
"mouth": [
393,
750,
599,
862
]
}
}

View file

@ -0,0 +1,129 @@
{
"mode": "faceless",
"ref": "D:\\workspace\\vignette\\docs\\avatar-art\\p2-linocut\\base\\source-front.png",
"edited": "D:\\workspace\\vignette\\docs\\avatar-art\\p2-linocut\\base\\edits\\faceless-2.png",
"out": "D:\\workspace\\vignette\\docs\\avatar-art\\p2-linocut\\base\\edits\\aligned-faceless-2.png",
"refSize": [
1004,
1566
],
"editedOriginalSize": [
1004,
1566
],
"eccCorrelation": 0.99464,
"transform": {
"scaleSqrtDet": 1.00043,
"rotationDeg": 0.002,
"translateX": -0.804,
"translateY": -0.406,
"matrix": [
[
1.000778,
-2.9e-05,
-0.803723
],
[
3.8e-05,
1.000088,
-0.405893
]
],
"direction": "ref(template) 좌표 -> edited(resized, input) 좌표. 정렬된 출력은 이 행렬의 역변환(WARP_INVERSE_MAP)으로 만든다."
},
"eccIncludeMaskPixels": 881537,
"chamferInMask": {
"median": 0.0,
"p90": 1.414,
"nSamples": 146528
},
"faceOvalBandChamfer": {
"median": 0.0,
"p90": 1.0,
"nSamples": 5917
},
"inkRatioByBox": {
"eyeA": {
"box": [
318,
527,
461,
611
],
"refInkRatio": 0.2271,
"editedInkRatio": 0.0001
},
"eyeB": {
"box": [
526,
526,
669,
610
],
"refInkRatio": 0.2123,
"editedInkRatio": 0.0
},
"browA": {
"box": [
276,
463,
475,
554
],
"refInkRatio": 0.367,
"editedInkRatio": 0.1755
},
"browB": {
"box": [
510,
460,
712,
550
],
"refInkRatio": 0.2291,
"editedInkRatio": 0.0665
},
"mouth": {
"box": [
393,
750,
599,
862
],
"refInkRatio": 0.1096,
"editedInkRatio": 0.0001
}
},
"eccExcludeBoxes": {
"eyeA": [
318,
527,
461,
611
],
"eyeB": [
526,
526,
669,
610
],
"browA": [
276,
463,
475,
554
],
"browB": [
510,
460,
712,
550
],
"mouth": [
393,
750,
599,
862
]
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

View file

@ -0,0 +1,66 @@
{
"canvas": {
"w": 1005,
"h": 1566
},
"reference": {
"image": "docs\\avatar-art\\p1-linocut\\base\\base-front.png",
"eyesCenter": [
492.69,
584.33
],
"chin": [
500.61,
919.55
],
"eyeDistance": 215.427,
"eyeChinDistance": 335.308
},
"input": {
"front": "D:\\workspace\\vignette\\docs\\avatar-art\\p2-linocut\\base\\source-front.png",
"faceless": "D:\\workspace\\vignette\\docs\\avatar-art\\p2-linocut\\base\\edits\\aligned-faceless-2.png",
"body": "D:\\workspace\\vignette\\docs\\avatar-art\\p2-linocut\\base\\edits\\aligned-body-2.png",
"frontSize": [
1004,
1566
],
"eyesCenter": [
493.46,
572.88
],
"chin": [
498.98,
945.65
],
"eyeDistance": 208.065,
"eyeChinDistance": 372.813
},
"transform": {
"sHead": 0.967393,
"sWidth": 1.000996,
"s": 1.000996,
"rotationDeg": 0.0,
"offsetXNatural": -1.268,
"offsetXClampRange": [
0.0,
0.0
],
"offsetX": 0.0,
"offsetY": 10.881
},
"coveredRange": {
"x": [
0.0,
1005
],
"y": [
10.9,
1566
]
},
"inputSha256": {
"front": "5b6026cfcea5ad7337fa4431d485d3cbce647cf00e4016221f695158756f9fa1",
"faceless": "bf844904bbfae18ac3086bb6176a07fcd421671322b4980a077166c003a62b0a",
"body": "91b515db47aeae74c27d0a75753af6ee60df0b00dfbc7fde826aa24e4d0c2a3b"
}
}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,37 @@
{
"code": "P2",
"publicSlug": "p2",
"rigFileName": "p2Rig.ts",
"rigExportName": "P2_LINOCUT_RIG",
"styleFrame": "../art-direction-v3/p1/r2-b-linocut.png",
"paletteSamples": {
"ink": {
"box": [330, 150, 670, 310],
"lumThreshold": 55
},
"motifPetalBoxes": [
{ "label": "sun", "kind": "ochre", "box": [1230, 10, 1536, 210] },
{ "label": "tulip", "kind": "ochre", "box": [1030, 280, 1170, 560] }
],
"motifLeafBoxes": [
{ "label": "cloudLeft", "kind": "blue", "box": [20, 20, 380, 190] },
{ "label": "raincloud", "kind": "blue", "box": [520, 10, 930, 230] },
{ "label": "wiltedFlowerLeaf", "kind": "blue", "box": [520, 280, 650, 580] },
{ "label": "closedBudLeaf", "kind": "blue", "box": [10, 290, 110, 570] }
]
},
"faceDetail": {
"moles": [],
"region": "face",
"faceInsetPx": 24,
"matchFacelessColor": true
},
"pivots": {
"neck": [496.44, 1021.17],
"body": [502, 1566],
"face": [492.0, 658.93]
},
"crops": {
"bustYOffset": 40
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 178 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 165 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 195 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 161 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 278 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 197 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 267 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 130 KiB

View file

@ -0,0 +1,287 @@
[
{
"t": 0,
"viseme": "X",
"shotPath": "D:\\workspace\\vignette\\docs\\avatar-art\\p2-linocut\\preview\\qa\\frames\\viseme-scan-t00000.png"
},
{
"t": 50,
"viseme": "E",
"shotPath": "D:\\workspace\\vignette\\docs\\avatar-art\\p2-linocut\\preview\\qa\\frames\\viseme-scan-t00050.png"
},
{
"t": 100,
"viseme": "I",
"shotPath": "D:\\workspace\\vignette\\docs\\avatar-art\\p2-linocut\\preview\\qa\\frames\\viseme-scan-t00100.png"
},
{
"t": 150,
"viseme": "E",
"shotPath": "D:\\workspace\\vignette\\docs\\avatar-art\\p2-linocut\\preview\\qa\\frames\\viseme-scan-t00150.png"
},
{
"t": 200,
"viseme": "X",
"shotPath": "D:\\workspace\\vignette\\docs\\avatar-art\\p2-linocut\\preview\\qa\\frames\\viseme-scan-t00200.png"
},
{
"t": 250,
"viseme": "E",
"shotPath": "D:\\workspace\\vignette\\docs\\avatar-art\\p2-linocut\\preview\\qa\\frames\\viseme-scan-t00250.png"
},
{
"t": 300,
"viseme": "A",
"shotPath": "D:\\workspace\\vignette\\docs\\avatar-art\\p2-linocut\\preview\\qa\\frames\\viseme-scan-t00300.png"
},
{
"t": 350,
"viseme": "A",
"shotPath": "D:\\workspace\\vignette\\docs\\avatar-art\\p2-linocut\\preview\\qa\\frames\\viseme-scan-t00350.png"
},
{
"t": 400,
"viseme": "A",
"shotPath": "D:\\workspace\\vignette\\docs\\avatar-art\\p2-linocut\\preview\\qa\\frames\\viseme-scan-t00400.png"
},
{
"t": 450,
"viseme": "EO",
"shotPath": "D:\\workspace\\vignette\\docs\\avatar-art\\p2-linocut\\preview\\qa\\frames\\viseme-scan-t00450.png"
},
{
"t": 500,
"viseme": "EO",
"shotPath": "D:\\workspace\\vignette\\docs\\avatar-art\\p2-linocut\\preview\\qa\\frames\\viseme-scan-t00500.png"
},
{
"t": 550,
"viseme": "EO",
"shotPath": "D:\\workspace\\vignette\\docs\\avatar-art\\p2-linocut\\preview\\qa\\frames\\viseme-scan-t00550.png"
},
{
"t": 600,
"viseme": "EO",
"shotPath": "D:\\workspace\\vignette\\docs\\avatar-art\\p2-linocut\\preview\\qa\\frames\\viseme-scan-t00600.png"
},
{
"t": 650,
"viseme": "O",
"shotPath": "D:\\workspace\\vignette\\docs\\avatar-art\\p2-linocut\\preview\\qa\\frames\\viseme-scan-t00650.png"
},
{
"t": 700,
"viseme": "U",
"shotPath": "D:\\workspace\\vignette\\docs\\avatar-art\\p2-linocut\\preview\\qa\\frames\\viseme-scan-t00700.png"
},
{
"t": 750,
"viseme": "U",
"shotPath": "D:\\workspace\\vignette\\docs\\avatar-art\\p2-linocut\\preview\\qa\\frames\\viseme-scan-t00750.png"
},
{
"t": 800,
"viseme": "U",
"shotPath": "D:\\workspace\\vignette\\docs\\avatar-art\\p2-linocut\\preview\\qa\\frames\\viseme-scan-t00800.png"
},
{
"t": 850,
"viseme": "U",
"shotPath": "D:\\workspace\\vignette\\docs\\avatar-art\\p2-linocut\\preview\\qa\\frames\\viseme-scan-t00850.png"
},
{
"t": 900,
"viseme": "EU",
"shotPath": "D:\\workspace\\vignette\\docs\\avatar-art\\p2-linocut\\preview\\qa\\frames\\viseme-scan-t00900.png"
},
{
"t": 950,
"viseme": "EU",
"shotPath": "D:\\workspace\\vignette\\docs\\avatar-art\\p2-linocut\\preview\\qa\\frames\\viseme-scan-t00950.png"
},
{
"t": 1000,
"viseme": "EU",
"shotPath": "D:\\workspace\\vignette\\docs\\avatar-art\\p2-linocut\\preview\\qa\\frames\\viseme-scan-t01000.png"
},
{
"t": 1050,
"viseme": "EU",
"shotPath": "D:\\workspace\\vignette\\docs\\avatar-art\\p2-linocut\\preview\\qa\\frames\\viseme-scan-t01050.png"
},
{
"t": 1100,
"viseme": "EU",
"shotPath": "D:\\workspace\\vignette\\docs\\avatar-art\\p2-linocut\\preview\\qa\\frames\\viseme-scan-t01100.png"
},
{
"t": 1150,
"viseme": "M",
"shotPath": "D:\\workspace\\vignette\\docs\\avatar-art\\p2-linocut\\preview\\qa\\frames\\viseme-scan-t01150.png"
},
{
"t": 1200,
"viseme": "I",
"shotPath": "D:\\workspace\\vignette\\docs\\avatar-art\\p2-linocut\\preview\\qa\\frames\\viseme-scan-t01200.png"
},
{
"t": 1250,
"viseme": "E",
"shotPath": "D:\\workspace\\vignette\\docs\\avatar-art\\p2-linocut\\preview\\qa\\frames\\viseme-scan-t01250.png"
},
{
"t": 1300,
"viseme": "E",
"shotPath": "D:\\workspace\\vignette\\docs\\avatar-art\\p2-linocut\\preview\\qa\\frames\\viseme-scan-t01300.png"
},
{
"t": 1350,
"viseme": "X",
"shotPath": "D:\\workspace\\vignette\\docs\\avatar-art\\p2-linocut\\preview\\qa\\frames\\viseme-scan-t01350.png"
},
{
"t": 1400,
"viseme": "E",
"shotPath": "D:\\workspace\\vignette\\docs\\avatar-art\\p2-linocut\\preview\\qa\\frames\\viseme-scan-t01400.png"
},
{
"t": 1450,
"viseme": "X",
"shotPath": "D:\\workspace\\vignette\\docs\\avatar-art\\p2-linocut\\preview\\qa\\frames\\viseme-scan-t01450.png"
},
{
"t": 1500,
"viseme": "X",
"shotPath": "D:\\workspace\\vignette\\docs\\avatar-art\\p2-linocut\\preview\\qa\\frames\\viseme-scan-t01500.png"
},
{
"t": 1550,
"viseme": "X",
"shotPath": "D:\\workspace\\vignette\\docs\\avatar-art\\p2-linocut\\preview\\qa\\frames\\viseme-scan-t01550.png"
},
{
"t": 1600,
"viseme": "X",
"shotPath": "D:\\workspace\\vignette\\docs\\avatar-art\\p2-linocut\\preview\\qa\\frames\\viseme-scan-t01600.png"
},
{
"t": 1650,
"viseme": "X",
"shotPath": "D:\\workspace\\vignette\\docs\\avatar-art\\p2-linocut\\preview\\qa\\frames\\viseme-scan-t01650.png"
},
{
"t": 1700,
"viseme": "X",
"shotPath": "D:\\workspace\\vignette\\docs\\avatar-art\\p2-linocut\\preview\\qa\\frames\\viseme-scan-t01700.png"
},
{
"t": 1750,
"viseme": "X",
"shotPath": "D:\\workspace\\vignette\\docs\\avatar-art\\p2-linocut\\preview\\qa\\frames\\viseme-scan-t01750.png"
},
{
"t": 1800,
"viseme": "X",
"shotPath": "D:\\workspace\\vignette\\docs\\avatar-art\\p2-linocut\\preview\\qa\\frames\\viseme-scan-t01800.png"
},
{
"t": 1850,
"viseme": "X",
"shotPath": "D:\\workspace\\vignette\\docs\\avatar-art\\p2-linocut\\preview\\qa\\frames\\viseme-scan-t01850.png"
},
{
"t": 1900,
"viseme": "X",
"shotPath": "D:\\workspace\\vignette\\docs\\avatar-art\\p2-linocut\\preview\\qa\\frames\\viseme-scan-t01900.png"
},
{
"t": 1950,
"viseme": "X",
"shotPath": "D:\\workspace\\vignette\\docs\\avatar-art\\p2-linocut\\preview\\qa\\frames\\viseme-scan-t01950.png"
},
{
"t": 2000,
"viseme": "X",
"shotPath": "D:\\workspace\\vignette\\docs\\avatar-art\\p2-linocut\\preview\\qa\\frames\\viseme-scan-t02000.png"
},
{
"t": 2050,
"viseme": "X",
"shotPath": "D:\\workspace\\vignette\\docs\\avatar-art\\p2-linocut\\preview\\qa\\frames\\viseme-scan-t02050.png"
},
{
"t": 2100,
"viseme": "X",
"shotPath": "D:\\workspace\\vignette\\docs\\avatar-art\\p2-linocut\\preview\\qa\\frames\\viseme-scan-t02100.png"
},
{
"t": 2150,
"viseme": "X",
"shotPath": "D:\\workspace\\vignette\\docs\\avatar-art\\p2-linocut\\preview\\qa\\frames\\viseme-scan-t02150.png"
},
{
"t": 2200,
"viseme": "X",
"shotPath": "D:\\workspace\\vignette\\docs\\avatar-art\\p2-linocut\\preview\\qa\\frames\\viseme-scan-t02200.png"
},
{
"t": 2250,
"viseme": "X",
"shotPath": "D:\\workspace\\vignette\\docs\\avatar-art\\p2-linocut\\preview\\qa\\frames\\viseme-scan-t02250.png"
},
{
"t": 2300,
"viseme": "X",
"shotPath": "D:\\workspace\\vignette\\docs\\avatar-art\\p2-linocut\\preview\\qa\\frames\\viseme-scan-t02300.png"
},
{
"t": 2350,
"viseme": "X",
"shotPath": "D:\\workspace\\vignette\\docs\\avatar-art\\p2-linocut\\preview\\qa\\frames\\viseme-scan-t02350.png"
},
{
"t": 2400,
"viseme": "X",
"shotPath": "D:\\workspace\\vignette\\docs\\avatar-art\\p2-linocut\\preview\\qa\\frames\\viseme-scan-t02400.png"
},
{
"t": 2450,
"viseme": "X",
"shotPath": "D:\\workspace\\vignette\\docs\\avatar-art\\p2-linocut\\preview\\qa\\frames\\viseme-scan-t02450.png"
},
{
"t": 2500,
"viseme": "X",
"shotPath": "D:\\workspace\\vignette\\docs\\avatar-art\\p2-linocut\\preview\\qa\\frames\\viseme-scan-t02500.png"
},
{
"t": 2550,
"viseme": "X",
"shotPath": "D:\\workspace\\vignette\\docs\\avatar-art\\p2-linocut\\preview\\qa\\frames\\viseme-scan-t02550.png"
},
{
"t": 2600,
"viseme": "X",
"shotPath": "D:\\workspace\\vignette\\docs\\avatar-art\\p2-linocut\\preview\\qa\\frames\\viseme-scan-t02600.png"
},
{
"t": 2650,
"viseme": "X",
"shotPath": "D:\\workspace\\vignette\\docs\\avatar-art\\p2-linocut\\preview\\qa\\frames\\viseme-scan-t02650.png"
},
{
"t": 2700,
"viseme": "X",
"shotPath": "D:\\workspace\\vignette\\docs\\avatar-art\\p2-linocut\\preview\\qa\\frames\\viseme-scan-t02700.png"
},
{
"t": 2750,
"viseme": "X",
"shotPath": "D:\\workspace\\vignette\\docs\\avatar-art\\p2-linocut\\preview\\qa\\frames\\viseme-scan-t02750.png"
},
{
"t": 2800,
"viseme": "X",
"shotPath": "D:\\workspace\\vignette\\docs\\avatar-art\\p2-linocut\\preview\\qa\\frames\\viseme-scan-t02800.png"
}
]

Binary file not shown.

After

Width:  |  Height:  |  Size: 79 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 181 KiB

View file

@ -0,0 +1,676 @@
{
"faceOvalBBox": [
257.9,
398.4,
736.0,
961.4
],
"cropsFace": [
181.6,
364.6,
630.6,
630.6
],
"mouthCenter": [
494.6,
812.3
],
"palette": {
"ink": "#1E1E1D",
"sclera": "#D8CEBD",
"iris": "#4F3B2C",
"irisRing": "#1E1F1F",
"lipUpper": "#9D7253",
"lipLower": "#A87857",
"mouthLine": "#242220",
"mouthInner": "#3B201B",
"teeth": "#E9E0CF",
"blush": "#C0624A",
"tear": "#EEE5D3",
"pallor": "#9AA3A6",
"paper": "#EEE5D3",
"motifPetal": "#D0A362",
"motifLeaf": "#53626C"
},
"paletteSamples": {
"eyeLeft": {
"sclera": "#D0A275",
"iris": "#2E2823",
"irisRing": "#302B23",
"n": {
"sclera": 942,
"iris": 185,
"irisRing": 377
}
},
"eyeRight": {
"sclera": "#CAA075",
"iris": "#2E2923",
"irisRing": "#372D26",
"n": {
"sclera": 968,
"iris": 191,
"irisRing": 384
}
},
"scleraIrisIrisRingFixedOverride": {
"reason": "persona.json paletteSamples.eyeOverride(고정 설계값)",
"measured": {
"sclera": "#CDA175",
"iris": "#2E2823",
"irisRing": "#342C24"
},
"fixed": {
"sclera": "#D8CEBD",
"iris": "#4F3B2C",
"irisRing": "#1E1F1F"
}
},
"ink": {
"box": [
330,
150,
670,
310
],
"lumThreshold": 55.0,
"n": 45379,
"hex": "#1E1E1D"
},
"lipUpper": {
"box": [
412,
784,
577,
810
],
"hex": "#9D7253"
},
"lipLower": {
"box": [
412,
814,
577,
846
],
"hex": "#A87857"
},
"mouthLine": {
"box": [
432,
810,
557,
815
],
"hex": "#242220"
},
"motifPetal": {
"sourceImage": "docs\\avatar-art\\art-direction-v3\\p1\\r2-b-linocut.png",
"samples": {
"sun": {
"box": [
1230,
10,
1536,
210
],
"n": 20570,
"hex": "#D3A661"
},
"tulip": {
"box": [
1030,
280,
1170,
560
],
"n": 4314,
"hex": "#CCA063"
}
},
"hex": "#D0A362"
},
"motifLeaf": {
"sourceImage": "docs\\avatar-art\\art-direction-v3\\p1\\r2-b-linocut.png",
"samples": {
"cloudLeft": {
"box": [
20,
20,
380,
190
],
"n": 21312,
"hex": "#636D76"
},
"raincloud": {
"box": [
520,
10,
930,
230
],
"n": 27607,
"hex": "#586B76"
},
"wiltedFlowerLeaf": {
"box": [
520,
280,
650,
580
],
"n": 5818,
"hex": "#495961"
},
"closedBudLeaf": {
"box": [
10,
290,
110,
570
],
"n": 6589,
"hex": "#495961"
}
},
"hex": "#53626C"
}
},
"publish": {
"fileSizes": {
"body": 125460,
"head": 89170,
"hair-front": 16984,
"face-detail": 47270,
"paper-grain": 1034
},
"encodeMeta": {
"quality": 80,
"scale": 1.0,
"totalBytes": 279918
},
"totalBytes": 279918
},
"grain": {
"href": "/avatar/v3/p2/paper-grain.webp",
"size": 256
},
"lipTexturePublish": {
"quality": "lossless",
"fileSizes": {
"lip-upper": 15864,
"lip-lower": 14532,
"lip-shadow": 14592
},
"totalBytes": 44988,
"budgetBytes": 81920,
"webpVsPngMeanAbsDiff": {
"upper": 0.0,
"lower": 0.0,
"shadow": 0.0
}
},
"jawPublish": {
"quality": 80,
"scale": 1.0,
"fileSizes": {
"jaw-head": 26526,
"jaw-detail": 27760
},
"totalBytes": 54286,
"budgetBytes": 204800,
"vsPublishedLayerAbsDiff": {
"head": {
"comparedAgainstPublishedLayer": "head.webp",
"meanAbsDiffPremultipliedRgb": 2.795,
"maxAbsDiffPremultipliedRgb": 36.0,
"meanAbsDiffAlpha": 0.0,
"maxAbsDiffAlpha": 0.0,
"meetsTarget": false
},
"detail": {
"comparedAgainstPublishedLayer": "face-detail.webp",
"meanAbsDiffPremultipliedRgb": 1.83,
"maxAbsDiffPremultipliedRgb": 35.0,
"meanAbsDiffAlpha": 0.0,
"maxAbsDiffAlpha": 0.0,
"meetsTarget": true
}
}
},
"motifPublish": null,
"browSpritePublish": {
"quality": "lossless",
"fileSizes": {
"brow-left": 8120,
"brow-right": 10126
},
"totalBytes": 18246,
"budgetBytes": 61440,
"webpVsPngMeanAbsDiff": {
"left": 0.0,
"right": 0.0
}
},
"rig": {
"schemaVersion": "vignette.avatar.v3.rig.v1",
"persona": "P2",
"canvas": {
"w": 1005,
"h": 1566
},
"layers": {
"body": {
"href": "/avatar/v3/p2/body.webp",
"x": 0,
"y": 751,
"w": 1005,
"h": 815
},
"head": {
"href": "/avatar/v3/p2/head.webp",
"x": 164,
"y": 84,
"w": 667,
"h": 877
},
"hairFront": {
"href": "/avatar/v3/p2/hair-front.webp",
"x": 240,
"y": 398,
"w": 498,
"h": 460
},
"faceDetail": {
"href": "/avatar/v3/p2/face-detail.webp",
"x": 274,
"y": 405,
"w": 449,
"h": 550
}
},
"grain": {
"href": "/avatar/v3/p2/paper-grain.webp",
"size": 256
},
"lipTexture": {
"upper": {
"href": "/avatar/v3/p2/lip-upper.webp",
"x": 404,
"y": 772,
"w": 182,
"h": 51
},
"lower": {
"href": "/avatar/v3/p2/lip-lower.webp",
"x": 404,
"y": 813,
"w": 181,
"h": 48
},
"shadow": {
"href": "/avatar/v3/p2/lip-shadow.webp",
"x": 414,
"y": 817,
"w": 155,
"h": 52
}
},
"jaw": {
"head": {
"href": "/avatar/v3/p2/jaw-head.webp",
"x": 246,
"y": 658,
"w": 506,
"h": 333
},
"detail": {
"href": "/avatar/v3/p2/jaw-detail.webp",
"x": 246,
"y": 658,
"w": 506,
"h": 333
}
},
"motif": null,
"pivots": {
"neck": [
496.44,
1021.17
],
"body": [
502,
1566
],
"face": [
492.0,
658.93
]
},
"crops": {
"portrait": [
0,
0,
1005,
1566
],
"bust": [
0.0,
40.0,
1005.0,
1005.0
],
"face": [
181.6128492420554,
364.57844417896274,
630.602422984314,
630.602422984314
]
},
"faceOval": [
[
492.2,
398.4
],
[
558.0,
399.3
],
[
614.2,
407.7
],
[
665.7,
426.4
],
[
699.0,
456.1
],
[
719.9,
494.6
],
[
731.3,
536.0
],
[
736.0,
586.9
],
[
734.6,
635.4
],
[
730.5,
685.8
],
[
721.5,
739.0
],
[
704.8,
795.1
],
[
682.2,
840.4
],
[
657.5,
873.5
],
[
627.1,
903.3
],
[
601.0,
924.5
],
[
572.8,
943.3
],
[
539.3,
957.3
],
[
496.4,
961.4
],
[
453.8,
957.3
],
[
421.0,
943.3
],
[
393.2,
924.7
],
[
367.4,
904.2
],
[
338.1,
874.9
],
[
315.0,
842.0
],
[
293.7,
797.6
],
[
277.1,
741.8
],
[
267.0,
688.9
],
[
261.6,
639.6
],
[
257.9,
591.7
],
[
260.7,
541.3
],
[
270.6,
499.5
],
[
290.1,
460.8
],
[
321.9,
430.6
],
[
371.3,
410.5
],
[
426.6,
401.0
]
],
"landmarks": {
"eyeLeft": {
"inner": [
436.9,
589.7
],
"outer": [
345.9,
578.6
],
"upperLidTop": [
382.5,
563.5
],
"lowerLidBottom": [
387.0,
595.5
],
"iris": {
"center": [
391.0,
576.0
],
"radius": 20.0
},
"lineScale": 2.5
},
"eyeRight": {
"inner": [
553.4,
588.3
],
"outer": [
643.7,
575.1
],
"upperLidTop": [
606.6,
560.8
],
"lowerLidBottom": [
603.5,
593.0
],
"iris": {
"center": [
598.5,
573.5
],
"radius": 20.5
},
"lineScale": 2.5
},
"browLeft": {
"inner": [
459.2,
529.9
],
"peak": [
359.4,
517.4
],
"outer": [
307.8,
526.2
],
"halfWidth": [
12.85,
16.46,
2.41
],
"sprite": {
"href": "/avatar/v3/p2/brow-left.webp",
"x": 307.0,
"y": 500.0,
"w": 158,
"h": 55
}
},
"browRight": {
"inner": [
522.2,
526.9
],
"peak": [
630.8,
512.7
],
"outer": [
686.8,
520.9
],
"halfWidth": [
15.26,
12.23,
6.8
],
"sprite": {
"href": "/avatar/v3/p2/brow-right.webp",
"x": 515.0,
"y": 492.0,
"w": 176,
"h": 57
}
},
"noseTip": [
494.7,
718.4
],
"mouthCornerLeft": [
417.4,
818.3
],
"mouthCornerRight": [
572.3,
816.9
],
"upperLipTop": [
494.6,
787.6
],
"lowerLipBottom": [
494.1,
843.9
],
"mouthCenter": [
494.6,
812.3
],
"chinTip": [
496.4,
950.7
]
},
"palette": {
"ink": "#1E1E1D",
"sclera": "#D8CEBD",
"iris": "#4F3B2C",
"irisRing": "#1E1F1F",
"lipUpper": "#9D7253",
"lipLower": "#A87857",
"mouthLine": "#242220",
"mouthInner": "#3B201B",
"teeth": "#E9E0CF",
"blush": "#C0624A",
"tear": "#EEE5D3",
"pallor": "#9AA3A6",
"paper": "#EEE5D3",
"motifPetal": "#D0A362",
"motifLeaf": "#53626C"
},
"backdrop": {
"cognitive": "#ECE3D1",
"positive": "#F1DEC2",
"negative": "#DCE0E2",
"defensive": "#E6DAD3",
"energy": "#E2E0D0"
}
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 215 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 733 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 119 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

View file

@ -0,0 +1,3 @@
Call the built-in image_gen tool immediately, using the attached image as the reference to edit. Do not read any files, do not use any skill, do not ask questions. Invoke the image_gen tool once in high quality, keeping the output image the same size and aspect ratio as the reference image, using exactly this prompt, then save the resulting image into the current directory as faceless.png:
Redraw exactly the same man, same frontal pose, same framing and same linocut relief-print style as the reference, but leave the face blank: remove the eyes, eyebrows and mouth completely and fill those areas with plain skin in the same flat skin color, keeping the nose, the face outline, the ears, the hair, the neck, the light blue shirt collar, the dark grey V-neck sweater and the lanyard cord exactly as they are. Do not move, resize or redraw anything else. Plain flat cream background, nothing else, no text.

View file

@ -0,0 +1,3 @@
Call the built-in image_gen tool immediately, using the attached image as the reference to edit. Do not read any files, do not use any skill, do not ask questions. Invoke the image_gen tool once in high quality, keeping the output image the same size and aspect ratio as the reference image, using exactly this prompt, then save the resulting image into the current directory as body.png:
Keep only the neck, the light blue shirt, the dark grey V-neck sweater and the lanyard cord exactly as they are in the reference: same shapes, same position, same linocut relief-print style, same ink colors and texture. Remove the head, the face, the ears and all of the hair completely. Where the hair or the chin previously covered the neck or the clothes, continue them naturally in the same style so there are no holes. Place the result on a plain flat pure green background (#00ff00) with nothing else, no text.

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 MiB