@classcad/mcp 0.2.0 → 0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Model Context Protocol server for the [ClassCAD](https://classcad.ch) CAD engine. Self-contained: it runs the ClassCAD engine itself (WASM), so there is no server to set up.
4
4
 
5
- Lets MCP-capable hosts (Claude Code, the Claude desktop app, VS Code Copilot, Cursor, …) drive a live ClassCAD session: build parts and assemblies through scripts, inspect the structure tree, render snapshots, export STEP/STL, load OFB/STEP, and dock into a session an interactive app (buerligons) already has open.
5
+ Lets MCP-capable hosts (Claude Code, the Claude desktop app, VS Code Copilot, Cursor, …) drive a live ClassCAD session: build parts and assemblies through scripts, inspect the structure tree, render snapshots, save and load STEP, STL and OFB, and dock into a session an interactive app (buerligons) already has open.
6
6
 
7
7
  ---
8
8
 
@@ -230,7 +230,7 @@ None is required. Set them in the host's MCP config `env` block; the shim passes
230
230
  | `snapshot` | Render the drawing to PNG (iso/top/front/…, section cuts, four-view sheet, technical drawing with hidden lines, highlights, markers) |
231
231
  | `list_methods` / `describe_method` / `docs` | Method index, per-method reference with LLM-oriented gotchas, recipes |
232
232
  | `view` | The session's live 3D view: returns its link and opens it in the user's browser |
233
- | `save` / `load` / `clear` / `checkpoint` / `restore` | `save` writes STEP, STL or GLB to a `path` on disk (or returns base64); loading OFB / STEP / STL; undo points. OFB export is not available in this release (`save`, and `common.save` / `assembly.exportNode` in scripts, refuse it); checkpoints still use it internally, in memory only. |
233
+ | `save` / `load` / `clear` / `checkpoint` / `restore` | `save` writes STEP, STL, GLB or OFB to a `path` on disk (or returns base64); `load` reads OFB / STEP / STL from base64 content. `checkpoint` / `restore` are undo points, kept in the MCP's memory. |
234
234
  | `login` | Sign the machine in (returns the link, then waits for it to be used) or out |
235
235
  | `session_info` / `use_session` | Connection status (transport ws/bridge); attach to a named session, an invite link, or an in-app engine's `?bridge=` link |
236
236
  | `bridge.list_clients` / `bridge.get_selection` / `bridge.set_selection` | Read/write the selection of a connected CC app (see bridge) |
package/dist/client.d.ts CHANGED
@@ -26,23 +26,13 @@ export type ConnectOptions = {
26
26
  /** Where connection decisions are reported (stderr / daemon log). */
27
27
  log?: (msg: string) => void;
28
28
  };
29
- /**
30
- * This release does not hand out OFB (the native, parametric format): the
31
- * commands that serialize to OFB — common.save and assembly.exportNode, whose
32
- * default format IS OFB — are refused whether the data would be returned,
33
- * written to a file or sent to a url. STEP/STL exports and loading OFB stay.
34
- * Returns the refusal message, or null when the task may run.
35
- */
36
- export declare function ofbExportRefusal(task: object): string | null;
37
29
  export type Client = {
38
30
  /** Raw request. Tracked as a potential mutation unless `opts.track === false`. */
39
31
  request: <T = unknown>(command: string, extra?: object, opts?: {
40
32
  track?: boolean;
41
33
  }) => Promise<ApiResult<T>>;
42
- /** One API task. OFB exports are refused (see ofbExportRefusal) unless `internalOfb` — the checkpoint's in-process save. */
43
- execute: <T = unknown>(task: object, opts?: {
44
- internalOfb?: boolean;
45
- }) => Promise<ApiResult<T>>;
34
+ /** One API task. */
35
+ execute: <T = unknown>(task: object) => Promise<ApiResult<T>>;
46
36
  close: () => void;
47
37
  /** Cached structure (as of the last pull). */
48
38
  getStructure: () => Structure | null;
package/dist/client.js CHANGED
@@ -76,25 +76,6 @@ function workerListening(url) {
76
76
  * @classcad/script's emission.ts and is applied by runScript.)
77
77
  */
78
78
  export const PULL_GRAPHIC_ON = { sendGraphic_Kernel: true };
79
- /**
80
- * This release does not hand out OFB (the native, parametric format): the
81
- * commands that serialize to OFB — common.save and assembly.exportNode, whose
82
- * default format IS OFB — are refused whether the data would be returned,
83
- * written to a file or sent to a url. STEP/STL exports and loading OFB stay.
84
- * Returns the refusal message, or null when the task may run.
85
- */
86
- export function ofbExportRefusal(task) {
87
- for (const [command, args] of Object.entries(task)) {
88
- if (command !== 'v1.common.save' && command !== 'v1.assembly.exportNode')
89
- continue;
90
- const params = (Array.isArray(args) ? args[0] : args);
91
- const fromFile = typeof params?.file === 'string' && /\.[a-z0-9]+$/i.test(params.file) ? params.file.split('.').pop() : undefined;
92
- const format = String(params?.format ?? fromFile ?? 'OFB').toUpperCase();
93
- if (format === 'OFB')
94
- return `${command.slice(3)}: OFB export is not available in this release of the ClassCAD MCP. Export STEP (format: "STP") or STL instead; checkpoint/restore still work for rollback.`;
95
- }
96
- return null;
97
- }
98
79
  export async function connect(url = DEFAULT_URL, opts = {}) {
99
80
  const graphics = opts.graphics !== false;
100
81
  const debug = opts.debug === true;
@@ -520,10 +501,7 @@ export async function connect(url = DEFAULT_URL, opts = {}) {
520
501
  localEngine = null;
521
502
  await openWasm();
522
503
  }
523
- function execute(task, opts = {}) {
524
- const refused = opts.internalOfb ? null : ofbExportRefusal(task);
525
- if (refused)
526
- return Promise.reject(new Error(refused));
504
+ function execute(task) {
527
505
  return request('Execute', { task: [task], options: { undoable: false } });
528
506
  }
529
507
  function close() {
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
2
  import { type Client, type EnginePolicy } from './client.js';
3
3
  import { type LocalWasmOptions } from './engine/wasm.js';
4
4
  import type { BridgeRegistry } from './bridge/server.js';
5
- export declare const VERSION = "0.2.0";
5
+ export declare const VERSION = "0.2.2";
6
6
  export declare const DEFAULT_WS_URL = "ws://0.0.0.0:9094/";
7
7
  export type McpServerOptions = {
8
8
  /** ClassCAD worker this instance connects to (lazily, on the first tool call). */
@@ -17,7 +17,7 @@ import { serializeTools } from './queue.js';
17
17
  import { registerAuthTool, requireSignIn, SIGN_IN_NOTE } from './tools/auth.js';
18
18
  import { authStatus } from './auth.js';
19
19
  import { attachViewer, registerViewerTool, VIEWER_NOTE } from './tools/viewer.js';
20
- export const VERSION = '0.2.0';
20
+ export const VERSION = '0.2.2';
21
21
  export const DEFAULT_WS_URL = 'ws://0.0.0.0:9094/';
22
22
  /** Builds a connected-ready MCP server: the engine client plus all tools. Nothing is opened yet. */
23
23
  export async function createMcpServer(opts) {
@@ -23,11 +23,11 @@ export function registerLifecycleTools(server, client) {
23
23
  });
24
24
  server.registerTool('save', {
25
25
  title: 'Save drawing',
26
- description: 'Write the current drawing to a file, or return it as base64. Formats: STP (STEP, exact geometry), STL (triangles), GLB (binary glTF: triangles with colours, for 3D viewers and the web), JSON. ' +
26
+ description: 'Write the current drawing to a file, or return it as base64. Formats: STP (STEP, exact geometry), STL (triangles), GLB (binary glTF: triangles with colours, for 3D viewers and the web), OFB (ClassCAD\'s own format: the model with its features, to open again in ClassCAD or Buerligons), JSON. ' +
27
27
  'With `path` the file is written to disk and only its path and size come back — the way to hand the user a model (give them the path); without it the content is returned base64-encoded, which is large. ' +
28
- '(OFB export is not available in this release.) The user can also download STEP, STL and GLB themselves from the live 3D view (`view`).',
28
+ 'The user can also download STEP, STL and GLB themselves from the live 3D view (`view`).',
29
29
  inputSchema: {
30
- format: z.enum(['STP', 'STL', 'GLB', 'JSON']).describe('Output format.'),
30
+ format: z.enum(['STP', 'STL', 'GLB', 'OFB', 'JSON']).describe('Output format.'),
31
31
  path: z.string().optional()
32
32
  .describe('Absolute file path to write, e.g. /Users/me/Desktop/flange.stp (folders are created). Omit to get the content back as base64.'),
33
33
  },
@@ -116,10 +116,10 @@ export function registerLifecycleTools(server, client) {
116
116
  },
117
117
  }, async ({ label }) => {
118
118
  const name = (label || 'checkpoint').trim().slice(0, 60) || 'checkpoint';
119
- // The one OFB save this release makes: held in this process, never returned.
119
+ // An OFB save, held in this process.
120
120
  const r = await client.execute({
121
121
  'v1.common.save': [{ format: 'OFB', encoding: 'base64' }],
122
- }, { internalOfb: true });
122
+ });
123
123
  if (!r.result?.content) {
124
124
  return { isError: true, content: [{ type: 'text', text: JSON.stringify({ error: 'Checkpoint failed: the engine returned no OFB data.', maxLevel: r.maxLevel }) }] };
125
125
  }
@@ -1 +1 @@
1
- {"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../../src/tools/lifecycle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../../src/tools/lifecycle.ts"],"names":[],"mappings":"AAAA,sCAAsC;AAEtC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAClD,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAC/C,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAE3D,MAAM,UAAU,sBAAsB,CAAC,MAAiB,EAAE,MAAc;IACtE,MAAM,CAAC,YAAY,CACjB,OAAO,EACP;QACE,KAAK,EAAE,eAAe;QACtB,WAAW,EAAE,4XAA4X;QACzY,WAAW,EAAE;YACX,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;iBAC3D,QAAQ,CAAC,kDAAkD,CAAC;SAChE;KACF,EACD,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;QACpB,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;QACtC,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,EAAE,iBAAiB,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QAC5D,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,QAAQ,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;iBAC3F,CAAC;SACH,CAAA;IACH,CAAC,CACF,CAAA;IAED,MAAM,CAAC,YAAY,CACjB,MAAM,EACN;QACE,KAAK,EAAE,cAAc;QACrB,WAAW,EACT,sSAAsS;YACtS,2MAA2M;YAC3M,yFAAyF;QAC3F,WAAW,EAAE;YACX,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC;YAC/E,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;iBACxB,QAAQ,CAAC,+HAA+H,CAAC;SAC7I;KACF,EACD,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE;QACzB,IAAI,IAAI,GAAkB,IAAI,CAAA;QAC9B,IAAI,QAAQ,GAAG,CAAC,CAAA;QAChB,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;YACrB,+EAA+E;YAC/E,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,MAAM,MAAM,CAAC,OAAO,EAAE,CAAwB,EAAE,CAAC,MAAM,MAAM,CAAC,UAAU,EAAE,CAAkC,CAAC,CAAA;YACvI,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM;gBAAE,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA;QACnD,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,GAA4B,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAA;YACpE,IAAI,MAAM,KAAK,KAAK;gBAAE,IAAI,CAAC,GAAG,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,CAAA;YAC/C,IAAI,MAAM,KAAK,KAAK;gBAAE,IAAI,CAAC,GAAG,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAA;YAChF,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,OAAO,CAAwC,EAAE,gBAAgB,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YACnG,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAA;YACrB,IAAI,CAAC,CAAC,MAAM,EAAE,OAAO;gBAAE,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;QACvE,CAAC;QACD,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,8DAA8D,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,EAAE,CAAA;QACnM,CAAC;QACD,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;gBAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,0BAA0B,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAA;YAChL,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;YAC7C,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;YACzB,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,EAAE,CAAA;QACtI,CAAC;QACD,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC;iBAChH,CAAC;SACH,CAAA;IACH,CAAC,CACF,CAAA;IAED,MAAM,CAAC,YAAY,CACjB,MAAM,EACN;QACE,KAAK,EAAE,cAAc;QACrB,WAAW,EAAE,oGAAoG;QACjH,WAAW,EAAE;YACX,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC;YACvE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;SACxD;KACF,EACD,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE;QAC5B,yEAAyE;QACzE,0EAA0E;QAC1E,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;YAC7B,gBAAgB,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;SAC9E,CAAC,CAAA;QACF,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,QAAQ,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;iBAC3F,CAAC;SACH,CAAA;IACH,CAAC,CACF,CAAA;IAED,+EAA+E;IAC/E,yEAAyE;IACzE,6EAA6E;IAC7E,2EAA2E;IAC3E,yEAAyE;IACzE,wEAAwE;IACxE,MAAM,eAAe,GAAG,CAAC,CAAA;IACzB,MAAM,WAAW,GAAG,IAAI,GAAG,EAA+C,CAAA;IAC1E,IAAI,aAAa,GAAG,CAAC,CAAC,CAAA;IACtB,SAAS,MAAM;QACb,IAAI,aAAa,KAAK,MAAM,CAAC,UAAU,EAAE,CAAC;YACxC,WAAW,CAAC,KAAK,EAAE,CAAA;YACnB,aAAa,GAAG,MAAM,CAAC,UAAU,CAAA;QACnC,CAAC;QACD,OAAO,WAAW,CAAA;IACpB,CAAC;IAED,MAAM,CAAC,YAAY,CACjB,YAAY,EACZ;QACE,KAAK,EAAE,oBAAoB;QAC3B,WAAW,EACT,2FAA2F;YAC3F,8FAA8F;YAC9F,kFAAkF;YAClF,mFAAmF;YACnF,wEAAwE;QAC1E,WAAW,EAAE;YACX,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+DAA+D,CAAC;SACvG;KACF,EACD,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;QAClB,MAAM,IAAI,GAAG,CAAC,KAAK,IAAI,YAAY,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,YAAY,CAAA;QACxE,qCAAqC;QACrC,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,OAAO,CAAwC;YACpE,gBAAgB,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;SAC1D,CAAC,CAAA;QACF,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;YACvB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,qDAAqD,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,EAAE,CAAA;QAC9K,CAAC;QACD,MAAM,CAAC,GAAG,MAAM,EAAE,CAAA;QAClB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QACd,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QAC9D,OAAO,CAAC,CAAC,IAAI,GAAG,eAAe,EAAE,CAAC;YAChC,MAAM,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAe,CAAA;YAC9C,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QAClB,CAAC;QACD,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wBACnB,KAAK,EAAE,IAAI;wBACX,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;wBACnD,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;wBACrB,IAAI,EAAE,sDAAsD,IAAI,8BAA8B;qBAC/F,CAAC;iBACH,CAAC;SACH,CAAA;IACH,CAAC,CACF,CAAA;IAED,MAAM,CAAC,YAAY,CACjB,SAAS,EACT;QACE,KAAK,EAAE,oBAAoB;QAC3B,WAAW,EACT,8FAA8F;YAC9F,mGAAmG;YACnG,qDAAqD;QACvD,WAAW,EAAE;YACX,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0DAA0D,CAAC;SAClG;KACF,EACD,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;QAClB,MAAM,CAAC,GAAG,MAAM,EAAE,CAAA;QAClB,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACjB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,0EAA0E,EAAE,CAAC,EAAE,CAAC,EAAE,CAAA;QAC7K,CAAC;QACD,MAAM,IAAI,GACR,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YACvB,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QACxE,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACxB,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,wBAAwB,IAAI,IAAI,EAAE,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAA;QAC7J,CAAC;QACD,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;QAC1H,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wBACnB,QAAQ,EAAE,IAAI;wBACd,EAAE,EAAE,CAAC,CAAC,QAAQ,IAAI,EAAE;wBACpB,QAAQ,EAAE,CAAC,CAAC,QAAQ;wBACpB,IAAI,EAAE,iJAAiJ;qBACxJ,CAAC;iBACH,CAAC;SACH,CAAA;IACH,CAAC,CACF,CAAA;AACH,CAAC"}
@@ -74,7 +74,7 @@ controls.zoomToCursor = true
74
74
  controls.screenSpacePanning = true
75
75
  controls.rotateSpeed = 0.9
76
76
 
77
- let model = null // { bodies: [{ mesh, edges, sil, cands, inverse }], bounds }
77
+ let model = null // { parts: [{ group, edges, sil, cands, normalToLocal }], box, sphere }
78
78
  let showEdges = true
79
79
  let userMoved = false
80
80
  let needsRender = true
@@ -191,7 +191,7 @@ function setModel(data) {
191
191
  }
192
192
  holder.updateMatrixWorld(true)
193
193
  const box = data.bounds ? new THREE.Box3(new THREE.Vector3(...data.bounds.min), new THREE.Vector3(...data.bounds.max)) : new THREE.Box3().setFromObject(holder)
194
- model = { parts, box }
194
+ model = { parts, box, sphere: box.getBoundingSphere(new THREE.Sphere()) }
195
195
  silDirty = true
196
196
  needsRender = true
197
197
  }
@@ -266,6 +266,22 @@ function lens() {
266
266
  camera.updateProjectionMatrix()
267
267
  }
268
268
 
269
+ // The clip planes hold the part wherever the eye has gone, after a turn, a pan or a
270
+ // zoom: its sphere along the line of sight, twice over, so lines a little off the
271
+ // faces stay too. Fixed planes cut a big part away: a ship lies further from the eye
272
+ // than any fixed depth would reach.
273
+ const sight = new THREE.Vector3()
274
+ const toCenter = new THREE.Vector3()
275
+ function clip() {
276
+ if (!model) return
277
+ const { center, radius } = model.sphere
278
+ const depth = camera.getWorldDirection(sight).dot(toCenter.subVectors(center, camera.position))
279
+ const r = radius * 2 + 1
280
+ camera.near = depth - r
281
+ camera.far = depth + r
282
+ camera.updateProjectionMatrix()
283
+ }
284
+
269
285
  function resize() {
270
286
  const w = stage.clientWidth || 1, h = stage.clientHeight || 1
271
287
  renderer.setSize(w, h, false)
@@ -304,6 +320,7 @@ function loop() {
304
320
  updateSilhouettes(false)
305
321
  }
306
322
  drawTriad()
323
+ clip()
307
324
  renderer.render(scene, camera)
308
325
  }
309
326
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@classcad/mcp",
3
- "version": "0.2.0",
3
+ "version": "0.2.2",
4
4
  "mcpName": "io.github.awv-informatik/classcad",
5
5
  "description": "ClassCAD MCP server: build, verify and export 3D CAD parts and assemblies with the ClassCAD engine, running locally",
6
6
  "homepage": "https://classcad.ai",
@@ -45,7 +45,7 @@
45
45
  "dev": "tsc --watch",
46
46
  "start": "node dist/server.js",
47
47
  "clean": "node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"",
48
- "postbuild": "node --test test/emission.mjs test/daemon.mjs test/auth.mjs test/ofb-export.mjs",
48
+ "postbuild": "node --test test/emission.mjs test/daemon.mjs test/auth.mjs",
49
49
  "test": "npm run build && node test/emission-live.mjs && node --test test/wasm-live.mjs"
50
50
  },
51
51
  "dependencies": {