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

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 MiB

View file

@ -0,0 +1,40 @@
{
"mode": "body",
"ref": "D:\\workspace\\vignette\\docs\\avatar-art\\p3-linocut\\base\\source-front.png",
"edited": "D:\\workspace\\vignette\\docs\\avatar-art\\p3-linocut\\base\\edits\\body-1.png",
"out": "D:\\workspace\\vignette\\docs\\avatar-art\\p3-linocut\\base\\edits\\aligned-body-1.png",
"refSize": [
1145,
1374
],
"editedOriginalSize": [
1145,
1374
],
"eccCorrelation": 0.98505,
"transform": {
"scaleSqrtDet": 1.00052,
"rotationDeg": 0.006,
"translateX": -0.405,
"translateY": -2.096,
"matrix": [
[
0.999904,
0.000487,
-0.404834
],
[
0.000102,
1.001144,
-2.096108
]
],
"direction": "ref(template) 좌표 -> edited(resized, input) 좌표. 정렬된 출력은 이 행렬의 역변환(WARP_INVERSE_MAP)으로 만든다."
},
"eccIncludeMaskPixels": 502186,
"chamferInMask": {
"median": 0.0,
"p90": 1.0,
"nSamples": 103878
}
}

View file

@ -0,0 +1,40 @@
{
"mode": "body",
"ref": "D:\\workspace\\vignette\\docs\\avatar-art\\p3-linocut\\base\\source-front.png",
"edited": "D:\\workspace\\vignette\\docs\\avatar-art\\p3-linocut\\base\\edits\\body-2.png",
"out": "D:\\workspace\\vignette\\docs\\avatar-art\\p3-linocut\\base\\edits\\aligned-body-2.png",
"refSize": [
1145,
1374
],
"editedOriginalSize": [
1145,
1374
],
"eccCorrelation": 0.91082,
"transform": {
"scaleSqrtDet": 1.01057,
"rotationDeg": 0.161,
"translateX": -5.125,
"translateY": -34.475,
"matrix": [
[
1.000922,
0.003842,
-5.125106
],
[
0.00281,
1.020314,
-34.474659
]
],
"direction": "ref(template) 좌표 -> edited(resized, input) 좌표. 정렬된 출력은 이 행렬의 역변환(WARP_INVERSE_MAP)으로 만든다."
},
"eccIncludeMaskPixels": 506002,
"chamferInMask": {
"median": 1.0,
"p90": 2.0,
"nSamples": 104082
}
}

View file

@ -0,0 +1,129 @@
{
"mode": "faceless",
"ref": "D:\\workspace\\vignette\\docs\\avatar-art\\p3-linocut\\base\\source-front.png",
"edited": "D:\\workspace\\vignette\\docs\\avatar-art\\p3-linocut\\base\\edits\\faceless-1.png",
"out": "D:\\workspace\\vignette\\docs\\avatar-art\\p3-linocut\\base\\edits\\aligned-faceless-1.png",
"refSize": [
1145,
1374
],
"editedOriginalSize": [
1145,
1374
],
"eccCorrelation": 0.99268,
"transform": {
"scaleSqrtDet": 1.00001,
"rotationDeg": 0.001,
"translateX": 0.1,
"translateY": -0.799,
"matrix": [
[
0.999892,
-7.7e-05,
0.100431
],
[
1.9e-05,
1.000137,
-0.79903
]
],
"direction": "ref(template) 좌표 -> edited(resized, input) 좌표. 정렬된 출력은 이 행렬의 역변환(WARP_INVERSE_MAP)으로 만든다."
},
"eccIncludeMaskPixels": 886543,
"chamferInMask": {
"median": 0.0,
"p90": 1.0,
"nSamples": 171406
},
"faceOvalBandChamfer": {
"median": 0.0,
"p90": 1.0,
"nSamples": 6518
},
"inkRatioByBox": {
"eyeA": {
"box": [
378,
445,
527,
530
],
"refInkRatio": 0.2204,
"editedInkRatio": 0.0136
},
"eyeB": {
"box": [
605,
425,
753,
511
],
"refInkRatio": 0.1909,
"editedInkRatio": 0.0001
},
"browA": {
"box": [
331,
367,
536,
473
],
"refInkRatio": 0.3156,
"editedInkRatio": 0.2181
},
"browB": {
"box": [
580,
348,
791,
443
],
"refInkRatio": 0.1773,
"editedInkRatio": 0.0944
},
"mouth": {
"box": [
470,
662,
692,
785
],
"refInkRatio": 0.0531,
"editedInkRatio": 0.0001
}
},
"eccExcludeBoxes": {
"eyeA": [
378,
445,
527,
530
],
"eyeB": [
605,
425,
753,
511
],
"browA": [
331,
367,
536,
473
],
"browB": [
580,
348,
791,
443
],
"mouth": [
470,
662,
692,
785
]
}
}

View file

