Summary
Introduce a first-class routing model that maps each logical project filament to a physical ACE source and one of the Snapmaker U1's four physical toolheads.
The U1 must remain a four-toolhead machine. ACE slots must not be represented as additional physical extruders.
Scope
- Add structured
SourceId support.
- Add
FilamentRoute and FilamentRoutingPlan domain types.
- Store project filament, source, physical toolhead, loaded/swap state, user pins, and inventory revision.
- Persist routing plans in 3MF projects.
- Extend existing mapping UI and serialization rather than introducing an unrelated workflow.
- Add compatibility validation for material, nozzle, temperature, remaining quantity, source state, and route reachability.
- Support user pins for filament-to-source, filament-to-head, and source-to-head relationships.
- Define stale-plan behavior after an inventory refresh.
Proposed code areas
src/libslic3r/FilamentRoutingPlan.hpp
src/libslic3r/FilamentRoutingPlan.cpp
src/libslic3r/ProjectTask.hpp
src/slic3r/GUI/AmsMappingPopup.hpp
src/slic3r/GUI/AmsMappingPopup.cpp
src/slic3r/GUI/SelectMachine.cpp
src/slic3r/GUI/filamentsync/*
Acceptance criteria
Dependencies
Design references
Summary
Introduce a first-class routing model that maps each logical project filament to a physical ACE source and one of the Snapmaker U1's four physical toolheads.
The U1 must remain a four-toolhead machine. ACE slots must not be represented as additional physical extruders.
Scope
SourceIdsupport.FilamentRouteandFilamentRoutingPlandomain types.Proposed code areas
Acceptance criteria
0..3.0..3.Dependencies
Design references
doc/multiace_u1_integration_design.mddoc/multiace_testing_strategy.md