Files
Web_FreeCAD_Bitbybit/README.md

1.6 KiB

Web FreeCAD BitBybit

FreeCAD-aligned web CAD frontend baseline for the BitBybit runtime boundary.

Current scope

  • React + Vite frontend shell
  • Three.js 0.185.1 is pinned for the internal Viewport Adapter; React does not import Three.js directly.
  • FreeCAD-style application menus, workbench navigation, Combo View, Task Dock, viewport and Report view
  • Machine-readable workbench and command manifest in src/freecadManifest.ts
  • Chinese implementation plan in docs/web-cad-implementation-plan.zh-CN.md

The current milestone is a facade-first integration slice. Part Design document transactions and history are executable in the mock domain adapter; the internal SQLite WASM + OPFS Persistence Worker, schema and in-memory fallback are bundled behind facade.project. FreeCAD/OCCT geometry, solver behavior, FCStd interoperability and full workbench semantics remain staged behind the documented P3-P7 gates.

Development

./npmw install
./npmw run dev

The repository uses a project-local, checksum-verified Node.js 22.23.2 runtime and npm 10.9.8. The wrapper downloads it to the ignored .runtime/ directory and never changes /usr/bin/node; this removes the engine warning caused by running npm with an older system Node. ./nodew runs the same pinned Node directly. See docs/project-runtime.zh-CN.md for recovery and CI rules.

Build verification:

./npmw run verify

The SQLite OPFS worker requires cross-origin isolation headers. Vite dev and preview apply Cross-Origin-Opener-Policy: same-origin and Cross-Origin-Embedder-Policy: require-corp; deployments must preserve them.