From 1163d488b38a6f457dc7edfe4a239e3fa9714d4a Mon Sep 17 00:00:00 2001 From: Doxa Maps Date: Mon, 28 Sep 2026 16:55:07 +0000 Subject: [PATCH] Draw the centered set on the whiteboard, so it pans, zooms and labels by tier MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The ask changed and so did the call. A static target is fine in SVG; a zoomable one carrying ~2,100 labels is not. The engine tiles the collection per zoom so it draws less when zoomed out, and its symbol layers do label collision, which is the part that would take longest to do badly by hand. The label staging is one layer per tier with its own minzoom: band names when zoomed out, ring names in the middle, group names in close. None of that is tree-shaped, which is why it is a shared layer rather than a copy of one. Coordinates go through the shared projection, never a scale. It is the exact inverse of the renderer's transform, so a circle stays a circle; a linear scale would draw concentric rings as ovals worsening outward. The only number this chart owns is its extent. Dimming a deselected ring is a paint expression rather than a filter, for the reason the SVG version dims instead of hiding: a ring emptied of its dots reads as a ring with no groups, which is the opposite of what a reader selecting it just asked for. The layer id is read back from the handle rather than written from memory. The first version reached for a name the module does not use; inside a try/catch that does not throw, so the dimming would simply never have happened — a legend that appears to do nothing rather than an error. Asking the handle means a rename cannot silently disable it. --- .../src/components/GiCenteredSetMap.vue | 137 ++++++++++++++++++ 1 file changed, 137 insertions(+) create mode 100644 plugin-designs/gospel-internet/src/components/GiCenteredSetMap.vue diff --git a/plugin-designs/gospel-internet/src/components/GiCenteredSetMap.vue b/plugin-designs/gospel-internet/src/components/GiCenteredSetMap.vue new file mode 100644 index 000000000..8642734cc --- /dev/null +++ b/plugin-designs/gospel-internet/src/components/GiCenteredSetMap.vue @@ -0,0 +1,137 @@ + + +