ZenFG TypeScript API / webgpu / root / FrameGraphRecorder
Interface: FrameGraphRecorder
Defined in: packages/webgpu/src/types.ts:1305
Application-facing single-use ordered recording object.
Extends
Methods
clearBuffer()
clearBuffer(
desc):void
Defined in: packages/webgpu/src/types.ts:1249
Declares inferred-access buffer clears.
Parameters
desc
Returns
void
Inherited from
FrameGraphRecording.clearBuffer
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
Inherited from
compile()
Call Signature
compile():
CompiledFrame
Defined in: packages/webgpu/src/types.ts:1314
Consumes this recorder and resolves ordered logical values into a compact, conditionally re-executable payload.
Returns
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
Defined in: packages/webgpu/src/types.ts:1315
Parameters
options
report?
false
Returns
Call Signature
compile(
options):CompiledFrameWithReport
Defined in: packages/webgpu/src/types.ts:1317
Consumes this recorder and also returns a callback-free diagnostic snapshot.
Parameters
options
report
true
Returns
compute()
compute(
desc):void
Defined in: packages/webgpu/src/types.ts:1245
Declares a compute-pass node.
Parameters
desc
Returns
void
Inherited from
copy()
copy(
desc):void
Defined in: packages/webgpu/src/types.ts:1247
Declares inferred-access copy operations.
Parameters
desc
Returns
void
Inherited from
createBuffer()
createBuffer(
desc):BufferHandle
Defined in: packages/webgpu/src/types.ts:1209
Registers a transient buffer owned by this recording.
Parameters
desc
Returns
Inherited from
FrameGraphRecording.createBuffer
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.
Inherited from
FrameGraphRecording.createTexture
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
Inherited from
FrameGraphRecording.createTextureView
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.
Inherited from
FrameGraphRecording.externalSubmission
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>
Inherited from
FrameGraphRecording.getBufferDesc
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>
Inherited from
FrameGraphRecording.getTextureDesc
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>
Inherited from
FrameGraphRecording.getTextureViewDesc
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
Inherited from
FrameGraphRecording.importBuffer
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
Inherited from
FrameGraphRecording.importSwapchainTexture
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.
Inherited from
FrameGraphRecording.importTexture
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
Inherited from
FrameGraphRecording.markDebugCapture
Call Signature
markDebugCapture(
buffer,range):void
Defined in: packages/webgpu/src/types.ts:1281
Parameters
buffer
range
Returns
void
Inherited from
FrameGraphRecording.markDebugCapture
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
Inherited from
FrameGraphRecording.markOutput
Call Signature
markOutput(
buffer,range):void
Defined in: packages/webgpu/src/types.ts:1270
Parameters
buffer
range
Returns
void
Inherited from
FrameGraphRecording.markOutput
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
Inherited from
FrameGraphRecording.markPersistentState
Call Signature
markPersistentState(
buffer,range):void
Defined in: packages/webgpu/src/types.ts:1273
Parameters
buffer
range
Returns
void
Inherited from
FrameGraphRecording.markPersistentState
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
Inherited from
FrameGraphRecording.markPresent
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
Inherited from
FrameGraphRecording.markReadback
popDebugGroup()
popDebugGroup():
void
Defined in: packages/webgpu/src/types.ts:1185
Closes the innermost diagnostic group.
Returns
void
Inherited from
FrameGraphRecording.popDebugGroup
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
Inherited from
FrameGraphRecording.pushDebugGroup
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.
Inherited from
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>
Inherited from
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>
Inherited from
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>
Inherited from
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>
Inherited from
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>
Inherited from
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>
Inherited from
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