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

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

# Type Alias: BufferDesc

> **BufferDesc** = `object`

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

**`Beta`**

Describes a transient buffer allocated and recycled by FrameGraph.

FrameGraph takes a shallow snapshot for the current recording. When `usage`
is omitted, required usage is derived from retained node accesses.

## Properties

### label?

> `readonly` `optional` **label?**: `string`

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

Optional label propagated to diagnostics and physical allocations.

***

### size

> `readonly` **size**: `number`

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

Non-negative safe-integer buffer size in bytes. Zero is valid.

***

### usage?

> `readonly` `optional` **usage?**: `GPUBufferUsageFlags`

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

Explicit allocation usage, or derived usage when omitted.
