Repository navigation
fix: send the model to the slicer as it is, with the designer's supports - #303
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
@codex review |
|
Codex Review: Didn't find any major issues. Keep it up! Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
|
Reviewed SHA: Verdict: Ready Findings: None Validation: Reviewed |
|
@codex review |
|
Codex Review: Didn't find any major issues. What shall we delve into next? Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
|
@codex review |
|
Codex Review: Didn't find any major issues. Already looking forward to the next diff. Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
353f3c2 to
54e7b83
Compare
|
@codex review |
Design passes read the printer MCP's fdm_design prompt and the live printer facts, and the Fusion pass proxy passes the read-only printer tools through. Ported from e7d5f6d (#298, merged into feat/testflight-readiness) for invocation.ts, touchup.ts, mcp-client.ts, bound-fusion.ts and their tests only. The provider runner and project-worker changes stay on the release branch. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
David: "WE ARE JUST A BRIDGE. JUST SEND THE THING TO SLICER, LET IT SLICE IT, PRINT WHAT THE SLICER PUKED OUT." He chose the slicer's own auto-orient and the designer's supports choice. - The print step no longer runs lay_flat. Every STL goes to slice_stl with orient: true, so Bambu Studio's own auto-orient places it. A 3MF keeps its placement, as before. - A design pass answers supports (enabled, with tree(auto) or normal(auto)). Counterpart stores it with the model and sends it to slice_stl as enable_support/support_type, off included. A model with no choice leaves the printer profile in charge, as before. - An installed MCP without those arguments gets the existing print-settings-unsupported refusal before anything is sliced. Support args are part of the slice-cache key and the estimate key. - The worker rules say what the print step really does now. Needs bambu-printer-mcp 1.1.54 / mcp-3D-printer-server 1.2.28 for the support arguments. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
mcp-3D-printer-server applies orient (and every Bambu option) only on its Bambu Studio/Orca route, and PrusaSlicer and Cura refuse the support arguments. A non-Bambu slicer now gets the model as it is, and a supports choice there gets the print-settings-unsupported refusal before slicing. The design worker's check slice now uses orient true and its own enable_support, the way the print is sliced. The opt-in real-server test expects no lay_flat. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…rovider hunk A kept slice is reused only for the same supports choice: profile default, off, tree and normal each slice. The runner reads the answer's supports without editing ResultEvent, which the release branch's provider commit c59d83b changes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Codex Review: Didn't find any major issues. Already looking forward to the next diff. Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
|
@codex review |
54e7b83 to
8c3ec95
Compare
|
Codex Review: Didn't find any major issues. Keep it up! Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
|
Reviewed SHA: Verdict: Ready Findings: None. Validation: Read diff |
David's AirPods Max desk hanger printed upright with no supports. The design pass planned it on one 80 mm side, but Counterpart's print step ran
lay_flat, which put it back on its desk-side bottom. It then sliced with the stock0.20mm Standardpreset (enable_support 0), so the 40 mm top jaw printed in mid-air. David: "WE ARE JUST A BRIDGE. JUST SEND THE THING TO SLICER, LET IT SLICE IT, PRINT WHAT THE SLICER PUKED OUT."Now Counterpart sends the model to the slicer as it is. Following David's choices, the slicer orients it and the designer chooses supports:
lay_flat. Every STL goes toslice_stlwithorient: true, so Bambu Studio's own auto-orient places it. A 3MF keeps its placement, as before.supports(enabled, plustree(auto)ornormal(auto)). Counterpart stores it with the model and sends it asenable_support/support_type, including when supports are off. A model with no choice (scans, older designs, published models) leaves the printer profile in charge, as before.orientand the support arguments go only to Bambu-compatible slicing. mcp-3D-printer-server ignoresorienton PrusaSlicer and Cura and refuses support arguments there, so a supports choice on that route gets the same refusal.print-settings-unsupportedrefusal: "Update bambu-printer-mcp in Settings → Printers so Counterpart can send this design's supports to the slicer." The support arguments are part of the slice-cache key and the estimate key.Depends on:
slice_stlsupport arguments. Both are now npm latest. The MCP owner checked by slicing only (Bambu Studio 02.08.02.61, P1S, no printer) that withorient: truethe override reaches each object's own settings and the toolpaths: on a 3D cross, supports on gives 127 Support features and off gives none.d9cd9ee(fix: a print that never started ends its Live Activity; the old route bug's workarounds are gone #302), keeping fix: a print that never started ends its Live Activity; the old route bug's workarounds are gone #302's slicing progress requests and its HMS 0007 andconnectionModeremovals. fix: keep a multi-colour design's 3MF as the model it prints #293 rebases onto this PR. Its multi-colour 3MF keeps its placement, so the matching worker-rule sentence belongs with fix: keep a multi-colour design's 3MF as the model it prints #293 or a follow-up.#298 port (first commit,
d098003). #298 merged intofeat/testflight-readiness, not main. This PR brings its runtime guidance to main forinvocation.ts,touchup.ts,mcp-client.ts,bound-fusion.tsand their tests only; provider-runner and project-worker changes stay on the release branch. The hunk that overlaps #298 when the branches are combined is one rule line ininvocation.ts: #298's "This pass exports one STL … re-orients it with lay_flat … not kept yet" becomes the bridge wording. Thesupportsschema field is a separate block afterask.Overlap with the release branch's provider commit
c59d83b(kept on release by df5facec): inrunner.ts, that commit changesinterface ResultEventtoexport interface, theProjectWorkertype and theinv.workercall. This PR doesn't edit those lines. Itsrunner.tshunks are theTouchupSupportstype andTouchupResult.supportsnear the top, and the supports parse at the start ofstructured().Known risk of auto-orient, recorded for David:
slice_stlwithorient: truefailed with Studio's "empty layer" error. That is whylay_flatstayed primary in KAN-223. Such a model is now refused with Studio's own words before anything reaches the printer, rather than printed.--orientminimises overhang area without checking cantilevers. If David prefers the designer's pose, it's a one-line change toorientplus the worker rule.Checks on
8c3ec95, with Codex clean on that exact head:d098003(main plus the Design passes plan the print with the printer MCP's FDM guidance #298 port) without this change (Pillow, USD, Blender repair, nearby pairing), and nothing new fails.Created with Claude Opus 5.5 in Claude Code.
🤖 Generated with Claude Code