Summary
Implement an open multiACE material-source provider for Snapmaker Orca that reads inventory and live state from the printer-side service and exposes every connected ACE unit and slot through the existing AMS-oriented machine model.
Scope
- Add a provider abstraction for filament-source inventory.
- Implement an initial Moonraker/HTTP/WebSocket-backed multiACE provider.
- Parse versioned capabilities and inventory payloads.
- Support multiple ACE units and stable per-slot source IDs.
- Track RFID metadata, material, subtype, brand, color, remaining quantity, source state, dryer/humidity state, reachable physical heads, and currently loaded head.
- Support manual refresh and live event updates.
- Preserve offline/manual operation when no printer is connected.
- Integrate with the existing
Ams, AmsTray, and MachineObject::amsList model where practical.
Proposed code areas
src/slic3r/GUI/multiace/MultiAceClient.hpp
src/slic3r/GUI/multiace/MultiAceClient.cpp
src/slic3r/GUI/multiace/MultiAceSourceProvider.hpp
src/slic3r/GUI/multiace/MultiAceSourceProvider.cpp
src/slic3r/GUI/DeviceManager.hpp
src/slic3r/GUI/DeviceManager.cpp
Acceptance criteria
Dependencies
This is a foundation for routing, native G-code generation, timing, and optimizer work.
Design references
Summary
Implement an open multiACE material-source provider for Snapmaker Orca that reads inventory and live state from the printer-side service and exposes every connected ACE unit and slot through the existing AMS-oriented machine model.
Scope
Ams,AmsTray, andMachineObject::amsListmodel where practical.Proposed code areas
Acceptance criteria
multiace:<unit>:<slot>.Dependencies
This is a foundation for routing, native G-code generation, timing, and optimizer work.
Design references
doc/multiace_u1_integration_design.mddoc/multiace_testing_strategy.md