Files
OrcaSlicer/docs/printer-agent/reference/capability-matrix.md
2026-08-04 18:12:43 +08:00

6.9 KiB

Printer-agent capability matrix

This is a compact lookup for the built-in Moonraker family. It combines implementation state with recorded evidence. It is not a promise that every firmware configuration behaves the same way. Python plug-in behavior depends on the plug-in, not on this matrix.

Use testing and troubleshooting before calling a live-printer result complete.

For a quicker tour of the controls users actually see, open the annotated Device-tab view. The annotations explain the important routing constraints; this matrix remains the compact cross-agent reference.

Status definitions

  • Supported - implemented, with a relevant live-printer result recorded.
  • Partial - an important condition, limitation, or defect applies.
  • Unsupported - no applicable implementation, or deliberate refusal.
  • Not verified - implemented or source-inspected, but without a relevant live result.

Base means MoonrakerPrinterAgent. Qidi, Creality, and Snapmaker inherit from it unless a row identifies an override.

Connection and status

Capability Base Qidi Creality Snapmaker
Direct LAN connection with API key Supported Supported Not verified Not verified
WebSocket status updates Supported Supported Not verified Not verified
Reconnect and fresh status Partial Partial Partial Partial
Discovery and cloud binding Unsupported Unsupported Unsupported Unsupported
Device identity with a configured port Partial Partial Partial Partial
  • Reconnect completion can leave the Device tab with stale status.
  • A bare IP and host:port can become separate device identities.
  • The Base and Qidi Supported grades come from prior hardware sessions. They were carried into this rewrite and not rerun.

Controls

Capability Base Qidi Creality Snapmaker
Home and arbitrary G-code Not verified Not verified Not verified Not verified
Bed and nozzle temperature Not verified Not verified Not verified Not verified
Pause, resume, and cancel Not verified Not verified Not verified Not verified
Configured chamber light Partial Partial Partial Partial
Jog and manual extrusion Partial Partial Not verified Not verified
Legacy part-fan speed control Partial Partial Not verified Not verified
Structured fan, chamber, and AI controls Unsupported Unsupported Unsupported Unsupported
AMS RFID, calibration, and tray control Unsupported Unsupported Unsupported Unsupported
  • Chamber light needs a recognised light object.
  • Base and Qidi jog works, but can leave relative positioning active. Do not use it as a general safe-control test until its G-code state is restored.
  • Base and Qidi part-fan control works through legacy gcode_line while is_enable_np is false. Adding cfg, fun, aux, and stat flips that flag and routes fan and extruder controls to unsupported structured commands.
  • Creality and Snapmaker inherit the source path but have no separate live evidence for jog or fan control.

Printing

Capability Base Qidi Creality Snapmaker
Upload G-code without starting Not verified Not verified Not verified Not verified
Upload and start a local print Not verified Not verified Not verified Not verified
Mapped multi-material print Unsupported Not verified Unsupported Unsupported
Cloud or SD-card start variants Unsupported Partial Unsupported Unsupported
Cancel during upload Not verified Not verified Not verified Not verified
Send with no nozzle identity Not applicable Not verified Not applicable Not applicable
  • Qidi applies mapping before it routes the real local print path.
  • Some Qidi print variants can reach base success stubs after mapping.
  • Qidi tolerates missing nozzle data in source, but that Send preflight is not hardware-verified.

Filament

Capability Base Qidi Creality Snapmaker
Sync mode Not verified Not verified Not verified Not verified
Read installed material and slots Partial Not verified Not verified Not verified
Slot, material, and colour refresh Unsupported Not verified Not verified Not verified
Cleanup after removed material Not verified Not verified Not verified Not verified
Load, unload, or write a slot Unsupported Partial Unsupported Unsupported
Auto Refill Unsupported Unsupported Unsupported Unsupported
  • All built-in agents use pull-mode sync.
  • Base reads Happy Hare or AFC data when present. Qidi has print-time mapping; Creality has CFS logic; Snapmaker reads printer arrays and NFC data.
  • The Base Device-tab slot refresh uses a proprietary AMS command and has no generic Moonraker translation.
  • Generic write-side macros stay unsupported until their printer contract is known and verified.

Camera

Capability Base Qidi Creality Snapmaker
Discover a Moonraker webcam Not verified Not verified Not verified Unsupported
Provide a camera source Not verified Not verified Not verified Not verified
Live camera view Not verified Not verified Not verified Not verified
Snapshot-only camera start Unsupported Unsupported Unsupported Not verified
Camera start renewal and teardown Unsupported Unsupported Unsupported Partial
Print thumbnail Not verified Not verified Not verified Not verified
  • Snapmaker bypasses webcam discovery with a local snapshot-polling page.
  • Its renewal and teardown path has lifetime risks without live evidence.
  • Moonraker thumbnail endpoint responses and filename-cache behavior need live coverage.

Python plug-ins

Capability Python plug-in agent
Registration and re-registration Not verified - lifecycle tests cover replacement
Duplicate agent ID Not verified - conflict is rejected and reported
Disable or unload Not verified - deregistration is tested; session teardown needs coverage
Capability surface Defined by the plug-in and exposed Python API

Reading the matrix safely

  • Partial is not a softer form of Supported. It names a condition that must be checked before use. Not verified means the code was found, but no relevant live result is recorded.
  • Pair each claim with the evidence grades in the testing guide. This matters especially for CFS, Snapmaker camera, MMU macros, Qidi Send preflight, and thumbnail endpoints.

Background - deliberate exclusions

The matrix excludes Bambu-specific cloud binding, RFID, calibration, and camera-control features from the Moonraker family. They use different protocol contracts and are deliberately refused when no safe Klipper equivalent exists.