35 lines
1.6 KiB
Markdown
35 lines
1.6 KiB
Markdown
# HiCAD Official Source Extensions
|
|
|
|
This directory contains the local HiCAD extension layer applied on top of the
|
|
reviewed official `KittyCAD/modeling-app` source.
|
|
|
|
## Manufacturing extension
|
|
|
|
- `HicadManufacturingPanel.tsx` integrates engine measurements, reversible
|
|
exploded views, BOM editing, CSV export, snapshots, and printable production
|
|
sheets.
|
|
- `HicadManufacturingLauncher.tsx` lazy-loads the extension only after the user
|
|
clicks **工程出图** and contains a dedicated error boundary, so an extension
|
|
failure cannot take down the official HiCAD editor.
|
|
- `manufacturing.ts` contains the engine-independent geometry, BOM, and report
|
|
generation logic.
|
|
- `scripts/vendor-zoo-modeling-app.mjs` copies both files into the official
|
|
source and registers the panel once in `OpenedProject.tsx`.
|
|
|
|
The official source is otherwise left unchanged. The registration uses strict
|
|
source anchors: if a future official release moves the integration point, the
|
|
vendor build stops with `Official source changed; patch failed` instead of
|
|
silently dropping the feature.
|
|
|
|
## Updating the official source
|
|
|
|
1. Set `ZOO_MODELING_APP_REF` to the reviewed official commit.
|
|
2. Run `pnpm zoo-modeling-app:vendor`.
|
|
3. Run the HiCAD helper tests and the official source TypeScript check.
|
|
4. Verify model analysis, explode/restore, BOM export, and A3 print output before
|
|
deployment.
|
|
|
|
Models must contain at least two independent bodies for a true exploded view.
|
|
A single boolean-fused body can still produce dimensions and a one-row BOM but
|
|
cannot be separated without changing its CAD construction.
|