- Sanity entry point for debugging: immediately after
create_agentStudio makes the exact sequence of calls documented in §8.1.1 (common contract / sequence). Observing those in order is the shortest way to confirm that the ABI is wired correctly. QueueOnMainFn(§8.2.2) is the plugin's only safe path onto Studio's GUI thread (CallAfter). Studio's own inbound callback lambdas already marshal withCallAfter/wxQueueEvent— that does not replacequeue_on_mainfor work the plugin initiates. wxWidgets is not thread-safe.- Certificate files (
set_cert_file) — full detail in §10.6 / §8.1.8. Studio passes(<resources>/cert, slicer_base64.cer); bothslicer_base64.cer(cloud) andprinter.cer(BBL CA bundle) live in that folder. Stock plugin LAN trust behaviour is not documented here beyond the printer-side TLS observations in §10.6 / §8.1.8. - ABI/STL compatibility is the single biggest foot-gun of this contract: the plugin has to be built with the exact same toolchain that built Bambu Studio (matching MSVC runtime on Windows, matching libstdc++ ABI on Linux, matching Xcode/libc++ on macOS). Any mismatch is undefined behaviour the moment a
std::string/std::mapcrosses the library boundary.