sheet_graph
Builds a complete index of the plan set—sheet roles, schedules, room tags, callouts, building designators—so agents can decide what to measure without manual enumeration.
Instructions
The plan-set INDEX (#87): every sheet's role (plan / schedule / legend / …, with confidence and the title evidence), the schedule tables found (kind, row count, region — a schedule CONTINUED across sheets ("… SCHEDULE — CONT'D") reads as ONE table, the continuation fragment naming its base in "continues"; rotated column headers are read at their quarter-turn and flagged), every room tag on the plan sheets (with the stacked room NAME when one exists, and the room's BUILDING on multi-building sets), the detail callouts (3/A-601 → sheet edges), the set's building designators, and named indexing gaps in "notes". Built once per document from the text layer and cached. This is how an agent decides WHAT to measure without a human enumerating the rooms: list the rooms here, resolve each with resolve_tag, then measure with one_click/detect_rooms. A scanned set (no text layer) returns available: false — unavailable, never half-populated. 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 |
|---|---|---|---|
No arguments | |||
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| notes | No | Named gaps found while indexing (e.g. a continuation whose rows could not be aligned) — the graph refuses silently dropping anything | |
| rooms | Yes | Room tags read off plan-role sheets — schedule sheets contribute rows, never phantom rooms | |
| counts | Yes | ||
| sheets | Yes | ||
| callouts | Yes | Detail callouts (3/A-601) — edges to their target sheets | |
| available | Yes | false = the set has no text layer (a scan) — the graph degrades to unavailable, never half-populates | |
| buildings | No | Every building designator the set names (sorted) — present only on multi-building-aware sets. Room numbers reused across these need qualified tags ('A-134') |