points: mkPnts()

in sim/visuals/ltc.ts [610:636]


                points: mkPnts(
                    [x1 + w1 * topScalar, y1], //TL
                    [x1 + w1 * (1 - topScalar), y1], //TR
                    [x1 + w1, y1 + h1 * midScalar], //MR
                    [x1 + w1 * (1 - botScalar), y1 + h1], //BR
                    [x1 + w1 * botScalar, y1 + h1], //BL
                    [x1, y1 + h1 * midScalar]) //ML
            });
            svg.hydrate(el, { rx: 0.5, ry: 0.5, class: "sim-bb-wire-end" });
            (<any>el).style["stroke-width"] = `${strokeWidth}px`;

            let el2 = svg.elt("rect");
            let h2 = metalWidth;
            let w2 = metalHeight;
            let cy2 = cy + o * (h1 / 2 + h2 / 2);
            let x2 = cx - w2 / 2;
            let y2 = cy2 - (h2 / 2);
            svg.hydrate(el2, { x: x2, y: y2, width: w2, height: h2, class: "sim-bb-wire-bare-end" });

            g.appendChild(el2);
            g.appendChild(el);
            return { el: g, x: x1 - strokeWidth, y: Math.min(y1, y2), w: w1 + strokeWidth * 2, h: h1 + h2 };
        }

        private buildDom() {
            this.element = new DOMParser().parseFromString(BOARD_SVG, "image/svg+xml").querySelector("svg") as SVGSVGElement;
            svg.hydrate(this.element, {