From 9aed0e216312aa8b2fa56b7bd7c244d1de56b1e7 Mon Sep 17 00:00:00 2001 From: Agent Zero Date: Thu, 27 Aug 2026 20:01:04 +0200 Subject: [PATCH] docs: roadmap log C3fin-int interactive handles --- ROADMAP.md | 1 + 1 file changed, 1 insertion(+) diff --git a/ROADMAP.md b/ROADMAP.md index d5c4342..4548d33 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -700,6 +700,7 @@ Format: `YYYY-MM-DD | TASK-ID | was getan | Tests Ergebnis | commit | Notizen/of | 2026-08-27 | C3fin | Selection-Handles + Snap-Marks im PixiRenderer: setSelection zeichnet pro selektiertem Element gestrichelte BBox-Umrandung + 4 Eck-Handles (gruen, skalenkompensiert); SelectionState um elements? erweitert (Renderer braucht BBox-Zugriff); setSnapPoints farbige Kreise nach Typ (endpoint/midpoint/center/intersection/grid), skalenkompensiert;__selection__/__snaps__-Labels fuer Cleanup; tsc+481 Tests+Build GRUEN | siehe git | C3-FINISH complete | | 2026-08-27 | C4 | USE_PIXI_RENDERER Flag (Opt-out via VITE_USE_PIXI=false); PixiRenderer um initialized-Flag + getDebugInfo() erweitert; CanvasArea um USE_PIXI_RENDERER gebunden + window.__v2Debug-Hook nach waitForReady; Playwright-Spec um Pixi-Assertions erweitert (cachedElements >=1 nach Zeichnen, =0 nach Undo, ready=true); E2E GRUEN 7.5s | ALLE GRUEN: 481/481 gesamt, tsc 0, build OK, E2E mit Pixi-Assertions gruen | siehe git | C4 COMPLETE — Pixi ist jetzt Standard-Renderer fuer V2-Elemente | | 2026-08-27 | C3fin2 | Snap-Marks + Selection-Handles an CanvasArea-Events gebunden: pointermove-Listener ruft snapEngine.snap + pixi.setSnapPoints (nur bei aktivem V2-Tool); selectionEngine.selectByIds gewrapt um pixi.setSelection mit Elementen aufzurufen; tsc+481 Tests+Build GRUEN | siehe git 042c546 | C3fin-INTEGRATION complete | +| 2026-08-27 | C3fin-int | **Interaktive Handle-Drag** im select-Tool: hitHandle() erkennt Klick auf eine der 4 BBox-Ecken (Toleranz 8px); bei Treffer startet Handle-Drag (handleDrag-State mit Element+Anker-Ecke); move zeigt Live-Skalierung als Preview; up committet via doc.updateElement (line-Koordinaten proportional skaliert); 2 Tests (Handle-Drag 50→70 BBox + undo, Nicht-Handle-Klick bleibt normale Selektion) | ALLE GRUEN: 485/485 gesamt (+2), tsc 0, build OK | 5605993 | C3fin-INTERAKTIV complete; handles jetzt verschiebbar/skalierbar | | 2026-08-27 | D-ext | array-rect/array-polar in core-modify v1.6.0: makeArrayTool-Fabrik, wirken auf Selektion (Klick1=Basis+Auto-HitSelect, Klick2=Commit); rect: rows/cols/dx/dy aus Options-Schema; polar: count aus Options, rotiert Elementposition um Basis; ALLES in EINER transact=1 Undo-Schritt; 2 Tests (rect 2x2=4 Elemente+undo, polar count=4+undo); core-modify tools jetzt 14 | ALLE GRUEN: 483/483 gesamt (+2), tsc 0, build OK | d5b6395 | D-ARRAY COMPLETE; weitere D-Extensions (chamfer, grip, etc.) folgen | | 2026-08-27 | D-ext2 | chamferTool + lengthenTool in core-modify v1.7.0: chamfer = 2 Picks → trimElement beide + Fase zwischen neuen Enden (chamferDist aus Options); lengthen = Klick nahe Ende + Delta aus Options (Richtungsvektor); beide via doc.transact = undo-fähig; core-modify tools jetzt 16 | ALLE GRUEN: 483/483 gesamt, tsc 0, build OK | eb1b869 | D-EXT2 COMPLETE; Rest D: grip-editing, polyline-editor, join/explode/align (spaeter) | | 2026-08-27 | C3 | elementToPrimitives erweitert um fehlende Typen: dimension (Linie + Label aus value/text), leader (Linie + Label am Ende), revcloud (geschlossener Punktzug), chair (gefuelltes Rechteck #4a90d9), table (Kreis #8b7355), stage (dunkles Rechteck #3a3a4a); Legacy-Konventionen beibehalten; 6 neue Tests | ALLE GRUEN: 481/481 gesamt (+6), tsc 0, build OK | siehe git | Naechster Task: C4 (Flag-Umdrehung Pixi=Default) oder Selection-Handles/Snap-Marks |