doxa-maps/public
Doxa Maps 6493872170 Track every pane's getter, prune detached ones, and say when one throws
Studio's 5B review found a dependency-tracking hole by testing the helper with
real Vue rather than reading it. entries was a plain array, so the watchEffect
tracked only what the FIRST registered getter read: with two panes reading
different refs, changing pane 2's source produced ZERO writes, and pane 2 caught
up only when pane 1's source happened to change. That is this helper's own bug
reappearing for any adopter whose panes read different sources. regions-mfe is
safe today because every getter reads the same cfg and spec -- which is exactly
why a reading could not find it.

entries is now shallowReactive, so register() re-runs the effect and every
getter is tracked. Also from the review:
  - stale entries are PRUNED, not skipped: an adopter that rebuilds its pane
    column would otherwise keep detached elements and re-run their getters on
    every pass forever;
  - a getter that throws is reported once per entry instead of being swallowed,
    since silence recreates the symptom this helper exists to fix;
  - the unused `tag` parameter is gone -- a documented check that does not exist
    misleads the next adopter;
  - the host argument now documents that it must be in the SAME tree as the
    panes, because Element.contains() does not cross a shadow boundary and
    passing the custom element would silently skip every write.

regions-dashboard rebuilt so public/ is servable at this sha for the browser
A/B. It is the only bundle that compiles the helper.
2026-09-29 17:32:33 +00:00
..
dx-maps Track every pane's getter, prune detached ones, and say when one throws 2026-09-29 17:32:33 +00:00
README.md Gate the country-name join, and record that the wiring was already done 2026-09-29 01:38:07 +00:00

public/ — the built output

This folder is GENERATED by bun run build; do not edit it by hand. It holds exactly one thing:

  • dx-maps/ — the output folder: 25 plugin bundles and 37 pages, self-contained. Copy this one folder to any web host (or open it from disk) and it works.
    • dx-maps/index.html — the front page: the Plugin Studio, every plugin in one place.
    • dx-maps/<plugin>/<plugin>.js — a plugin's bundle (a custom element; load it with a <script> tag).
    • dx-maps/<plugin>/<page>/index.html — a ready-made page for one plugin view (embed it in an <iframe>).
    • dx-maps/manifest.json — every plugin, page and embed snippet, machine-readable.
    • dx-maps/assets/ — the data, fonts and images the plugins fetch at runtime.

The folder's name comes from name in vite.doxa-maps-build-config.json. Sources live in plugin-designs/, library/ and data/; rm -rf public/ && bun run build recreates all of this.