> ## 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.

# prepareProjectPhysicalRasterViews

> Make the images of section and elevation views before an export.

## Import

```typescript theme={null}
import {
  prepareProjectPhysicalRasterViews,
  createProjectPhysicalRasterViewProvider,
  createProjectPhysicalRasterViewResolver,
  isProjectPhysicalRasterViewCurrent,
} from '@opengeometry/floorkit';
```

## Signature

```typescript theme={null}
function prepareProjectPhysicalRasterViews(
  project: ProjectFile,
  provider: PhysicalRasterViewProvider,
  options?: PrepareProjectRasterViewsOptions,
): Promise<RasterViewBatch>;
```

## Parameters

<ParamField path="project" type="ProjectFile" required />

<ParamField path="provider" type="PhysicalRasterViewProvider" required />

<ParamField path="options" type="PrepareProjectRasterViewsOptions">
  Default: `&#123;&#125;`.
</ParamField>

## Returns

```typescript theme={null}
Promise<RasterViewBatch>;
```

## createProjectPhysicalRasterViewProvider

Capture the saved physical frame with the application's renderer and restore renderer state.

```typescript theme={null}
function createProjectPhysicalRasterViewProvider(
  renderer: THREE.WebGLRenderer,
): PhysicalRasterViewProvider;
```

## createProjectPhysicalRasterViewResolver

Resolve raster intent, rejecting missing or stale content at each call.

```typescript theme={null}
function createProjectPhysicalRasterViewResolver(
  project: ProjectFile,
  batch?: RasterViewBatch,
  options?: ProjectRasterViewOptions,
): (viewId: string, viewport?: Viewport) => RasterDrawing | undefined;
```

## isProjectPhysicalRasterViewCurrent

Check model, saved view and asset identity; sheet placement does not stale pixels.

```typescript theme={null}
function isProjectPhysicalRasterViewCurrent(
  project: ProjectFile,
  viewId: string,
  batch: RasterViewBatch,
  options?: ProjectRasterViewOptions,
): boolean;
```

## Types

### PhysicalRasterViewProvider

Application supplied raster capture of a saved section or elevation.

```typescript theme={null}
type PhysicalRasterViewProvider = (
  request: PhysicalRasterViewRequest,
) => RasterViewImage | Promise<RasterViewImage>;
```

### PhysicalRasterViewRequest

Detached committed physical view inputs; providers render this snapshot.

```typescript theme={null}
interface PhysicalRasterViewRequest {
  buildingModel: Readonly<BuildingModel>;
  view: Readonly<SavedPhysicalView>;
  pixelWidth: number;
  pixelHeight: number;
  sourceKey: string;
  assetSources?: BuildOptions['assetSources'];
}
```

### SavedPhysicalView

```typescript theme={null}
type SavedPhysicalView = Extract<
  SavedDrawingView,
  {
    kind: 'section' | 'elevation';
  }
>;
```

## Related

* [`BuildingModel`](/floorkit/api/architecture/validate-building-model#buildingmodel)
* [`BuildOptions`](/floorkit/api/architecture/build-from-building-model#buildoptions)
* [`PrepareProjectRasterViewsOptions`](/floorkit/api/views/prepare-project-raster-views#prepareprojectrasterviewsoptions)
* [`ProjectFile`](/floorkit/api/exports/project-file#projectfile)
* [`ProjectRasterViewOptions`](/floorkit/api/views/prepare-project-raster-views#projectrasterviewoptions)
* [`RasterDrawing`](/floorkit/api/views/prepare-project-raster-views#rasterdrawing)
* [`RasterViewBatch`](/floorkit/api/views/prepare-project-raster-views#rasterviewbatch)
* [`RasterViewImage`](/floorkit/api/views/prepare-project-raster-views#rasterviewimage)
* [`SavedDrawingView`](/floorkit/api/drawings/sheet-documents#saveddrawingview)
* [`Viewport`](/floorkit/api/drawings/sheet-documents#viewport)


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