annotate
Add revision clouds, callouts, arrows, bubbles, and dimensions to plan sheets. Attach notes to finish tags so they become part of the scope and appear in the report.
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 |