From 81fd7a2fa64ed6e8ec2cb6d0d4e7f5e42f0c6235 Mon Sep 17 00:00:00 2001 From: George Corney Date: Wed, 19 Mar 2025 14:05:39 +0000 Subject: [PATCH 1/3] Add optionally typed uniforms to RawShaderMaterial --- types/three/src/materials/RawShaderMaterial.d.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/types/three/src/materials/RawShaderMaterial.d.ts b/types/three/src/materials/RawShaderMaterial.d.ts index 6ff6b67f0..dfcef60f3 100644 --- a/types/three/src/materials/RawShaderMaterial.d.ts +++ b/types/three/src/materials/RawShaderMaterial.d.ts @@ -1,7 +1,9 @@ import { ShaderMaterial, ShaderMaterialParameters } from "./ShaderMaterial.js"; -export class RawShaderMaterial extends ShaderMaterial { - constructor(parameters?: ShaderMaterialParameters); +export class RawShaderMaterial> = any> extends ShaderMaterial { + declare uniforms: T; + + constructor(parameters?: Omit & { uniforms: T }); /** * Read-only flag to check if a given object is of type {@link RawShaderMaterial}. From 386ca7bbcd1670b767ed32f85c0b50f2785ab413 Mon Sep 17 00:00:00 2001 From: George Corney Date: Wed, 19 Mar 2025 14:07:40 +0000 Subject: [PATCH 2/3] Remove for brevity --- types/three/src/materials/RawShaderMaterial.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/types/three/src/materials/RawShaderMaterial.d.ts b/types/three/src/materials/RawShaderMaterial.d.ts index dfcef60f3..950aed43c 100644 --- a/types/three/src/materials/RawShaderMaterial.d.ts +++ b/types/three/src/materials/RawShaderMaterial.d.ts @@ -1,6 +1,6 @@ import { ShaderMaterial, ShaderMaterialParameters } from "./ShaderMaterial.js"; -export class RawShaderMaterial> = any> extends ShaderMaterial { +export class RawShaderMaterial = any> extends ShaderMaterial { declare uniforms: T; constructor(parameters?: Omit & { uniforms: T }); From 1f3a08cc6a98f217c7e2088e044338c47b1930e0 Mon Sep 17 00:00:00 2001 From: George Corney Date: Wed, 19 Mar 2025 14:08:27 +0000 Subject: [PATCH 3/3] Add optionally typed uniforms to ShaderMaterial --- types/three/src/materials/ShaderMaterial.d.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/types/three/src/materials/ShaderMaterial.d.ts b/types/three/src/materials/ShaderMaterial.d.ts index 53e07a821..7d100ab9d 100644 --- a/types/three/src/materials/ShaderMaterial.d.ts +++ b/types/three/src/materials/ShaderMaterial.d.ts @@ -69,8 +69,8 @@ export interface ShaderMaterialJSON extends MaterialJSON { extensions?: Record; } -export class ShaderMaterial extends Material { - constructor(parameters?: ShaderMaterialParameters); +export class ShaderMaterial = any> extends Material { + constructor(parameters?: Omit & { uniforms: T }); /** * Read-only flag to check if a given object is of type {@link ShaderMaterial}. @@ -87,7 +87,7 @@ export class ShaderMaterial extends Material { /** * @default {} */ - uniforms: { [uniform: string]: IUniform }; + uniforms: T; uniformsGroups: UniformsGroup[];