[Diagram Editor] Improve connection UI/UX
Open
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 72
- Forks
- 16
- PR merge metrics
- No merged PRs in 30d
Description
There are few ways we could improve the UI/UX of how operations get connected:
- For outputs we could use something like a triangle pointing out of the operation to give the sense that it represents data moving outwards. Regular (final) outputs would be on the bottom of the box pointing down, while stream outputs would be on the right side of the box pointing rightwards.
- The color of stream outputs should be the same as regular outputs since there's no difference in what they can be connected to. Maybe stream outputs can be distinguished with a different kind of icon, e.g. overlapping triangles
>>to indicate that multiple outputs may come out of it. - It might make more sense for Fork Result to have a separate output slot for
OkversusError. MaybeErrorcan go on the left or right side whileOkis on the bottom. - It might be good to use a different output connector icon for operations that allow an arbitrary number of outputs, like Fork Clone and Split. Maybe an icon that's a cluster of circles or something to indicate that many connections are allowed.
- Buffer Access would probably be easier to understand if it had a separate input slot icons for input messages (white) versus buffers (purple).
It should also allow multiple input message connections, but at the moment is seems to block any attempt to connect a second input message to it.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start from the Diagram Editor and compare its current connection UI with the remaining unchecked requirements. Review how output direction, stream and final outputs, arbitrary-output operations, and Buffer Access input types should be represented. Done means the proposed connection affordances are implemented and the editor clearly distinguishes each connection type.
Written by the indexing model from the issue text.
Assessment
- Domain
- design, frontend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100