/** * Bill of Materials module — public API. * * Pure logic: * computeBom(parts) -> Bom (line items, cut lists, costs) * bomToCsv(bom) -> sectioned CSV string * bomToText(bom) -> printable plain-text shopping list * downloadBomCsv(bom, name) -> trigger a browser .csv download * * UI: * -> self-contained drawer reading useBuilder * * Formatting helpers (used by the panel, exported for reuse): * formatDiameter, formatInches, formatMoney */ export { computeBom, formatDiameter, formatInches, formatMoney } from './computeBom'; export { bomToCsv, bomToText, downloadBomCsv } from './csv'; export { downloadBomPdf } from './pdf'; export { BomPanel } from './BomPanel'; export type { Bom, BomLine, CutList, CutStick, CategorySubtotal } from './types';