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

# resolveViewEditCandidate

> Change a drag on an opening in a drawing into an edit command.

## Import

```typescript theme={null}
import { resolveViewEditCandidate, ViewEditCandidateError } from '@opengeometry/floorkit';
```

## Signature

```typescript theme={null}
function resolveViewEditCandidate(
  model: BuildingModel,
  frame: ViewFrame,
  sourceRef: DrawingSourceRef | undefined,
  drag: ViewDrag,
  constraint: {
    kind: 'along-host-wall';
  },
  built: BuildResult,
): BuildingEditCommand;
```

## Parameters

<ParamField path="model" type="BuildingModel" required />

<ParamField path="frame" type="ViewFrame" required />

<ParamField path="sourceRef" type="DrawingSourceRef | undefined" required />

<ParamField path="drag" type="ViewDrag" required />

<ParamField
  path="constraint"
  type="{
kind: 'along-host-wall';
}"
  required
/>

<ParamField path="built" type="BuildResult" required />

## Returns

```typescript theme={null}
BuildingEditCommand;
```

## ViewEditCandidateError

```typescript theme={null}
class ViewEditCandidateError extends Error {
  readonly code: ViewEditCandidateErrorCode;
  constructor(code: ViewEditCandidateErrorCode, message: string);
}
```

## Types

### ViewDrag

Drawing coordinates are right/down metres, independent of screen zoom.

```typescript theme={null}
interface ViewDrag {
  x: number;
  y: number;
}
```

### ViewEditCandidateErrorCode

```typescript theme={null}
type ViewEditCandidateErrorCode =
  | 'invalid-constraint'
  | 'invalid-source'
  | 'inspect-only'
  | 'stale-source'
  | 'unhosted-opening'
  | 'invalid-drag'
  | 'invalid-build'
  | 'invalid-view-frame'
  | 'foreshortened-axis'
  | 'off-axis-drag'
  | 'ambiguous-wall-edge';
```

## Related

* [`BuildingEditCommand`](/floorkit/api/editor/building-session#buildingeditcommand)
* [`BuildingModel`](/floorkit/api/architecture/validate-building-model#buildingmodel)
* [`BuildResult`](/floorkit/api/architecture/build-from-building-model#buildresult)
* [`DrawingSourceRef`](/floorkit/api/drawings/draw-project-view#drawingsourceref)
* [`ViewFrame`](/floorkit/api/drawings/drawing-helpers#viewframe)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.