> Development branch documentation · commit 327c05c78d2f528e4f4a679fcc7a77d9aa161f48
> Package versions: @zenfg/webgpu 0.1.0, @zenfg/snapshot 0.1.0, @zenfg/inspector 0.1.0, zenfg 0.1.0, zenfg-snapshot 0.1.0
> Source: https://github.com/uinosoft/zenfg/blob/327c05c78d2f528e4f4a679fcc7a77d9aa161f48/packages/webgpu/src/types.ts#L1141

[ZenFG TypeScript API](/zenfg/docs/api/index.md) / [webgpu](/zenfg/docs/api/webgpu/index.md) / [root](/zenfg/docs/api/webgpu/root/index.md) / CompiledFrameExecuteOptions

# Type Alias: CompiledFrameExecuteOptions

> **CompiledFrameExecuteOptions** = `object`

Defined in: [packages/webgpu/src/types.ts:1141](https://github.com/uinosoft/zenfg/blob/327c05c78d2f528e4f4a679fcc7a77d9aa161f48/packages/webgpu/src/types.ts#L1141)

**`Beta`**

Optional per-execution hooks and diagnostic identity supplied to
[CompiledFrame.execute](/zenfg/docs/api/webgpu/root/interfaces/CompiledFrame.md#execute).

Recording and compilation of another frame remain valid during these hooks.
Recursive execution, pool clearing, and runtime destruction are rejected.

## Properties

### afterSubmit?

> `readonly` `optional` **afterSubmit?**: [`SynchronousCallback`](/zenfg/docs/api/webgpu/root/type-aliases/SynchronousCallback.md)\<[`CompiledFrameAfterSubmitContext`](/zenfg/docs/api/webgpu/root/type-aliases/CompiledFrameAfterSubmitContext.md)\>

Defined in: [packages/webgpu/src/types.ts:1168](https://github.com/uinosoft/zenfg/blob/327c05c78d2f528e4f4a679fcc7a77d9aa161f48/packages/webgpu/src/types.ts#L1168)

Runs after queue submission and before transient resources are released
back to the pool. This callback must complete synchronously and return
`undefined`; FrameGraph does not await it.

***

### beforeSubmit?

> `readonly` `optional` **beforeSubmit?**: [`SynchronousCallback`](/zenfg/docs/api/webgpu/root/type-aliases/SynchronousCallback.md)\<[`CompiledFrameSubmitContext`](/zenfg/docs/api/webgpu/root/type-aliases/CompiledFrameSubmitContext.md)\>

Defined in: [packages/webgpu/src/types.ts:1162](https://github.com/uinosoft/zenfg/blob/327c05c78d2f528e4f4a679fcc7a77d9aa161f48/packages/webgpu/src/types.ts#L1162)

Records caller-owned commands after graph nodes have been encoded and
before the command buffer is finished and submitted. This callback must
complete synchronously and return `undefined`; FrameGraph does not await it.

***

### frameIndex?

> `readonly` `optional` **frameIndex?**: `number`

Defined in: [packages/webgpu/src/types.ts:1148](https://github.com/uinosoft/zenfg/blob/327c05c78d2f528e4f4a679fcc7a77d9aa161f48/packages/webgpu/src/types.ts#L1148)

Logical frame identifier used by callbacks and GPU timing reports. It must
be a non-negative safe integer.

#### Default Value

`0`

***

### gpuDebugGroups?

> `readonly` `optional` **gpuDebugGroups?**: `boolean`

Defined in: [packages/webgpu/src/types.ts:1156](https://github.com/uinosoft/zenfg/blob/327c05c78d2f528e4f4a679fcc7a77d9aa161f48/packages/webgpu/src/types.ts#L1156)

Emits retained recording groups through WebGPU debug commands. Groups are
balanced independently per FrameGraph-owned execution segment; opaque
external submissions are not wrapped.

#### Default Value

`false`
