feat: implement scissors mode for edge manipulation on canvas

- Introduced a new scissors mode that allows users to cut edges by clicking or dragging on the canvas.
- Added keyboard shortcuts for toggling scissors mode and canceling actions, enhancing user interaction.
- Implemented visual feedback for the scissors mode, including a preview of the cutting path.
- Refactored edge handling logic to support edge removal during scissors mode, improving dynamic edge management.
This commit is contained in:
Matthias
2026-03-28 17:56:27 +01:00
parent 9694c50195
commit 02f36fdc7b
2 changed files with 169 additions and 2 deletions

View File

@@ -202,4 +202,13 @@
.react-flow.dark .react-flow__edge.temp .react-flow__edge-path {
stroke: rgba(189, 195, 199, 0.35);
}
/* Scherenmodus: Scheren-Cursor (Teal, Fallback crosshair) */
.react-flow.canvas-scissors-mode .react-flow__pane,
.react-flow.canvas-scissors-mode .react-flow__edge-interaction {
cursor:
url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%230d9488' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='6' cy='6' r='3'/%3E%3Ccircle cx='6' cy='18' r='3'/%3E%3Cpath d='M20 4 8.12 15.88M14.47 14.48 20 20M8.12 8.12 12 12'/%3E%3C/svg%3E")
12 12,
crosshair;
}
}