ZenFG TypeScript API / webgpu / root / FrameGraphRecording
Interface: FrameGraphRecording
Defined in: packages/webgpu/src/types.ts:1178
Runtime-facing graph recording capability exposed to renderer features.
Handles are stable recording-local resource identities. Logical values are resolved from resource range and node recording position, not handle creation or use-token creation order.
Extended by
Methods
clearBuffer()
clearBuffer(
desc):void
Defined in: packages/webgpu/src/types.ts:1249
Declares inferred-access buffer clears.
Parameters
desc
Returns
void
command()
command(
desc):void
Defined in: packages/webgpu/src/types.ts:1251
Declares caller-defined commands encoded into a FrameGraph-owned segment.
Parameters
desc
Returns
void
compute()
compute(
desc):void
Defined in: packages/webgpu/src/types.ts:1245
Declares a compute-pass node.
Parameters
desc
Returns
void
copy()
copy(
desc):void
Defined in: packages/webgpu/src/types.ts:1247
Declares inferred-access copy operations.
Parameters
desc
Returns
void
createBuffer()
createBuffer(
desc):BufferHandle
Defined in: packages/webgpu/src/types.ts:1209
Registers a transient buffer owned by this recording.
Parameters
desc
Returns
createTexture()
createTexture(
desc):TextureHandle
Defined in: packages/webgpu/src/types.ts:1201
Registers a transient texture owned by this recording.
Parameters
desc
Returns
Remarks
The descriptor is snapshotted and physical allocation is deferred until execution.
Throws
If the descriptor is invalid, or the runtime/recorder is unusable.
createTextureView()
createTextureView(
texture,desc?):TextureViewHandle
Defined in: packages/webgpu/src/types.ts:1205
Creates a logical view whose subresource selection participates in dependencies.
Parameters
texture
desc?
Returns
externalSubmission()
externalSubmission(
desc):void
Defined in: packages/webgpu/src/types.ts:1258
Declares an opaque caller-owned submission node; retained nodes split execution segments.
Parameters
desc
Returns
void
Remarks
The callback is an ordering boundary, not a GPU-completion fence.
getBufferDesc()
getBufferDesc(
handle):Readonly<BufferDesc>
Defined in: packages/webgpu/src/types.ts:1211
Returns snapshotted metadata for a buffer owned by this recording.
Parameters
handle
Returns
Readonly<BufferDesc>
getTextureDesc()
getTextureDesc(
handle):Readonly<TextureDesc>
Defined in: packages/webgpu/src/types.ts:1203
Returns snapshotted metadata for a texture owned by this recording.
Parameters
handle
Returns
Readonly<TextureDesc>
getTextureViewDesc()
getTextureViewDesc(
handle):Readonly<NormalizedTextureViewDesc>
Defined in: packages/webgpu/src/types.ts:1207
Returns normalized metadata for a logical texture view.
Parameters
handle
Returns
Readonly<NormalizedTextureViewDesc>
importBuffer()
importBuffer(
buffer,options?):BufferHandle
Defined in: packages/webgpu/src/types.ts:1225
Borrows a caller-owned buffer with fixed identity for this recording.
Parameters
buffer
options?
Returns
importSwapchainTexture()
importSwapchainTexture(
texture,options?):TextureHandle
Defined in: packages/webgpu/src/types.ts:1223
Borrows the current swapchain texture; call markPresent() separately and execute the compiled frame while that borrowed texture remains current.
Parameters
texture
options?
Returns
importTexture()
importTexture(
texture,options?):TextureHandle
Defined in: packages/webgpu/src/types.ts:1218
Borrows a caller-owned texture with fixed identity for this recording.
Parameters
texture
options?
Returns
Remarks
Ownership and destruction remain with the caller.
Throws
If the exposure options conflict with the native texture.
markDebugCapture()
Call Signature
markDebugCapture(
resource):void
Defined in: packages/webgpu/src/types.ts:1280
Retains the final visible producer of a resource for debug capture.
Parameters
resource
TextureViewHandle | ResourceHandle
Returns
void
Call Signature
markDebugCapture(
buffer,range):void
Defined in: packages/webgpu/src/types.ts:1281
Parameters
buffer
range
Returns
void
markOutput()
Call Signature
markOutput(
resource):void
Defined in: packages/webgpu/src/types.ts:1269
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 | ResourceHandle
Returns
void
Call Signature
markOutput(
buffer,range):void
Defined in: packages/webgpu/src/types.ts:1270
Parameters
buffer
range
Returns
void
markPersistentState()
Call Signature
markPersistentState(
resource):void
Defined in: packages/webgpu/src/types.ts:1272
Retains the final producer of caller-owned state needed by a later frame.
Parameters
resource
TextureViewHandle | ResourceHandle
Returns
void
Call Signature
markPersistentState(
buffer,range):void
Defined in: packages/webgpu/src/types.ts:1273
Parameters
buffer
range
Returns
void
markPresent()
markPresent(
resource):void
Defined in: packages/webgpu/src/types.ts:1260
Retains the final visible producer of a swapchain texture for presentation.
Parameters
resource
Returns
void
markReadback()
markReadback(
resource,range?):void
Defined in: packages/webgpu/src/types.ts:1278
Retains the final visible producer of a caller-owned staging buffer imported with graph-visible GPUBufferUsage.COPY_DST | GPUBufferUsage.MAP_READ.
Parameters
resource
range?
Returns
void
popDebugGroup()
popDebugGroup():
void
Defined in: packages/webgpu/src/types.ts:1185
Closes the innermost diagnostic group.
Returns
void
pushDebugGroup()
pushDebugGroup(
label):void
Defined in: packages/webgpu/src/types.ts:1183
Opens a distinct diagnostic-only group for subsequently registered resources and nodes. Labels need not be unique.
Parameters
label
string
Returns
void
render()
render(
desc):void
Defined in: packages/webgpu/src/types.ts:1243
Declares a render-pass node.
Parameters
desc
Returns
void
Throws
If an attachment, declared use, or encode callback contract is invalid.
use()
Call Signature
use<
TAccess>(resource,access):TextureUse<TAccess>
Defined in: packages/webgpu/src/types.ts:1227
Creates a reusable texture-read declaration resolved at each node that lists it.
Type Parameters
TAccess
TAccess extends TextureReadAccess
Parameters
resource
access
TAccess
Returns
TextureUse<TAccess>
Call Signature
use<
TAccess>(resource,access,options):TextureUse<TAccess>
Defined in: packages/webgpu/src/types.ts:1229
Creates a reusable texture-write declaration resolved at each node that lists it.
Type Parameters
TAccess
TAccess extends TextureWriteAccess
Parameters
resource
access
TAccess
options
Returns
TextureUse<TAccess>
Call Signature
use<
TAccess>(resource,access):TextureViewUse<TAccess>
Defined in: packages/webgpu/src/types.ts:1231
Creates a reusable read declaration for a subresource-selecting logical view.
Type Parameters
TAccess
TAccess extends TextureViewReadAccess
Parameters
resource
access
TAccess
Returns
TextureViewUse<TAccess>
Call Signature
use<
TAccess>(resource,access,options):TextureViewUse<TAccess>
Defined in: packages/webgpu/src/types.ts:1233
Creates a reusable write declaration for a subresource-selecting logical view.
Type Parameters
TAccess
TAccess extends TextureViewWriteAccess
Parameters
resource
access
TAccess
options
Returns
TextureViewUse<TAccess>
Call Signature
use<
TAccess>(resource,access,options?):BufferUse<TAccess>
Defined in: packages/webgpu/src/types.ts:1235
Creates a reusable buffer-read declaration and snapshots its optional byte range.
Type Parameters
TAccess
TAccess extends BufferReadAccess
Parameters
resource
access
TAccess
options?
Returns
BufferUse<TAccess>
Call Signature
use<
TAccess>(resource,access,options):BufferUse<TAccess>
Defined in: packages/webgpu/src/types.ts:1237
Creates a reusable buffer-write declaration with range and content semantics.
Type Parameters
TAccess
TAccess extends BufferWriteAccess
Parameters
resource
access
TAccess
options
Returns
BufferUse<TAccess>
withDebugGroup()
withDebugGroup<
T>(label,record):T
Defined in: packages/webgpu/src/types.ts:1190
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