GiCombos built its facets object inside provide() at setup, so T() ran once and the result was handed to the consumer as a literal. After a live switch to Arabic every facet name stayed in English — the labels were keyed, the keys resolved, and the reader still saw the wrong language, because what was wrong was WHEN they were read rather than whether they were translated. check:frozen-labels cannot see this: every call site passes a real key and every key exists in all eleven locales. The defect is a lifetime, not a string. The facets are a computed now, provided through a getter so a consumer reading .facets re-reads it rather than taking a snapshot. Demonstrated rather than asserted: with a locale ref driven en -> ar, the old shape keeps returning "Access" and the new one returns "الوصول". Audited all 179 t() call sites across the three plugins by enclosing scope, not by grep. This was the only frozen one; the six GiDrawer hits my first pass flagged are inside a computed 60 lines up, which is why a lookback window is the wrong tool for a lifetime question. |
||
|---|---|---|
| .. | ||
| dx-maps | ||
| README.md | ||
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.