GraphiteEditor / GraphiteEditor/Graphite

Destructive node collapse

Offen
#2,021 3 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
Rust
Sterne
27.2k
Forks
1.3k
Ø Merge
20 Std. 5 Min.
Gemergte PRs (30 T.)
57

Beschreibung

It should be possible to right click a node and collapse its effect into its upstream nodes, whenever that's possible. For example, a Transform node should be able to update the nodes upstream of it to produce the same result without its continued presence. This should work for all nodes that could support something of the sort. For example, if a Round Corners node (which we don't have yet) is applied downstream of a Rectangle node, it could be collapsed by setting the original Rectangle node's corner rounding parameter to an equivalent value after factoring in any transformations that have altered its scale along the data flow. We may need some kind of system to encode and calculate equivalence relations. (This full system could be a GSoC project.)

For some background reading related to the subject:
- https://en.wikipedia.org/wiki/E-graph
- https://egraphs-good.github.io/
- https://www.youtube.com/watch?v=ap29SzDAzP0

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Rechercherichtung

The issue names no files, tests, or entry points. Start by surveying the node-graph and procedural graphics subsystems, then review the linked e-graph resources; done would require a decided equivalence approach and support for safely collapsing applicable nodes while preserving the result.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
rust
Bereich
computer-graphics
Issue-Typ
Feature
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
15/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.