How exmachina100/witness-3d works
Witness 3D is a direct-modeling CAD application built around exact OpenCascade geometry, with browser and Tauri desktop front ends. The main workflow is selecting or drawing geometry, previewing and committing modeling operations, then organizing and saving the document or exporting it. The map preserves the documented curve, surface, solid, and interoperability capabilities. Some web and desktop wiring is unsampled; those relationships are omitted or marked unverified rather than inferred from names alone.
Main entry points: document.rs Document · LocalBackend.js Local Backend · App.js Web App · main.js Desktop UI
Components 24
Modeling UI
- Desktop UI
apps/desktop/ui/main.js - Web App
web/src/app/App.js - AI Commands
web/src/app/ai.js
Browser Modeling
- Local Backend
web/src/app/LocalBackend.js - Web Kernel
web/src/Kernel.js - Curve Forms
web/src/Forms.js - Surface Patch
web/src/Patch.js - Curve Editing
web/src/curveEdit.js - Curve Geometry
web/src/curves.js - Project Operations
web/src/Project.js
Geometry Core
- Model Engine
crates/w3d-kernel/src/engine.rs - Document
crates/w3d-kernel/src/document.rs - Extrusion
crates/w3d-kernel/src/extrude.rs - Form Operations
crates/w3d-kernel/src/form.rs - Fillet Chamfer
crates/w3d-kernel/src/blend.rs - Join Operations
crates/w3d-kernel/src/join.rs - Solid Operations
crates/w3d-kernel/src/solids.rs - W3D Files
crates/w3d-kernel/src/file.rs
Desktop Services
- Desktop API
apps/desktop/src-tauri/src/api.rs - Live Link Bridge
apps/desktop/src-tauri/src/bridge.rs
External Integrations
- Blender Add-on
tools/blender/witness3d_bridge.py - Cinema 4D Plugin
tools/cinema4d/Witness3DBridge/w3d_link.py
Other components
- CAD User
- Claude Service
Connections 28
- CAD User → Desktop UI: models in
README.md - CAD User → Web App: models in
README.md - Desktop UI → Web App: mounts
apps/desktop/ui/main.js - Desktop UI → Desktop API: invokes
apps/desktop/ui/main.js - Web App → Local Backend: uses
- Local Backend → Web Kernel: calls
web/src/app/LocalBackend.js - Local Backend → Curve Forms: uses
web/src/app/LocalBackend.js - Local Backend → Surface Patch: uses
web/src/app/LocalBackend.js - Local Backend → Project Operations: uses
web/src/app/LocalBackend.js - Curve Forms → Web Kernel: calls
web/src/Forms.js - Surface Patch → Web Kernel: calls
web/src/Patch.js - Curve Forms → Curve Geometry: uses
web/src/Forms.js - Curve Editing → Curve Geometry: uses
web/src/curveEdit.js - Web App → AI Commands: offers
- AI Commands → Claude Service: requests commands
README.md - Desktop API → Model Engine: dispatches model calls
- Model Engine → Document: runs jobs on
crates/w3d-kernel/src/engine.rs - Desktop API → Document: accesses
apps/desktop/src-tauri/src/api.rs - Document → Extrusion: uses
crates/w3d-kernel/src/document.rs - Document → Form Operations: uses
crates/w3d-kernel/src/document.rs - Document → Fillet Chamfer: uses
crates/w3d-kernel/src/document.rs - Document → Join Operations: uses
crates/w3d-kernel/src/document.rs - Document → Solid Operations: uses
crates/w3d-kernel/src/document.rs - Document → W3D Files: persists as
README.md - Live Link Bridge → Blender Add-on: streams meshes
apps/desktop/src-tauri/src/bridge.rs - Live Link Bridge → Cinema 4D Plugin: streams meshes
apps/desktop/src-tauri/src/bridge.rs - CAD User → Blender Add-on: installs add-on
README.md - CAD User → Cinema 4D Plugin: installs plugin
README.md