knoten mit bezier (spitzer knoten, beide bezier handles frei bewegbar)
knoten mit bezier (glatter knoten, beide bezier handles gespiegelt, aber länge darf unterschiedlich sein)
knoten mit bezier (symetrischer knoten, beide bezier handles gespiegelt inkl. gleicher länge)
Bitte die beiden Modi die fehlen auch noch implementieren.
Außerdem: Es gibt das Tool "Pen": das verhält sich beim erstellen eigenartig: es werden Bezier Kurven erzeugt, aber nur "halbe" (sprich, es wird nur ein Handle angezeigt, und glatt/symetrisch sind diese dann dementsprechend auch nicht) - das bitte auch nochmal überarbeiten. Im Worstcase, anstelle eines "Pen"-Tools, einfach ein Polygon Tool machen, wo einfach nur Punkte ohne Bezier gesetzt werden.
So momentan der Status:
- [x] knoten ohne bezier
- [ ] knoten mit bezier (spitzer knoten, beide bezier handles frei bewegbar)
- [ ] knoten mit bezier (glatter knoten, beide bezier handles gespiegelt, aber länge darf unterschiedlich sein)
- [x] knoten mit bezier (symetrischer knoten, beide bezier handles gespiegelt inkl. gleicher länge)
Bitte die beiden Modi die fehlen auch noch implementieren.
Außerdem: Es gibt das Tool "Pen": das verhält sich beim erstellen eigenartig: es werden Bezier Kurven erzeugt, aber nur "halbe" (sprich, es wird nur ein Handle angezeigt, und glatt/symetrisch sind diese dann dementsprechend auch nicht) - das bitte auch nochmal überarbeiten. Im Worstcase, anstelle eines "Pen"-Tools, einfach ein Polygon Tool machen, wo einfach nur Punkte ohne Bezier gesetzt werden.
admin
added this to the Development project 2026-09-21 06:14:09 +02:00
admin
moved this to Next in Development on 2026-09-21 06:14:15 +02:00
Der Pen-Bug:withHandleMoved hat den Gegengriff nur gespiegelt, wenn es ihn schon gab. Ein frisch gesetzter Punkt hat noch keinen in, also entstand beim Ziehen nur out – die halbe Kurve. Jetzt zieht der Pen beide Griffe gespiegelt heraus, der Punkt ist danach Symmetric. Ein einfacher Klick setzt weiterhin einen Punkt ohne Griffe. Ein Polygon-Werkzeug als Notlösung war damit nicht nötig.
Die vier Punkttypen
Typ
Griffe
Einen Griff ziehen …
Straight
keine
–
Corner
frei
lässt den anderen stehen
Smooth
auf einer Linie
dreht den anderen mit, er behält seine Länge
Symmetric
auf einer Linie, gleich lang
spiegelt den anderen exakt
Im Modell hat ein Punkt ein optionales mode, fehlt es, ist er eine Ecke. Der Modus steckt nicht im Fingerabdruck, weil er kein Pixel ändert.
Im Header steht ein Menü „Point: …“ für den zuletzt angeklickten oder gesetzten Punkt, der gefüllt gezeichnet wird. Ein Wechsel ist ein Undo-Schritt. Text statt vier Icons, weil das UI-Toolkit keine Tooltips kennt.
Ein Punkt ohne Griffe bekommt beim Wechsel auf einen gebogenen Typ Griffe entlang seiner Nachbarn.
Ein Punkt auf einer Kurve ist Smooth. Symmetrische Nachbarn werden dabei Smooth, weil die Teilung einen ihrer Griffe verkürzt.
Alt-Klick schaltet weiter zwischen Straight und Symmetric.
Nebenfund: Das alte Alt-Rund nahm am Ende einer offenen Linie den Punkt vom anderen Ende als Nachbarn, die Griffe standen schief. Behoben, ein Unit-Test hält es fest.
Achtung bei bestehenden Zeichnungen: Punkte mit Griffen gelten jetzt als Corner, bisher hat jedes Ziehen gespiegelt. Pixel ändert das keine.
14 neue Unit-Tests, 7 neue e2e-Checks (Block 47g, Nutzerweg für alle vier Typen).
Zwei Gegenproben greifen: Pen ohne 'symmetric' → 3 Checks fallen; ohne Smooth-Zweig → 1 Unit-Test und 1 e2e-Check.
Check-Summe 1195 in README und Wiki ist gerechnet (1188 + 7), gemessen wird sie im CI-Lauf.
Wiki: Vector Art (Tabelle der Typen, Point-Menü, Pen), Keyboard, Architecture, Development.
Umgesetzt in 3ff7e91, Wiki in 102ab47.
**Der Pen-Bug:** `withHandleMoved` hat den Gegengriff nur gespiegelt, wenn es ihn schon gab. Ein frisch gesetzter Punkt hat noch keinen `in`, also entstand beim Ziehen nur `out` – die halbe Kurve. Jetzt zieht der Pen beide Griffe gespiegelt heraus, der Punkt ist danach **Symmetric**. Ein einfacher Klick setzt weiterhin einen Punkt ohne Griffe. Ein Polygon-Werkzeug als Notlösung war damit nicht nötig.
**Die vier Punkttypen**
| Typ | Griffe | Einen Griff ziehen … |
|---|---|---|
| Straight | keine | – |
| Corner | frei | lässt den anderen stehen |
| Smooth | auf einer Linie | dreht den anderen mit, er behält seine Länge |
| Symmetric | auf einer Linie, gleich lang | spiegelt den anderen exakt |
- Im Modell hat ein Punkt ein optionales `mode`, fehlt es, ist er eine Ecke. Der Modus steckt nicht im Fingerabdruck, weil er kein Pixel ändert.
- Im Header steht ein Menü **„Point: …“** für den zuletzt angeklickten oder gesetzten Punkt, der gefüllt gezeichnet wird. Ein Wechsel ist ein Undo-Schritt. Text statt vier Icons, weil das UI-Toolkit keine Tooltips kennt.
- Ein Punkt ohne Griffe bekommt beim Wechsel auf einen gebogenen Typ Griffe entlang seiner Nachbarn.
- Ein Punkt auf einer Kurve ist Smooth. Symmetrische Nachbarn werden dabei Smooth, weil die Teilung einen ihrer Griffe verkürzt.
- Alt-Klick schaltet weiter zwischen Straight und Symmetric.
**Nebenfund:** Das alte Alt-Rund nahm am Ende einer offenen Linie den Punkt vom anderen Ende als Nachbarn, die Griffe standen schief. Behoben, ein Unit-Test hält es fest.
**Achtung bei bestehenden Zeichnungen:** Punkte mit Griffen gelten jetzt als Corner, bisher hat jedes Ziehen gespiegelt. Pixel ändert das keine.
**Tests**
```
./check.sh → 129 Files, 1917 Tests, CHECK EXIT 0 (vorher 1903)
GM_STEPS=47 (frisch) → ALL PASSED – 39 checks (vorher 32)
```
- 14 neue Unit-Tests, 7 neue e2e-Checks (Block 47g, Nutzerweg für alle vier Typen).
- Zwei Gegenproben greifen: Pen ohne `'symmetric'` → 3 Checks fallen; ohne Smooth-Zweig → 1 Unit-Test und 1 e2e-Check.
- Check-Summe **1195** in README und Wiki ist gerechnet (1188 + 7), gemessen wird sie im CI-Lauf.
Wiki: Vector Art (Tabelle der Typen, Point-Menü, Pen), Keyboard, Architecture, Development.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
So momentan der Status:
Bitte die beiden Modi die fehlen auch noch implementieren.
Außerdem: Es gibt das Tool "Pen": das verhält sich beim erstellen eigenartig: es werden Bezier Kurven erzeugt, aber nur "halbe" (sprich, es wird nur ein Handle angezeigt, und glatt/symetrisch sind diese dann dementsprechend auch nicht) - das bitte auch nochmal überarbeiten. Im Worstcase, anstelle eines "Pen"-Tools, einfach ein Polygon Tool machen, wo einfach nur Punkte ohne Bezier gesetzt werden.
Umgesetzt in
3ff7e91, Wiki in 102ab47.Der Pen-Bug:
withHandleMovedhat den Gegengriff nur gespiegelt, wenn es ihn schon gab. Ein frisch gesetzter Punkt hat noch keinenin, also entstand beim Ziehen nurout– die halbe Kurve. Jetzt zieht der Pen beide Griffe gespiegelt heraus, der Punkt ist danach Symmetric. Ein einfacher Klick setzt weiterhin einen Punkt ohne Griffe. Ein Polygon-Werkzeug als Notlösung war damit nicht nötig.Die vier Punkttypen
mode, fehlt es, ist er eine Ecke. Der Modus steckt nicht im Fingerabdruck, weil er kein Pixel ändert.Nebenfund: Das alte Alt-Rund nahm am Ende einer offenen Linie den Punkt vom anderen Ende als Nachbarn, die Griffe standen schief. Behoben, ein Unit-Test hält es fest.
Achtung bei bestehenden Zeichnungen: Punkte mit Griffen gelten jetzt als Corner, bisher hat jedes Ziehen gespiegelt. Pixel ändert das keine.
Tests
'symmetric'→ 3 Checks fallen; ohne Smooth-Zweig → 1 Unit-Test und 1 e2e-Check.Wiki: Vector Art (Tabelle der Typen, Point-Menü, Pen), Keyboard, Architecture, Development.