<!-- SAGA2 · part 33 -->
nction(){
    var ig = new THREE.Group();
    var iC = new THREE.LineBasicMaterial({color:0x66eeff, transparent:true, opacity:0.55});
    var iG = new THREE.LineBasicMaterial({color:0xffcc44, transparent:true, opacity:0.55});
    var iD = new THREE.LineBasicMaterial({color:0x226688, transparent:true, opacity:0.35});
    // Ribbon materials (match line colors, for meshes)
    var riC=new THREE.MeshBasicMaterial({color:0x00cccc,transparent:true,opacity:0.55,side:THREE.DoubleSide});
    var riG=new THREE.MeshBasicMaterial({color:0xffcc44,transparent:true,opacity:0.55,side:THREE.DoubleSide});
    var riD=new THREE.MeshBasicMaterial({color:0x008888,transparent:true,opacity:0.35,side:THREE.DoubleSide});
    function L(pts, mat){
      // King: lines → ribbons (width 0.05)
      var rm=riC; if(mat===iG) rm=riG; else if(mat===iD) rm=riD;
      ig.add(ribbon(pts, 0.05, rm));
    }
    // CRANIUM — 12 meridians (cut bloat, keep form)
    for(var i=0;i<12;i++){ var a=(i/12)*Math.PI*2, pts=[];
      for(var j=0;j<=16;j++){ var ph=(j/16)*Math.PI, r=5*Math.sin(ph);
        pts.push([Math.cos(a)*r, 5*Math.cos(ph)+2, Math.sin(a)*r*0.92]);
      }
      L(pts, i%3==0?iG:iC);
    }
    // CRANIUM — 10 latitude rings (skip front face, no grid over face)
    for(var k=0;k<10;k++){ var ly=7-k*1.4, lr=5*Math.sqrt(Math.max(0,1-Math.pow((ly-2)/5,2)));
      // Draw back 270 degrees only (skip front 90 where face is)
      var rp1=[], rp2=[];
      for(var n=0;n<=21;n++){ var an=(n/21)*Math.PI*1.5 + Math.PI*0.75; // back arc
        var px=Math.cos(an)*lr, pz=Math.sin(an)*lr*0.92;
        if(pz < 2.0 || Math.abs(px) > 3.5){ rp1.push([px, ly, pz]); } // skip face region
        else { if(rp1.length>1){ L(rp1, k%3==0?iG:(k%2?iC:iD)); rp1=[]; } }
      }
      if(rp1.length>1) L(rp1, k%3==0?iG:(k%2?iC:iD));
    }
    // BROW RIDGE — folds back onto cranium (continuous, no seam)
    for(var br=0;br<3;br++){ var bp=[];
      for(var bx=-5.5;bx<=5.5;bx+=0.25){
        var ax=Math.abs(bx);
        var by, bz;
        if(ax<=3.5){
          by=4.2+br*0.35 - Math.pow(bx/3.5,2)*0.8;
          bz=4.9 - ax*0.12 + br*0.05;
        } else {
          // fold back: curve around to meet cranium
          var t=(ax-3.5)/2.0; // 0 to 1
          by=4.2+br*0.35 - 0.8 - t*1.5; // drops as it goes back
          bz=4.9 - 3.5*0.12 - t*3.0; // recedes back
        }
        bp.push([bx, by, bz]);
      }
      L(bp, br==1?iG:iD);
    }
    // EYES — organic human (asymmetric, non-circular)
    var seed=7;
    function srand(){ seed=(seed*16807)%2147483647; return (seed-1)/2147483646; }
    var eyeL_x=-1.9+srand()*0.2-0.1, eyeR_x=1.9+srand()*0.2-0.1; // asymmetric positions
    var eyeL_y=2.0+srand()*0.15, eyeR_y=2.0+srand()*0.15;
    function intaglioEye(cx, cy, phase){
      // ALMOND outline (not oval) — wider at outer corner
      var ao=[];
      for(var aa=0;aa<=24;aa++){ var aan=(aa/24)*Math.PI*2;
        var ax=Math.cos(aan), ay=Math.sin(aan);
        // almond: pinch at inner corner (x<0), wide at outer
        var pinch = ax<0 ? 0.75 : 1.0;
        ao.push([cx+ax*1.4*pinch, cy+ay*0.65*(ax<0?0.8:1.0), 4.92]);
      }
      L(ao, iG);
      // IRIS — 3 rings with radial texture (not 6 uniform)
      for(var ir=0;ir<3;ir++){ var ird=0.55-ir*0.14, ip=[];
        for(var ia=0;ia<=20;ia++){ var ian=(ia/20)*Math.PI*2;
          var tex=1+0.08*Math.sin(12*ian+phase); // radial texture
          ip.push([cx+Math.cos(ian)*ird*tex, cy+Math.sin(ian)*ird*tex, 4.95-ir*0.02]);
        }
        L(ip, ir==0?iG:iC);
      }
      // PUPIL — dense dark center
      for(var pu=0;pu<3;pu++){ var pud=0.18-pu*0.05, pp=[];
        for(var pa=0;pa<=12;pa++){ var pan=(pa/12)*Math.PI*2;
          pp.push([cx+Math.cos(pan)*pud, cy+Math.sin(pan)*pud, 4.97]);
        }
        L(pp, iD);
      }
      // Tear duct (inner corner)
      L([[cx-1.1,cy-0.1,4.9],[cx-0.95,cy,4.92],[cx-1.1,cy+0.1,4.9]], iC);
    }

    intaglioEye(eyeL_x, eyeL_y, 0.5); intaglioEye(eyeR_x, eyeR_y, 2.1); // different phases
    // BROWS — asymmetric (left higher)
    for(var b=0;b<5;b++){ var by=3.6+b*0.22;
      L([[-3.8,by+0.12,4.4],[-1.9,by+0.37,4.7],[-0.8,by+0.12,4.75]], b%2?iG:iD); // left +0.12
      L([[0.8,by-0.08,4.75],[1.9,by+0.17,4.7],[3.8,by-0.08,4.4]], b%2?iG:iD); // right -0.08
    }
    // NOSE — BOLD (King: nose needs presence)
    for(var ns=0;ns<20;ns++){ var nx=-1.5+ns*0.16;
      L([[nx,2.8,4.9+Math.abs(nx)*0.25],[nx*1.05,1.0,5.5+Math.abs(nx)*0.3],[nx*1.1,-0.8,6.0+Math.abs(nx)*0.25]], ns%3==0?iG:iD);
    }
    // nose tip — emphasized
    L([[0,0.2,6.2],[0,-0.8,6.4]], iG);
    L([[-0.8,-0.6,6.1],[0,-1.0,6.4],[0.8,-0.6,6.1]], iG);
    // nostrils
    for(var nt=0;nt<4;nt++){ var nr=0.5-nt*0.12;
      var nlp=[]; for(var na=0;na<=10;na++){ var nan=(na/10)*Math.PI;
        nlp.push([-0.7+Math.cos(nan)*nr, -1.2+Math.sin(nan)*nr*0.6, 5.6]);
      }
      L(nlp, iC);
      var nrp=[]; for(var nb=0;nb<=10;nb++){ var nbn=(nb/10)*Math.PI;
        nrp.push([0.7+