@urban-toolkit/autk-map / Renderer
Class: Renderer
Defined in: autk-map/src/renderer.ts:25
WebGPU renderer responsible for canvas setup, render-target management, and frame-level GPU resource lifecycle.
Renderer owns the WebGPU canvas context, allocates the multisampled main pass targets and the offscreen picking targets, and exposes helpers for starting render passes, submitting command buffers, and rebuilding size-dependent resources after resize events.
Constructors
Constructor
new Renderer(
canvas):Renderer
Defined in: autk-map/src/renderer.ts:91
Creates a renderer bound to a canvas.
Parameters
canvas
HTMLCanvasElement
Target HTML canvas.
Returns
Renderer
Throws
Never throws.
Accessors
canvas
Get Signature
get canvas():
HTMLCanvasElement
Defined in: autk-map/src/renderer.ts:97
Underlying render canvas.
Returns
HTMLCanvasElement
canvasFormat
Get Signature
get canvasFormat():
GPUTextureFormat
Defined in: autk-map/src/renderer.ts:127
Preferred canvas format negotiated with WebGPU.
Returns
GPUTextureFormat
commandEncoder
Get Signature
get commandEncoder():
GPUCommandEncoder
Defined in: autk-map/src/renderer.ts:152
Active command encoder for the current frame.
Returns
GPUCommandEncoder
context
Get Signature
get context():
GPUCanvasContext|null
Defined in: autk-map/src/renderer.ts:132
Active WebGPU canvas context, if configured.
Returns
GPUCanvasContext | null
cssHeight
Get Signature
get cssHeight():
number
Defined in: autk-map/src/renderer.ts:107
Canvas layout height in CSS pixels.
Returns
number
cssWidth
Get Signature
get cssWidth():
number
Defined in: autk-map/src/renderer.ts:102
Canvas layout width in CSS pixels.
Returns
number
depthBuffer
Get Signature
get depthBuffer():
GPURenderPassDepthStencilAttachment
Defined in: autk-map/src/renderer.ts:147
Depth attachment used by the primary render pass.
Returns
GPURenderPassDepthStencilAttachment
device
Get Signature
get device():
GPUDevice
Defined in: autk-map/src/renderer.ts:137
Logical GPU device.
Returns
GPUDevice
devicePixelRatio
Get Signature
get devicePixelRatio():
number
Defined in: autk-map/src/renderer.ts:122
Device pixel ratio currently applied to the render surface.
Returns
number
frameBuffer
Get Signature
get frameBuffer():
GPURenderPassColorAttachment
Defined in: autk-map/src/renderer.ts:142
Main color attachment used by the primary render pass.
Returns
GPURenderPassColorAttachment
pickingBuffer
Get Signature
get pickingBuffer():
GPURenderPassColorAttachment
Defined in: autk-map/src/renderer.ts:170
Picking color attachment descriptor.
Returns
GPURenderPassColorAttachment
pickingDepthBuffer
Get Signature
get pickingDepthBuffer():
GPURenderPassDepthStencilAttachment
Defined in: autk-map/src/renderer.ts:175
Picking depth attachment descriptor.
Returns
GPURenderPassDepthStencilAttachment
pickingTexture
Get Signature
get pickingTexture():
GPUTexture
Defined in: autk-map/src/renderer.ts:165
Picking color texture used for object-id readback.
Returns
GPUTexture
pixelHeight
Get Signature
get pixelHeight():
number
Defined in: autk-map/src/renderer.ts:117
Canvas backing-store height in device pixels.
Returns
number
pixelWidth
Get Signature
get pixelWidth():
number
Defined in: autk-map/src/renderer.ts:112
Canvas backing-store width in device pixels.
Returns
number
sampleCount
Get Signature
get sampleCount():
number
Defined in: autk-map/src/renderer.ts:160
MSAA sample count used for the main pass.
Returns
number
Methods
beginMainRenderPass()
beginMainRenderPass():
GPURenderPassEncoder
Defined in: autk-map/src/renderer.ts:448
Opens the shared main render pass for the current frame.
Returns
GPURenderPassEncoder
An encoder for the primary pass.
Throws
If the renderer has not been initialized or GPU context is null.
configureContext()
configureContext():
void
Defined in: autk-map/src/renderer.ts:264
Configures the WebGPU canvas context.
The context is created lazily and then configured with the negotiated canvas format and render-attachment usage.
Returns
void
configureDepthBuffer()
configureDepthBuffer():
void
Defined in: autk-map/src/renderer.ts:383
Creates or recreates the main depth attachment.
The depth texture matches the current backing-store size and is used by the primary render pass.
Returns
void
configureFrameBuffer()
configureFrameBuffer():
void
Defined in: autk-map/src/renderer.ts:338
Creates or recreates the main color attachment and multisample texture.
The attachment resolves into the current swap-chain texture and uses the configured background color as its clear value.
Returns
void
configurePickingBuffer()
configurePickingBuffer():
void
Defined in: autk-map/src/renderer.ts:290
Creates or recreates color and depth attachments for picking.
The picking pass renders into an offscreen texture sized to the current backing store so object ids can be read back at pixel precision.
Returns
void
destroy()
destroy():
void
Defined in: autk-map/src/renderer.ts:607
Releases GPU resources, unconfigures the canvas, and resets renderer state.
Returns
void
Throws
Never throws.
enqueuePickingReadback()
enqueuePickingReadback(
slotIndex,pickIndex,x,y):void
Defined in: autk-map/src/renderer.ts:548
Queues a single-pixel picking texture readback into a reserved slot.
Parameters
slotIndex
number
Reserved readback slot index.
pickIndex
number
Offset within the slot for this pick.
x
number
CSS-relative x coordinate.
y
number
CSS-relative y coordinate.
Returns
void
Throws
If the requested slot is not reserved.
finish()
finish():
void
Defined in: autk-map/src/renderer.ts:474
Submits the current command buffer and clears the active encoder.
Returns
void
Throws
Never throws. Silently returns when not initialized or no encoder exists.
init()
init():
Promise<void>
Defined in: autk-map/src/renderer.ts:184
Initializes WebGPU and creates all core render targets.
Returns
Promise<void>
Throws
Never throws. Failures log to console and leave the renderer uninitialized.
initWebGPU()
initWebGPU():
Promise<boolean>
Defined in: autk-map/src/renderer.ts:205
Initializes the WebGPU device and preferred canvas format.
Returns
Promise<boolean>
true when adapter and device acquisition succeed; otherwise false.
Throws
Never throws. Errors are caught and return false.
readPickingResults()
readPickingResults(
slotIndex,pickCount):Promise<number[]>
Defined in: autk-map/src/renderer.ts:578
Maps a reserved readback slot and decodes all picked ids.
Parameters
slotIndex
number
Reserved readback slot index.
pickCount
number
Number of copied pick records to decode.
Returns
Promise<number[]>
Decoded object ids in copy order, or an empty array when unavailable.
Throws
If the buffer map operation times out or the device is lost.
reservePickingReadbackSlot()
reservePickingReadbackSlot(
pickCount):number|null
Defined in: autk-map/src/renderer.ts:510
Reserves a double-buffered picking readback slot for the current frame.
Parameters
pickCount
number
Number of single-pixel readbacks to accommodate.
Returns
number | null
The reserved slot index, or null when no slot is available.
Throws
Never throws.
resize()
resize(
cssWidth,cssHeight,devicePixelRatio?):void
Defined in: autk-map/src/renderer.ts:245
Resizes the canvas and recreates size-dependent render targets.
Parameters
cssWidth
number
New layout width in CSS pixels.
cssHeight
number
New layout height in CSS pixels.
devicePixelRatio?
number = ...
Backing-store scale factor.
Returns
void
Throws
Never throws.
start()
start():
void
Defined in: autk-map/src/renderer.ts:416
Starts the main render pass by clearing configured attachments.
Returns
void
Throws
Never throws. Silently returns when not initialized or when the canvas context has been transiently unconfigured (e.g. by a sibling renderer's destroy/recreate cycle in a multi-instance setup).
startPickingRenderPass()
startPickingRenderPass():
void
Defined in: autk-map/src/renderer.ts:487
Starts the picking render pass by clearing picking attachments.
Returns
void
Throws
Never throws. Silently returns when not initialized.
toPixelCoordinates()
toPixelCoordinates(
x,y): [number,number]
Defined in: autk-map/src/renderer.ts:659
Converts CSS-relative coordinates into clamped backing-store pixel coordinates.
Parameters
x
number
CSS-relative x coordinate.
y
number
CSS-relative y coordinate.
Returns
[number, number]
Clamped pixel coordinates [px, py].
Throws
Never throws.