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.