From df82852303b51368a3cd95fb696cf0c7e4a6630b Mon Sep 17 00:00:00 2001 From: thelazylama Date: Fri, 24 Apr 2026 00:30:08 +1000 Subject: [PATCH 1/6] AtomicFunctionNode: Return correct typed node --- .../src/nodes/gpgpu/AtomicFunctionNode.d.ts | 60 +++++++++---------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/types/three/src/nodes/gpgpu/AtomicFunctionNode.d.ts b/types/three/src/nodes/gpgpu/AtomicFunctionNode.d.ts index b247b2b7f..aead69471 100644 --- a/types/three/src/nodes/gpgpu/AtomicFunctionNode.d.ts +++ b/types/three/src/nodes/gpgpu/AtomicFunctionNode.d.ts @@ -32,52 +32,52 @@ declare class AtomicFunctionNode extends Node { export default AtomicFunctionNode; -export const atomicFunc: ( +export const atomicFunc: ( method: AtomicMethod, - pointerNode: Node, + pointerNode: Node, valueNode: Node, -) => AtomicFunctionNode; +) => Node; -export const atomicLoad: ( - pointerNode: Node, -) => AtomicFunctionNode; +export const atomicLoad: ( + pointerNode: Node, +) => Node; -export const atomicStore: ( - pointerNode: Node, +export const atomicStore: ( + pointerNode: Node, valueNode: Node | number, -) => AtomicFunctionNode; +) => Node; -export const atomicAdd: ( - pointerNode: Node, +export const atomicAdd: ( + pointerNode: Node, valueNode: Node | number, -) => AtomicFunctionNode; +) => Node; -export const atomicSub: ( - pointerNode: Node, +export const atomicSub: ( + pointerNode: Node, valueNode: Node | number, -) => AtomicFunctionNode; +) => Node; -export const atomicMax: ( - pointerNode: Node, +export const atomicMax: ( + pointerNode: Node, valueNode: Node, -) => AtomicFunctionNode; +) => Node; -export const atomicMin: ( - pointerNode: Node, +export const atomicMin: ( + pointerNode: Node, valueNode: Node, -) => AtomicFunctionNode; +) => Node; -export const atomicAnd: ( - pointerNode: Node, +export const atomicAnd: ( + pointerNode: Node, valueNode: Node, -) => AtomicFunctionNode; +) => Node; -export const atomicOr: ( - pointerNode: Node, +export const atomicOr: ( + pointerNode: Node, valueNode: Node, -) => AtomicFunctionNode; +) => Node; -export const atomicXor: ( - pointerNode: Node, +export const atomicXor: ( + pointerNode: Node, valueNode: Node, -) => AtomicFunctionNode; +) => Node; \ No newline at end of file From c94faa047bed6fb0caadf8feda695829d378c51e Mon Sep 17 00:00:00 2001 From: thelazylama Date: Fri, 24 Apr 2026 02:22:46 +1000 Subject: [PATCH 2/6] AtomicFunctionNode: Style improvement --- .../src/nodes/gpgpu/AtomicFunctionNode.d.ts | 53 +++++++++++-------- 1 file changed, 32 insertions(+), 21 deletions(-) diff --git a/types/three/src/nodes/gpgpu/AtomicFunctionNode.d.ts b/types/three/src/nodes/gpgpu/AtomicFunctionNode.d.ts index aead69471..cfb1bdab3 100644 --- a/types/three/src/nodes/gpgpu/AtomicFunctionNode.d.ts +++ b/types/three/src/nodes/gpgpu/AtomicFunctionNode.d.ts @@ -11,7 +11,7 @@ export type AtomicMethod = | typeof AtomicFunctionNode.ATOMIC_OR | typeof AtomicFunctionNode.ATOMIC_XOR; -declare class AtomicFunctionNode extends Node { +declare class AtomicFunctionNodeClass extends Node { method: AtomicMethod; pointerNode: Node; valueNode: Node; @@ -30,54 +30,65 @@ declare class AtomicFunctionNode extends Node { static ATOMIC_XOR: "atomicXor"; } +export type AtomicFunctionNode = + Node & AtomicFunctionNodeClass; + +declare const AtomicFunctionNode: { + new( + method: AtomicMethod, + pointerNode: Node, + valueNode: Node, + ): AtomicFunctionNode; +} & typeof AtomicFunctionNodeClass; + export default AtomicFunctionNode; -export const atomicFunc: ( +export const atomicFunc: ( method: AtomicMethod, pointerNode: Node, valueNode: Node, -) => Node; +) => AtomicFunctionNode; -export const atomicLoad: ( +export const atomicLoad: ( pointerNode: Node, -) => Node; +) => AtomicFunctionNode; -export const atomicStore: ( +export const atomicStore: ( pointerNode: Node, valueNode: Node | number, -) => Node; +) => AtomicFunctionNode; -export const atomicAdd: ( +export const atomicAdd: ( pointerNode: Node, valueNode: Node | number, -) => Node; +) => AtomicFunctionNode; -export const atomicSub: ( +export const atomicSub: ( pointerNode: Node, valueNode: Node | number, -) => Node; +) => AtomicFunctionNode; -export const atomicMax: ( +export const atomicMax: ( pointerNode: Node, valueNode: Node, -) => Node; +) => AtomicFunctionNode; -export const atomicMin: ( +export const atomicMin: ( pointerNode: Node, valueNode: Node, -) => Node; +) => AtomicFunctionNode; -export const atomicAnd: ( +export const atomicAnd: ( pointerNode: Node, valueNode: Node, -) => Node; +) => AtomicFunctionNode; -export const atomicOr: ( +export const atomicOr: ( pointerNode: Node, valueNode: Node, -) => Node; +) => AtomicFunctionNode; -export const atomicXor: ( +export const atomicXor: ( pointerNode: Node, valueNode: Node, -) => Node; \ No newline at end of file +) => AtomicFunctionNode; \ No newline at end of file From 4c541eba3f901a2dba080a8919311cbe41f1f0a0 Mon Sep 17 00:00:00 2001 From: thelazylama Date: Fri, 24 Apr 2026 02:32:31 +1000 Subject: [PATCH 3/6] AtomicFunctionNode: Formatting --- types/three/src/nodes/gpgpu/AtomicFunctionNode.d.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/types/three/src/nodes/gpgpu/AtomicFunctionNode.d.ts b/types/three/src/nodes/gpgpu/AtomicFunctionNode.d.ts index cfb1bdab3..f8b325d7e 100644 --- a/types/three/src/nodes/gpgpu/AtomicFunctionNode.d.ts +++ b/types/three/src/nodes/gpgpu/AtomicFunctionNode.d.ts @@ -30,8 +30,7 @@ declare class AtomicFunctionNodeClass extends Node { static ATOMIC_XOR: "atomicXor"; } -export type AtomicFunctionNode = - Node & AtomicFunctionNodeClass; +export type AtomicFunctionNode = Node & AtomicFunctionNodeClass; declare const AtomicFunctionNode: { new( From 0786c4e07abb20817ca903fabdeb3f295d74fa6a Mon Sep 17 00:00:00 2001 From: thelazylama Date: Fri, 24 Apr 2026 03:27:52 +1000 Subject: [PATCH 4/6] AtomicFunctionNode: Use interface --- .../src/nodes/gpgpu/AtomicFunctionNode.d.ts | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/types/three/src/nodes/gpgpu/AtomicFunctionNode.d.ts b/types/three/src/nodes/gpgpu/AtomicFunctionNode.d.ts index f8b325d7e..7cdc1ab81 100644 --- a/types/three/src/nodes/gpgpu/AtomicFunctionNode.d.ts +++ b/types/three/src/nodes/gpgpu/AtomicFunctionNode.d.ts @@ -12,13 +12,6 @@ export type AtomicMethod = | typeof AtomicFunctionNode.ATOMIC_XOR; declare class AtomicFunctionNodeClass extends Node { - method: AtomicMethod; - pointerNode: Node; - valueNode: Node; - parents: boolean; - - constructor(method: AtomicMethod, pointerNode: Node, valueNode: Node); - static ATOMIC_LOAD: "atomicLoad"; static ATOMIC_STORE: "atomicStore"; static ATOMIC_ADD: "atomicAdd"; @@ -30,13 +23,20 @@ declare class AtomicFunctionNodeClass extends Node { static ATOMIC_XOR: "atomicXor"; } -export type AtomicFunctionNode = Node & AtomicFunctionNodeClass; +interface AtomicFunctionNodeInterface { + method: AtomicMethod; + pointerNode: Node; + valueNode: Node | null; + parents: boolean; +} + +export type AtomicFunctionNode = Node & AtomicFunctionNodeInterface; declare const AtomicFunctionNode: { new( method: AtomicMethod, pointerNode: Node, - valueNode: Node, + valueNode: Node | null, ): AtomicFunctionNode; } & typeof AtomicFunctionNodeClass; @@ -45,7 +45,7 @@ export default AtomicFunctionNode; export const atomicFunc: ( method: AtomicMethod, pointerNode: Node, - valueNode: Node, + valueNode: Node | null, ) => AtomicFunctionNode; export const atomicLoad: ( @@ -90,4 +90,4 @@ export const atomicOr: ( export const atomicXor: ( pointerNode: Node, valueNode: Node, -) => AtomicFunctionNode; \ No newline at end of file +) => AtomicFunctionNode; From 3672625ea2e5367740386cd61dbacc5467151659 Mon Sep 17 00:00:00 2001 From: Nathan Bierema Date: Sat, 2 May 2026 08:30:27 -0400 Subject: [PATCH 5/6] Cleanup --- .../src/nodes/gpgpu/AtomicFunctionNode.d.ts | 48 +++++++++---------- 1 file changed, 23 insertions(+), 25 deletions(-) diff --git a/types/three/src/nodes/gpgpu/AtomicFunctionNode.d.ts b/types/three/src/nodes/gpgpu/AtomicFunctionNode.d.ts index 7cdc1ab81..73bd42d0c 100644 --- a/types/three/src/nodes/gpgpu/AtomicFunctionNode.d.ts +++ b/types/three/src/nodes/gpgpu/AtomicFunctionNode.d.ts @@ -11,18 +11,6 @@ export type AtomicMethod = | typeof AtomicFunctionNode.ATOMIC_OR | typeof AtomicFunctionNode.ATOMIC_XOR; -declare class AtomicFunctionNodeClass extends Node { - static ATOMIC_LOAD: "atomicLoad"; - static ATOMIC_STORE: "atomicStore"; - static ATOMIC_ADD: "atomicAdd"; - static ATOMIC_SUB: "atomicSub"; - static ATOMIC_MAX: "atomicMax"; - static ATOMIC_MIN: "atomicMin"; - static ATOMIC_AND: "atomicAnd"; - static ATOMIC_OR: "atomicOr"; - static ATOMIC_XOR: "atomicXor"; -} - interface AtomicFunctionNodeInterface { method: AtomicMethod; pointerNode: Node; @@ -30,64 +18,74 @@ interface AtomicFunctionNodeInterface { parents: boolean; } -export type AtomicFunctionNode = Node & AtomicFunctionNodeInterface; - declare const AtomicFunctionNode: { new( method: AtomicMethod, pointerNode: Node, valueNode: Node | null, ): AtomicFunctionNode; -} & typeof AtomicFunctionNodeClass; + + ATOMIC_LOAD: "atomicLoad"; + ATOMIC_STORE: "atomicStore"; + ATOMIC_ADD: "atomicAdd"; + ATOMIC_SUB: "atomicSub"; + ATOMIC_MAX: "atomicMax"; + ATOMIC_MIN: "atomicMin"; + ATOMIC_AND: "atomicAnd"; + ATOMIC_OR: "atomicOr"; + ATOMIC_XOR: "atomicXor"; +}; + +export type AtomicFunctionNode = Node & AtomicFunctionNodeInterface; export default AtomicFunctionNode; -export const atomicFunc: ( +export const atomicFunc: ( method: AtomicMethod, pointerNode: Node, valueNode: Node | null, ) => AtomicFunctionNode; -export const atomicLoad: ( +export const atomicLoad: ( pointerNode: Node, ) => AtomicFunctionNode; -export const atomicStore: ( +export const atomicStore: ( pointerNode: Node, valueNode: Node | number, ) => AtomicFunctionNode; -export const atomicAdd: ( +export const atomicAdd: ( pointerNode: Node, valueNode: Node | number, ) => AtomicFunctionNode; -export const atomicSub: ( +export const atomicSub: ( pointerNode: Node, valueNode: Node | number, ) => AtomicFunctionNode; -export const atomicMax: ( +export const atomicMax: ( pointerNode: Node, valueNode: Node, ) => AtomicFunctionNode; -export const atomicMin: ( +export const atomicMin: ( pointerNode: Node, valueNode: Node, ) => AtomicFunctionNode; -export const atomicAnd: ( +export const atomicAnd: ( pointerNode: Node, valueNode: Node, ) => AtomicFunctionNode; -export const atomicOr: ( +export const atomicOr: ( pointerNode: Node, valueNode: Node, ) => AtomicFunctionNode; -export const atomicXor: ( +export const atomicXor: ( pointerNode: Node, valueNode: Node, ) => AtomicFunctionNode; From c771008c7bed4232cf5da51c9b843c1157e08f47 Mon Sep 17 00:00:00 2001 From: Nathan Bierema Date: Sat, 2 May 2026 08:31:19 -0400 Subject: [PATCH 6/6] Cleanup --- types/three/src/nodes/gpgpu/AtomicFunctionNode.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/types/three/src/nodes/gpgpu/AtomicFunctionNode.d.ts b/types/three/src/nodes/gpgpu/AtomicFunctionNode.d.ts index 73bd42d0c..17fab1860 100644 --- a/types/three/src/nodes/gpgpu/AtomicFunctionNode.d.ts +++ b/types/three/src/nodes/gpgpu/AtomicFunctionNode.d.ts @@ -19,7 +19,7 @@ interface AtomicFunctionNodeInterface { } declare const AtomicFunctionNode: { - new( + new( method: AtomicMethod, pointerNode: Node, valueNode: Node | null,