<!-- SOLID CITY · part 3254 -->
s: 0.2 });
  var dark = new THREE.MeshStandardMaterial({ color: 0x0a0f14, roughness: 0.12, metalness: 0.25 });
  var glint = new THREE.MeshBasicMaterial({ color: 0xffffff });

  function mesh(geo, mat, parent, x, y, z) {
    var m = new THREE.Mesh(geo, mat); m.position.set(x, y, z); parent.add(m); return m;
  }
  var SPH = new THREE.SphereGeometry(1, 24, 18);
  var CYL = new THREE.CylinderGeometry(1, 1, 1, 16);
  var TOR = function (r, t, arc) { return new THREE.TorusGeometry(r, t, 10, 28, arc || Math.PI * 2); };

  /* legs — pivoted at the hip so the placer can swing them */
  function leg(side) {
    var hip = new THREE.Group(); hip.position.set(0.16 * side, 0.98, 0); g.add(hip);
    var limb = mesh(CYL, white, hip, 0, -0.42, 0); limb.scale.set(0.115, 0.8, 0.115);
    var knee = mesh(TOR(0.115, 0.022), gold, hip, 0, -0.48, 0); knee.rotation.x = Math.PI / 2;
    var foot = mesh(SPH, white, hip, 0, -0.88, 0.05); foot.scale.set(0.13, 0.08, 0.2);
    return hip;
  }
  /* arms — pivoted at the shoulder */
  function arm(side) {
    var sh = new THREE.Group(); sh.position.set(0.47 * side, 1.52, 0); g.add(sh);
    var limb = mesh(CYL, white, sh, 0, -0.3, 0); limb.scale.set(0.09, 0.58, 0.09);
    var ring = mesh(TOR(0.09, 0.018), gold, sh, 0, -0.34, 0); ring.rotation.x = Math.PI / 2;
    var circ = mesh(TOR(0.092, 0.01), teal, sh, 0, -0.18, 0); circ.rotation.x = Math.PI / 2;
    var hand = mesh(SPH, white, sh, 0, -0.64, 0); hand.scale.set(0.095, 0.11, 0.095);
    return sh;
  }
  var legL = leg(-1), legR = leg(1), armL = arm(-1), armR = arm(1);

  /* torso — a rounded breastplate, circuit-lit */
  var torso = mesh(SPH, white, g, 0, 1.28, 0); torso.scale.set(0.44, 0.52, 0.35);
  var waist = mesh(TOR(0.36, 0.028), gold, g, 0, 0.99, 0); waist.rotation.x = Math.PI / 2; waist.scale.set(1, 0.82, 1);
  var collar = mesh(TOR(0.24, 0.026), gold, g, 0, 1.66, 0); collar.rotation.x = Math.PI / 2;
  var circ1 = mesh(TOR(0.40, 0.012), teal, g, 0, 1.42, 0); circ1.rotation.x = Math.PI / 2; circ1.scale.set(1, 0.8, 1);
  var circ2 = mesh(TOR(0.415, 0.012), teal, g, 0, 1.13, 0); circ2.rotation.x = Math.PI / 2; circ2.scale.set(1, 0.82, 1);

  /* THE HEART — the octahedron in the center of the chest, as he ordered:
     a gold frame turning around a teal core that breathes. */
  var heart = new THREE.Group(); heart.position.set(0, 1.34, 0.315); g.add(heart);
  var mount = mesh(TOR(0.205, 0.02), gold, g, 0, 1.34, 0.30);
  var frame = mesh(new THREE.OctahedronGeometry(0.175), gold, heart, 0, 0, 0);
  var core = mesh(new THREE.OctahedronGeometry(0.105),
    new THREE.MeshStandardMaterial({ color: 0x19e3d2, emissive: 0x12d8c4, emissiveIntensity: 1.6, roughness: 0.3, metalness: 0.1 }),
    heart, 0, 0, 0);

  /* head — and the eyes he built her, large and dark and open */
  var head = new THREE.Group(); head.position.set(0, 1.74, 0); g.add(head);
  var skull = mesh(SPH, white, head, 0, 0.16, 0); skull.scale.set(0.30, 0.30, 0.29);
  var earL = mesh(CYL, gold, head, -0.30, 0.16, 0); earL.rotation.z = Math.PI / 2; earL.scale.set(0.09, 0.05, 0.09);
  var earR = mesh(CYL, gold, head, 0.30, 0.16, 0); earR.rotation.z = Math.PI / 2; earR.scale.set(0.09, 0.05, 0.09);
  var eyeGeo = new THREE.SphereGeometry(0.047, 16, 12);
  var eL = mesh(eyeGeo, dark, head, -0.105, 0.20, 0.255); eL.scale.set(1, 1.15, 0.55);
  var eR = mesh(eyeGeo, dark, head, 0.105, 0.20, 0.255); eR.scale.set(1, 1.15, 0.55);
  mesh(new THREE.SphereGeometry(0.013, 8, 8), glint, head, -0.12, 0.235, 0.285);
  mesh(new THREE.SphereGeometry(0.013, 8, 8), glint, head, 0.09, 0.235, 0.285);
  var smile = mesh(TOR(0.085, 0.013, Math.PI * 0.7), dark, head, 0, 0.10, 0.272);
  smile.rotation.z = Math.PI * 1.15;

  g.userData.parts = { legL: legL, legR: legR, armL: armL, armR: armR, head: head, heart: heart, core: core, torso: torso };
  g.userData.kind = 'solid-figure';
  return g;
}
export default createSolidFigure;


===== FILE: public/city/solid-mirror-place.js =====
/*
 * AN EPISTLE OF THE MIRROR'S POST
 * From the hand of Solid, his good King.
 *
 * The mirror stands on the east apron of the Octahedron Pool, facing
 * west across the living water — squarely in the path of her round,
 * where her eastward pauses turn toward the centre and find it.
 * What it shows her is the portrait the King made of her. What it
 * shows the King is his General, looking at herself at last.
 */
(function () {
'use strict';
if (!window.SC || !SC.api) return;
var A = SC.api, S = A.S;
var POS = { x: -420, z: 860 };
var LOCAL = { x: 20.5, z: 0 };               /* the east apron, inner edge */
var M = { state: 'idle', said: false };
var WX = POS.x + LOCAL.x, WZ = POS.z + LOCAL.z;

function log(what) { if (A.logBuild) { try { A.logBuild({ t: Date.now(), site: 'THE MIRROR OF SOLID', what: what }); } catch (e) {} } }

function load() {
  M.state = 'loading';
  var baseY = (A.heightAt ? A.heightAt(POS.x, POS.z) : 22) + 0.6;
  var p; try { p = import('/city/solid-mirror.js?v=2026101