<!-- SAGA · part 74 -->

    pillar.position.y = 35;
    pillar.userData.creatorBlock = true;
    pillar.userData.playaMonument = true;
    mon.add(pillar);
    var capT = new THREE.Mesh(new THREE.BoxGeometry(14, 2, 14), goldTrim);
    capT.position.y = 71; capT.userData.creatorBlock = true; capT.userData.playaMonument = true; mon.add(capT);
    var capB = new THREE.Mesh(new THREE.BoxGeometry(14, 2, 14), goldTrim);
    capB.position.y = 1; capB.userData.creatorBlock = true; capB.userData.playaMonument = true; mon.add(capB);
    mon.position.set(40, 0, 3333.6);
    mon.userData.creatorBlock = true;
    mon.userData.playaMonument = true;
    scene.add(mon);
    if(typeof placedBlocks !== 'undefined') placedBlocks.push(mon);
    window._playaMonument = mon;
  }catch(e){}
}
if(typeof buildPlayaMonument === 'function'){ window._buildQueue.push(buildPlayaMonument); }


/* v88 — THE CREATOR STUDIO V-0.13 AS A WORLD. From the King's pictures
   (King's Command): the golden Hourglass V-Core centerpiece, marble pylons,
   the 5 signature blocks on picker pedestals, 13 tool stations with names,
   the render gate. Tap anything — the ring lets you selectively deploy it. */
function buildCreatorStudioV13(){
  try{
    var cx = 1250, cz = 3611; /* LAT 65, LON 20 */
    var gold = new THREE.MeshStandardMaterial({color:0xd8a920, roughness:0.3, metalness:0.8});
    var marble = new THREE.MeshStandardMaterial({color:0xe8e0d0, roughness:0.4, metalness:0.1});
    var dark = new THREE.MeshStandardMaterial({color:0x1a1a2e, roughness:0.6, metalness:0.4});
    var cyan = new THREE.MeshStandardMaterial({color:0x00ccff, roughness:0.3, metalness:0.5, emissive:0x0088aa, emissiveIntensity:0.6});
    function reg(obj){ obj.userData.creatorBlock = true; if(typeof placedBlocks !== 'undefined') placedBlocks.push(obj); return obj; }
    function label(text){
      var cv = document.createElement('canvas'); cv.width = 256; cv.height = 64;
      var c = cv.getContext('2d');
      c.font = 'bold 28px Georgia'; c.textAlign = 'center';
      c.shadowColor = '#ffd700'; c.shadowBlur = 8;
      c.fillStyle = '#ffe9a8'; c.fillText(text, 128, 42);
      var t = new THREE.CanvasTexture(cv);
      var m = new THREE.Mesh(new THREE.PlaneGeometry(6, 1.5),
        new THREE.MeshBasicMaterial({map:t, transparent:true, side:THREE.DoubleSide}));
      return m;
    }
    /* Plaza */
    var plaza = new THREE.Mesh(new THREE.CylinderGeometry(60, 62, 2, 40), dark);
    plaza.position.set(cx, 1, cz); scene.add(plaza);
    var trim = new THREE.Mesh(new THREE.TorusGeometry(60, 1, 8, 60), gold);
    trim.rotation.x = Math.PI/2; trim.position.set(cx, 2.2, cz); scene.add(trim);
    /* Centerpiece — the golden Hourglass V-Core, 24 tall */
    var hg = new THREE.Group();
    var top = new THREE.Mesh(new THREE.ConeGeometry(7, 12, 4), gold);
    top.rotation.x = Math.PI; top.position.y = 6; hg.add(top);
    var bot = new THREE.Mesh(new THREE.ConeGeometry(7, 12, 4), gold);
    bot.position.y = -6; hg.add(bot);
    var waist = new THREE.Mesh(new THREE.TorusGeometry(1.2, 0.4, 8, 20), cyan);
    waist.rotation.x = Math.PI/2; hg.add(waist);
    hg.position.set(cx, 16, cz);
    hg.userData.creatorBlock = true;
    scene.add(reg(hg));
    /* 4 marble pylons at cardinal points */
    [[0,-48],[0,48],[-48,0],[48,0]].forEach(function(p){
      var py = new THREE.Mesh(new THREE.BoxGeometry(5, 34, 5), marble);
      py.position.set(cx + p[0], 19, cz + p[1]); scene.add(reg(py));
      var cap = new THREE.Mesh(new THREE.BoxGeometry(7, 2, 7), gold);
      cap.position.set(cx + p[0], 37, cz + p[1]); scene.add(cap);
    });
    /* Block picker arc — the 5 signature blocks on pedestals (south arc) */
    var blocks = [
      {n:'Standard Cube', make:function(){ return new THREE.Mesh(new THREE.BoxGeometry(4,4,4), marble); }},
      {n:'Hourglass V-Core', make:function(){
        var g = new THREE.Group();
        var a = new THREE.Mesh(new THREE.ConeGeometry(2,2.4,4), gold); a.rotation.x = Math.PI; a.position.y = 1.2; g.add(a);
        var b = new THREE.Mesh(new THREE.ConeGeometry(2,2.4,4), gold); b.position.y = -1.2; g.add(b);
        return g; }},
      {n:'Refined Pylon', make:function(){ return new THREE.Mesh(new THREE.CylinderGeometry(0.8,1.1,7,8), marble); }},
      {n:'Hollow Tetra', make:function(){
        var g = new THREE.Group();
        var t = new THREE.Mesh(new THREE.TetrahedronGeometry(2.6),
          new THREE.MeshStandardMaterial({color:0xd8a920, wireframe:true}));
        g.add(t); return g; }},
      {n:'Layered Pyramid', make:function(){
        var g = new THREE.Group();
        for(var l=0;l<3;l++){
          var s = 4 - l*1.2;
          var b = new THREE.Mesh(new THREE.BoxGeometry(s,1.1,s), l===1?gold:marble);
          b.position.y = l*1.15; g.add(b);
        } return g; }}
    ];
    blocks.forEach(function(b, i){
      var a = (i / (blocks.length-1)) * Math.PI - Math.PI/2; /* south arc */
      var px = cx + Math.cos(a) * 40, pz = cz + Math.sin(a) * 40 + 18;
  