Files
bambuddy/backend
maziggy 3031e52ddf fix(slicer): stop a 3MF from switching off supports its process preset turned on (#2820)
--load-settings is authoritative, so since #1881 four support fields
    travel the other way -- enable_support, the two filament slots, and
    support_type -- lifted out of the source 3MF and written over the picked
    process preset. Bambu's shipped presets all set enable_support: 0
    because supports are a per-print decision, and without the carry a
    project exported with PVA in the interface slot sliced single-material.

    But the carry ran in both directions, and the off direction is the one
    nobody asked for. Nearly every published model ships with supports off,
    so slicing one against a custom preset that deliberately enabled them
    stripped them back out. The reporter's preset sets enable_support 1,
    support_type normal(auto), support_style snug; the slice came back
    disabled and tree(auto). Only the style survived -- it is not one of the
    four carried, and they had re-entered it in the slice dialog.

    The source can now switch supports on, never off. Nothing is lost:
    every shipped preset has them off, so a preset that has them on is a
    deliberate choice by whoever wrote it, and a file that wants supports
    still gets them with its slot assignments. A file that never declares
    enable_support is treated as off -- no intent to act on.

    The truthiness rule ("1", true, 1, and the forks that write neither) now
    lives in one place as supports_enabled_in_config(), shared with
    extract_support_filament_slots_from_3mf, which had it inline.

    Also log the carry with the fields it took. The slice dialog shows the
    picked preset's values, so a carried field silently disagrees with what
    was on screen and this step logged nothing at all -- the report chased an
    unrelated sanitiser line about the source file's own settings, which was
    the only thing in the log that mentioned any of these keys.
2026-08-15 14:56:58 +02:00
..
2025-11-28 10:23:59 +01:00