Files
bambuddy/backend
maziggy 9b2bd911d8 Open multi-plate G-code on the plate that was asked for
Previewing a sliced multi-plate 3MF from the File Manager showed a plate
    nobody picked. The library route took no plate parameter at all, so the
    one the viewer has always put in the URL was dropped -- FastAPI discards
    unknown query parameters silently. Both routes then fell back to the
    first .gcode member of the zip, and member order is whatever the slicer
    wrote: the reported file stores plate_2.gcode ahead of plate_1.gcode.
    Nothing that opens the viewer from the File Manager passes a plate, so
    there was no way to ask for another one either.

    Plate resolution now lives in threemf_tools and both routes share it.
    select_plate_gcode_name() returns the named plate or None, so a caller
    serving an explicit choice can 404 instead of rendering something else;
    default_plate_gcode_name() returns the lowest-numbered plate. The viewer
    gained a plate switcher, and keeps the choice in its URL so a link to one
    plate survives a reload. Filament colours follow it too -- they were
    taken from the first plate regardless of which one was on screen.

    G-code injection and the finish-photo max_z_height read shared the old
    first-member fallback and now resolve the lowest plate as well.
2026-08-15 14:54:56 +02:00
..