Gradient tool snapping with locked angle
Maintainer antworten meist innerhalb von 1 Tag
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Anfängerfreundlichkeit
- 78/100
- Issue-Typ
- Bug
- Klarheit
- Klar beschrieben
- Aktivitätsstatus
- Aktiv
- Tech-Stack
- rust
- Bereich
- computer-graphics
Rechercherichtung
Reproduce the issue with a rectangle and constrained gradient drag, then inspect the gradient tool code around lines 599-610 and 631. Compare its constrained-angle handling with SnapConstraint::Line in editor/src/messages/tool/common_functionality/shapes/line_shape.rs around lines 157-164. Done means angle-locked gradients still snap to the rectangle and previous overlays do not remain stuck during the drag.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Reproduction
- New document
- Draw rectangle
- Use the gradient tool to draw a gradient
- Press Ctrl or Shift to lock the angle
- Observe how the snapping to the rectangle no longer occurs and any old overlays get stuck until finishing the drag
Video
https://github.com/user-attachments/assets/de604938-8d10-46bd-917b-4ac8a09dde3a
Relevant code
The line tool uses SnapConstraint::Line to snap when constrained to an angle:
https://github.com/GraphiteEditor/Graphite/blob/f7562b6fd7428f887ba8ed833692535ad9b94ec4/editor/src/messages/tool/common_functionality/shapes/line_shape.rs#L157-L164
The gradient tool completely ignores snapping when an angle constraint exists:
https://github.com/GraphiteEditor/Graphite/blob/f7562b6fd7428f887ba8ed833692535ad9b94ec4/editor/src/messages/tool/tool_messages/gradient_tool.rs#L599-L610
https://github.com/GraphiteEditor/Graphite/blob/f7562b6fd7428f887ba8ed833692535ad9b94ec4/editor/src/messages/tool/tool_messages/gradient_tool.rs#L631
- Vorherrschende Sprache
- Rust
- Sterne
- 27.3k
- Forks
- 1.3k
- Ø Merge
- 15 Std. 40 Min.
- Gemergte PRs (30 T.)
- 85
Entwicklungsumgebung
Die Einrichtungsdateien dieses Projekts haben wir noch nicht geprüft. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus GraphiteEditor/Graphite
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
GraphiteEditor/Graphite#4601 · 5 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
GraphiteEditor/Graphite#4396 · 2 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
GraphiteEditor/Graphite#4311 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
GraphiteEditor/Graphite#3939 · 2 Kommentare · 1 Reaktion ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 76/100
GraphiteEditor/Graphite#4619 ·
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in GraphiteEditor/Graphite
Ähnliche Issues
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 84/100
linebender/parley#849 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 88/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 86/100
boxlite-ai/boxlite#1729 ·
Maintainer antworten meist innerhalb von 1 Tag
-
external
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
langchain-ai/docs#6255 ·
Maintainer antworten meist innerhalb von 1 Tag
-
P2 testing
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 90/100
Maintainer antworten meist innerhalb von 1 Tag