* fix: resolve filament vendor/type across split base presets
WebGuide's filament list dropped presets whose vendor and type came from different ancestors, and looped forever on inherits cycles. Walk the full inherits chain with a path-scoped guard, fill only missing values, and skip presets that still lack vendor or type. Add tests for split-base resolution and validate the real profile tree.
* Merge branch 'main' into feat/filament_dialog_fix
* Fixes unit test
* Merge branch 'main' into feat/filament_dialog_fix
* Merge branch 'main' into feat/filament_dialog_fix
* revert tests/fff_print/test_gcodewriter.cpp changes