mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-10-04 14:20:58 +00:00
BambuStudio and its forks save a nozzle variant that matches the parent preset as "nil", including in keys OrcaSlicer can't leave empty, such as retraction, z-hop and nozzle temperature. Reading one threw, which ended the rest of the settings file: a project kept only the keys before it alphabetically, and an embedded or user preset was dropped. load_from_json now reads such a slot as not set when the caller opts in (project settings, embedded presets, user presets). If every slot is nil, the key is left out. Otherwise the slot holds the option default and is recorded, and update_diff_values_to_child_config gives it the parent preset's value. Other loaders still reject nil.
OrcaSlicer tests
Building, running and writing tests is documented on the wiki, under How to Test.
Two files here rather than there, because coding agents only read what is in the repository: