# `ExportOptions`

> Contract 2.0.0 · package sha256 `a857eca95b35921109faf997094bb4192f12527d9d0fcd4be7e97f06425bad6e` · generated from `configurator-runtime.d.ts` by `services/onsite-scripter/scripts/build-contract-docs.mjs`; edit the source, not this file.

Interface · `import type { ExportOptions } from '@holostep-configurators/runtime-client/contract';` · stable · since 2.0.0 · section 16. Capture, export, AR

What [`export`](Session.export.md) takes.

## Members

| Member | Kind | Summary |
| --- | --- | --- |
| <a id="format"></a>[`format`](ExportOptions.format.md) | property | 'glb' for Android and the web; 'usdz' for iOS Quick Look. |
| <a id="query"></a>[`query?`](ExportOptions.query.md) | property | The parts to export. |
| <a id="includehidden"></a>[`includeHidden?`](ExportOptions.includeHidden.md) | property | false: only the parts visible on the copy after `prepare`. |
| <a id="maxtexturesize"></a>[`maxTextureSize?`](ExportOptions.maxTextureSize.md) | property | The longest texture side written, in pixels; a larger map is scaled down to it (spec section 5.11). |
| <a id="arquicklook"></a>[`arQuickLook?`](ExportOptions.arQuickLook.md) | property | 'usdz' only: writes each texture's offset and repeat the way iOS Quick Look misreads them, so a tiled or offset map (a woven fabric) shows in Quick Look about where the canvas draws it; off, they are written as the USD… |
| <a id="prepare"></a>[`prepare?`](ExportOptions.prepare.md) | function property | Edit a detached copy first (rest pose, simple glass, export opacities). |
| <a id="signal"></a>[`signal?`](ExportOptions.signal.md) | property | Aborting rejects AbortError. |

## Declaration

```ts
export interface ExportOptions {
  format: 'glb' | 'usdz';
  query?: Query;
  includeHidden?: boolean;
  maxTextureSize?: number;
  arQuickLook?: boolean;
  prepare?: (copy: Collection) => void | Promise<void>;
  signal?: AbortSignal;
}
```

## Generic-API test (spec 3.1)

| Rule | Result |
| --- | --- |
| 1. Neutral name | pass: `ExportOptions` names no product |
| 2. A precedent | not recorded: no ledger row (coverage.json) names this member or its owner |
| 3. Two apps, or labs | pass: 8 apps (fleet cross-check: app-4f16d2f6da, app-510d750508, app-59c5b5751e, app-ceb4eccc72, app-e61a0b42ad, app-f07e9033d9, app-fb16dd1985, app-fc07850558) |
| 4. The cheaper fix first | not recorded per member (Appendix B decides it per need) |
