()
| 302 | // ── Query API (F1) ─────────────────────────────────────────────────────────── |
| 303 | |
| 304 | getElements(): ElementSnapshot[] { |
| 305 | // Walk the live linkedom DOM directly — no serialize/re-parse round trip. |
| 306 | this.elementsCache ??= flatElements(buildRoots(this.parsed.document)); |
| 307 | return [...this.elementsCache]; |
| 308 | } |
| 309 | |
| 310 | getElement(id: HfId): ElementSnapshot | null { |
| 311 | // Accept both bare ids (top-level) and scoped ids (sub-composition elements). |
no test coverage detected