annotate
Place notes on a drawing sheet—clouds, highlights, text, callouts, arrows, bubbles, and dimensions—attached to finish tags to mark scope without affecting takeoff quantities.
Instructions
Place an annotation on a sheet — a note ABOUT the work, never a measurement of it. Types: cloud and highlight take rect:[[x0,y0],[x1,y1]] (a revision cloud around an area, a highlight box over it), text takes at:[x,y], callout takes at:[x,y] plus target:[x,y] (the point its leader aims at), arrow takes from:[x,y] and to:[x,y] (tail and head — plank/seam direction, the markup flooring drawings use most; #150), bubble takes at:[x,y] plus optional r (a keynote/detail circle carrying centered text), dimension takes from:[x,y] and to:[x,y] (its two measured endpoints) and labels itself with the length between them at the sheet's scale — drawn as a dimension line with end ticks and the measurement centered. A dimension states a REAL length, so it is the one annotation the scale gate applies to: on an unscaled sheet it refuses exactly like the measure tools (set_scale first) rather than dressing a px figure up as feet. It still touches no quantity — a dimension is a note about a distance, not a takeoff line item.
Pass condition to attach the note to a finish tag, which is what makes it part of that SCOPE rather than a floating remark: it then wears the condition's colour on the canvas and in the marked-set PDF, and travels with it into the report. The tag is minted on first touch like one_click/measure_polygon, so you can annotate CPT-1 before anything is traced for it. Omit condition for a note about the sheet itself.
No review gate: the pencil-not-ink rule exists to stop an agent inventing geometry, and a cloud reading "verify substrate" is not geometry. It touches no quantity. Coordinates are image px at render scale 2.0: PDF pt × 2, origin top-left, y down (the browser canvas's native space). Sheet payloads carry dims in both px and pt.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| r | No | Bubble radius (image px); omitted → the canvas default (2% of sheet width) | |
| at | No | Anchor point (image px) — text, callout, and bubble (the circle's center) | |
| to | No | Arrow head / dimension end (image px) | |
| from | No | Arrow tail / dimension start (image px) | |
| rect | No | Corners (image px) — cloud and highlight | |
| text | No | The note. A cloud with no text still reads as 'look here'; a bubble's text draws centered in the circle; a dimension appends it after the measured length | |
| type | Yes | cloud/highlight need rect; text/callout/bubble need at; callout also needs target; arrow and dimension need from + to | |
| sheet | Yes | Sheet name or number, as sheet_info reports it | |
| target | No | What a callout's leader line points at (image px) | |
| condition | No | Finish tag to attach this note to, e.g. 'CPT-1' (minted on first use). Omit for an unattached sheet note |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| note | Yes | ||
| text | Yes | ||
| type | Yes | ||
| sheet | Yes | ||
| condition | Yes | ||
| length_lf | No | Dimension only: the measured length (real feet) the annotation will label itself with | |
| condition_id | Yes |