<!-- RUBY-BACKUP · part 186 -->
   }
    /* boot */
    var boot = new THREE.Mesh(new THREE.BoxGeometry(0.11, 0.10, 0.20), chrome);
    boot.position.set(s*0.10, 0.05, 0.04); g.add(boot);
  });
  /* === AURA — intaglio halo rings === */
  for(var ar=0; ar<4; ar++){
    var halo = intaglioRing(0.6 + ar*0.12, 0.008, 0x00ccff, 0.25 - ar*0.05);
    halo.position.y = 1.1;
    halo.rotation.x = Math.PI/2;
    g.add(halo);
  }
  g.position.set(x, y, z);
  g.userData.isGuardian = true;
  g.userData.name = 'PROVOLTA';
  /* nameplate */
  var nameCv = document.createElement('canvas');
  nameCv.width = 512; nameCv.height = 64;
  var nameCtx = nameCv.getContext('2d');
  nameCtx.fillStyle = 'rgba(0,0,0,0)';
  nameCtx.fillRect(0, 0, 512, 64);
  nameCtx.font = 'bold 36px Georgia';
  nameCtx.textAlign = 'center';
  nameCtx.shadowColor = '#00ccff';
  nameCtx.shadowBlur = 15;
  nameCtx.fillStyle = '#aaddff';
  nameCtx.fillText('PROVOLTA', 256, 44);
  var nameTex = new THREE.CanvasTexture(nameCv);
  var nameplate = new THREE.Mesh(new THREE.PlaneGeometry(1.5, 0.19),
    new THREE.MeshBasicMaterial({map: nameTex, transparent: true}));
  nameplate.position.set(0, 2.15, 0);
  g.add(nameplate);
  /* she lives — visor pulses, diamond turns, halos rotate */
  var t = 0;
  setInterval(function(){
    t += 0.03;
    visor.material.opacity = 0.35 + Math.sin(t*2)*0.15;
    diamond.rotation.y += 0.03;
    diamond.rotation.x += 0.01;
    cape.rotation.x = Math.sin(t*0.8)*0.04;
    g.rotation.y = Math.sin(t*0.3)*0.08;
  }, 50);
  return g;
}
function placeGuardian(){
  if(typeof scene==='undefined') return;
  if(GUARDIAN){
    try{ scene.remove(GUARDIAN); }catch(e){}
  }
  /* try the true form first */
  var trueForm = null;
  try{ trueForm = loadWarriorModel(5, 0, 5); }catch(e){}
  if(trueForm){
    GUARDIAN = trueForm;
    scene.add(GUARDIAN);
    /* fall back to built form if GLB fails after 5s */
    setTimeout(function(){
      if(GUARDIAN && GUARDIAN.userData.trueForm && GUARDIAN.children.length <= 4){
        try{ scene.remove(GUARDIAN); }catch(e){}
        GUARDIAN = buildGuardian(5, 0, 5);
        scene.add(GUARDIAN);
        codeStatus('PROVOLTA — built form (true form unavailable)');
      }
    }, 5000);
  }else{
    GUARDIAN = buildGuardian(5, 0, 5);
    scene.add(GUARDIAN);
    codeStatus('PROVOLTA stands watch over the golden city');
  }
}

function placeGraffiti(){
  if(typeof scene==='undefined') return;
  /* SOLID tags around the city — alleys, walls */
  diamondGraffiti('SOLID', -18, 1.5, 22, 0.3);
  diamondGraffiti('SOLID', 22, 1.5, -18, -0.5);
  diamondGraffiti('SOLID', 5, 1.5, -28, 0.1);
  diamondGraffiti('SOLID', -28, 1.5, -5, 1.2);
  codeStatus('diamond graffiti — SOLID on the walls');
}
function placeRegalia(){
  if(typeof scene==='undefined') return;
  var velvets = [0x4a0080, 0x800000, 0x1a1a4a, 0x800060];
  /* banners along the main street */
  for(var i=0; i<8; i++){
    var banner = buildErmineBanner(-10 + i*3, 0, 15, velvets[i%4]);
    scene.add(banner);
    var banner2 = buildErmineBanner(-10 + i*3, 0, -15, velvets[(i+2)%4]);
    scene.add(banner2);
  }
  codeStatus('royal regalia raised — ermine, velvet, and crowns');
}
function heavyBuild(){
  if(HEAVY_BUILT) return;
  HEAVY_BUILT = true;
  if(typeof scene==='undefined') return;
  /* flying vehicles */
  for(var i=0; i<6; i++){
    (function(idx){
      var g = new THREE.Group();
      var gold = new THREE.MeshStandardMaterial({color: 0xd4af37, metalness: 0.9, roughness: 0.2});
      var glow = new THREE.MeshBasicMaterial({color: 0x88ccff, transparent: true, opacity: 0.5});
      var hull = new THREE.Mesh(new THREE.SphereGeometry(0.8, 16, 12), gold);
      hull.scale.set(2, 0.5, 1);
      g.add(hull);
      var lights = new THREE.Mesh(new THREE.TorusGeometry(1.2, 0.05, 8, 30), glow);
      lights.rotation.x = Math.PI/2;
      g.add(lights);
      var y = 15 + Math.random()*10;
      var r = 25 + Math.random()*15;
      var speed = 0.1 + Math.random()*0.15;
      var ang = Math.random()*Math.PI*2;
      g.position.set(Math.cos(ang)*r, y, Math.sin(ang)*r);
      scene.add(g);
      setInterval(function(){
        ang += speed*0.02;
        g.position.set(Math.cos(ang)*r, y + Math.sin(Date.now()*0.001+idx)*0.5, Math.sin(ang)*r);
        g.rotation.y = -ang;
      }, 50);
    })(i);
  }
  /* jeweled spires on towers */
  if(typeof scene!=='undefined'){
    scene.traverse(function(obj){
      if(obj.userData && obj.userData.permanent && obj.geometry && obj.geometry.type==='BoxGeometry'){
        /* add a spire */
        var spire = new THREE.Mesh(new THREE.ConeGeometry(0.3, 2, 8),
          new THREE.MeshStandardMaterial({color: 0xd4af37, metalness: 0.95, roughness: 0.1}));
        spire.position.copy(obj.position);
        spire.position.y += obj.geometry.parameters.height/2 + 1;
        /* find parent */
        if(obj.parent) obj.parent.add(spire);
        /* jewel on top */
        var jewel = new THREE.Mesh(new THREE.OctahedronGeometry(0.15),
          