bernhard-42 / three-cad-viewer

A CAD viewer component based on three.js
MIT License
178 stars 29 forks source link

standalone electron build #18

Closed dvc94ch closed 3 months ago

dvc94ch commented 3 months ago

I know this is intended for use in jupyter which is then integrated into vscode, but seems like an electron build with hot reload would be nice for people that don't use vscode (like for example https://helix-editor.com/).

Wondering what the best way to support other editors would be. The LSP/DAP protocols are widely used and building it in something like https://docs.rs/three/latest/three/ would avoid having to bundle an entire browser. Is there a lot of vscode specific integration in your vscode plugin?

dvc94ch commented 3 months ago

Seems like an alternative would be to run it with deno, nodejs with webgpu support. Will try that tomorrow as it seems like the simplest way to get it working. Then the question remains if the vscode plugin can be turned into a language server / debug adapter.

bernhard-42 commented 3 months ago

You can just use OCP CAD Viewer in VS Code or Chromium as a viewer, not as an editor. The viewer actually listens to a websocket and the model can be sent to this websocket - even from command line or another editor. The Python command show of OCP CAD Viewer shows how to do that

The most important issue is to get your 3D object to the right format that the viewer needs. Depending on which 3D format you use, you need to convert it to the format for the viewer - and this is no standard format

For the Python and OCP based tools Cadquery or build123d this is done in ocp-tessellate.

dvc94ch commented 3 months ago

duh. why didn't I think of that, just hide the editor. will try that then. thanks!