type PassContextProps = {
useVariants:
(
virtual: {
pipeline: Update<GPURenderPipelineDescriptor>,
defines: Record<string, any>,
mode: string,
renderer: string,
vertexCount?: Lazy<number>,
instanceCount?: Lazy<number>,
firstVertex?: Lazy<number>,
firstInstance?: Lazy<number>,
bounds?: Lazy<DataBounds>,
indirect?: StorageSource,
links: Record<string, ShaderModule<any>>,
shouldDispatch?: () => boolean | number | undefined,
onDispatch?: () => void,
},
hovered: boolean,
) => LiveComponent<object> | LiveComponent<object>[] | null,
buffers: Record<string, UseGPURenderContext[]>,
layout?: GPUBindGroupLayout,
bind?:
(
...args: any[],
) => (passEncoder: GPURenderPassEncoder) => void,
}
packages / workbench / src / providers / pass-provider.ts