> ## Documentation Index
> Fetch the complete documentation index at: https://docs.bedrock.cv/llms.txt
> Use this file to discover all available pages before exploring further.

# Compare

> Trigger async drawing comparison between revisions.

Trigger an asynchronous comparison between two drawings. The system matches sheets between the drawings, generates overlays for each matched block pair, and detects changes and clashes. Returns a `job_id` for polling.

## When to Use

* Compare two revisions of the same drawing set (e.g., Rev A vs Rev B)
* Detect cross-discipline clashes between structural and mechanical drawings
* The user asks "what changed" between drawing versions

<Warning>
  Comparison is an async operation that consumes credits. It may take seconds to minutes depending on the number of sheets. Use [`PollJob`](/mcp/tools/get-job) to poll for completion.
</Warning>

## Parameters

| Parameter      | Type   | Required | Description                                   |
| -------------- | ------ | -------- | --------------------------------------------- |
| `project_id`   | string | yes      | Project scope                                 |
| `drawing_a_id` | string | yes      | First drawing (typically the older revision)  |
| `drawing_b_id` | string | yes      | Second drawing (typically the newer revision) |

## Response

```json theme={null}
{
  "job_id": "job_cmp_01",
  "status": "queued"
}
```

| Field    | Type   | Description                                             |
| -------- | ------ | ------------------------------------------------------- |
| `job_id` | string | Use with [`PollJob`](/mcp/tools/get-job) to poll status |
| `status` | string | Initial status, always `"queued"`                       |

## Workflow

<Steps>
  <Step title="Identify the drawings">
    Use [`Query`](/mcp/tools/query) with `entity: "sheet"` to find sheets and their parent drawing IDs. Filter by discipline or search by name.
  </Step>

  <Step title="Trigger comparison">
    Call `Compare` with both drawing IDs. Note the returned `job_id`.
  </Step>

  <Step title="Poll for completion">
    Call [`PollJob`](/mcp/tools/get-job) with the `job_id`. The job progresses through `queued` > `started` > `completed`.
  </Step>

  <Step title="Inspect results">
    Once complete, use [`Query`](/mcp/tools/query) with `entity: "block"` and `include: ["overlays", "changes"]` on the compared blocks to get detailed change descriptions.
  </Step>
</Steps>

## Example

### Compare architectural revisions

First, find the drawings:

```json theme={null}
// Query
{
  "entity": "sheet",
  "project_id": "proj_oak",
  "discipline": "A"
}
// Response includes sheets from both "Arch Set Rev A" (dr_arch_a)
// and "Arch Set Rev B" (dr_arch_b)
```

Then trigger the comparison:

```json theme={null}
// Compare
{
  "project_id": "proj_oak",
  "drawing_a_id": "dr_arch_a",
  "drawing_b_id": "dr_arch_b"
}
```

```json theme={null}
// Response
{
  "job_id": "job_cmp_01",
  "status": "queued"
}
```

## Related Tools

* [`PollJob`](/mcp/tools/get-job) - Poll the comparison job for status and results
* [`Query`](/mcp/tools/query) - Find drawings and their IDs before comparing, fetch change and clash details after
* [`ViewImage`](/mcp/tools/get-image) - View overlay images showing additions and deletions
