From 187a3c176c244fe8ab7f1ec00d55342e291ba4b9 Mon Sep 17 00:00:00 2001 From: thelazylama <67310144+thelazylamaGit@users.noreply.github.com> Date: Fri, 20 Feb 2026 17:34:39 +1100 Subject: [PATCH 1/2] Update ComputeBuiltinNode.d.ts: expose coordinates --- types/three/src/nodes/gpgpu/ComputeBuiltinNode.d.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/types/three/src/nodes/gpgpu/ComputeBuiltinNode.d.ts b/types/three/src/nodes/gpgpu/ComputeBuiltinNode.d.ts index 51b740159..31ac3bb5c 100644 --- a/types/three/src/nodes/gpgpu/ComputeBuiltinNode.d.ts +++ b/types/three/src/nodes/gpgpu/ComputeBuiltinNode.d.ts @@ -6,8 +6,8 @@ declare class ComputeBuiltinNode extends Node { export default ComputeBuiltinNode; -export const numWorkgroups: ComputeBuiltinNode; -export const workgroupId: ComputeBuiltinNode; -export const globalId: ComputeBuiltinNode; -export const localId: ComputeBuiltinNode; -export const subgroupSize: ComputeBuiltinNode; +export const numWorkgroups: ComputeBuiltinNode & Node<"uvec3">; +export const workgroupId: ComputeBuiltinNode & Node<"uvec3">; +export const globalId: ComputeBuiltinNode & Node<"uvec3">; +export const localId: ComputeBuiltinNode & Node<"uvec3">; +export const subgroupSize: ComputeBuiltinNode & Node<"uint">; From f7a1a8ae7755c92c978a8544a1f027e7628fb6c5 Mon Sep 17 00:00:00 2001 From: Nathan Bierema Date: Fri, 20 Feb 2026 21:53:02 -0500 Subject: [PATCH 2/2] Make ComputeBuiltinNode generic --- .../src/nodes/gpgpu/ComputeBuiltinNode.d.ts | 23 +++++++++++++------ 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/types/three/src/nodes/gpgpu/ComputeBuiltinNode.d.ts b/types/three/src/nodes/gpgpu/ComputeBuiltinNode.d.ts index 31ac3bb5c..a90d6d9de 100644 --- a/types/three/src/nodes/gpgpu/ComputeBuiltinNode.d.ts +++ b/types/three/src/nodes/gpgpu/ComputeBuiltinNode.d.ts @@ -1,13 +1,22 @@ import Node from "../core/Node.js"; +import { NodeBuilder } from "../Nodes.js"; -declare class ComputeBuiltinNode extends Node { - constructor(builtinName: string, nodeType: string); +interface ComputeBuiltinNodeInterface { + setBuiltinName(builtinName: string): this; + getBuiltinName(builder: NodeBuilder): string; + hasBuiltin(builder: NodeBuilder): boolean; } +declare const ComputeBuiltinNode: { + new(builtinName: string, nodeType: TNodeType): ComputeBuiltinNode; +}; + +type ComputeBuiltinNode = Node & ComputeBuiltinNodeInterface; + export default ComputeBuiltinNode; -export const numWorkgroups: ComputeBuiltinNode & Node<"uvec3">; -export const workgroupId: ComputeBuiltinNode & Node<"uvec3">; -export const globalId: ComputeBuiltinNode & Node<"uvec3">; -export const localId: ComputeBuiltinNode & Node<"uvec3">; -export const subgroupSize: ComputeBuiltinNode & Node<"uint">; +export const numWorkgroups: ComputeBuiltinNode<"uvec3">; +export const workgroupId: ComputeBuiltinNode<"uvec3">; +export const globalId: ComputeBuiltinNode<"uvec3">; +export const localId: ComputeBuiltinNode<"uvec3">; +export const subgroupSize: ComputeBuiltinNode<"uint">;