<!-- SAGA-SOLID · part 10 -->
ses ===

  // Heavy boots — wide, grounded
  var bootL = M(new THREE.BoxGeometry(0.4, 0.45, 0.55), MAT.gunmetal);
  bootL.position.set(-0.28, 0.22, 0.05); g.add(bootL);
  var bootR = bootL.clone(); bootR.position.x = 0.28; g.add(bootR);

  // Thick legs — powerful columns
  var legL = new THREE.Group(); legL.position.set(-0.28, 0.45, 0);
  var thighL = M(new THREE.CylinderGeometry(0.18, 0.22, 0.7, 10), MAT.darkMetal);
  thighL.position.y = 0.35; legL.add(thighL);
  g.add(legL);
  var legR = new THREE.Group(); legR.position.set(0.28, 0.45, 0);
  var thighR = thighL.clone(); thighR.position.y = 0.35; legR.add(thighR);
  g.add(legR);

  // Wide hips/pelvis — stable base
  var pelvis = M(new THREE.BoxGeometry(0.7, 0.4, 0.45), MAT.darkMetal);
  pelvis.position.y = 1.3; g.add(pelvis);

  // Massive torso — barrel chest of a laborer
  // Leather work shirt (warm brown, not black metal)
  var torso = M(new THREE.CylinderGeometry(0.42, 0.35, 0.8, 12), MAT.brownCloth);
  torso.position.y = 1.9; g.add(torso);
  // Leather apron — the forgemaster's signature (darker, front panel)
  var apron = M(new THREE.BoxGeometry(0.5, 0.7, 0.06), MAT.blackCloth);
  apron.position.set(0, 1.75, 0.32); apron.rotation.x = 0.05; g.add(apron);
  // Apron strap over shoulder
  var strap = M(new THREE.BoxGeometry(0.08, 0.5, 0.04), MAT.blackCloth);
  strap.position.set(-0.2, 2.15, 0.28); strap.rotation.z = 0.3; g.add(strap);

  // === MICRO: Engraved chest plate (Detail Grammar test surface) ===
  // Procedural guilloche: outer border -> secondary border -> guilloche field -> central motif
  var engraved = generateEngravedPanel({size: 2048, seed: 42});
  var plateMat = new THREE.MeshStandardMaterial({
    map: engraved.map,
    bumpMap: engraved.bumpMap,
    bumpScale: 0.05,
    metalness: 0.7,
    roughness: 0.4
  });
  // Chest plate: curved plate over torso (using cylinder segment)
  var plate = new THREE.Mesh(
    new THREE.CylinderGeometry(0.44, 0.44, 0.6, 16, 1, true, -Math.PI/3, Math.PI*2/3),
    plateMat
  );
  plate.position.set(0, 1.9, 0);
  g.add(plate);

  // MESO-1: Asymmetric shoulder pads
  var padL = M(new THREE.BoxGeometry(0.3, 0.12, 0.35), MAT.gunmetal);
  padL.position.set(-0.55, 2.38, 0); g.add(padL);
  var padR = M(new THREE.BoxGeometry(0.25, 0.1, 0.3), MAT.brownCloth);
  padR.position.set(0.55, 2.36, 0); g.add(padR);



  // MESO-2: Tool belt with pouch
  var belt = M(new THREE.TorusGeometry(0.36, 0.05, 8, 16), MAT.blackCloth);
  belt.rotation.x = Math.PI/2; belt.position.y = 1.15; g.add(belt);
  var pouch = M(new THREE.BoxGeometry(0.16, 0.18, 0.1), MAT.brownCloth);
  pouch.position.set(-0.38, 1.02, 0.12); g.add(pouch);

  // (boots already exist, adding caps)
  

  // Broad shoulders — heavy, slightly hunched forward (working posture)
  var shoulderBar = M(new THREE.BoxGeometry(1.1, 0.3, 0.4), MAT.darkMetal);
  shoulderBar.position.set(0, 2.25, 0); shoulderBar.rotation.x = 0.1; g.add(shoulderBar);

  // Thick arms — hanging slightly forward (ready to work)
  var armL = new THREE.Group(); armL.position.set(-0.6, 2.2, 0.05);
  armL.rotation.x = 0.15; armL.rotation.z = 0.1;
  var upperL = M(new THREE.CylinderGeometry(0.14, 0.16, 0.6, 10), MAT.gunmetal);
  upperL.position.y = -0.3; armL.add(upperL);
  // Massive forearm — bare (rolled sleeves, working arms)
  var foreL = M(new THREE.CylinderGeometry(0.15, 0.17, 0.5, 10), MAT.skinTone);
  foreL.position.y = -0.8; armL.add(foreL);
  // Heavy glove/fist
  var fistL = M(new THREE.BoxGeometry(0.24, 0.28, 0.24), MAT.blackCloth);
  fistL.position.y = -1.15; armL.add(fistL);
  // Bracer on left forearm
  var bracerL = M(new THREE.CylinderGeometry(0.17, 0.18, 0.3, 10), MAT.brownCloth);
  bracerL.position.y = -0.7; armL.add(bracerL);
  g.add(armL);

  var armR = new THREE.Group(); armR.position.set(0.6, 2.2, 0.05);
  armR.rotation.x = 0.15; armR.rotation.z = -0.1;
  var upperR = upperL.clone(); upperR.position.y = -0.3; armR.add(upperR);
  var foreR = M(new THREE.CylinderGeometry(0.15, 0.17, 0.5, 10), MAT.skinTone);
  foreR.position.y = -0.8; armR.add(foreR);
  var fistR = fistL.clone(); fistR.position.y = -1.15; armR.add(fistR);
  g.add(armR);

  // Head — strong jaw, protective brow
  var neck = M(new THREE.CylinderGeometry(0.14, 0.16, 0.2, 8), MAT.blackCloth);
  neck.position.y = 2.45; g.add(neck);
  var head = M(new THREE.SphereGeometry(0.2, 12, 10), MAT.skinTone);
  head.position.set(0, 2.65, 0.02); head.scale.set(1, 1.1, 0.95); g.add(head);
  // Forge cap — cloth cap, pushed back (craftsman, not soldier)
  var cap = M(new THREE.SphereGeometry(0.21, 12, 8, 0, Math.PI*2, 0, Math.PI/2.2), MAT.brownCloth);
  cap.position.set(0, 2.68, -0.02); cap.rotation.x = -0.25; g.add(cap);
  // Cap brim
  var brim = M(new THREE.CylinderGeometry(0.22, 0.22, 0.03, 12), MAT.blackCloth);
  brim.position.set(0, 2.72, 0.08); brim.rotation.x = 0.15; g.add(brim);

  g.userData.avatarId = 'forgemaster';
  g.userData.avatarName = 'THE FORGEMASTER';
  g.userData.legL = l