function html(index, scales, { x: X, y: Y, text: H }, { width, height }) {
const g = d3
.create("svg:foreignObject")
.attr("x", 0)
.attr("y", 0)
.attr("width", width)
.attr("height", height)
.style("pointer-events", "none");
mutable debug = this;
const dx = 10,
dy = 0;
const div = g
.append("xhtml:div")
.selectAll()
.data(index)
.enter()
.append("div")
.style("position", "absolute")
.style("left", (i) => `${dx + X[i]}px`)
.style("top", (i) => `${dy + Y[i]}px`)
.style("border", "solid 0.5px black")
.style("background", "white")
.style("padding", "3px 5px")
.style("max-width", "200px");
div.append("div").style("pointer-events", "all").html((i) => H[i]);
return g.node();
}