<!-- SAGA2 · part 94 -->
r eyeDX = 1.7 + es*0.25;
    var jawW = 3.0 + jw*0.5;
    var headR = 4.8 + (idx%3)*0.3;
    var rotY = (idx%3-1)*0.6; // -0.6, 0, 0.6 (profile, front, 3/4)
    // cranium — 6 meridians
    for(var i=0;i<6;i++){ var a=(i/6)*Math.PI*2, pts=[];
      for(var j=0;j<=10;j++){ var ph=(j/10)*Math.PI, r=headR*Math.sin(ph);
        pts.push([Math.cos(a)*r, headR*Math.cos(ph)+2, Math.sin(a)*r*0.92]);
      }
      L(pts, i%2?cG:cC);
    }
    // brow line
    var br=[];
    for(var b=0;b<=16;b++){ var ba=(b/16)*Math.PI*2;
      br.push([Math.cos(ba)*headR*0.95, 2.5, Math.sin(ba)*headR*0.9]);
    }
    L(br, cG);
    // face
    L([[-eyeDX-1.5,3.5,4.2],[-eyeDX,3.7,4.5],[-0.8,3.4,4.6]], cG);
    L([[0.8,3.4,4.6],[eyeDX,3.7,4.5],[eyeDX+1.5,3.5,4.2]], cG);
    // eye sockets (indented)
    function sk(cx){
      var sp=[];
      for(var s2=0;s2<=12;s2++){ var sa=(s2/12)*Math.PI*2;
        sp.push([cx+Math.cos(sa)*1.1, 2.2+Math.sin(sa)*0.6, 4.0]);
      }
      L(sp, cC);
    }
    sk(-eyeDX); sk(eyeDX);
    // nose (protruding)
    L([[0,2.8,4.5],[0,1.0,5.2],[0,-0.5,5.8]], cG);
    L([[-0.8,1.5,4.7],[-0.9,0,5.3],[-0.8,-1.0,5.6]], cC);
    L([[0.8,1.5,4.7],[0.9,0,5.3],[0.8,-1.0,5.6]], cC);
    // mouth
    L([[-1.4,-2.2,4.9],[0,-2.4,5.0],[1.4,-2.2,4.9]], cG);
    // jaw
    L([[-jawW,1.0,3.0],[-jawW*0.7,-2.0,4.0],[0,-3.8,4.3]], cC);
    L([[0,-3.8,4.3],[jawW*0.7,-2.0,4.0],[jawW,1.0,3.0]], cC);
    g.position.set(px, 14, pz);
    g.rotation.y = rotY;
    scene.add(g);
  }
  // INTAGLIO HEAD — 35-year-old man, ultra-dense linework (King's order)
  (function(){
    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});
    var iW=new THREE.LineBasicMaterial({color:0xffffff,transparent:true,opacity:0.6});
    var riW=new THREE.MeshBasicMaterial({color:0xffffff,transparent:true,opacity:0.6,side:THREE.DoubleSide});
    function L(pts, mat){
      // King: back to LINEWORK (v184)
      var g=new THREE.BufferGeometry().setFromPoints(pts.map(function(p){return new THREE.Vector3(p[0],p[1],p[2]);}));
      ig.add(new THREE.Line(g, mat));
    }
    // CRANIUM — 12 meridians WEAVING FACIAL TOPOGRAPHY (not sphere)
    // Deformation: nose out, eyes in, lips/chin/brow out
    function faceDeform(x, y){
      function bump(cx,cy,amp,sig){
        var dx=x-cx, dy=y-cy;
        return amp*Math.exp(-(dx*dx+dy*dy)/(2*sig*sig));
      }
      return bump(0,0,0.8,1.2)      // nose (soft drape)
           + bump(-2.1,2.0,-0.45,1.1) // left eye (gentle)
           + bump(2.1,2.0,-0.45,1.1)  // right eye (gentle)
           + bump(0,-3.2,0.3,1.0)     // lips
           + bump(0,-4.8,0.4,1.2)     // chin
           + bump(0,4.2,0.22,1.5)     // brow
           + bump(-3.5,-0.5,0.18,1.2) // left cheek
           + bump(3.5,-0.5,0.18,1.2); // right cheek
    }
    for(var i=0;i<8;i++){ var a=(i/8)*Math.PI*2, pts=[];
      for(var j=0;j<=20;j++){
        var t=j/20; // 0=top, 1=chin
        var py = 7.5 - t*11; // 7.5 to -3.5
        // ANATOMICAL: cranium (round) vs face (flat) vs mandible (jaw)
        var isFront = Math.sin(a) > 0.3; // front hemisphere
        var w;
        if(py > 2){
          // CRANIUM: round, wide (braincase)
          w = 5.5 * Math.sin(Math.PI * (0.1 + (7.5-py)/11 * 0.6));
        } else if(py > -1.5){
          // FACE: flatter front, defined cheeks
          w = isFront ? 4.8 : 5.2;
          w *= (1 - Math.abs(7.5-py-5)/12); // gentle taper
        } else {
          // MANDIBLE: jaw, narrower, U-shaped
          w = 4.2 * (1 - (-1.5-py)*0.15);
          if(isFront) w *= 0.9; // chin narrower
        }
        var px=Math.cos(a)*w, pz=Math.sin(a)*w*0.92;
        // Poles
        if(t<0.04 || t>0.96){ var f=t<0.04?t/0.04:(1-t)/0.04; px*=f; pz*=f; }
        // (flat top removed v185 - natural head)
        // (weave removed v185 - face first)
        // Face: flatter (reduce z curve)
        if(isFront && py<2 && py>-1.5){ pz *= 0.85; }
        // Topography
        if(pz>0){ pz += faceDeform(px,py) * Math.min(1,pz/3); }
        pts.push([px,py,pz]);
      }
      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<=