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

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

# Type Alias: ExternalSubmissionNodeDesc

> **ExternalSubmissionNodeDesc** = `object`

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

**`Beta`**

Declares an opaque caller-owned queue submission node.

When retained, FrameGraph ends its current command segment before invoking
`submit` and starts a later segment for following retained graph nodes. This
is a submission-order boundary, not a GPU-completion fence.

## Properties

### label?

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

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

Optional diagnostic label.

***

### sideEffect?

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

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

Whether this opaque node is a retention root. Defaults to `true`; an
unreachable `false` node is culled and creates no execution boundary.

***

### submit

> `readonly` **submit**: [`SynchronousCallback`](/zenfg/docs/api/webgpu/root/type-aliases/SynchronousCallback.md)\<[`ExternalSubmissionContext`](/zenfg/docs/api/webgpu/root/type-aliases/ExternalSubmissionContext.md)\>

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

Must enqueue all graph-visible GPU work on `ctx.device.queue` before
returning. Resolved transient resources must not escape the callback.
The callback must return `undefined`; FrameGraph does not await it.

***

### uses?

> `readonly` `optional` **uses?**: readonly [`ResourceUse`](/zenfg/docs/api/webgpu/root/type-aliases/ResourceUse.md)[]

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

Complete graph-visible resource accesses made by the external work,
including imported resources reached through external-owner references.
