Profiles as plugins
Refactoring to allow interaction profiles to be defined as plugins.
Profile switching will now be bound to control panel toggling. All view panels will have a default interaction profile; when a particular control panel is toggled, its associated interaction profile will be created and activated. When that control panel is closed, its interaction profile is destroyed, and the previously active one restored. The interaction profile associated with a control panel can be specified via the ViewPanel.togglePanel
method.
The profilemaps
module is to be removed, in favour of static methods that can be overridden on Profile
sub-classes.
The ViewPanel.profile
property has been removed. Profile changes can still be detected via the new ViewPanel.events
attribute.
This MR will also migrate as many built-in controls, profiles and actions as possible to be provided as plugins.