- slider DisplayType enums sink to node/sliderdisplaytype.h (canonical
engine home); FloatSlider/RationalSlider alias them for compatibility
- DropWithoutSequenceBehavior enum sinks to common/dropworkflowbehavior.h
- Config errors now go through a registered ErrorHandler hook instead of
QMessageBox with a MainWindow parent; the style default no longer
depends on the UI style manager
- MainWindowLayoutInfo moves to node/project/serializer/ and its panel
dependency is reduced to a plain std::map alias (PanelLayoutInfo),
breaking the engine -> PanelWidget -> KDDockWidgets chain
- ProjectImportErrorDialog moves from task/ to dialog/projectimport/
- remove confirmed-redundant UI includes and give project.h/import.h/
project.cpp the direct includes they were borrowing transitively
- project.h includes folder/sequence headers directly (it used both
types in its own API all along)
- ChromaKey tolerance inputs are now spelled "upper/lower_tolerance_in";
old projects with the misspelled "tolerence" IDs keep loading (values
and connections) via a new Node::GetInputIDForLegacyID() hook applied
in LoadInput and connection deserialization
- flip/ripple/swirl/tile/wave node IDs moved to the consistent
org.olivevideoeditor.Olive.* domain; NodeFactory::CreateFromID maps
the old org.oliveeditor.* IDs so old projects still resolve
- Regression tests: legacy ChromaKey IDs (values + connections) and
legacy factory IDs