diff --git a/CLAUDE.md b/CLAUDE.md index b103382..f115fec 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -104,6 +104,12 @@ Conventions that follow from it: - **Tap-to-place makes a one-plant plop** (radius = spacing/2, per the handoff); "Fill the bed" (rows / clumps) is the bulk tool. Fill geometry still follows the clump rules below — different tools, not a conflict. +- **The canvas captures the pointer, so `onDoubleClick` on a bed never fires.** + `track()` calls `setPointerCapture` on the SVG root for every press, and + capture retargets the compatibility `click`/`dblclick` to the root. Double + presses are detected in `objDown` (same object, < 400 ms, < 12 px) instead; + a `dblclick` handler on an object is dead code — it was, silently, from the + Organic rebuild until 2026-08-23. - **Undo in the header re-reads history before reverting.** The cached list trails the canvas right after a placement, and undoing the step *before* the one you meant is the worst thing an undo button can do. Keep it that way.