Skip to content

Commit b9f8bca

Browse files
Fix ComputeBuiltinNode typings for vector builtins (uvec3 swizzles) (#2045)
* Update ComputeBuiltinNode.d.ts: expose coordinates * Make ComputeBuiltinNode generic --------- Co-authored-by: Nathan Bierema <nbierema@gmail.com>
1 parent f149ddd commit b9f8bca

File tree

1 file changed

+16
-7
lines changed

1 file changed

+16
-7
lines changed
Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,22 @@
11
import Node from "../core/Node.js";
2+
import { NodeBuilder } from "../Nodes.js";
23

3-
declare class ComputeBuiltinNode extends Node {
4-
constructor(builtinName: string, nodeType: string);
4+
interface ComputeBuiltinNodeInterface {
5+
setBuiltinName(builtinName: string): this;
6+
getBuiltinName(builder: NodeBuilder): string;
7+
hasBuiltin(builder: NodeBuilder): boolean;
58
}
69

10+
declare const ComputeBuiltinNode: {
11+
new<TNodeType>(builtinName: string, nodeType: TNodeType): ComputeBuiltinNode<TNodeType>;
12+
};
13+
14+
type ComputeBuiltinNode<TNodeType = unknown> = Node<TNodeType> & ComputeBuiltinNodeInterface;
15+
716
export default ComputeBuiltinNode;
817

9-
export const numWorkgroups: ComputeBuiltinNode;
10-
export const workgroupId: ComputeBuiltinNode;
11-
export const globalId: ComputeBuiltinNode;
12-
export const localId: ComputeBuiltinNode;
13-
export const subgroupSize: ComputeBuiltinNode;
18+
export const numWorkgroups: ComputeBuiltinNode<"uvec3">;
19+
export const workgroupId: ComputeBuiltinNode<"uvec3">;
20+
export const globalId: ComputeBuiltinNode<"uvec3">;
21+
export const localId: ComputeBuiltinNode<"uvec3">;
22+
export const subgroupSize: ComputeBuiltinNode<"uint">;

0 commit comments

Comments
 (0)