declare_intent
Record a part's functional invariants—watertightness, airtight paths, required faces—so edits can be re-checked for violations.
Instructions
Record the functional invariants a part must keep satisfying, so they can be re-checked after every edit (see verify_intent). Persists in the .FCStd as a JSON property bag (AD_Intent); one contract per part — re-declaring replaces.
handle: the part. contract: a dict with any of these (declare at least one): watertight (bool) require check_shape's watertight_solid verdict. airtight_path (dict) {inlet, outlet, min_aperture_mm2?}; each port is a face tag / 'FaceN' / int / declared role-or-name. required_faces (list) face tags / 'FaceN' / declared role-or-names that must still resolve (catches a deleted/drifted face).
Returns {handle, contract} — the stored contract.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| handle | Yes | ||
| contract | Yes |