How cossoledad/occccad works
occccad is an early-stage cloud CAD platform. The main user workflow runs from the browser CAD workbench through the Go API and workspace domain logic to the Geometry Worker and C++ kernel, returning model and visualization results to the viewport. Separate branches cover document exchange and persistent jobs, account/access control, assembly engineering and motion presentation, and durable database/artifact storage. The README documents the overall service flow; sampled source gives more specific evidence for viewport, input/navigation and worker relationships. Unsampled subsystem links are omitted where wiring is not established.
Main entry points: server.go Go API · cad-viewport-engine.ts 3D viewport · app.tsx CAD workbench · main.cpp Geometry Worker
Components 24
Browser CAD
- CAD workbench
web/apps/cad/src/app/app.tsx - 3D viewport
web/apps/cad/src/viewport/cad-viewport-engine.ts - Input handling
web/apps/cad/src/cad/input/input-manager.ts - Input contracts
web/apps/cad/src/cad/input/input-types.ts - View navigation
web/apps/cad/src/cad/navigation/navigation-controller.ts - Camera rig
web/apps/cad/src/cad/navigation/camera-rig.ts - Sketch editing
web/apps/cad/src/cad/sketch/sketch-edit-preview.ts - Sketch input
web/apps/cad/src/cad/sketch/sketch-modal-input.ts - Assembly engineering
web/apps/cad/src/cad/assembly/assembly-engineering-state.ts - Motion presentation
web/apps/cad/src/cad/assembly/motion-presentation.ts - Motion markers
web/apps/cad/src/cad/assembly/motion-markers.ts - Analysis guides
web/apps/cad/src/cad/rendering/analysis-guides.ts - Web API client
web/apps/cad/src/api/client.ts
API and domains
- Go API
services/internal/api/server.go - Model workspace
services/internal/workspace - Accounts and ACL
services/internal/access/service.go - Persistent jobs
services/internal/jobs/service.go - Geometry client
services/internal/geometry/client.go
Geometry compute
- Geometry Worker
workers/geometry/src/main.cpp - Naming artifacts
workers/geometry/src/naming_artifact.hpp - OCCT kernel
kernel/occt/src/occt_kernel.cpp
Persistence
- Database
services/internal/database - Artifact storage
services/internal/artifact
Other components
- CAD user
Connections 22
- CAD user → CAD workbench: edits models
README.md - CAD workbench → 3D viewport: presents model
README.md - CAD workbench → Web API client: requests services
README.md - Input handling → Input contracts: uses contracts
web/apps/cad/src/cad/input/input-manager.ts - 3D viewport → View navigation: controls view
web/apps/cad/src/viewport/cad-viewport-engine.ts - View navigation → Camera rig: configures rig
web/apps/cad/src/cad/navigation/navigation-controller.ts - 3D viewport → Sketch editing: uses preview
web/apps/cad/src/viewport/cad-viewport-engine.ts - 3D viewport → Sketch input: uses input
web/apps/cad/src/viewport/cad-viewport-engine.ts - Motion presentation → Assembly engineering: uses evidence
web/apps/cad/src/cad/assembly/motion-presentation.ts - Motion markers → Motion presentation: renders motion
web/apps/cad/src/cad/assembly/motion-markers.ts - Motion markers → Analysis guides: creates guides
web/apps/cad/src/cad/assembly/motion-markers.ts - Web API client → Go API: calls API
README.md - Go API → Model workspace: orchestrates modeling
README.md - Go API → Accounts and ACL: handles access
README.md - Go API → Persistent jobs: manages jobs
README.md - Model workspace → Geometry client: requests geometry
README.md - Geometry client → Geometry Worker: sends geometry RPCs
services/internal/geometry/client.go - Geometry Worker → OCCT kernel: invokes kernel
workers/geometry/src/main.cpp - Geometry Worker → Naming artifacts: uses naming artifacts
workers/geometry/src/main.cpp - Go API → Database: persists records
README.md - Go API → Artifact storage: stores artifacts
README.md - Persistent jobs → Artifact storage: processes exchanges
README.md