// Anchor manager & friend tags (spec M13, lane F). STUB — lane F fills THIS FILE ONLY. // // Pre-wired by foundation2: the hidden ⚓ toggle (#btn-anchors) and the empty #anchor-panel // container in index.html, this module's import + init() call in main.js, the hooks // `scene3d.focusOn(x, y, z)` (jump-to) and `PATCH ${state.apiBase}/api/anchors/{id}` // {label?, color?} (rename/recolor), plus DELETE /api/anchors/{id} from phase 4. // // When implementing: unhide the button, set `ready = true`; build the collapsible list // (color dot, label, jump-to, rename, recolor, delete) from state.anchors; after any // mutation update state.anchors and emit("anchors-changed") so scene3d + overlays refresh. // The + Tag flow reuses the M8 bbox-annotation flow WITHOUT an event (annotate.js is // frozen — drive it, don't edit it) and names the resulting anchor. // Capsule mode: give every MUTATING control the `write-ui` class — body.capsule hides that // class globally (contract #5); the read-only list + jump-to stay available. export const anchorPanel = { ready: false, init() {}, // ponytail: stub — lane F replaces the body };