From 9c3c162a82baf9053b21e0849ee1e07f8d10b5b0 Mon Sep 17 00:00:00 2001 From: max Date: Sun, 8 Feb 2026 22:53:54 +0100 Subject: [PATCH] additional new face stuff --- face/var/www/html/face.js | 93 +++++++++++++++++++++++++-------------- 1 file changed, 60 insertions(+), 33 deletions(-) diff --git a/face/var/www/html/face.js b/face/var/www/html/face.js index a6978d6..1df5db2 100644 --- a/face/var/www/html/face.js +++ b/face/var/www/html/face.js @@ -91,29 +91,47 @@ allowLook: true, }, - happy: { - // filled caps (thick arcs) like sticker - eyeL: `M 338,248 - Q 395,318 452,248 - Q 430,340 395,340 - Q 360,340 338,248 Z`, - eyeR: `M 548,248 - Q 605,318 662,248 - Q 640,340 605,340 - Q 570,340 548,248 Z`, - mouth: `M 330,360 - Q 500,540 670,360 - Q 610,520 500,520 - Q 390,520 330,360 Z`, + // Eyes: thick "caps" (template-like) + eyeL: `M 345,250 + Q 395,350 445,250 + Q 435,325 395,325 + Q 355,325 345,250 Z`, + + eyeR: `M 555,250 + Q 605,350 655,250 + Q 645,325 605,325 + Q 565,325 555,250 Z`, + + // Mouth: wide friendly smile band (template-like) + mouth: `M 345,360 + Q 500,520 655,360 + Q 610,500 500,500 + Q 390,500 345,360 Z`, + + // Speaking visemes: keep same smile family (slightly “open” but still a smile) visemes: [ - `M 330,360 Q 500,540 670,360 Q 610,520 500,520 Q 390,520 330,360 Z`, - `M 320,350 Q 500,560 680,350 Q 615,535 500,535 Q 385,535 320,350 Z`, - `M 305,338 Q 500,585 695,338 Q 620,555 500,555 Q 380,555 305,338 Z`, + `M 345,360 + Q 500,520 655,360 + Q 610,500 500,500 + Q 390,500 345,360 Z`, + + `M 332,350 + Q 500,540 668,350 + Q 615,515 500,515 + Q 385,515 332,350 Z`, + + `M 318,338 + Q 500,565 682,338 + Q 620,532 500,532 + Q 380,532 318,338 Z`, ], + allowLook: false, }, + + sad: { // thin sleepy-ish eyes like reference bottom-right eyeL: `M 330,270 @@ -159,27 +177,36 @@ }, angry: { - // wedges like top-left reference - eyeL: `M 300,245 - L 430,285 - L 495,230 - L 360,195 Z`, - eyeR: `M 700,245 - L 570,285 - L 505,230 - L 640,195 Z`, - mouth: `M 380,360 - L 620,360 - L 720,520 - L 280,520 Z`, + // Eyes: sharp, inward pointing "evil" shapes (closer to template) + eyeL: `M 325,255 + Q 360,205 435,225 + Q 455,230 470,245 + Q 415,330 340,305 + Q 315,295 325,255 Z`, + + eyeR: `M 675,255 + Q 640,205 565,225 + Q 545,230 530,245 + Q 585,330 660,305 + Q 685,295 675,255 Z`, + + // Mouth: smaller, angled trapezoid (not huge) + mouth: `M 405,410 + L 600,445 + L 565,500 + L 360,468 Z`, + + // Speaking visemes: same "shout" family but not growing absurdly visemes: [ - `M 380,360 L 620,360 L 720,520 L 280,520 Z`, - `M 395,350 L 605,350 L 705,530 L 295,530 Z`, - `M 410,340 L 590,340 L 690,540 L 310,540 Z`, + `M 405,410 L 600,445 L 565,500 L 360,468 Z`, + `M 395,405 L 610,448 L 575,515 L 350,480 Z`, + `M 385,398 L 620,452 L 590,530 L 340,495 Z`, ], + allowLook: false, }, + surprised: { eyeL: ellipsePath(395, 270, 50, 100), eyeR: ellipsePath(605, 270, 50, 100),