arqon-editor — embed demo (host page)

This page hosts an <iframe src="/embed"> and sends it a diagram via postMessage. The iframe announces itself with arqon:ready; we reply with { type: "arqon:diagram", diagram: … }.

booting…
Integration snippet
const iframe = document.getElementById("viewer");
let ready = false, lastDiagram = null;

window.addEventListener("message", (e) => {
  if (e.data?.type === "arqon:ready")    ready = true;
  if (e.data?.type === "arqon:rendered") console.log("rendered", e.data);
  if (e.data?.type === "arqon:error")    console.error("embed error:", e.data.error);
});

async function send(id) {
  const diagram = await (await fetch("/api/diagrams/" + id)).json();
  lastDiagram = diagram;
  iframe.contentWindow.postMessage({ type: "arqon:diagram", diagram }, "*");
}