Closes the last layer of the template centre. The catalogue, templates,
panel and desktop entry all shipped; the browser could not open the
panel at all, so finished work was unreachable there.
Five arms mirror the native ones, each delegating to the shared flow:
paint in the floating-panel pass, press above the Prompt Center in the
overlay ladder, hover, scroll, and Escape. No web-only logic — that fork
is exactly what the shared layer exists to prevent.
Two defects surfaced while wiring it, both invisible to a
`wasm32-unknown-unknown` check:
- The File menu's `NewFromTemplate` arm existed only on native. The web
match over `FileMenuChoice` was never updated, so "new from template"
would not have compiled once anyone built with `canvaskit` — the
feature that carries the real code path. `cargo check --target
wasm32` passes without touching it, which is why the project requires
`--features canvaskit` for web work.
- The hover arm initially returned on `owns_point` without calling
`clear_hover_below_topmost_panel`, leaving hover live in the layers
underneath. That is the same gate the colour-variable popover was
missing on 2026-07-29.
Verified with the gate that actually covers this host: 537 tests under
`--features canvaskit` (13 without it), plus the wasm target check.
Claude-Session: https://claude.ai/code/session_01FqKQqNj8exYwopGDpYUU7x