GraphiteEditor / GraphiteEditor/Graphite
Use automatic type conversion to convert from () and T into T with Merge nodes
- Dominant language
- Rust
- Stars
- 27.2k
- Forks
- 1.3k
- Avg merge
- 20h 5m
- Merged PRs (30d)
- 57
Description
This is an idea that will require some discussion to determine the feasibility and approach before implementation may begin.
---
When a Merge node receives only one input (either only the bottom input or only the left input), it can get stuck with some other random input type for the other, which doesn't match and results in a type error. This is only subtly visible because the two input connectors don't have the same color, but that is hard to spot.
Instead, we want the Merge node to receive the `()` type when it's not connected to anything, and use the automatic type conversion system to convert from `()` to `T`, for example `()` to `List` if it needs to match with the other input of type `List`.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by tracing the Merge node implementation and the automatic type conversion system to understand how an unconnected input is typed today. Determine whether representing the missing input as () and converting it to the other input's type is feasible, then document the approach and required tests before implementation begins.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- computer-graphics
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100