Skip to content

WebGpuTerminalRendererOptions

optional adapterPolicy?: "hardware" | "any"

Eligibility for initial built-in acquisition; custom device factories own their policy.


canvas: HTMLCanvasElement | OffscreenCanvas


columns: number


optional cursorBlink?: boolean


optional deviceFactory?: () => Promise<GPUDevice>

Promise<GPUDevice>


font: TerminalFittedFont


optional needsFrameRows?: () => boolean

Return false for cursor-only snapshots; row data resumes with the full viewport.

boolean


optional onCleanUpdate?: () => void

Called after a clean render-state update needs no painting or row notification.

void


optional onError?: (cause) => void

unknown

void


optional onFrame?: (snapshot) => void

RendererFrameSnapshot

void


optional onRowsChanged?: (rows) => void

Painted row IDs without requesting cell data.

readonly number[]

void


optional onRowsPainted?: (rows) => void

readonly RenderRow[]

void


optional onTextFrame?: (snapshot) => void

Owned row text with lazily decoded cell strings and continuation flags.

RendererTextFrameSnapshot

void


optional rendererMode?: TerminalRendererMode


renderState: GhosttyRenderState | RenderStateSource


optional replaceCanvas?: () => HTMLCanvasElement | OffscreenCanvas

HTMLCanvasElement | OffscreenCanvas


optional retainDisplayedText?: boolean


rows: number


optional schedulerClock?: RenderSchedulerClock


optional theme?: Partial<RendererTheme>