@@ -7,7 +7,7 @@ import type { BaseData, v4f } from '../../data/wgslTypes.ts';
77import { getName , setName } from '../../shared/meta.ts' ;
88import type { InferGPU , InferGPURecord , InferRecord } from '../../shared/repr.ts' ;
99import { $internal , $resolve } from '../../shared/symbols.ts' ;
10- import type { Assume } from '../../shared/utilityTypes.ts' ;
10+ import type { Assume , RemoveIndexSignature } from '../../shared/utilityTypes.ts' ;
1111import type { TgpuVertexAttrib } from '../../shared/vertexFormat.ts' ;
1212import type { ResolutionCtx , SelfResolvable } from '../../types.ts' ;
1313import { shaderStageSlot } from '../slot/internalSlots.ts' ;
@@ -21,7 +21,8 @@ const builtinVertexIn = {
2121 $instanceIndex : builtin . instanceIndex ,
2222} as const ;
2323
24- export type AutoVertexIn < T extends AnyAutoCustoms > = T & InferRecord < typeof builtinVertexIn > ;
24+ export type AutoVertexIn < T extends AnyAutoCustoms > = RemoveIndexSignature < T > &
25+ InferRecord < typeof builtinVertexIn > ;
2526
2627export type _AutoVertexIn < T > = AutoVertexIn < {
2728 [ Key in keyof T ] : T [ Key ] extends TgpuVertexAttrib
@@ -47,7 +48,8 @@ const builtinFragmentIn = {
4748 $subgroupSize : builtin . subgroupSize ,
4849} as const ;
4950
50- export type AutoFragmentIn < T extends AnyAutoCustoms > = T & InferRecord < typeof builtinFragmentIn > ;
51+ export type AutoFragmentIn < T extends AnyAutoCustoms > = RemoveIndexSignature < T > &
52+ InferRecord < typeof builtinFragmentIn > ;
5153
5254const builtinFragmentOut = {
5355 $fragDepth : builtin . fragDepth ,
0 commit comments