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

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

# Interface: FrameGraphRecorder

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

Application-facing single-use ordered recording object.

## Extends

- [`FrameGraphRecording`](/zenfg/docs/api/webgpu/root/interfaces/FrameGraphRecording.md)

## Methods

### clearBuffer()

> **clearBuffer**(`desc`): `void`

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

Declares inferred-access buffer clears.

#### Parameters

##### desc

[`ClearBufferNodeDesc`](/zenfg/docs/api/webgpu/root/type-aliases/ClearBufferNodeDesc.md)

#### Returns

`void`

#### Inherited from

[`FrameGraphRecording`](/zenfg/docs/api/webgpu/root/interfaces/FrameGraphRecording.md).[`clearBuffer`](/zenfg/docs/api/webgpu/root/interfaces/FrameGraphRecording.md#clearbuffer)

***

### command()

> **command**(`desc`): `void`

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

Declares caller-defined commands encoded into a FrameGraph-owned segment.

#### Parameters

##### desc

[`CommandNodeDesc`](/zenfg/docs/api/webgpu/root/type-aliases/CommandNodeDesc.md)

#### Returns

`void`

#### Inherited from

[`FrameGraphRecording`](/zenfg/docs/api/webgpu/root/interfaces/FrameGraphRecording.md).[`command`](/zenfg/docs/api/webgpu/root/interfaces/FrameGraphRecording.md#command)

***

### compile()

#### Call Signature

> **compile**(): [`CompiledFrame`](/zenfg/docs/api/webgpu/root/interfaces/CompiledFrame.md)

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

Consumes this recorder and resolves ordered logical values into a compact,
conditionally re-executable payload.

##### Returns

[`CompiledFrame`](/zenfg/docs/api/webgpu/root/interfaces/CompiledFrame.md)

##### Remarks

The recorder is consumed atomically even when compilation fails.

##### Throws

If declarations are inconsistent or invalid, a debug group remains
open, the runtime was destroyed, or this recorder was already consumed.

#### Call Signature

> **compile**(`options`): [`CompiledFrame`](/zenfg/docs/api/webgpu/root/interfaces/CompiledFrame.md)

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

##### Parameters

###### options

###### report?

`false`

##### Returns

[`CompiledFrame`](/zenfg/docs/api/webgpu/root/interfaces/CompiledFrame.md)

#### Call Signature

> **compile**(`options`): [`CompiledFrameWithReport`](/zenfg/docs/api/webgpu/root/interfaces/CompiledFrameWithReport.md)

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

Consumes this recorder and also returns a callback-free diagnostic snapshot.

##### Parameters

###### options

###### report

`true`

##### Returns

[`CompiledFrameWithReport`](/zenfg/docs/api/webgpu/root/interfaces/CompiledFrameWithReport.md)

***

### compute()

> **compute**(`desc`): `void`

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

Declares a compute-pass node.

#### Parameters

##### desc

[`ComputePassNodeDesc`](/zenfg/docs/api/webgpu/root/type-aliases/ComputePassNodeDesc.md)

#### Returns

`void`

#### Inherited from

[`FrameGraphRecording`](/zenfg/docs/api/webgpu/root/interfaces/FrameGraphRecording.md).[`compute`](/zenfg/docs/api/webgpu/root/interfaces/FrameGraphRecording.md#compute)

***

### copy()

> **copy**(`desc`): `void`

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

Declares inferred-access copy operations.

#### Parameters

##### desc

[`CopyNodeDesc`](/zenfg/docs/api/webgpu/root/type-aliases/CopyNodeDesc.md)

#### Returns

`void`

#### Inherited from

[`FrameGraphRecording`](/zenfg/docs/api/webgpu/root/interfaces/FrameGraphRecording.md).[`copy`](/zenfg/docs/api/webgpu/root/interfaces/FrameGraphRecording.md#copy)

***

### createBuffer()

> **createBuffer**(`desc`): [`BufferHandle`](/zenfg/docs/api/webgpu/root/type-aliases/BufferHandle.md)

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

Registers a transient buffer owned by this recording.

#### Parameters

##### desc

[`BufferDesc`](/zenfg/docs/api/webgpu/root/type-aliases/BufferDesc.md)

#### Returns

[`BufferHandle`](/zenfg/docs/api/webgpu/root/type-aliases/BufferHandle.md)

#### Inherited from

[`FrameGraphRecording`](/zenfg/docs/api/webgpu/root/interfaces/FrameGraphRecording.md).[`createBuffer`](/zenfg/docs/api/webgpu/root/interfaces/FrameGraphRecording.md#createbuffer)

***

### createTexture()

> **createTexture**(`desc`): [`TextureHandle`](/zenfg/docs/api/webgpu/root/type-aliases/TextureHandle.md)

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

Registers a transient texture owned by this recording.

#### Parameters

##### desc

[`TextureDesc`](/zenfg/docs/api/webgpu/root/type-aliases/TextureDesc.md)

#### Returns

[`TextureHandle`](/zenfg/docs/api/webgpu/root/type-aliases/TextureHandle.md)

#### Remarks

The descriptor is snapshotted and physical allocation is deferred
until execution.

#### Throws

If the descriptor is invalid, or the runtime/recorder is unusable.

#### Inherited from

[`FrameGraphRecording`](/zenfg/docs/api/webgpu/root/interfaces/FrameGraphRecording.md).[`createTexture`](/zenfg/docs/api/webgpu/root/interfaces/FrameGraphRecording.md#createtexture)

***

### createTextureView()

> **createTextureView**(`texture`, `desc?`): [`TextureViewHandle`](/zenfg/docs/api/webgpu/root/type-aliases/TextureViewHandle.md)

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

Creates a logical view whose subresource selection participates in dependencies.

#### Parameters

##### texture

[`TextureHandle`](/zenfg/docs/api/webgpu/root/type-aliases/TextureHandle.md)

##### desc?

[`TextureViewDesc`](/zenfg/docs/api/webgpu/root/type-aliases/TextureViewDesc.md)

#### Returns

[`TextureViewHandle`](/zenfg/docs/api/webgpu/root/type-aliases/TextureViewHandle.md)

#### Inherited from

[`FrameGraphRecording`](/zenfg/docs/api/webgpu/root/interfaces/FrameGraphRecording.md).[`createTextureView`](/zenfg/docs/api/webgpu/root/interfaces/FrameGraphRecording.md#createtextureview)

***

### externalSubmission()

> **externalSubmission**(`desc`): `void`

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

Declares an opaque caller-owned submission node; retained nodes split
execution segments.

#### Parameters

##### desc

[`ExternalSubmissionNodeDesc`](/zenfg/docs/api/webgpu/root/type-aliases/ExternalSubmissionNodeDesc.md)

#### Returns

`void`

#### Remarks

The callback is an ordering boundary, not a GPU-completion fence.

#### Inherited from

[`FrameGraphRecording`](/zenfg/docs/api/webgpu/root/interfaces/FrameGraphRecording.md).[`externalSubmission`](/zenfg/docs/api/webgpu/root/interfaces/FrameGraphRecording.md#externalsubmission)

***

### getBufferDesc()

> **getBufferDesc**(`handle`): `Readonly`\<[`BufferDesc`](/zenfg/docs/api/webgpu/root/type-aliases/BufferDesc.md)\>

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

Returns snapshotted metadata for a buffer owned by this recording.

#### Parameters

##### handle

[`BufferHandle`](/zenfg/docs/api/webgpu/root/type-aliases/BufferHandle.md)

#### Returns

`Readonly`\<[`BufferDesc`](/zenfg/docs/api/webgpu/root/type-aliases/BufferDesc.md)\>

#### Inherited from

[`FrameGraphRecording`](/zenfg/docs/api/webgpu/root/interfaces/FrameGraphRecording.md).[`getBufferDesc`](/zenfg/docs/api/webgpu/root/interfaces/FrameGraphRecording.md#getbufferdesc)

***

### getTextureDesc()

> **getTextureDesc**(`handle`): `Readonly`\<[`TextureDesc`](/zenfg/docs/api/webgpu/root/type-aliases/TextureDesc.md)\>

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

Returns snapshotted metadata for a texture owned by this recording.

#### Parameters

##### handle

[`TextureHandle`](/zenfg/docs/api/webgpu/root/type-aliases/TextureHandle.md)

#### Returns

`Readonly`\<[`TextureDesc`](/zenfg/docs/api/webgpu/root/type-aliases/TextureDesc.md)\>

#### Inherited from

[`FrameGraphRecording`](/zenfg/docs/api/webgpu/root/interfaces/FrameGraphRecording.md).[`getTextureDesc`](/zenfg/docs/api/webgpu/root/interfaces/FrameGraphRecording.md#gettexturedesc)

***

### getTextureViewDesc()

> **getTextureViewDesc**(`handle`): `Readonly`\<[`NormalizedTextureViewDesc`](/zenfg/docs/api/webgpu/root/type-aliases/NormalizedTextureViewDesc.md)\>

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

Returns normalized metadata for a logical texture view.

#### Parameters

##### handle

[`TextureViewHandle`](/zenfg/docs/api/webgpu/root/type-aliases/TextureViewHandle.md)

#### Returns

`Readonly`\<[`NormalizedTextureViewDesc`](/zenfg/docs/api/webgpu/root/type-aliases/NormalizedTextureViewDesc.md)\>

#### Inherited from

[`FrameGraphRecording`](/zenfg/docs/api/webgpu/root/interfaces/FrameGraphRecording.md).[`getTextureViewDesc`](/zenfg/docs/api/webgpu/root/interfaces/FrameGraphRecording.md#gettextureviewdesc)

***

### importBuffer()

> **importBuffer**(`buffer`, `options?`): [`BufferHandle`](/zenfg/docs/api/webgpu/root/type-aliases/BufferHandle.md)

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

Borrows a caller-owned buffer with fixed identity for this recording.

#### Parameters

##### buffer

[`GPUBuffer`](https://gpuweb.github.io/gpuweb/#gpubuffer)

##### options?

[`ImportBufferOptions`](/zenfg/docs/api/webgpu/root/type-aliases/ImportBufferOptions.md)

#### Returns

[`BufferHandle`](/zenfg/docs/api/webgpu/root/type-aliases/BufferHandle.md)

#### Inherited from

[`FrameGraphRecording`](/zenfg/docs/api/webgpu/root/interfaces/FrameGraphRecording.md).[`importBuffer`](/zenfg/docs/api/webgpu/root/interfaces/FrameGraphRecording.md#importbuffer)

***

### importSwapchainTexture()

> **importSwapchainTexture**(`texture`, `options?`): [`TextureHandle`](/zenfg/docs/api/webgpu/root/type-aliases/TextureHandle.md)

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

Borrows the current swapchain texture; call `markPresent()` separately and
execute the compiled frame while that borrowed texture remains current.

#### Parameters

##### texture

[`GPUTexture`](https://gpuweb.github.io/gpuweb/#gputexture)

##### options?

[`ImportSwapchainTextureOptions`](/zenfg/docs/api/webgpu/root/type-aliases/ImportSwapchainTextureOptions.md)

#### Returns

[`TextureHandle`](/zenfg/docs/api/webgpu/root/type-aliases/TextureHandle.md)

#### Inherited from

[`FrameGraphRecording`](/zenfg/docs/api/webgpu/root/interfaces/FrameGraphRecording.md).[`importSwapchainTexture`](/zenfg/docs/api/webgpu/root/interfaces/FrameGraphRecording.md#importswapchaintexture)

***

### importTexture()

> **importTexture**(`texture`, `options?`): [`TextureHandle`](/zenfg/docs/api/webgpu/root/type-aliases/TextureHandle.md)

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

Borrows a caller-owned texture with fixed identity for this recording.

#### Parameters

##### texture

[`GPUTexture`](https://gpuweb.github.io/gpuweb/#gputexture)

##### options?

[`ImportTextureOptions`](/zenfg/docs/api/webgpu/root/type-aliases/ImportTextureOptions.md)

#### Returns

[`TextureHandle`](/zenfg/docs/api/webgpu/root/type-aliases/TextureHandle.md)

#### Remarks

Ownership and destruction remain with the caller.

#### Throws

If the exposure options conflict with the native texture.

#### Inherited from

[`FrameGraphRecording`](/zenfg/docs/api/webgpu/root/interfaces/FrameGraphRecording.md).[`importTexture`](/zenfg/docs/api/webgpu/root/interfaces/FrameGraphRecording.md#importtexture)

***

### markDebugCapture()

#### Call Signature

> **markDebugCapture**(`resource`): `void`

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

Retains the final visible producer of a resource for debug capture.

##### Parameters

###### resource

[`TextureViewHandle`](/zenfg/docs/api/webgpu/root/type-aliases/TextureViewHandle.md) \| [`ResourceHandle`](/zenfg/docs/api/webgpu/root/type-aliases/ResourceHandle.md)

##### Returns

`void`

##### Inherited from

[`FrameGraphRecording`](/zenfg/docs/api/webgpu/root/interfaces/FrameGraphRecording.md).[`markDebugCapture`](/zenfg/docs/api/webgpu/root/interfaces/FrameGraphRecording.md#markdebugcapture)

#### Call Signature

> **markDebugCapture**(`buffer`, `range`): `void`

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

##### Parameters

###### buffer

[`BufferHandle`](/zenfg/docs/api/webgpu/root/type-aliases/BufferHandle.md)

###### range

[`BufferRange`](/zenfg/docs/api/webgpu/root/type-aliases/BufferRange.md)

##### Returns

`void`

##### Inherited from

[`FrameGraphRecording`](/zenfg/docs/api/webgpu/root/interfaces/FrameGraphRecording.md).[`markDebugCapture`](/zenfg/docs/api/webgpu/root/interfaces/FrameGraphRecording.md#markdebugcapture)

***

### markOutput()

#### Call Signature

> **markOutput**(`resource`): `void`

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

Marks the final logical value of a texture or buffer as a required graph output.

This marker only retains the value's visible producers. It does not return,
unwrap, transfer ownership of, or extend the execution lifetime of a
transient physical resource. Post-execution access requires caller-owned
imported storage.

##### Parameters

###### resource

[`TextureViewHandle`](/zenfg/docs/api/webgpu/root/type-aliases/TextureViewHandle.md) \| [`ResourceHandle`](/zenfg/docs/api/webgpu/root/type-aliases/ResourceHandle.md)

##### Returns

`void`

##### Inherited from

[`FrameGraphRecording`](/zenfg/docs/api/webgpu/root/interfaces/FrameGraphRecording.md).[`markOutput`](/zenfg/docs/api/webgpu/root/interfaces/FrameGraphRecording.md#markoutput)

#### Call Signature

> **markOutput**(`buffer`, `range`): `void`

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

##### Parameters

###### buffer

[`BufferHandle`](/zenfg/docs/api/webgpu/root/type-aliases/BufferHandle.md)

###### range

[`BufferRange`](/zenfg/docs/api/webgpu/root/type-aliases/BufferRange.md)

##### Returns

`void`

##### Inherited from

[`FrameGraphRecording`](/zenfg/docs/api/webgpu/root/interfaces/FrameGraphRecording.md).[`markOutput`](/zenfg/docs/api/webgpu/root/interfaces/FrameGraphRecording.md#markoutput)

***

### markPersistentState()

#### Call Signature

> **markPersistentState**(`resource`): `void`

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

Retains the final producer of caller-owned state needed by a later frame.

##### Parameters

###### resource

[`TextureViewHandle`](/zenfg/docs/api/webgpu/root/type-aliases/TextureViewHandle.md) \| [`ResourceHandle`](/zenfg/docs/api/webgpu/root/type-aliases/ResourceHandle.md)

##### Returns

`void`

##### Inherited from

[`FrameGraphRecording`](/zenfg/docs/api/webgpu/root/interfaces/FrameGraphRecording.md).[`markPersistentState`](/zenfg/docs/api/webgpu/root/interfaces/FrameGraphRecording.md#markpersistentstate)

#### Call Signature

> **markPersistentState**(`buffer`, `range`): `void`

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

##### Parameters

###### buffer

[`BufferHandle`](/zenfg/docs/api/webgpu/root/type-aliases/BufferHandle.md)

###### range

[`BufferRange`](/zenfg/docs/api/webgpu/root/type-aliases/BufferRange.md)

##### Returns

`void`

##### Inherited from

[`FrameGraphRecording`](/zenfg/docs/api/webgpu/root/interfaces/FrameGraphRecording.md).[`markPersistentState`](/zenfg/docs/api/webgpu/root/interfaces/FrameGraphRecording.md#markpersistentstate)

***

### markPresent()

> **markPresent**(`resource`): `void`

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

Retains the final visible producer of a swapchain texture for presentation.

#### Parameters

##### resource

[`TextureHandle`](/zenfg/docs/api/webgpu/root/type-aliases/TextureHandle.md)

#### Returns

`void`

#### Inherited from

[`FrameGraphRecording`](/zenfg/docs/api/webgpu/root/interfaces/FrameGraphRecording.md).[`markPresent`](/zenfg/docs/api/webgpu/root/interfaces/FrameGraphRecording.md#markpresent)

***

### markReadback()

> **markReadback**(`resource`, `range?`): `void`

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

Retains the final visible producer of a caller-owned staging buffer imported
with graph-visible `GPUBufferUsage.COPY_DST | GPUBufferUsage.MAP_READ`.

#### Parameters

##### resource

[`BufferHandle`](/zenfg/docs/api/webgpu/root/type-aliases/BufferHandle.md)

##### range?

[`BufferRange`](/zenfg/docs/api/webgpu/root/type-aliases/BufferRange.md)

#### Returns

`void`

#### Inherited from

[`FrameGraphRecording`](/zenfg/docs/api/webgpu/root/interfaces/FrameGraphRecording.md).[`markReadback`](/zenfg/docs/api/webgpu/root/interfaces/FrameGraphRecording.md#markreadback)

***

### popDebugGroup()

> **popDebugGroup**(): `void`

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

Closes the innermost diagnostic group.

#### Returns

`void`

#### Inherited from

[`FrameGraphRecording`](/zenfg/docs/api/webgpu/root/interfaces/FrameGraphRecording.md).[`popDebugGroup`](/zenfg/docs/api/webgpu/root/interfaces/FrameGraphRecording.md#popdebuggroup)

***

### pushDebugGroup()

> **pushDebugGroup**(`label`): `void`

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

Opens a distinct diagnostic-only group for subsequently registered
resources and nodes. Labels need not be unique.

#### Parameters

##### label

`string`

#### Returns

`void`

#### Inherited from

[`FrameGraphRecording`](/zenfg/docs/api/webgpu/root/interfaces/FrameGraphRecording.md).[`pushDebugGroup`](/zenfg/docs/api/webgpu/root/interfaces/FrameGraphRecording.md#pushdebuggroup)

***

### render()

> **render**(`desc`): `void`

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

Declares a render-pass node.

#### Parameters

##### desc

[`RenderPassNodeDesc`](/zenfg/docs/api/webgpu/root/type-aliases/RenderPassNodeDesc.md)

#### Returns

`void`

#### Throws

If an attachment, declared use, or encode callback contract is invalid.

#### Inherited from

[`FrameGraphRecording`](/zenfg/docs/api/webgpu/root/interfaces/FrameGraphRecording.md).[`render`](/zenfg/docs/api/webgpu/root/interfaces/FrameGraphRecording.md#render)

***

### use()

#### Call Signature

> **use**\<`TAccess`\>(`resource`, `access`): [`TextureUse`](/zenfg/docs/api/webgpu/root/type-aliases/TextureUse.md)\<`TAccess`\>

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

Creates a reusable texture-read declaration resolved at each node that lists it.

##### Type Parameters

###### TAccess

`TAccess` *extends* `TextureReadAccess`

##### Parameters

###### resource

[`TextureHandle`](/zenfg/docs/api/webgpu/root/type-aliases/TextureHandle.md)

###### access

`TAccess`

##### Returns

[`TextureUse`](/zenfg/docs/api/webgpu/root/type-aliases/TextureUse.md)\<`TAccess`\>

##### Inherited from

[`FrameGraphRecording`](/zenfg/docs/api/webgpu/root/interfaces/FrameGraphRecording.md).[`use`](/zenfg/docs/api/webgpu/root/interfaces/FrameGraphRecording.md#use)

#### Call Signature

> **use**\<`TAccess`\>(`resource`, `access`, `options`): [`TextureUse`](/zenfg/docs/api/webgpu/root/type-aliases/TextureUse.md)\<`TAccess`\>

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

Creates a reusable texture-write declaration resolved at each node that lists it.

##### Type Parameters

###### TAccess

`TAccess` *extends* `TextureWriteAccess`

##### Parameters

###### resource

[`TextureHandle`](/zenfg/docs/api/webgpu/root/type-aliases/TextureHandle.md)

###### access

`TAccess`

###### options

[`WriteUseOptions`](/zenfg/docs/api/webgpu/root/type-aliases/WriteUseOptions.md)

##### Returns

[`TextureUse`](/zenfg/docs/api/webgpu/root/type-aliases/TextureUse.md)\<`TAccess`\>

##### Inherited from

[`FrameGraphRecording`](/zenfg/docs/api/webgpu/root/interfaces/FrameGraphRecording.md).[`use`](/zenfg/docs/api/webgpu/root/interfaces/FrameGraphRecording.md#use)

#### Call Signature

> **use**\<`TAccess`\>(`resource`, `access`): [`TextureViewUse`](/zenfg/docs/api/webgpu/root/type-aliases/TextureViewUse.md)\<`TAccess`\>

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

Creates a reusable read declaration for a subresource-selecting logical view.

##### Type Parameters

###### TAccess

`TAccess` *extends* `TextureViewReadAccess`

##### Parameters

###### resource

[`TextureViewHandle`](/zenfg/docs/api/webgpu/root/type-aliases/TextureViewHandle.md)

###### access

`TAccess`

##### Returns

[`TextureViewUse`](/zenfg/docs/api/webgpu/root/type-aliases/TextureViewUse.md)\<`TAccess`\>

##### Inherited from

[`FrameGraphRecording`](/zenfg/docs/api/webgpu/root/interfaces/FrameGraphRecording.md).[`use`](/zenfg/docs/api/webgpu/root/interfaces/FrameGraphRecording.md#use)

#### Call Signature

> **use**\<`TAccess`\>(`resource`, `access`, `options`): [`TextureViewUse`](/zenfg/docs/api/webgpu/root/type-aliases/TextureViewUse.md)\<`TAccess`\>

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

Creates a reusable write declaration for a subresource-selecting logical view.

##### Type Parameters

###### TAccess

`TAccess` *extends* `TextureViewWriteAccess`

##### Parameters

###### resource

[`TextureViewHandle`](/zenfg/docs/api/webgpu/root/type-aliases/TextureViewHandle.md)

###### access

`TAccess`

###### options

[`WriteUseOptions`](/zenfg/docs/api/webgpu/root/type-aliases/WriteUseOptions.md)

##### Returns

[`TextureViewUse`](/zenfg/docs/api/webgpu/root/type-aliases/TextureViewUse.md)\<`TAccess`\>

##### Inherited from

[`FrameGraphRecording`](/zenfg/docs/api/webgpu/root/interfaces/FrameGraphRecording.md).[`use`](/zenfg/docs/api/webgpu/root/interfaces/FrameGraphRecording.md#use)

#### Call Signature

> **use**\<`TAccess`\>(`resource`, `access`, `options?`): [`BufferUse`](/zenfg/docs/api/webgpu/root/type-aliases/BufferUse.md)\<`TAccess`\>

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

Creates a reusable buffer-read declaration and snapshots its optional byte range.

##### Type Parameters

###### TAccess

`TAccess` *extends* `BufferReadAccess`

##### Parameters

###### resource

[`BufferHandle`](/zenfg/docs/api/webgpu/root/type-aliases/BufferHandle.md)

###### access

`TAccess`

###### options?

[`BufferUseOptions`](/zenfg/docs/api/webgpu/root/type-aliases/BufferUseOptions.md)

##### Returns

[`BufferUse`](/zenfg/docs/api/webgpu/root/type-aliases/BufferUse.md)\<`TAccess`\>

##### Inherited from

[`FrameGraphRecording`](/zenfg/docs/api/webgpu/root/interfaces/FrameGraphRecording.md).[`use`](/zenfg/docs/api/webgpu/root/interfaces/FrameGraphRecording.md#use)

#### Call Signature

> **use**\<`TAccess`\>(`resource`, `access`, `options`): [`BufferUse`](/zenfg/docs/api/webgpu/root/type-aliases/BufferUse.md)\<`TAccess`\>

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

Creates a reusable buffer-write declaration with range and content semantics.

##### Type Parameters

###### TAccess

`TAccess` *extends* `BufferWriteAccess`

##### Parameters

###### resource

[`BufferHandle`](/zenfg/docs/api/webgpu/root/type-aliases/BufferHandle.md)

###### access

`TAccess`

###### options

[`BufferWriteUseOptions`](/zenfg/docs/api/webgpu/root/type-aliases/BufferWriteUseOptions.md)

##### Returns

[`BufferUse`](/zenfg/docs/api/webgpu/root/type-aliases/BufferUse.md)\<`TAccess`\>

##### Inherited from

[`FrameGraphRecording`](/zenfg/docs/api/webgpu/root/interfaces/FrameGraphRecording.md).[`use`](/zenfg/docs/api/webgpu/root/interfaces/FrameGraphRecording.md#use)

***

### withDebugGroup()

> **withDebugGroup**\<`T`\>(`label`, `record`): `T`

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

Runs synchronous recording work inside a distinct diagnostic-only group.
Promise-like return values are rejected. Labels need not be unique.

#### Type Parameters

##### T

`T`

#### Parameters

##### label

`string`

##### record

() => `T` *extends* `PromiseLike`\<`unknown`\> ? `never` : `T`

#### Returns

`T`

#### Inherited from

[`FrameGraphRecording`](/zenfg/docs/api/webgpu/root/interfaces/FrameGraphRecording.md).[`withDebugGroup`](/zenfg/docs/api/webgpu/root/interfaces/FrameGraphRecording.md#withdebuggroup)
