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: 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