Skip to content

Run KCL and modeling tools on CPU engines - #310

Merged
r-barton merged 4 commits into
mainfrom
ryan/cpu-snapshots
Oct 15, 2026
Merged

r-barton merged 4 commits into
mainfrom
ryan/cpu-snapshots

Conversation

@r-barton

@r-barton r-barton commented Oct 15, 2026 •

Copy link
Copy Markdown
Collaborator

Run KCL execution, exports, measurements, and persistent modeling sessions on Zoo's CPU engine pool using the published zoo-kcl>=0.3.192 package. This also enables CPU snapshots of executed KCL and imported CAD files. Require kittycad>=1.8.0 for typed toggle_graphics commands and responses through the shared modeling transport. Prepares MCP 0.28.11. Supersedes #306.

Persistent sessions initialize CPU graphics on the first snapshot, selection, highlight, or camera tool and retain the renderer until the session closes. Disabling graphics resets camera framing, so retaining it preserves zoom=False, selections, and highlights across tool calls. Geometry-only work skips graphics initialization.

@r-barton
r-barton merged commit 7e9731c into main Oct 15, 2026
28 checks passed
@r-barton
r-barton deleted the ryan/cpu-snapshots branch October 15, 2026 19:13
Comment thread src/zoo_mcp/zoo_tools.py
for index, view in enumerate(request.views):
named = isinstance(view, str)
view_name = view if isinstance(view, str) else f"custom_{index + 1}"
options = [

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Setting geometry_only=True makes the existing _collect_session_snapshots bit expensive as it calls session.snapshots() separately for each view. We can fix by making _collect_session_snapshots pass multiple views into one session.snapshots()

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants