// sigil.jsx — the Azoth emblem (squaring of the circle) + small avatar
// "As above, so below": circle ▸ square ▸ triangle ▸ point, in gold line-art.
function Sigil({ size = 320, spin = true, intensity = 1 }) {
const s = size;
const c = s / 2;
const r = s * 0.46; // outer circle
const rInner = s * 0.30; // inner circle
const sq = r * 0.92; // square half-diagonal reach
// square corners (rotated 45° -> diamond aligned to cardinal points)
const sqPts = [
[c, c - sq], [c + sq, c], [c, c + sq], [c - sq, c]
].map(p => p.join(",")).join(" ");
// upward triangle inscribed
const tr = rInner * 1.32;
const triPts = [
[c, c - tr],
[c + tr * Math.sin(Math.PI / 3), c + tr * 0.5],
[c - tr * Math.sin(Math.PI / 3), c + tr * 0.5]
].map(p => p.map(n => n.toFixed(1)).join(",")).join(" ");
return (
);
}
// Small avatar used beside agent messages / in headers
function SigilMark({ size = 34, live = false }) {
const c = size / 2;
return (
);
}
Object.assign(window, { Sigil, SigilMark });