chart = {
const out = dot`digraph "${id}" {
node [fontname="var(--sans-serif)" fontsize=12];
edge [fontname="var(--sans-serif)" fontsize=12];
rankdir = ${orient};
${Array.from(variables, v => `${v._id} [label = "${v._name ?? `#${v._id}`}"${isbuiltin(v) ? `, color = "gray", fontcolor = "#555555"` : `, color = "black", fontcolor = "#20a5ba"`}]; ${v._inputs.map(i => `${i._id} -> ${v._id} ${isimport(v) ? `[color = "#20b2aa"]` : ""};`).join(" ")}`).join("\n")}
}`
out.querySelectorAll('.node').forEach(g => {
g.style.cursor = 'pointer'
g.onclick = () => open(`https://observablehq.com/${id}#${g.querySelector('text').textContent}`)
})
return out
}