master
John Lauer rust: Phase 3 complete (vault, cards, wiki auto-sign + view flip, annotate, tab + screen recording, highFps lease, down… 4869577 2mo ago
((tx, ty, doClick, lbl, markUri) => {
      var id = '__adom_cursor__';
      var c = document.getElementById(id);
      if (!c) {
        c = document.createElement('div');
        c.id = id;
        c.style.cssText = 'position:fixed;z-index:2147483647;pointer-events:none;transition:left 0.15s,top 0.15s;display:none;';
        var g = document.createElement('div'); // pulsing teal glow ring
        g.id = '__adom_cursor_ring__';
        g.style.cssText = 'position:absolute;top:-16px;left:-16px;width:40px;height:40px;border-radius:50%;background:rgba(0,184,176,0.15);border:2px solid rgba(0,184,176,0.4);animation:adomCurP 1.5s ease-in-out infinite;';
        c.appendChild(g);
        var a = document.createElement('div'); // the teal Adom arrow (HD's exact SVG)
        a.innerHTML = '<svg width="20" height="28" viewBox="0 0 20 28" xmlns="http://www.w3.org/2000/svg"><path d="M1 1L1 22L6.5 16.5L10.5 26L14 24.5L10 15L17 15Z" fill="#00b8b0" stroke="#004d49" stroke-width="1.2" stroke-linejoin="round"/></svg>';
        a.style.cssText = 'position:absolute;top:0;left:0;filter:drop-shadow(0 0 6px rgba(0,184,176,0.7));';
        c.appendChild(a);
        var l = document.createElement('div'); // the intent label (+ Adom mark)
        l.id = '__adom_cursor_label__';
        l.style.cssText = 'position:absolute;top:32px;left:8px;white-space:nowrap;font-size:11px;color:#00b8b0;background:rgba(13,17,23,0.92);padding:2px 10px;border-radius:4px;border:1px solid rgba(0,184,176,0.6);font-family:monospace;display:flex;align-items:center;gap:6px;';
        c.appendChild(l);
        (document.body || document.documentElement).appendChild(c);
        if (!document.getElementById('__adom_cur_kf__')) {
          var s = document.createElement('style'); s.id = '__adom_cur_kf__';
          s.textContent = '@keyframes adomCurP{0%{transform:scale(1);opacity:0.7}50%{transform:scale(1.5);opacity:0.2}100%{transform:scale(1);opacity:0.7}}@keyframes adomCurClick{0%{transform:scale(1);opacity:0.85}45%{transform:scale(2.2);opacity:0.05}100%{transform:scale(1);opacity:0.7}}';
          document.head.appendChild(s);
        }
      }
      var lab = c.querySelector('#__adom_cursor_label__');
      if (lab) {
        var txt = (lbl != null ? lbl : 'Adom');
        // Adom mark FIRST (so "who is driving" reads before the narration), then the intent text.
        lab.innerHTML = '';
        if (markUri) {
          var im = document.createElement('img');
          im.src = markUri;
          im.style.cssText = 'width:13px;height:13px;flex:0 0 13px;display:block;';
          lab.appendChild(im);
        }
        var sp = document.createElement('span');
        sp.textContent = txt;
        lab.appendChild(sp);
        var nearRight = (tx != null) && (tx > (window.innerWidth - 250));
        if (nearRight) { lab.style.left = 'auto'; lab.style.right = '0px'; lab.style.textAlign = 'right'; }
        else { lab.style.left = '8px'; lab.style.right = 'auto'; lab.style.textAlign = 'left'; }
      }
      if (tx != null && ty != null) { c.style.left = tx + 'px'; c.style.top = ty + 'px'; }
      c.style.display = 'block';
      if (doClick) {
        var ring = c.querySelector('#__adom_cursor_ring__');
        if (ring) { ring.style.animation = 'none'; void ring.offsetWidth; ring.style.animation = 'adomCurClick 0.45s ease-out, adomCurP 1.5s ease-in-out infinite 0.45s'; }
      }
    })(__X__, __Y__, __CLICK__, __LABEL__, __MARK__);