image グループ化されたパスの一部を投げ縄で囲った場合

  • 投げ縄で完全に囲われたパスだけが選択される
  • そのパスだけが移動される
  • 移動のタイミングでグループから抜ける

大前提

  • グループ化されたパスは毎回全体を投げ縄で囲うことなくひとかたまりのものとして動かなければならない
    • image
    • このデモではグループ化されてることを示すために投げ縄で囲っている
    • グループ化は自動で行われる
    • メインユースケース「iPadでペンシルを使ってる」だと、ペンで書いて、指で塊として動かせる

以前の実装

  • image
  • 投げ縄での選択はトップレベルのオブジェクトだけが対象
  • もし一部だけを動かしたいならグループ解除が必要

----議論

image グループ化されたパスの一部を選択した場合、その選択範囲の移動はどう振る舞うべきか

今までの実装:

  • 投げ縄での選択はトップレベルのオブジェクトだけが対象
  • なので灰色の「グループ全体」が選択対象になり、移動もグループ全体 現在の実装:
  • バグによって子要素も選択されてる(赤表示)

このバグを修正するにあたって、「今までの挙動」に寄せるべきか否か 理想としては「3」だけが動くべきでは 3が動いた後、どうなるべきか?

  • 3を遠くに動かした時に、それは明らかに「残り」とは違うグループであることを意図してるのでグループが分かれるべき
  • 近くに動かした場合は?グループの要素のまま配置を微修正したのでは?
  • 移動したものはグループ化されるべきか?
    • 移動したものを単純にグループ化すると、どんどん深いグループになっていく懸念がある

妻の意見

  • 「3」だけ動くのが自然
  • グループが選ばれてしまって、子要素を動かすためにungroupが必要な実装もよく見る、許容範囲
  • 「3」だけ動く場合に、それがグループの中に留まるのは不自然
  • 移動したものがグループ化されているかどうかは、されている方が理想だが、されてなくても許容範囲

これを踏まえて

  • 「3」だけ動かす
  • 「3」はグループから抜ける
  • 移動したものはグループ化しない という方針

pRegroup-done-2020