33 lines
1.9 KiB
Markdown
33 lines
1.9 KiB
Markdown
# 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
|
|
|
|
```bash
|
|
./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](docs/project-runtime.zh-CN.md) for recovery and CI rules.
|
|
|
|
Build verification:
|
|
|
|
```bash
|
|
./npmw run verify
|
|
```
|
|
|
|
The locked FreeCAD `1.1.1` source build and desktop-oracle replay workflow is documented in [docs/freecad-baseline-and-golden.zh-CN.md](docs/freecad-baseline-and-golden.zh-CN.md). All project Node commands in that workflow use `./npmw`.
|
|
|
|
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.
|