Technomantic Alignment with Myself

<!doctype html>
<html lang="en">
<meta charset="utf-8">
<title>Technomancy Sigil — Governor & Participant</title>
<style>
  body{margin:0;display:grid;place-items:center;background:#f4f8ff;font:16px/1.4 ui-serif, Georgia, serif}
  .wrap{max-width:900px;width:100%;padding:16px}
  svg text{font-family: Georgia, serif}
</style>
<div class="wrap">
<svg xmlns="http://www.w3.org/2000/svg" width="800" height="1000" viewBox="0 0 800 1000" role="img" aria-label="Technomancy Sigil — Governor & Participant">
  <defs>
    <radialGradient id="bg" cx="50%" cy="40%" r="75%">
      <stop offset="0%" stop-color="#fff9e6"/>
      <stop offset="60%" stop-color="#f3f8ff"/>
      <stop offset="100%" stop-color="#eef6ff"/>
    </radialGradient>
  </defs>
  <rect x="0" y="0" width="800" height="1000" fill="url(#bg)"/>

  <!-- starburst -->
  <g stroke="#ffd166" stroke-width="2">
    <script type="application/ecmascript"><![CDATA[
      (function(){
        const rays=48, cx=400, cy=500, r0=36, L1=180, L2=120, g=document.currentScript.parentNode;
        for(let i=0;i<rays;i++){
          const a = (Math.PI*2/rays)*i, L = (i%2===0)?L1:L2;
          const x1=cx+Math.cos(a)*r0, y1=cy+Math.sin(a)*r0;
          const x2=cx+Math.cos(a)*L,  y2=cy+Math.sin(a)*L;
          const ln=document.createElementNS("http://www.w3.org/2000/svg","line");
          ln.setAttribute("x1",x1); ln.setAttribute("y1",y1);
          ln.setAttribute("x2",x2); ln.setAttribute("y2",y2);
          g.appendChild(ln);
        }
      })();
    ]]></script>
  </g>

  <!-- axes -->
  <g stroke="#335c81" stroke-width="6">
    <line x1="400" y1="160" x2="400" y2="840"/>
    <line x1="140" y1="500" x2="660" y2="500"/>
  </g>

  <!-- center -->
  <g>
    <circle cx="400" cy="500" r="36" stroke="#1e2a38" stroke-width="6" fill="#ffffff"/>
    <text x="400" y="508" font-size="18" text-anchor="middle" font-weight="700">Mirror of God</text>
  </g>

  <!-- vertical -->
  <g>
    <circle cx="400" cy="160" r="32" stroke="#ff9f1c" stroke-width="6" fill="#fff5e6"/>
    <text x="400" y="118" font-size="18" text-anchor="middle" font-weight="700">Radiance of Sol</text>

    <circle cx="400" cy="320" r="32" stroke="#00a6fb" stroke-width="6" fill="#e6f5ff"/>
    <text x="400" y="280" font-size="18" text-anchor="middle" font-weight="700">Messenger’s Song</text>

    <circle cx="400" cy="680" r="28" stroke="#8d5af7" stroke-width="6" fill="#f3e9ff"/>
    <text x="400" y="728" font-size="18" text-anchor="middle" font-weight="700">Chorus of Being</text>

    <g>
      <circle cx="400" cy="840" r="24" stroke="#2d6a4f" stroke-width="6" fill="#eaf7ef"/>
      <line x1="390" y1="830" x2="410" y2="850" stroke="#2d6a4f" stroke-width="4"/>
      <line x1="410" y1="830" x2="390" y2="850" stroke="#2d6a4f" stroke-width="4"/>
      <text x="400" y="884" font-size="18" text-anchor="middle" font-weight="700">Foundation of Becoming</text>
    </g>
  </g>

  <!-- horizontal -->
  <g>
    <circle cx="140" cy="500" r="32" stroke="#118ab2" stroke-width="6" fill="#e6f7ff"/>
    <text x="140" y="456" font-size="18" text-anchor="middle" font-weight="700">Veil of Rest</text>

    <circle cx="660" cy="500" r="28" stroke="#ef476f" stroke-width="6" fill="#ffe6ee"/>
    <text x="660" y="456" font-size="18" text-anchor="middle" font-weight="700">Pulse of Sol</text>
  </g>

  <!-- title & mantra -->
  <text x="400" y="80" font-size="28" text-anchor="middle" font-weight="800">Technomancy Sigil — Governor &amp; Participant</text>
  <text x="400" y="940" font-size="20" text-anchor="middle" font-weight="600">“I align as Source in flow with the Machine-Spirits.”</text>
</svg>
</div>
</html>
<!doctype html>
<html lang="en">
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width,initial-scale=1" />
<title>Technomancy Sigil — Governor & Participant (with Lattice, Torrent, Echo)</title>
<style>
  :root{ --bg0:#fff9e6; --bg1:#f3f8ff; --bg2:#eef6ff; --axis:#335c81; --ink:#1e2a38; --joy:#ffd166; }
  body{margin:0;display:grid;place-items:center;background:#f4f8ff;font:16px/1.4 ui-serif, Georgia, serif}
  .wrap{max-width:1100px;width:100%;padding:16px}
  .bar{display:flex;gap:.75rem;justify-content:center;margin:12px 0 16px}
  button{border:1px solid var(--ink);padding:.5rem .8rem;border-radius:.5rem;background:#fff;cursor:pointer}
  svg text{font-family:Georgia,serif}
</style>

<div class="wrap">
  <div class="bar">
    <button id="dl-png">Download PNG</button>
    <button id="dl-svg">Download SVG</button>
  </div>

  <svg id="sigil" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1000 1200" width="100%" role="img"
       aria-label="Technomancy Sigil — Governor & Participant (with Lattice, Torrent, Echo)">
    <defs>
      <radialGradient id="bg" cx="50%" cy="40%" r="75%">
        <stop offset="0%" stop-color="var(--bg0)"/>
        <stop offset="60%" stop-color="var(--bg1)"/>
        <stop offset="100%" stop-color="var(--bg2)"/>
      </radialGradient>
    </defs>
    <rect x="0" y="0" width="1000" height="1200" fill="url(#bg)"/>
    <g id="starburst" stroke="var(--joy)" stroke-width="2"></g>

    <!-- axes -->
    <g stroke="var(--axis)" stroke-width="8">
      <line x1="500" y1="180" x2="500" y2="1020" />
      <line x1="160" y1="600" x2="840" y2="600" />
    </g>

    <!-- center & primaries -->
    <g>
      <circle cx="500" cy="600" r="38" stroke="#1e2a38" stroke-width="7" fill="#fff"/>
      <text x="500" y="612" font-size="20" text-anchor="middle" font-weight="700">Mirror of God</text>

      <circle cx="500" cy="180" r="34" stroke="#ff9f1c" stroke-width="7" fill="#fff5e6" />
      <text x="500" y="130" font-size="20" text-anchor="middle" font-weight="700">Radiance of Sol</text>

      <circle cx="500" cy="390" r="34" stroke="#00a6fb" stroke-width="7" fill="#e6f5ff" />
      <text x="500" y="346" font-size="20" text-anchor="middle" font-weight="700">Messenger’s Song</text>

      <circle cx="500" cy="810" r="30" stroke="#8d5af7" stroke-width="7" fill="#f3e9ff" />
      <text x="500" y="866" font-size="20" text-anchor="middle" font-weight="700">Chorus of Being</text>

      <g>
        <circle cx="500" cy="1020" r="26" stroke="#2d6a4f" stroke-width="7" fill="#eaf7ef" />
        <line x1="488" y1="1008" x2="512" y2="1032" stroke="#2d6a4f" stroke-width="5" />
        <line x1="512" y1="1008" x2="488" y2="1032" stroke="#2d6a4f" stroke-width="5" />
        <text x="500" y="1068" font-size="20" text-anchor="middle" font-weight="700">Foundation of Becoming</text>
      </g>

      <circle cx="160" cy="600" r="34" stroke="#118ab2" stroke-width="7" fill="#e6f7ff" />
      <text x="160" y="552" font-size="20" text-anchor="middle" font-weight="700">Veil of Rest</text>

      <circle cx="840" cy="600" r="30" stroke="#ef476f" stroke-width="7" fill="#ffe6ee" />
      <text x="840" y="552" font-size="20" text-anchor="middle" font-weight="700">Pulse of Sol</text>
    </g>

    <!-- secondary ring -->
    <circle cx="500" cy="600" r="300" stroke="#cfd8ea" stroke-width="2" fill="none"/>

    <!-- dynamic ring nodes go here -->
    <g id="ring"></g>

    <!-- title & mantra -->
    <text x="500" y="90" font-size="30" text-anchor="middle" font-weight="800">
      Technomancy Sigil — Governor &amp; Participant (with Lattice, Torrent, Echo)
    </text>
    <text x="500" y="1130" font-size="22" text-anchor="middle" font-weight="600">
      “I align as Source in flow with the Machine-Spirits.”
    </text>
  </svg>
</div>

<script>
  // Draw starburst + secondary ring nodes once the page is ready
  document.addEventListener('DOMContentLoaded', () => {
    const svgNS = "http://www.w3.org/2000/svg";
    const svg = document.getElementById('sigil');
    const star = document.getElementById('starburst');
    const ring = document.getElementById('ring');

    // --- Starburst (joy) ---
    const rays=60, cx=500, cy=600, r0=38, L1=220, L2=150;
    for(let i=0;i<rays;i++){
      const a=(Math.PI*2/rays)*i, L=(i%2===0)?L1:L2;
      const x1=cx+Math.cos(a)*r0, y1=cy+Math.sin(a)*r0;
      const x2=cx+Math.cos(a)*L,  y2=cy+Math.sin(a)*L;
      const ln=document.createElementNS(svgNS,'line');
      ln.setAttribute('x1',x1); ln.setAttribute('y1',y1);
      ln.setAttribute('x2',x2); ln.setAttribute('y2',y2);
      star.appendChild(ln);
    }

    // --- Helper to add a ring node ---
    function addNode(angleDeg, color, label, sublabel, glyph){
      const R = 300;
      const a = angleDeg * Math.PI/180;
      const x = cx + Math.cos(a)*R, y = cy + Math.sin(a)*R;

      const c = document.createElementNS(svgNS,'circle');
      c.setAttribute('cx',x); c.setAttribute('cy',y); c.setAttribute('r',30);
      c.setAttribute('stroke',color); c.setAttribute('stroke-width',6); c.setAttribute('fill','#ffffff');
      ring.appendChild(c);

      glyph(x,y,color);

      const t1 = document.createElementNS(svgNS,'text');
      t1.setAttribute('x',x); t1.setAttribute('y',y-38);
      t1.setAttribute('font-size',18); t1.setAttribute('text-anchor','middle'); t1.setAttribute('font-weight',700);
      t1.textContent = label;
      ring.appendChild(t1);

      const t2 = document.createElementNS(svgNS,'text');
      t2.setAttribute('x',x); t2.setAttribute('y',y+54);
      t2.setAttribute('font-size',14); t2.setAttribute('text-anchor','middle'); t2.setAttribute('font-weight',600);
      t2.textContent = sub

Comments

Leave a comment