<!-- RUBY-BACKUP · part 153 -->
King's order */
    var g = new THREE.Group();

    var goldMat = new THREE.MeshStandardMaterial({color: 0xd4a017, roughness: 0.4, metalness: 0.6});
    var darkMat = new THREE.MeshStandardMaterial({color: 0x1a1a1a, roughness: 0.7});
    var marbleMat = new THREE.MeshStandardMaterial({color: 0xf5f5f5, roughness: 0.3});

    /* Circular platform */
    var plat = new THREE.Mesh(new THREE.CylinderGeometry(12, 13, 1, 32), darkMat);
    plat.position.y = 0.5; g.add(plat);
    var trim = new THREE.Mesh(new THREE.TorusGeometry(12, 0.3, 12, 48), goldMat);
    trim.rotation.x = Math.PI/2; trim.position.y = 1; g.add(trim);

    /* THE HOURGLASS V-CORE — centerpiece, large */
    var hg = new THREE.Group();
    var top = new THREE.Mesh(new THREE.ConeGeometry(3, 4.5, 4), goldMat);
    top.position.y = 2.25; top.rotation.x = Math.PI; hg.add(top);
    var bot = new THREE.Mesh(new THREE.ConeGeometry(3, 4.5, 4), goldMat);
    bot.position.y = -2.25; hg.add(bot);
    var pin = new THREE.Mesh(new THREE.SphereGeometry(0.6, 16, 12),
      new THREE.MeshStandardMaterial({color: 0x111111, roughness: 0.2}));
    hg.add(pin);
    var capT = new THREE.Mesh(new THREE.BoxGeometry(6.5, 0.6, 6.5), marbleMat);
    capT.position.y = 4.8; hg.add(capT);
    var capB = capT.clone(); capB.position.y = -4.8; hg.add(capB);
    hg.position.y = 6; g.add(hg);
    hg.userData.isPrimitive = true;
    window._creatorHallHourglass = hg;

    /* The four primitives on pedestals around it */
    var pedestals = [
      {x: 8, z: 0, build: 'pylon'},
      {x: -8, z: 0, build: 'tetra'},
      {x: 0, z: 8, build: 'pyramid'},
      {x: 0, z: -8, build: 'cube'}
    ];
    pedestals.forEach(function(p){
      var ped = new THREE.Mesh(new THREE.CylinderGeometry(1.5, 2, 2, 16), marbleMat);
      ped.position.set(p.x, 2, p.z); g.add(ped);
      var marker = new THREE.Mesh(new THREE.OctahedronGeometry(0.8), goldMat);
      marker.position.set(p.x, 4, p.z); g.add(marker);
      marker.userData.primitiveType = p.build;
    });

    /* 13 Creator Tool pillars around the rim */
    var tools = ['duplicate','color','flip','stretch','bend','snap','calibrate','layer','section','smooth','sharpen','hollow','undo'];
    tools.forEach(function(t, i){
      var a = (i / 13) * Math.PI * 2;
      var px = Math.cos(a) * 10, pz = Math.sin(a) * 10;
      var pillar = new THREE.Mesh(new THREE.BoxGeometry(0.8, 3, 0.8), darkMat);
      pillar.position.set(px, 2.5, pz); g.add(pillar);
      var cap = new THREE.Mesh(new THREE.BoxGeometry(1, 0.3, 1), goldMat);
      cap.position.set(px, 4.1, pz); g.add(cap);
    });

    /* Sign */
    var sign = new THREE.Mesh(new THREE.BoxGeometry(8, 2, 0.5), darkMat);
    sign.position.set(0, 8, -11); g.add(sign);

    /* SPACESHIP PLATFORM — extends from the hall */
    var plat2 = new THREE.Group();
    var deck = new THREE.Mesh(new THREE.CylinderGeometry(10, 11, 1.5, 24), darkMat);
    deck.position.y = 0.75; plat2.add(deck);
    var deckTrim = new THREE.Mesh(new THREE.TorusGeometry(10, 0.25, 10, 40), goldMat);
    deckTrim.rotation.x = Math.PI/2; deckTrim.position.y = 1.5; plat2.add(deckTrim);
    /* Port (red/left) and Starboard (green/right) BEACONS — visible from afar */
    for(var li = 0; li < 8; li++){
      var la = (li/8) * Math.PI * 2;
      var lx = Math.cos(la)*8.5;
      var lc = lx < 0 ? 0xff0000 : 0x00ff00;
      var light = new THREE.Mesh(new THREE.SphereGeometry(1.5, 8, 8),
        new THREE.MeshBasicMaterial({color: lc}));
      light.position.set(lx, 3, Math.sin(la)*8.5);
      plat2.add(light);
      /* Light beam shooting up */
      var beam = new THREE.Mesh(new THREE.CylinderGeometry(0.5, 1, 30, 8),
        new THREE.MeshBasicMaterial({color: lc, transparent: true, opacity: 0.3}));
      beam.position.set(lx, 18, Math.sin(la)*8.5);
      plat2.add(beam);
    }
    /* Hall beacon — giant gold light visible from the ground */
    var hallBeacon = new THREE.Mesh(new THREE.SphereGeometry(3, 12, 10),
      new THREE.MeshBasicMaterial({color: 0xffd700}));
    hallBeacon.position.set(0, 15, 0);
    g.add(hallBeacon);
    var hallBeam = new THREE.Mesh(new THREE.CylinderGeometry(1, 2, 100, 8),
      new THREE.MeshBasicMaterial({color: 0xffd700, transparent: true, opacity: 0.2}));
    hallBeam.position.set(0, 65, 0);
    g.add(hallBeam);
    /* The ship */
    var ship = new THREE.Group();
    var hull = new THREE.Mesh(new THREE.ConeGeometry(2.5, 8, 12), marbleMat);
    hull.rotation.x = Math.PI/2; ship.add(hull);
    var cockpit = new THREE.Mesh(new THREE.SphereGeometry(1, 12, 10),
      new THREE.MeshStandardMaterial({color: 0x111133, roughness: 0.1, metalness: 0.9}));
    cockpit.position.set(0, 1, 1); cockpit.scale.set(1, 0.7, 1.2); ship.add(cockpit);
    for(var wi = 0; wi < 3; wi++){
      var wa = (wi/3) * Math.PI * 2;
      var wing = new THREE.Mesh(new THREE.BoxGeometry(0.3, 3, 2), goldMat);
      wing.position.set(Math.cos(wa)*2, Math.sin(wa)*2, -2);
      wing.rotation.z = wa; ship.add(w