feat(canvas): replace repulsion with snap guides + drop suggestion
Remove ambient repulsion loop (shapes drifting apart at 60fps). Add Figma-style snap alignment guides during drag with magnetic stickiness, and ghost drop suggestion when shapes overlap after drop. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
4b08a02851
commit
ac402c29e9
|
|
@ -296,7 +296,6 @@ export class FolkShape extends FolkElement {
|
|||
this.requestUpdate("rotation");
|
||||
}
|
||||
|
||||
static GAP = 8; // minimum gap between shapes
|
||||
static pushExemptTags = new Set(["folk-arrow", "folk-slide", "folk-shape"]);
|
||||
|
||||
#highlighted = false;
|
||||
|
|
|
|||
|
|
@ -3971,8 +3971,9 @@
|
|||
|
||||
// Keyboard shortcuts for canvas tools
|
||||
document.addEventListener("keydown", (e) => {
|
||||
// Skip when typing in inputs
|
||||
if (e.target.tagName === "INPUT" || e.target.tagName === "TEXTAREA" || e.target.isContentEditable) return;
|
||||
// Skip when typing in inputs (composedPath pierces shadow DOM)
|
||||
const t = e.composedPath()[0];
|
||||
if (t?.tagName === "INPUT" || t?.tagName === "TEXTAREA" || t?.isContentEditable) return;
|
||||
|
||||
if (e.key === "Escape") {
|
||||
// Dismiss reminder widget if open
|
||||
|
|
|
|||
Loading…
Reference in New Issue