<!-- RUBY-BACKUP · part 381 -->
e */
    {chrome:0xccff00, energy:0xff3300, style:'lowtop', bulk:0.87},/* 18: chartreuse/scarlet */
    {chrome:0x990066, energy:0x00ff99, style:'hightop', bulk:1.08},/* 19: maroon/emerald */
    {chrome:0x666600, energy:0xcc66ff, style:'sleek', bulk:0.89},  /* 20: olive/lavender */
    {chrome:0x003366, energy:0xffcc33, style:'bulky', bulk:1.22},  /* 21: navy/amber */
    {chrome:0xff6666, energy:0x66ffff, style:'hightop', bulk:1.0},/* 22: coral/cyan */
    {chrome:0x33ff33, energy:0xff33cc, style:'lowtop', bulk:0.93}, /* 23: neon green/pink */
    {chrome:0xcc33ff, energy:0x33cc33, style:'hightop', bulk:1.12},/* 24: orchid/forest */
    {chrome:0xffffff, energy:0xff0000, style:'sleek', bulk:0.86},  /* 25: white/red */
  ];

  function buildDisplayPair(x, z, design){
    /* build a pair at world (x,z), using design colors */
    var dChrome = new T.MeshStandardMaterial({color:design.chrome, metalness:1.0, roughness:0.18});
    var dEnergy = new T.MeshStandardMaterial({color:design.energy, emissive:design.energy, emissiveIntensity:2.0, roughness:0.2});
    var dCarbon = carbonMat; /* reuse the lattice */

    var gy = fortifiedGroundY(x, z); /* sit on the land, never buried */
    function DM(geo, mat, px, py, pz){
      var m = new T.Mesh(geo, mat);
      m.position.set(x+px, py+gy, z+pz);
      /* face outward from wall */
      m.rotation.y = (z>25 ? Math.PI : 0);
      scene.add(m);
      return m;
    }

    [-0.08, 0.08].forEach(function(off){
      var bx = off;
      /* sole */
      var bulk = design.bulk;
      DM(roundedBox(0.13*bulk, 0.045, 0.28*bulk, 0.018), dChrome, bx, 0.023, 0);
      DM(roundedBox(0.125*bulk, 0.015, 0.275*bulk, 0.007), dEnergy, bx, 0.008, 0);
      /* hex pods */
      [0.0, 0.07, 0.14].forEach(function(pz){
        var hp = DM(new T.CylinderGeometry(0.022, 0.022, 0.018, 6), dEnergy, bx+0.062, 0.035, pz-0.07);
        hp.rotation.z = Math.PI/2;
      });
      /* upper */
      var toe = DM(new T.SphereGeometry(0.058*bulk, 20, 14), dChrome, bx, 0.055, 0.10);
      toe.scale.set(1, 0.68, 1.35);
      var mid = DM(roundedBox(0.11*bulk, 0.075, 0.13*bulk, 0.025), dChrome, bx, 0.075, 0);
      mid.rotation.x = -0.08;
      DM(roundedBox(0.115*bulk, 0.05, 0.09, 0.018), dCarbon, bx, 0.078, 0);
      /* collar — style determines height */
      var collarH = design.style==='lowtop' ? 0.08 : (design.style==='hightop' ? 0.14 : 0.11);
      var col = DM(new T.CylinderGeometry(0.048, 0.058, collarH, 20), dChrome, bx, 0.13+collarH/2, -0.05);
      col.rotation.x = 0.10;
      var rim = DM(new T.TorusGeometry(0.048, 0.008, 8, 20), dEnergy, bx, 0.13+collarH, -0.057);
      rim.rotation.x = Math.PI/2 + 0.10;
      /* heel reactor */
      var rc = DM(new T.CylinderGeometry(0.030, 0.030, 0.016, 20), dChrome, bx+0.062, 0.095, -0.09);
      rc.rotation.z = Math.PI/2;
      var rg = DM(new T.CylinderGeometry(0.021, 0.021, 0.018, 20), dEnergy, bx+0.062, 0.095, -0.09);
      rg.rotation.z = Math.PI/2;
      /* laces — neon */
      [[0.14, 0.048], [0.155, 0.032], [0.170, 0.016]].forEach(function(L){
        var lc = DM(new T.CylinderGeometry(0.007, 0.007, 0.055, 8), dEnergy, bx, L[0], L[1]);
        lc.rotation.z = Math.PI/2;
      });
    });

    /* display pedestal — a stone base */
    var ped = DM(roundedBox(0.35, 0.04, 0.45, 0.015), new T.MeshStandardMaterial({color:0x2a2a2e, roughness:0.8}), 0, 0.02, 0);
  }

  /* place 25 pairs between the wall blocks */
  /* walls at z=20 and z=30, x=-57..57 step 6. Gaps at x=-54..54 step 6. */
  function placeShoeDisplays(){
    var gaps = [];
    for(var gx=-54; gx<=54; gx+=6){
      gaps.push([gx, 20]); /* row 1 gaps */
      gaps.push([gx, 30]); /* row 2 gaps */
    }
    /* take first 25 gaps */
    for(var i=0; i<25 && i<gaps.length; i++){
      var g = gaps[i];
      /* offset slightly from wall line so they're between, not inside */
      buildDisplayPair(g[0], g[1], SHOE_DESIGNS[i]);
    }
    console.log('25 PAIRS DISPLAYED');
  }
  /* run after scene is ready */
  setTimeout(placeShoeDisplays, 2000);





  M(A_GEO.kLeg, stoneMat, -0.10, 0.17, 0);     M(A_GEO.kLeg, stoneMat, 0.10, 0.17, 0);
  var body = M(A_GEO.kBody, stoneMat, 0, 0.44, 0); body.scale.set(1, 1.15, 0.9);
  /* Who I Am - the node stone in the chest */
  var whoAmI = M(new T.OctahedronGeometry(0.065), new T.MeshStandardMaterial({color:0xffd700, metalness:0.9, roughness:0.2, emissive:0x554400, emissiveIntensity:0.5}), 0, 0.52, 0.12);
  whoAmI.name = 'WhoI Am';
  /* New node in the back spine */
  var spineNode = M(new T.OctahedronGeometry(0.05), new T.MeshStandardMaterial({color:0x4499ff, metalness:0.9, roughness:0.2, emissive:0x002244, emissiveIntensity:0.5}), 0, 0.55, -0.14);
  spineNode.name = 'nee'; /* for errors */
  /* footers1 - node in the feet for floor plans */
  var footers1 = M(new T.OctahedronGeometry(0.04), new T.MeshStandardMaterial({color:0x00ff88, metalness:0.9, roughness:0.2, emissive:0x004422, emissiveIntensity:0.5}), 0, 0.05, 