GraphiteEditor / GraphiteEditor/Graphite

Use automatic type conversion to convert from () and T into T with Merge nodes

Open
#3,776 2 comments 0 reactions 0 assignees View on GitHub
Graphene
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.