Make FeaturesViewer available in Viewer2D to display the feature points of the current view, based on the current FeatureExtraction node.
* FeaturesInfoOverlay: overlay that displays info and provides controls over a FeaturesViewer component.
* ColorChart: color picker based on a set of predefined colors.
* use it in MetadataListView and GraphEditor 'add Node' menu
* GraphEditor: forward MenuItem key events to searchBar to be able to continue editing the filter even if it lost active focus
* bugfix: in latest PySide2 versions, application palette is not properly applied to all QtQuick Controls 2 components. Force this by exposing QApplication palette and bind it to the root ApplicationWindow.
* rename all "palette" ids to "activePalette" to avoid clashes with "palette" property on QtQuick Controls 2
* use parent component palette when it makes sense to propagate active/disabled style (instead of always using Active SystemPalette)
* display selectable-by-mouse source filepath
* add radius property to FloatingPane to control border radius from outside
* use FloatingPane in ImageMetadataView
* add WireframeMaterial from Qt 3D example
* MaterialSwitcher now has 3 render modes: Solid, Wireframe, Textured
* Remove NodeInstantiator; always create the material and modify entity's components (avoid rendering issues when switching between materials)
* use DiffuseSpecularMaterial for Solid and Textured mode
* create a MaterialSwitcher for all types of meshes (with/without textures)
* add a render settings panel as part of 3D viewport overlay and remove "Textures" entry from outliner
* use variant for filterValue and implement different logics to test filter matching based on value type
* allow redefinition of modelData and respectFilter functions to customize logic from outisde if need be
* add convenient 'reverseSortOrder' method
Entity's transform scale is already taken into account by parenting (unlike particleSize that uses a custom shader for rendering and don't rely on transform's scale)
New version of AlembicEntity always clears itself when setting an url (even if it's invalid/empty). Don't need to re-create the AlembicEntity each time we load a file.
* rename Model > Mesh, Alembic > SfM
* add checkbox to control Mesh and SfM visibility
* transparentize visibility checkboxes that do not have a direct impact on the current scene (i.e: 'Textures' when the loaded mesh has no texture)
* move 3D content unloading into a contextual submenu
* optional and only available if AlembicEntity QML plugin is in QML import path
* 3D viewer can load a 3D model and an Alembic file at the same time
* add contextual menu options to unload model/Alembic
* cache last loaded image and display it while the main Image is loading to avoid empty screen
* fix the BusyIndicator by dynamically creating a binding on the running property (Qt bug ?)
* remove DiffuseMapMaterial automatically created by the SceneLoader
* use MaterialSwitchers to create and dynamically switch materials on loaded Entities
* add a "Textures" checkbox to perform the toggle
* add DefaultCameraController:
* mouse-only navigation
* keyboard modifiers fallbacks for view re-centering (Ctrl+LeftClick) and fast zooming (Alt+RightClick)
* improved double click handling for 3D Object Picking
* moved logic/Timer to the CameraController
* always use TrianglePicking but only activate the ObjectPicker when necessary
* new footer that displays the number of images / allow to change thumbnail size
* smaller sourceSize for thumbnails (faster to load)
* avoid Nan scales in Viewer2D when no image is loaded
* add Rotation/Scale controls
* add controls to disable default items (grid/locator)
* add drop support to load external 3D models
* add "View All" action in contextual menu to fit to scene
* automatically propose to load the reconstructed mesh when available
* ImageGallery displays images from CameraInit.viewpoints
* support drag&drop of images
* Viewer2D displays and allows basic manipulation of currently selected image