@ -0,0 +1,129 @@
{
"mode": "faceless",
"ref": "D:\\workspace\\vignette\\docs\\avatar-art\\p3-linocut\\base\\source-front.png",
"edited": "D:\\workspace\\vignette\\docs\\avatar-art\\p3-linocut\\base\\edits\\faceless-2.png",
"out": "D:\\workspace\\vignette\\docs\\avatar-art\\p3-linocut\\base\\edits\\aligned-faceless-2.png",
"refSize": [
1145,
1374
],
"editedOriginalSize": [
1145,
1374
],
"eccCorrelation": 0.99256,
"transform": {
"scaleSqrtDet": 0.99996,
"rotationDeg": 0.001,
"translateX": -0.216,
"translateY": -0.467,
"matrix": [
[
1.000085,
-2.1e-05,
-0.216023
],
[
2.1e-05,
0.999836,
-0.467444
]
],
"direction": "ref(template) 좌표 -> edited(resized, input) 좌표. 정렬된 출력은 이 행렬의 역변환(WARP_INVERSE_MAP)으로 만든다."
},
"eccIncludeMaskPixels": 886543,
"chamferInMask": {
"median": 0.0,
"p90": 1.0,
"nSamples": 170619
},
"faceOvalBandChamfer": {
"median": 0.0,
"p90": 1.0,
"nSamples": 6490
},
"inkRatioByBox": {
"eyeA": {
"box": [
378,
445,
527,
530
],
"refInkRatio": 0.2204,
"editedInkRatio": 0.0136
},
"eyeB": {
"box": [
605,
425,
753,
511
],
"refInkRatio": 0.1909,
"editedInkRatio": 0.0
},
"browA": {
"box": [
331,
367,
536,
473
],
"refInkRatio": 0.3156,
"editedInkRatio": 0.2181
},
"browB": {
"box": [
580,
348,
791,
443
],
"refInkRatio": 0.1773,
"editedInkRatio": 0.0956
},
"mouth": {
"box": [
470,
662,
692,
785
],
"refInkRatio": 0.0531,
"editedInkRatio": 0.0001
}
},
"eccExcludeBoxes": {
"eyeA": [
378,
445,
527,
530
],
"eyeB": [
605,
425,
753,
511
],
"browA": [
331,
367,
536,
473
],
"browB": [
580,
348,
791,
443
],
"mouth": [
470,
662,
692,
785
]
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 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\\p3-linocut\\base\\source-front.png",
"faceless": "D:\\workspace\\vignette\\docs\\avatar-art\\p3-linocut\\base\\edits\\aligned-faceless-1.png",
"body": "D:\\workspace\\vignette\\docs\\avatar-art\\p3-linocut\\base\\edits\\aligned-body-1.png",
"frontSize": [
1145,
1374
],
"eyesCenter": [
565.52,
484.33
],
"chin": [
590.16,
868.28
],
"eyeDistance": 226.984,
"eyeChinDistance": 384.738
},
"transform": {
"sHead": 0.910305,
"sWidth": 0.877729,
"s": 0.910305,
"rotationDeg": 0.0,
"offsetXNatural": -22.104,
"offsetXClampRange": [
-37.299,
0.0
],
"offsetX": -22.104,
"offsetY": 143.442
},
"coveredRange": {
"x": [
0.0,
1005
],
"y": [
143.4,
1394.2
]
},
"inputSha256": {
"front": "00b8d9c3f930dd94798fa41e66fac08be58d9c493ae66284cef460e690f25bd8",
"faceless": "ce66bd0c2ecfcc09f853bba77197cace6e74da03035316519dd16010c928c8ff",
"body": "fbaba0b506a3b0fe868a63caa3f36fd2a1947f2965a0b2c6508f3152d2e8b5ba"
}
}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,32 @@
{
"code": "P3",
"publicSlug": "p3",
"styleFrame": "../art-direction-v3/p1/r2-b-linocut.png",
"paletteSamples": {
"ink": { "box": [430, 200, 580, 320], "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": [518, 1005],
"body": [502, 1566],
"face": [492, 652]
},
"crops": {
"bustYOffset": 40
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 191 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 283 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 193 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 193 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 212 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 280 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 132 KiB

View file

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 179 KiB

View file

@ -0,0 +1,676 @@
{
"faceOvalBBox": [
257.2,
390.2,
736.4,
945.4
],
"cropsFace": [
185.9,
356.9,
621.9,
621.9
],
"mouthCenter": [
507.2,
796.4
],
"palette": {
"ink": "#242322",
"sclera": "#D8CEBD",
"iris": "#4F3B2C",
"irisRing": "#1E1F1F",
"lipUpper": "#B4835D",
"lipLower": "#BD8A62",
"mouthLine": "#76553F",
"mouthInner": "#3B201B",
"teeth": "#E9E0CF",
"blush": "#C0624A",
"tear": "#EEE5D3",
"pallor": "#9AA3A6",
"paper": "#EEE5D3",
"motifPetal": "#D0A362",
"motifLeaf": "#53626C"
},
"paletteSamples": {
"eyeLeft": {
"sclera": "#D2A373",
"iris": "#43382C",
"irisRing": "#725C45",
"n": {
"sclera": 968,
"iris": 191,
"irisRing": 392
}
},
"eyeRight": {
"sclera": "#D3A778",
"iris": "#513F2F",
"irisRing": "#47392D",
"n": {
"sclera": 961,
"iris": 189,
"irisRing": 383
}
},
"scleraIrisIrisRingFixedOverride": {
"reason": "persona.json paletteSamples.eyeOverride(고정 설계값)",
"measured": {
"sclera": "#D2A576",
"iris": "#4A3C2E",
"irisRing": "#5C4A39"
},
"fixed": {
"sclera": "#D8CEBD",
"iris": "#4F3B2C",
"irisRing": "#1E1F1F"
}
},
"ink": {
"box": [
430,
200,
580,
320
],
"lumThreshold": 55.0,
"n": 13942,
"hex": "#242322"
},
"lipUpper": {
"box": [
427,
766,
588,
794
],
"hex": "#B4835D"
},
"lipLower": {
"box": [
427,
798,
588,
835
],
"hex": "#BD8A62"
},
"mouthLine": {
"box": [
447,
794,
568,
799
],
"hex": "#76553F"
},
"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": 196976,
"head": 138282,
"hair-front": 32594,
"face-detail": 45922,
"paper-grain": 980
},
"encodeMeta": {
"quality": 80,
"scale": 1.0,
"totalBytes": 414754
},
"totalBytes": 414754
},
"grain": {
"href": "/avatar/v3/p3/paper-grain.webp",
"size": 256
},
"lipTexturePublish": {
"quality": "lossless",
"fileSizes": {
"lip-upper": 15788,
"lip-lower": 16602,
"lip-shadow": 17250
},
"totalBytes": 49640,
"budgetBytes": 81920,
"webpVsPngMeanAbsDiff": {
"upper": 0.0,
"lower": 0.0,
"shadow": 0.0
}
},
"jawPublish": {
"quality": 80,
"scale": 1.0,
"fileSizes": {
"jaw-head": 46270,
"jaw-detail": 25322
},
"totalBytes": 71592,
"budgetBytes": 204800,
"vsPublishedLayerAbsDiff": {
"head": {
"comparedAgainstPublishedLayer": "head.webp",
"meanAbsDiffPremultipliedRgb": 3.222,
"maxAbsDiffPremultipliedRgb": 38.0,
"meanAbsDiffAlpha": 0.0,
"maxAbsDiffAlpha": 0.0,
"meetsTarget": false
},
"detail": {
"comparedAgainstPublishedLayer": "face-detail.webp",
"meanAbsDiffPremultipliedRgb": 1.885,
"maxAbsDiffPremultipliedRgb": 36.0,
"meanAbsDiffAlpha": 0.0,
"maxAbsDiffAlpha": 0.0,
"meetsTarget": true
}
}
},
"motifPublish": null,
"browSpritePublish": {
"quality": "lossless",
"fileSizes": {
"brow-left": 3972,
"brow-right": 3772
},
"totalBytes": 7744,
"budgetBytes": 61440,
"webpVsPngMeanAbsDiff": {
"left": 0.0,
"right": 0.0
}
},
"rig": {
"schemaVersion": "vignette.avatar.v3.rig.v1",
"persona": "P3",
"canvas": {
"w": 1005,
"h": 1566
},
"layers": {
"body": {
"href": "/avatar/v3/p3/body.webp",
"x": 0,
"y": 848,
"w": 1005,
"h": 718
},
"head": {
"href": "/avatar/v3/p3/head.webp",
"x": 132,
"y": 156,
"w": 742,
"h": 888
},
"hairFront": {
"href": "/avatar/v3/p3/hair-front.webp",
"x": 237,
"y": 398,
"w": 540,
"h": 535
},
"faceDetail": {
"href": "/avatar/v3/p3/face-detail.webp",
"x": 279,
"y": 397,
"w": 443,
"h": 542
}
},
"grain": {
"href": "/avatar/v3/p3/paper-grain.webp",
"size": 256
},
"lipTexture": {
"upper": {
"href": "/avatar/v3/p3/lip-upper.webp",
"x": 424,
"y": 756,
"w": 173,
"h": 51
},
"lower": {
"href": "/avatar/v3/p3/lip-lower.webp",
"x": 423,
"y": 792,
"w": 171,
"h": 54
},
"shadow": {
"href": "/avatar/v3/p3/lip-shadow.webp",
"x": 433,
"y": 791,
"w": 148,
"h": 63
}
},
"jaw": {
"head": {
"href": "/avatar/v3/p3/jaw-head.webp",
"x": 243,
"y": 644,
"w": 512,
"h": 332
},
"detail": {
"href": "/avatar/v3/p3/jaw-detail.webp",
"x": 243,
"y": 644,
"w": 512,
"h": 332
}
},
"motif": null,
"pivots": {
"neck": [
518,
1005
],
"body": [
502,
1566
],
"face": [
492,
652
]
},
"crops": {
"portrait": [
0,
0,
1005,
1566
],
"bust": [
0.0,
40.0,
1005.0,
1005.0
],
"face": [
185.87612950367526,
356.8740379088401,
621.8837808288575,
621.8837808288575
]
},
"faceOval": [
[
475.8,
393.7
],
[
540.7,
390.2
],
[
596.5,
395.8
],
[
649.6,
413.2
],
[
685.4,
442.2
],
[
709.3,
480.3
],
[
724.7,
521.2
],
[
733.9,
571.8
],
[
736.4,
619.7
],
[
736.4,
669.4
],
[
731.0,
722.5
],
[
718.2,
777.9
],
[
698.5,
822.4
],
[
674.5,
854.4
],
[
643.8,
883.5
],
[
618.4,
904.1
],
[
591.4,
922.9
],
[
559.9,
938.4
],
[
519.0,
945.4
],
[
477.9,
944.3
],
[
445.2,
933.5
],
[
416.7,
919.2
],
[
389.2,
903.2
],
[
355.4,
879.7
],
[
328.1,
851.8
],
[
302.7,
811.3
],
[
282.3,
758.0
],
[
269.2,
706.1
],
[
262.4,
657.2
],
[
257.2,
610.1
],
[
258.2,
560.0
],
[
266.7,
517.2
],
[
283.8,
476.0
],
[
312.7,
441.9
],
[
359.0,
416.0
],
[
411.7,
401.4
]
],
"landmarks": {
"eyeLeft": {
"inner": [
435.1,
593.8
],
"outer": [
346.3,
589.4
],
"upperLidTop": [
382.5,
570.1
],
"lowerLidBottom": [
386.7,
602.2
],
"iris": {
"center": [
389.0,
580.0
],
"radius": 20.0
},
"lineScale": 1.0
},
"eyeRight": {
"inner": [
552.1,
583.6
],
"outer": [
640.8,
564.7
],
"upperLidTop": [
600.8,
552.1
],
"lowerLidBottom": [
601.0,
583.9
],
"iris": {
"center": [
593.5,
558.5
],
"radius": 19.5
},
"lineScale": 1.0
},
"browLeft": {
"inner": [
438.0,
513.2
],
"peak": [
354.9,
519.8
],
"outer": [
312.0,
530.8
],
"halfWidth": [
7.0,
8.34,
3.81
],
"sprite": {
"href": "/avatar/v3/p3/brow-left.webp",
"x": 314.0,
"y": 502.0,
"w": 129,
"h": 38
}
},
"browRight": {
"inner": [
521.3,
505.4
],
"peak": [
609.3,
496.5
],
"outer": [
654.7,
501.0
],
"halfWidth": [
3.9,
7.0,
1.97
],
"sprite": {
"href": "/avatar/v3/p3/brow-right.webp",
"x": 517.0,
"y": 486.0,
"w": 142,
"h": 32
}
},
"noseTip": [
499.6,
704.4
],
"mouthCornerLeft": [
432.6,
803.4
],
"mouthCornerRight": [
583.6,
792.2
],
"upperLipTop": [
505.2,
769.8
],
"lowerLipBottom": [
509.4,
832.4
],
"mouthCenter": [
507.2,
796.4
],
"chinTip": [
518.3,
935.2
]
},
"palette": {
"ink": "#242322",
"sclera": "#D8CEBD",
"iris": "#4F3B2C",
"irisRing": "#1E1F1F",
"lipUpper": "#B4835D",
"lipLower": "#BD8A62",
"mouthLine": "#76553F",
"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: 232 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 731 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 130 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 69 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 woman, 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 low bun and the loose strands of hair, the cream t-shirt and the ochre knit sweater with its small pale stain 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 cream t-shirt and the ochre knit sweater, including the small pale stain near the shoulder 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.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 MiB

View file

@ -0,0 +1,40 @@
{
"mode": "body",
"ref": "D:\\workspace\\vignette\\docs\\avatar-art\\p4-linocut\\base\\source-front.png",
"edited": "D:\\workspace\\vignette\\docs\\avatar-art\\p4-linocut\\base\\edits\\body-1.png",
"out": "D:\\workspace\\vignette\\docs\\avatar-art\\p4-linocut\\base\\edits\\aligned-body-1.png",
"refSize": [
1024,
1536
],
"editedOriginalSize": [
1024,
1536
],
"eccCorrelation": 0.99798,
"transform": {
"scaleSqrtDet": 1.00131,
"rotationDeg": -0.001,
"translateX": -0.141,
"translateY": -3.301,
"matrix": [
[
1.000428,
-0.000176,
-0.141357
],
[
-1.9e-05,
1.002198,
-3.300659
]
],
"direction": "ref(template) 좌표 -> edited(resized, input) 좌표. 정렬된 출력은 이 행렬의 역변환(WARP_INVERSE_MAP)으로 만든다."
},
"eccIncludeMaskPixels": 554683,
"chamferInMask": {
"median": 0.0,
"p90": 3.0,
"nSamples": 59193
}
}

View file

@ -0,0 +1,40 @@
{
"mode": "body",
"ref": "D:\\workspace\\vignette\\docs\\avatar-art\\p4-linocut\\base\\source-front.png",
"edited": "D:\\workspace\\vignette\\docs\\avatar-art\\p4-linocut\\base\\edits\\body-2.png",
"out": "D:\\workspace\\vignette\\docs\\avatar-art\\p4-linocut\\base\\edits\\aligned-body-2.png",
"refSize": [
1024,
1536
],
"editedOriginalSize": [
1024,
1536
],
"eccCorrelation": 0.99671,
"transform": {
"scaleSqrtDet": 1.00221,
"rotationDeg": 0.0,
"translateX": 0.229,
"translateY": -5.606,
"matrix": [
[
1.000477,
-0.000566,
0.229476
],
[
9e-06,
1.003949,
-5.605988
]
],
"direction": "ref(template) 좌표 -> edited(resized, input) 좌표. 정렬된 출력은 이 행렬의 역변환(WARP_INVERSE_MAP)으로 만든다."
},
"eccIncludeMaskPixels": 555167,
"chamferInMask": {
"median": 0.0,
"p90": 3.0,
"nSamples": 60472
}
}

View file

@ -0,0 +1,129 @@
{
"mode": "faceless",
"ref": "D:\\workspace\\vignette\\docs\\avatar-art\\p4-linocut\\base\\source-front.png",
"edited": "D:\\workspace\\vignette\\docs\\avatar-art\\p4-linocut\\base\\edits\\faceless-1.png",
"out": "D:\\workspace\\vignette\\docs\\avatar-art\\p4-linocut\\base\\edits\\aligned-faceless-1.png",
"refSize": [
1024,
1536
],
"editedOriginalSize": [
1024,
1536
],
"eccCorrelation": 0.99622,
"transform": {
"scaleSqrtDet": 0.99978,
"rotationDeg": 0.003,
"translateX": 0.238,
"translateY": -0.442,
"matrix": [
[
0.999337,
-1.3e-05,
0.238082
],
[
4.8e-05,
1.00023,
-0.441719
]
],
"direction": "ref(template) 좌표 -> edited(resized, input) 좌표. 정렬된 출력은 이 행렬의 역변환(WARP_INVERSE_MAP)으로 만든다."
},
"eccIncludeMaskPixels": 849049,
"chamferInMask": {
"median": 0.0,
"p90": 1.414,
"nSamples": 100203
},
"faceOvalBandChamfer": {
"median": 0.0,
"p90": 1.0,
"nSamples": 6849
},
"inkRatioByBox": {
"eyeA": {
"box": [
319,
506,
465,
595
],
"refInkRatio": 0.1879,
"editedInkRatio": 0.0
},
"eyeB": {
"box": [
550,
501,
696,
590
],
"refInkRatio": 0.1823,
"editedInkRatio": 0.0
},
"browA": {
"box": [
273,
434,
481,
534
],
"refInkRatio": 0.0979,
"editedInkRatio": 0.015
},
"browB": {
"box": [
531,
427,
742,
532
],
"refInkRatio": 0.0989,
"editedInkRatio": 0.0125
},
"mouth": {
"box": [
409,
738,
608,
852
],
"refInkRatio": 0.0547,
"editedInkRatio": 0.0
}
},
"eccExcludeBoxes": {
"eyeA": [
319,
506,
465,
595
],
"eyeB": [
550,
501,
696,
590
],
"browA": [
273,
434,
481,
534
],
"browB": [
531,
427,
742,
532
],
"mouth": [
409,
738,
608,
852
]
}
}

View file

@ -0,0 +1,129 @@
{
"mode": "faceless",
"ref": "D:\\workspace\\vignette\\docs\\avatar-art\\p4-linocut\\base\\source-front.png",
"edited": "D:\\workspace\\vignette\\docs\\avatar-art\\p4-linocut\\base\\edits\\faceless-2.png",
"out": "D:\\workspace\\vignette\\docs\\avatar-art\\p4-linocut\\base\\edits\\aligned-faceless-2.png",
"refSize": [
1024,
1536
],
"editedOriginalSize": [
1024,
1536
],
"eccCorrelation": 0.99715,
"transform": {
"scaleSqrtDet": 1.00005,
"rotationDeg": 0.002,
"translateX": -0.14,
"translateY": -0.529,
"matrix": [
[
0.999762,
5e-06,
-0.140065
],
[
2.8e-05,
1.000345,
-0.529061
]
],
"direction": "ref(template) 좌표 -> edited(resized, input) 좌표. 정렬된 출력은 이 행렬의 역변환(WARP_INVERSE_MAP)으로 만든다."
},
"eccIncludeMaskPixels": 849049,
"chamferInMask": {
"median": 0.0,
"p90": 2.0,
"nSamples": 107586
},
"faceOvalBandChamfer": {
"median": 0.0,
"p90": 1.0,
"nSamples": 7307
},
"inkRatioByBox": {
"eyeA": {
"box": [
319,
506,
465,
595
],
"refInkRatio": 0.1879,
"editedInkRatio": 0.0
},
"eyeB": {
"box": [
550,
501,
696,
590
],
"refInkRatio": 0.1823,
"editedInkRatio": 0.0
},
"browA": {
"box": [
273,
434,
481,
534
],
"refInkRatio": 0.0979,
"editedInkRatio": 0.0147
},
"browB": {
"box": [
531,
427,
742,
532
],
"refInkRatio": 0.0989,
"editedInkRatio": 0.0126
},
"mouth": {
"box": [
409,
738,
608,
852
],
"refInkRatio": 0.0547,
"editedInkRatio": 0.0
}
},
"eccExcludeBoxes": {
"eyeA": [
319,
506,
465,
595
],
"eyeB": [
550,
501,
696,
590
],
"browA": [
273,
434,
481,
534
],
"browB": [
531,
427,
742,
532
],
"mouth": [
409,
738,
608,
852
]
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 85 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 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\\p4-linocut\\base\\source-front.png",
"faceless": "D:\\workspace\\vignette\\docs\\avatar-art\\p4-linocut\\base\\edits\\aligned-faceless-1.png",
"body": "D:\\workspace\\vignette\\docs\\avatar-art\\p4-linocut\\base\\edits\\aligned-body-1.png",
"frontSize": [
1024,
1536
],
"eyesCenter": [
507.78,
552.52
],
"chin": [
512.62,
915.91
],
"eyeDistance": 231.073,
"eyeChinDistance": 363.428
},
"transform": {
"sHead": 0.927458,
"sWidth": 0.981445,
"s": 0.981445,
"rotationDeg": 0.0,
"offsetXNatural": -5.667,
"offsetXClampRange": [
0.0,
0.0
],
"offsetX": 0.0,
"offsetY": 42.064
},
"coveredRange": {
"x": [
0.0,
1005
],
"y": [
42.1,
1549.6
]
},
"inputSha256": {
"front": "b19f4a737e976352dc27adf1ec63d14c777c141acfb90685605f21c1be9921f5",
"faceless": "b2e6111c745e54dc6ba3eb43f67b4da5b07cf9ce42082c0951e27908f7d9a6be",
"body": "fbec8186707a8150c8989ed0e887714611bfe55d46f5cf760b0aafecc96f17ef"
}
}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,32 @@
{
"code": "P4",
"publicSlug": "p4",
"styleFrame": "../art-direction-v3/p1/r2-b-linocut.png",
"paletteSamples": {
"ink": { "box": [350, 170, 580, 270], "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": [502.66, 1011.06],
"face": [496.02, 654.98],
"body": [502, 1566]
},
"crops": {
"bustYOffset": 40
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 168 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 289 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 156 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 230 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 195 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 245 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 131 KiB

View file

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 173 KiB

View file

@ -0,0 +1,676 @@
{
"faceOvalBBox": [
252.2,
388.0,
748.9,
951.6
],
"cropsFace": [
184.9,
354.2,
631.2,
631.2
],
"mouthCenter": [
498.4,
815.7
],
"palette": {
"ink": "#22211F",
"sclera": "#D8CEBD",
"iris": "#4F3B2C",
"irisRing": "#1E1F1F",
"lipUpper": "#B48460",
"lipLower": "#C08E69",
"mouthLine": "#332B26",
"mouthInner": "#3B201B",
"teeth": "#E9E0CF",
"blush": "#C0624A",
"tear": "#EEE5D3",
"pallor": "#9AA3A6",
"paper": "#EEE5D3",
"motifPetal": "#D0A362",
"motifLeaf": "#53626C"
},
"paletteSamples": {
"eyeLeft": {
"sclera": "#D0AB82",
"iris": "#292926",
"irisRing": "#886E5B",
"n": {
"sclera": 1146,
"iris": 204,
"irisRing": 420
}
},
"eyeRight": {
"sclera": "#CFAA82",
"iris": "#2E2D2A",
"irisRing": "#8C705A",
"n": {
"sclera": 1077,
"iris": 208,
"irisRing": 424
}
},
"scleraIrisIrisRingFixedOverride": {
"reason": "persona.json paletteSamples.eyeOverride(고정 설계값)",
"measured": {
"sclera": "#D0AA82",
"iris": "#2C2B28",
"irisRing": "#8A705A"
},
"fixed": {
"sclera": "#D8CEBD",
"iris": "#4F3B2C",
"irisRing": "#1E1F1F"
}
},
"ink": {
"box": [
350,
170,
580,
270
],
"lumThreshold": 55.0,
"n": 16599,
"hex": "#22211F"
},
"lipUpper": {
"box": [
421,
788,
576,
813
],
"hex": "#B48460"
},
"lipLower": {
"box": [
421,
817,
576,
855
],
"hex": "#C08E69"
},
"mouthLine": {
"box": [
441,
813,
556,
818
],
"hex": "#332B26"
},
"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": 137422,
"head": 116202,
"hair-front": 19270,
"face-detail": 50508,
"paper-grain": 2428
},
"encodeMeta": {
"quality": 80,
"scale": 1.0,
"totalBytes": 325830
},
"totalBytes": 325830
},
"grain": {
"href": "/avatar/v3/p4/paper-grain.webp",
"size": 256
},
"lipTexturePublish": {
"quality": "lossless",
"fileSizes": {
"lip-upper": 14906,
"lip-lower": 17226,
"lip-shadow": 19124
},
"totalBytes": 51256,
"budgetBytes": 81920,
"webpVsPngMeanAbsDiff": {
"upper": 0.0,
"lower": 0.0,
"shadow": 0.0
}
},
"jawPublish": {
"quality": 80,
"scale": 1.0,
"fileSizes": {
"jaw-head": 33156,
"jaw-detail": 22606
},
"totalBytes": 55762,
"budgetBytes": 204800,
"vsPublishedLayerAbsDiff": {
"head": {
"comparedAgainstPublishedLayer": "head.webp",
"meanAbsDiffPremultipliedRgb": 2.629,
"maxAbsDiffPremultipliedRgb": 42.0,
"meanAbsDiffAlpha": 0.0,
"maxAbsDiffAlpha": 0.0,
"meetsTarget": false
},
"detail": {
"comparedAgainstPublishedLayer": "face-detail.webp",
"meanAbsDiffPremultipliedRgb": 1.718,
"maxAbsDiffPremultipliedRgb": 36.0,
"meanAbsDiffAlpha": 0.0,
"maxAbsDiffAlpha": 0.0,
"meetsTarget": true
}
}
},
"motifPublish": null,
"browSpritePublish": {
"quality": "lossless",
"fileSizes": {
"brow-left": 5150,
"brow-right": 4998
},
"totalBytes": 10148,
"budgetBytes": 61440,
"webpVsPngMeanAbsDiff": {
"left": 0.0,
"right": 0.0
}
},
"rig": {
"schemaVersion": "vignette.avatar.v3.rig.v1",
"persona": "P4",
"canvas": {
"w": 1005,
"h": 1566
},
"layers": {
"body": {
"href": "/avatar/v3/p4/body.webp",
"x": 0,
"y": 436,
"w": 1005,
"h": 1130
},
"head": {
"href": "/avatar/v3/p4/head.webp",
"x": 161,
"y": 97,
"w": 661,
"h": 924
},
"hairFront": {
"href": "/avatar/v3/p4/hair-front.webp",
"x": 234,
"y": 405,
"w": 534,
"h": 485
},
"faceDetail": {
"href": "/avatar/v3/p4/face-detail.webp",
"x": 266,
"y": 394,
"w": 470,
"h": 551
}
},
"grain": {
"href": "/avatar/v3/p4/paper-grain.webp",
"size": 256
},
"lipTexture": {
"upper": {
"href": "/avatar/v3/p4/lip-upper.webp",
"x": 410,
"y": 777,
"w": 179,
"h": 46
},
"lower": {
"href": "/avatar/v3/p4/lip-lower.webp",
"x": 410,
"y": 816,
"w": 178,
"h": 51
},
"shadow": {
"href": "/avatar/v3/p4/lip-shadow.webp",
"x": 420,
"y": 814,
"w": 159,
"h": 61
}
},
"jaw": {
"head": {
"href": "/avatar/v3/p4/jaw-head.webp",
"x": 250,
"y": 668,
"w": 504,
"h": 313
},
"detail": {
"href": "/avatar/v3/p4/jaw-detail.webp",
"x": 250,
"y": 668,
"w": 504,
"h": 313
}
},
"motif": null,
"pivots": {
"neck": [
502.66,
1011.06
],
"body": [
502,
1566
],
"face": [
496.02,
654.98
]
},
"crops": {
"portrait": [
0,
0,
1005,
1566
],
"bust": [
0.0,
40.0,
1005.0,
1005.0
],
"face": [
184.90839997490644,
354.1878642927646,
631.1857242919922,
631.1857242919922
]
},
"faceOval": [
[
495.7,
388.0
],
[
569.6,
388.6
],
[
631.4,
396.4
],
[
687.2,
414.1
],
[
721.3,
442.7
],
[
739.9,
479.9
],
[
748.2,
519.6
],
[
748.9,
568.1
],
[
743.7,
615.0
],
[
735.8,
663.9
],
[
723.6,
715.1
],
[
704.8,
769.9
],
[
681.9,
816.1
],
[
657.7,
851.5
],
[
628.5,
883.7
],
[
603.9,
907.3
],
[
576.9,
929.1
],
[
544.6,
946.1
],
[
502.7,
951.6
],
[
461.8,
946.3
],
[
430.4,
929.7
],
[
403.7,
908.3
],
[
378.7,
885.5
],
[
348.8,
854.0
],
[
324.0,
819.1
],
[
300.1,
773.9
],
[
280.7,
719.0
],
[
267.6,
667.8
],
[
259.3,
619.2
],
[
252.7,
572.5
],
[
252.2,
524.3
],
[
258.8,
484.1
],
[
275.1,
446.8
],
[
306.7,
417.8
],
[
360.2,
398.8
],
[
421.5,
390.1
]
],
"landmarks": {
"eyeLeft": {
"inner": [
430.6,
594.2
],
"outer": [
337.6,
576.7
],
"upperLidTop": [
375.9,
563.9
],
"lowerLidBottom": [
380.9,
598.5
],
"iris": {
"center": [
385.0,
576.0
],
"radius": 20.0
},
"lineScale": 2.5
},
"eyeRight": {
"inner": [
566.4,
593.4
],
"outer": [
659.2,
572.9
],
"upperLidTop": [
621.4,
561.7
],
"lowerLidBottom": [
616.8,
596.6
],
"iris": {
"center": [
611.5,
574.5
],
"radius": 18.5
},
"lineScale": 2.5
},
"browLeft": {
"inner": [
449.4,
524.6
],
"peak": [
353.2,
508.4
],
"outer": [
303.6,
507.6
],
"halfWidth": [
6.76,
6.49,
2.5
],
"sprite": {
"href": "/avatar/v3/p4/brow-left.webp",
"x": 299.0,
"y": 499.0,
"w": 156,
"h": 36
}
},
"browRight": {
"inner": [
540.9,
523.7
],
"peak": [
642.6,
502.3
],
"outer": [
695.1,
500.2
],
"halfWidth": [
2.38,
6.72,
1.5
],
"sprite": {
"href": "/avatar/v3/p4/brow-right.webp",
"x": 536.0,
"y": 491.0,
"w": 164,
"h": 42
}
},
"noseTip": [
498.6,
728.2
],
"mouthCornerLeft": [
426.2,
819.4
],
"mouthCornerRight": [
571.5,
818.6
],
"upperLipTop": [
497.9,
791.6
],
"lowerLipBottom": [
498.7,
852.3
],
"mouthCenter": [
498.4,
815.7
],
"chinTip": [
502.7,
940.6
]
},
"palette": {
"ink": "#22211F",
"sclera": "#D8CEBD",
"iris": "#4F3B2C",
"irisRing": "#1E1F1F",
"lipUpper": "#B48460",
"lipLower": "#C08E69",
"mouthLine": "#332B26",
"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: 219 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 704 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 113 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 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 girl, 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 pencil tucked behind her ear, the white shirt collar and the navy crew-neck sweater 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 white shirt collar and the navy crew-neck sweater 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.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 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\\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

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\\p5-linocut\\base\\source-front.png",
"faceless": "D:\\workspace\\vignette\\docs\\avatar-art\\p5-linocut\\base\\edits\\aligned-faceless-2.png",
"body": "D:\\workspace\\vignette\\docs\\avatar-art\\p5-linocut\\base\\edits\\aligned-body-2.png",
"frontSize": [
1145,
1374
],
"eyesCenter": [
576.41,
497.08
],
"chin": [
572.45,
849.95
],
"eyeDistance": 215.702,
"eyeChinDistance": 352.891
},
"transform": {
"sHead": 0.974449,
"sWidth": 0.877729,
"s": 0.974449,
"rotationDeg": 0.0,
"offsetXNatural": -68.995,
"offsetXClampRange": [
-110.745,
0.0
],
"offsetX": -68.995,
"offsetY": 99.949
},
"coveredRange": {
"x": [
0.0,
1005
],
"y": [
99.9,
1438.8
]
},
"inputSha256": {
"front": "a929adfeb240a1abb64302c9a31ab5a9911c93afd791fd91c8bda23c79144ac7",
"faceless": "c27e51dc63a5ae515bbfc918b8aad40c892f70e4cacbead4e416ce4453bec8bc",
"body": "fda852c1132d4338adb2e0e34c81ce824659282756edd2d700120c50e51ea089"
}
}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,37 @@
{
"code": "P5",
"publicSlug": "p5",
"rigFileName": "p5Rig.ts",
"rigExportName": "P5_LINOCUT_RIG",
"styleFrame": "../art-direction-v3/p1/r2-b-linocut.png",
"paletteSamples": {
"ink": {
"box": [260, 245, 660, 330],
"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": [488, 1001],
"body": [502, 1566],
"face": [490, 659]
},
"crops": {
"bustYOffset": 40
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 194 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 272 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 168 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 297 KiB

Some files were not shown because too many files have changed in this diff Show more