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

Binary file not shown.

After

Width:  |  Height:  |  Size: 113 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 202 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 287 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 154 KiB

View file

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 93 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 199 KiB

View file

@ -0,0 +1,676 @@
{
"faceOvalBBox": [
251.6,
403.0,
732.9,
939.9
],
"cropsFace": [
191.6,
370.8,
601.3,
601.3
],
"mouthCenter": [
490.7,
791.0
],
"palette": {
"ink": "#222221",
"sclera": "#D8CEBD",
"iris": "#4F3B2C",
"irisRing": "#1E1F1F",
"lipUpper": "#B1845F",
"lipLower": "#CC926C",
"mouthLine": "#A5694F",
"mouthInner": "#3B201B",
"teeth": "#E9E0CF",
"blush": "#C0624A",
"tear": "#EEE5D3",
"pallor": "#9AA3A6",
"paper": "#EEE5D3",
"motifPetal": "#D0A362",
"motifLeaf": "#53626C"
},
"paletteSamples": {
"eyeLeft": {
"sclera": "#DAAC7D",
"iris": "#262625",
"irisRing": "#AC8660",
"n": {
"sclera": 1011,
"iris": 175,
"irisRing": 366
}
},
"eyeRight": {
"sclera": "#DDAD7C",
"iris": "#252423",
"irisRing": "#D6A676",
"n": {
"sclera": 1122,
"iris": 179,
"irisRing": 366
}
},
"scleraIrisIrisRingFixedOverride": {
"reason": "persona.json paletteSamples.eyeOverride(고정 설계값)",
"measured": {
"sclera": "#DCAC7C",
"iris": "#262524",
"irisRing": "#C1966B"
},
"fixed": {
"sclera": "#D8CEBD",
"iris": "#4F3B2C",
"irisRing": "#1E1F1F"
}
},
"ink": {
"box": [
260,
245,
660,
330
],
"lumThreshold": 55.0,
"n": 27060,
"hex": "#222221"
},
"lipUpper": {
"box": [
413,
756,
562,
789
],
"hex": "#B1845F"
},
"lipLower": {
"box": [
413,
793,
562,
831
],
"hex": "#CC926C"
},
"mouthLine": {
"box": [
433,
789,
542,
794
],
"hex": "#A5694F"
},
"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": 142558,
"head": 102774,
"hair-front": 23854,
"face-detail": 49332,
"paper-grain": 1452
},
"encodeMeta": {
"quality": 80,
"scale": 1.0,
"totalBytes": 319970
},
"totalBytes": 319970
},
"grain": {
"href": "/avatar/v3/p5/paper-grain.webp",
"size": 256
},
"lipTexturePublish": {
"quality": "lossless",
"fileSizes": {
"lip-upper": 13726,
"lip-lower": 12934,
"lip-shadow": 12258
},
"totalBytes": 38918,
"budgetBytes": 81920,
"webpVsPngMeanAbsDiff": {
"upper": 0.0,
"lower": 0.0,
"shadow": 0.0
}
},
"jawPublish": {
"quality": 80,
"scale": 1.0,
"fileSizes": {
"jaw-head": 34964,
"jaw-detail": 30114
},
"totalBytes": 65078,
"budgetBytes": 204800,
"vsPublishedLayerAbsDiff": {
"head": {
"comparedAgainstPublishedLayer": "head.webp",
"meanAbsDiffPremultipliedRgb": 2.353,
"maxAbsDiffPremultipliedRgb": 40.0,
"meanAbsDiffAlpha": 0.0,
"maxAbsDiffAlpha": 0.0,
"meetsTarget": false
},
"detail": {
"comparedAgainstPublishedLayer": "face-detail.webp",
"meanAbsDiffPremultipliedRgb": 2.178,
"maxAbsDiffPremultipliedRgb": 41.0,
"meanAbsDiffAlpha": 0.0,
"maxAbsDiffAlpha": 0.0,
"meetsTarget": false
}
}
},
"motifPublish": null,
"browSpritePublish": {
"quality": "lossless",
"fileSizes": {
"brow-left": 6584,
"brow-right": 5736
},
"totalBytes": 12320,
"budgetBytes": 61440,
"webpVsPngMeanAbsDiff": {
"left": 0.0,
"right": 0.0
}
},
"rig": {
"schemaVersion": "vignette.avatar.v3.rig.v1",
"persona": "P5",
"canvas": {
"w": 1005,
"h": 1566
},
"layers": {
"body": {
"href": "/avatar/v3/p5/body.webp",
"x": 0,
"y": 696,
"w": 1005,
"h": 870
},
"head": {
"href": "/avatar/v3/p5/head.webp",
"x": 144,
"y": 118,
"w": 688,
"h": 846
},
"hairFront": {
"href": "/avatar/v3/p5/hair-front.webp",
"x": 231,
"y": 401,
"w": 513,
"h": 436
},
"faceDetail": {
"href": "/avatar/v3/p5/face-detail.webp",
"x": 262,
"y": 410,
"w": 455,
"h": 523
}
},
"grain": {
"href": "/avatar/v3/p5/paper-grain.webp",
"size": 256
},
"lipTexture": {
"upper": {
"href": "/avatar/v3/p5/lip-upper.webp",
"x": 423,
"y": 749,
"w": 124,
"h": 54
},
"lower": {
"href": "/avatar/v3/p5/lip-lower.webp",
"x": 423,
"y": 791,
"w": 136,
"h": 46
},
"shadow": {
"href": "/avatar/v3/p5/lip-shadow.webp",
"x": 433,
"y": 797,
"w": 116,
"h": 48
}
},
"jaw": {
"head": {
"href": "/avatar/v3/p5/jaw-head.webp",
"x": 236,
"y": 633,
"w": 512,
"h": 337
},
"detail": {
"href": "/avatar/v3/p5/jaw-detail.webp",
"x": 236,
"y": 633,
"w": 512,
"h": 337
}
},
"motif": null,
"pivots": {
"neck": [
488,
1001
],
"body": [
502,
1566
],
"face": [
490,
659
]
},
"crops": {
"portrait": [
0,
0,
1005,
1566
],
"bust": [
0.0,
40.0,
1005.0,
1005.0
],
"face": [
191.593571319131,
370.8326851064444,
601.2719892333985,
601.2719892333985
]
},
"faceOval": [
[
496.1,
403.0
],
[
564.0,
405.0
],
[
621.1,
414.5
],
[
672.8,
434.4
],
[
705.1,
464.2
],
[
723.6,
501.7
],
[
732.1,
541.0
],
[
732.9,
589.2
],
[
728.9,
634.4
],
[
723.7,
681.0
],
[
714.5,
730.1
],
[
698.1,
782.2
],
[
675.7,
823.6
],
[
650.1,
853.0
],
[
619.0,
879.9
],
[
592.9,
900.0
],
[
565.2,
919.2
],
[
531.9,
934.8
],
[
488.2,
939.9
],
[
444.8,
934.7
],
[
411.7,
918.9
],
[
384.1,
899.3
],
[
358.4,
879.0
],
[
328.1,
851.8
],
[
303.5,
822.2
],
[
281.3,
781.3
],
[
265.8,
729.0
],
[
257.4,
680.0
],
[
253.9,
634.0
],
[
251.6,
589.2
],
[
255.3,
541.7
],
[
265.7,
502.0
],
[
286.1,
464.7
],
[
319.6,
435.0
],
[
371.3,
414.7
],
[
428.2,
405.3
]
],
"landmarks": {
"eyeLeft": {
"inner": [
431.6,
589.0
],
"outer": [
343.8,
578.5
],
"upperLidTop": [
381.9,
566.8
],
"lowerLidBottom": [
383.0,
594.0
],
"iris": {
"center": [
387.5,
574.5
],
"radius": 18.5
},
"lineScale": 2.5
},
"eyeRight": {
"inner": [
553.9,
588.2
],
"outer": [
641.8,
576.3
],
"upperLidTop": [
605.4,
564.5
],
"lowerLidBottom": [
602.9,
593.0
],
"iris": {
"center": [
594.0,
573.0
],
"radius": 18.0
},
"lineScale": 2.5
},
"browLeft": {
"inner": [
454.2,
526.5
],
"peak": [
355.0,
512.3
],
"outer": [
303.8,
521.4
],
"halfWidth": [
7.07,
12.97,
3.36
],
"sprite": {
"href": "/avatar/v3/p5/brow-left.webp",
"x": 299.0,
"y": 495.0,
"w": 161,
"h": 48
}
},
"browRight": {
"inner": [
524.9,
526.2
],
"peak": [
625.3,
510.7
],
"outer": [
677.1,
518.6
],
"halfWidth": [
2.12,
12.98,
1.94
],
"sprite": {
"href": "/avatar/v3/p5/brow-right.webp",
"x": 520.0,
"y": 495.0,
"w": 162,
"h": 44
}
},
"noseTip": [
493.1,
693.9
],
"mouthCornerLeft": [
418.9,
801.4
],
"mouthCornerRight": [
557.3,
801.8
],
"upperLipTop": [
490.9,
759.4
],
"lowerLipBottom": [
489.5,
828.3
],
"mouthCenter": [
490.7,
791.0
],
"chinTip": [
488.3,
929.7
]
},
"palette": {
"ink": "#222221",
"sclera": "#D8CEBD",
"iris": "#4F3B2C",
"irisRing": "#1E1F1F",
"lipUpper": "#B1845F",
"lipLower": "#CC926C",
"mouthLine": "#A5694F",
"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: 236 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 816 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 131 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 83 KiB