<!-- RUBY-BACKUP · part 103 -->
; topMain.userData.permanent = true; g.add(topMain);
  /* inlay border — thin gold frame on top surface */
  var inlayLong1 = new THREE.Mesh(new THREE.BoxGeometry(2.9, 0.02, 0.06), goldTrim);
  inlayLong1.position.set(0, 1.22, 0.95); inlayLong1.userData.permanent = true; g.add(inlayLong1);
  var inlayLong2 = inlayLong1.clone(); inlayLong2.position.z = -0.95; g.add(inlayLong2);
  var inlayShort1 = new THREE.Mesh(new THREE.BoxGeometry(0.06, 0.02, 1.9), goldTrim);
  inlayShort1.position.set(1.42, 1.22, 0); inlayShort1.userData.permanent = true; g.add(inlayShort1);
  var inlayShort2 = inlayShort1.clone(); inlayShort2.position.x = -1.42; g.add(inlayShort2);
  /* inner inlay — second thinner frame */
  var inner1 = new THREE.Mesh(new THREE.BoxGeometry(2.5, 0.015, 0.03), pearlDark);
  inner1.position.set(0, 1.215, 0.75); inner1.userData.permanent = true; g.add(inner1);
  var inner2 = inner1.clone(); inner2.position.z = -0.75; g.add(inner2);
  var inner3 = new THREE.Mesh(new THREE.BoxGeometry(0.03, 0.015, 1.5), pearlDark);
  inner3.position.set(1.22, 1.215, 0); inner3.userData.permanent = true; g.add(inner3);
  var inner4 = inner3.clone(); inner4.position.x = -1.22; g.add(inner4);
  /* beveled under-edge */
  var bevel = new THREE.Mesh(new THREE.BoxGeometry(2.9, 0.08, 1.9), pearlDark);
  bevel.position.y = 1.05; bevel.userData.permanent = true; g.add(bevel);

  /* === APRON — the skirt under the tabletop with carved detail === */
  var apronF = new THREE.Mesh(new THREE.BoxGeometry(2.6, 0.25, 0.08), pearl);
  apronF.position.set(0, 0.88, 0.92); apronF.userData.permanent = true; g.add(apronF);
  var apronB = apronF.clone(); apronB.position.z = -0.92; g.add(apronB);
  var apronL = new THREE.Mesh(new THREE.BoxGeometry(0.08, 0.25, 1.84), pearl);
  apronL.position.set(1.3, 0.88, 0); apronL.userData.permanent = true; g.add(apronL);
  var apronR = apronL.clone(); apronR.position.x = -1.3; g.add(apronR);
  /* carved diamonds on apron — small rotated boxes */
  for(var di=-1; di<=1; di++){
    var dia = new THREE.Mesh(new THREE.BoxGeometry(0.12, 0.12, 0.02), goldTrim);
    dia.position.set(di*0.8, 0.88, 0.97);
    dia.rotation.z = Math.PI/4;
    dia.userData.permanent = true; g.add(dia);
    var dia2 = dia.clone(); dia2.position.z = -0.97; g.add(dia2);
  }

  /* === LEGS — turned, in stacked sections like a lathe === */
  var legX = [-1.35, 1.35], legZ = [-0.9, 0.9];
  legX.forEach(function(lx){
    legZ.forEach(function(lz){
      /* foot — wide base */
      var foot = new THREE.Mesh(new THREE.CylinderGeometry(0.14, 0.18, 0.1, 12), pearlDark);
      foot.position.set(lx, 0.05, lz); foot.userData.permanent = true; g.add(foot);
      /* gold ring above foot */
      var ring1 = new THREE.Mesh(new THREE.CylinderGeometry(0.11, 0.11, 0.04, 12), goldTrim);
      ring1.position.set(lx, 0.12, lz); ring1.userData.permanent = true; g.add(ring1);
      /* lower taper */
      var lower = new THREE.Mesh(new THREE.CylinderGeometry(0.09, 0.11, 0.3, 12), pearl);
      lower.position.set(lx, 0.29, lz); lower.userData.permanent = true; g.add(lower);
      /* bulb — the turned swell */
      var bulb = new THREE.Mesh(new THREE.SphereGeometry(0.13, 14, 12), pearl);
      bulb.position.set(lx, 0.5, lz); bulb.scale.y = 1.3;
      bulb.userData.permanent = true; g.add(bulb);
      /* gold collar above bulb */
      var collar = new THREE.Mesh(new THREE.CylinderGeometry(0.1, 0.1, 0.03, 12), goldTrim);
      collar.position.set(lx, 0.64, lz); collar.userData.permanent = true; g.add(collar);
      /* upper shaft */
      var upper = new THREE.Mesh(new THREE.CylinderGeometry(0.08, 0.09, 0.28, 12), pearl);
      upper.position.set(lx, 0.8, lz); upper.userData.permanent = true; g.add(upper);
      /* capital — flared top */
      var cap = new THREE.Mesh(new THREE.CylinderGeometry(0.13, 0.08, 0.1, 12), pearlDark);
      cap.position.set(lx, 0.99, lz); cap.userData.permanent = true; g.add(cap);
    });
  });

  /* === STRETCHER — low crossbar with center medallion === */
  var str1 = new THREE.Mesh(new THREE.BoxGeometry(2.5, 0.08, 0.08), pearlDark);
  str1.position.y = 0.25; str1.userData.permanent = true; g.add(str1);
  var str2 = new THREE.Mesh(new THREE.BoxGeometry(0.08, 0.08, 1.7), pearlDark);
  str2.position.y = 0.25; str2.userData.permanent = true; g.add(str2);
  /* center medallion — gold diamond */
  var med = new THREE.Mesh(new THREE.OctahedronGeometry(0.12), goldTrim);
  med.position.y = 0.25; med.userData.permanent = true; g.add(med);

  g.position.set(x, 0, z);
  scene.add(g);
  codeStatus('intricate white table — gold inlay, turned legs, carved apron');
  return g;
}
function buildWhiteTable(x, z){
  if(typeof scene==='undefined') return;
  var g = new THREE.Group();
  /* pearl white — like her cape: a little metal, low roughness, satin sheen */
  var pearlWhite = new THREE.MeshStandardMaterial({color: 0xf5f3ee, metalness: 0.35, roughness: 0.22});
  var shadowWhite = new THREE.MeshStandardMaterial({color: