Inconsistent selection validation across extensions

Extensions behave differently when passed elements they don't expect. I think it would be great to have some consistency.

I've reviewed the extensions from the "Modify Path" menu and there are roughly 3 different behaviors when the extensions are executed without any selection:

  • Add nodes and many others will silently return without doing anything. They use self.svg.selection.filter(...)
  • Clean up path shows a message "Please select at least one element of the following type(s): PathElement". This comes from self.svg.selection.filter_nonzero(...)
  • Envelope Deformation has a very comprehensive validation with many error messages. For the case of no selection it would show "You must select two objects only".

Even extensions that require 2 objects selected have different error messages. Like Perspective that outputs "This extension requires two select objects."

I can send some PRs making the selection validation more consistent but I'd like to ask for permission from the development team before working on it and also some clarity on what is the preferred behavior for the extensions when incorrect elements have been selected.