Follow-up to #249: deferred Explorer controller extraction
#249 ("should we refactor explorer.qmd before the next big feature?") is closed — the agreed first tranche shipped: CI Playwright smoke gate, characterization tests, and extraction of pure functions into ES modules (sql-builders.js, explorer-utils.js) with unit tests (#287). The URL/mode-state refactor (#208) then completed on top of it (#213/#288/#289/#301).
This issue tracks the deferred portion of #249's original roadmap so it isn't lost:
Context: surfaced in a 2026-06-19 audit + Codex fact-check review. The point: #249 being closed reflects that the agreed chunk is done, not the entire original wish-list. No urgency — this is "clear before the next big feature," consistent with #249's framing.
Related: #208 (done), #249 (done), #189, #187.
Follow-up to #249: deferred Explorer controller extraction
#249 ("should we refactor explorer.qmd before the next big feature?") is closed — the agreed first tranche shipped: CI Playwright smoke gate, characterization tests, and extraction of pure functions into ES modules (
sql-builders.js,explorer-utils.js) with unit tests (#287). The URL/mode-state refactor (#208) then completed on top of it (#213/#288/#289/#301).This issue tracks the deferred portion of #249's original roadmap so it isn't lost:
zoomWatcher/ mode-transition block — extract the imperative map/selection logic into named controller modules (continuing the strangler pattern, not a rewrite).Context: surfaced in a 2026-06-19 audit + Codex fact-check review. The point: #249 being closed reflects that the agreed chunk is done, not the entire original wish-list. No urgency — this is "clear before the next big feature," consistent with #249's framing.
Related: #208 (done), #249 (done), #189, #187.