GraphiteEditor / GraphiteEditor/Graphite
Allow the Select tool to partially interact with artboards
- 主要言語
- Rust
- スター
- 27.2k
- フォーク
- 1.3k
- 平均マージ
- 20時間 5分
- マージ済み PR(30日)
- 57
説明
Right now, the Select tool doesn't let you interact with artboards (except for one undesired side-effect: it visualizes the yellow pivot gizmo at the artboard center when an artboard is selected). Only the Artboard tool lets you, but we want to replicate some of the Artboard tool's features in the Select tool in certain states.
If an artboard is (or multiple are) selected (from the Layers panel), we want the Select tool to display the transform cage bounds gizmos that we currently have with the Artboard tool. If both an artboard and a non-artboard is selected, we filter out the artboard(s) and only show the selection for the non-artboards.
When multiple artboards are selected, dragging the combined transform cage bounds should scale all the selected artboards proportionally, just as with regular rectangle layers. The only difference is that we have to round to integer values since artboards must be integer-sized. Currently, the Artboard tool only draws bounds around the most recently selected artboard even if multiple are selected, so that needs to change for both the Artboard and Select tools.
Selecting an artboard should be possible by double-clicking its background (in a location where no inner content is covering up the artboard background) or by single-clicking the artboard title which is drawn at its top-left. Holding Shift in both cases should allow adding/removing to the selection of artboards. Single-clicking an artboard background with the Select tool active should deselect it, just as it does currently in Graphite.
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
調査の方向性
まず、Layers panel からの選択と変形ケージの処理を含め、Select tool と Artboard tool の相互作用パスを追跡します。単一および複数のアートボード、混在した選択、ダブルクリック、タイトルのクリック、Shift 修飾クリックでの動作を比較します。選択、境界、比例スケーリング、整数サイズ設定について説明されている動作が両方のツールで一貫して機能すれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- rust
- 領域
- design
- issue の種類
- 機能追加
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 42/100