derive_base
Turn room perimeters into wall base takeoff quantities by deducting stated door openings, committing net linear footage per room.
Instructions
Mint the wall base from committed rooms (#148) — the estimator's most mechanical derivation: base LF = room perimeter − stated door openings. For every floor_area shape of source_condition, commits ONE linear shape under condition (e.g. 'RB-1') tracing that room's boundary, quantified NET of the openings you state per room. The openings are YOUR claim to make — look at the doors with view_sheet, state {shape_id, lf} per room (repeat a shape_id to stack openings); the tool never guesses, and your claim is recorded on origin.derived (from_shape_id, gross_lf, openings_lf). All-or-nothing: an unknown shape_id, a negative lf, or openings meeting a room's whole perimeter refuses the call before anything commits. The whole derivation is ONE undo step. Deriving onto the source condition is refused — base lands on its own tag.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| openings | No | Stated openings per room — omit for gross perimeters | |
| condition | Yes | Finish tag the base commits under (minted on first use), e.g. 'RB-1' | |
| source_condition | Yes | Finish tag whose floor_area rooms the base derives from, e.g. 'CPT-1' |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| note | Yes | ||
| rooms | Yes | ||
| total_lf | Yes | Sum of net_lf across rooms | |
| committed | Yes | ||
| condition | Yes | The tag the base committed under | |
| source_condition | Yes |