GraphiteEditor / GraphiteEditor/Graphite

Keybindings for selecting vector mesh elements

Open
#3,254 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Rust
Stars
27.2k
Forks
1.3k
Avg merge
20h 5m
Merged PRs (30d)
57

Description

Graphite already supports selecting path points and segments and in the future is going to support vector meshes with enclosed cells (that also could be selected?). To my knowledge there is no standardization across 2D vector applications how to access path point/segment/cell selection mode. And as of now in Graphite we have this selector:

Image

However dealing with different types of vector mesh elements is kind of standardized in 3D where we have vertex/edge/polygon selection modes that can be accessed with pressing respectively `1`, `2` and `3` on the keyboard in those applications:

Blender
Houdini
3DsMAX
Cinema4D
Modo

Image

Personally after working for couple hours straight in Graphite I tried to hit 1 and 2 many times to switch between path point and segment out of habit and was surprised it didn't work. But I'm heavily biased because of my experience with 3D.

Moving all 3D arguments aside `1-2-3` are really close to `Tab` key that is already used for switching between object and path editing in Graphite, so in my opinion both would go very nice together.

Contributor guide

No contributing guide indexed for this repository

Research direction

Locate Graphite's existing path-point, segment, object-editing, and Tab keybinding definitions, then inspect how the current selector switches modes. Define the 1/2/3 behavior consistently with the existing selector and verify that the shortcuts switch the available element modes without conflicting with Tab; support cell selection when that mode exists.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
design
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.