diff --git a/src-testing/changes.patch b/src-testing/changes.patch index 3d664f971..06c4f4e2f 100644 --- a/src-testing/changes.patch +++ b/src-testing/changes.patch @@ -426,7 +426,7 @@ index 6cffa933..5d5cc161 100644 addNodeClass('FunctionNode', FunctionNode); diff --git a/src-testing/src/nodes/core/ContextNode.ts b/src-testing/src/nodes/core/ContextNode.ts -index fcd488eb..84e3c972 100644 +index 674f1cda..cfb748a8 100644 --- a/src-testing/src/nodes/core/ContextNode.ts +++ b/src-testing/src/nodes/core/ContextNode.ts @@ -1,8 +1,14 @@ @@ -436,19 +436,19 @@ index fcd488eb..84e3c972 100644 +import NodeBuilder from './NodeBuilder.js'; -class ContextNode extends Node { -- constructor(node, context = {}) { +- constructor(node, value = {}) { +class ContextNode extends Node { + readonly isContextNode: true; + + node: Node; -+ context: TContext; ++ value: TContext; + -+ constructor(node: Node, context: TContext = {} as TContext) { ++ constructor(node: Node, value: TContext = {} as TContext) { super(); this.isContextNode = true; @@ -11,15 +17,15 @@ class ContextNode extends Node { - this.context = context; + this.value = value; } - getNodeType(builder) { @@ -465,7 +465,7 @@ index fcd488eb..84e3c972 100644 + setup(builder: NodeBuilder) { const previousContext = builder.getContext(); - builder.setContext({ ...builder.context, ...this.context }); + builder.setContext({ ...builder.context, ...this.value }); @@ -31,7 +37,7 @@ class ContextNode extends Node { return node; } @@ -474,7 +474,7 @@ index fcd488eb..84e3c972 100644 + generate(builder: NodeBuilder, output?: string | null) { const previousContext = builder.getContext(); - builder.setContext({ ...builder.context, ...this.context }); + builder.setContext({ ...builder.context, ...this.value }); @@ -47,7 +53,7 @@ class ContextNode extends Node { export default ContextNode; @@ -2518,10 +2518,10 @@ index 9417df5a..43761555 100644 const getViewZ = builder.context.getViewZ; diff --git a/src-testing/src/nodes/lighting/LightingContextNode.ts b/src-testing/src/nodes/lighting/LightingContextNode.ts -index 02a8b51f..1d11c859 100644 +index a6262f9a..22657e2e 100644 --- a/src-testing/src/nodes/lighting/LightingContextNode.ts +++ b/src-testing/src/nodes/lighting/LightingContextNode.ts -@@ -1,9 +1,31 @@ +@@ -1,9 +1,30 @@ import ContextNode from '../core/ContextNode.js'; -import { addNodeClass } from '../core/Node.js'; -import { addNodeElement, nodeProxy, float, vec3 } from '../shadernode/ShaderNode.js'; @@ -2547,17 +2547,16 @@ index 02a8b51f..1d11c859 100644 +} + +class LightingContextNode extends ContextNode { -+ // lightingModel; + backdropNode: Node | null; + backdropAlphaNode: Node | null; + -+ _context: LightingContext | null; ++ _value: LightingContext | null; + + constructor(node: Node, lightingModel = null, backdropNode = null, backdropAlphaNode = null) { super(node); this.lightingModel = lightingModel; -@@ -28,7 +50,7 @@ class LightingContextNode extends ContextNode { +@@ -28,7 +49,7 @@ class LightingContextNode extends ContextNode { indirectSpecular, }; @@ -2566,14 +2565,14 @@ index 02a8b51f..1d11c859 100644 radiance: vec3().temp('radiance'), irradiance: vec3().temp('irradiance'), iblIrradiance: vec3().temp('iblIrradiance'), -@@ -41,7 +63,7 @@ class LightingContextNode extends ContextNode { +@@ -41,7 +62,7 @@ class LightingContextNode extends ContextNode { return context; } - setup(builder) { + setup(builder: NodeBuilder) { - this.context = this._context || (this._context = this.getContext()); - this.context.lightingModel = this.lightingModel || builder.context.lightingModel; + this.value = this._value || (this._value = this.getContext()); + this.value.lightingModel = this.lightingModel || builder.context.lightingModel; diff --git a/src-testing/src/nodes/lighting/LightsNode.ts b/src-testing/src/nodes/lighting/LightsNode.ts index 9a41cc7d..df337a72 100644 diff --git a/three.js b/three.js index 828769f5a..be94188ff 160000 --- a/three.js +++ b/three.js @@ -1 +1 @@ -Subproject commit 828769f5abb029a8609d6ededc9a8d3f657fc6f6 +Subproject commit be94188ffdd63faf96ef3cb119944c3598b396cf diff --git a/types/three/src/nodes/core/ContextNode.d.ts b/types/three/src/nodes/core/ContextNode.d.ts index 344add650..7f30601f0 100644 --- a/types/three/src/nodes/core/ContextNode.d.ts +++ b/types/three/src/nodes/core/ContextNode.d.ts @@ -2,15 +2,18 @@ import { NodeRepresentation, ShaderNodeObject } from "../shadernode/ShaderNode.j import Node from "./Node.js"; import { NodeBuilderContext } from "./NodeBuilder.js"; -export default class ContextNode extends Node { - isContextNode: true; +declare class ContextNode extends Node { + readonly isContextNode: true; + node: Node; - context: NodeBuilderContext; + value: NodeBuilderContext; - constructor(node: Node, context: NodeBuilderContext); + constructor(node: Node, value?: NodeBuilderContext); } -export const context: (node: NodeRepresentation, context: NodeBuilderContext) => ShaderNodeObject; +export default ContextNode; + +export const context: (node: NodeRepresentation, context?: NodeBuilderContext) => ShaderNodeObject; export const label: (node: NodeRepresentation, label: string) => ShaderNodeObject; declare module "../shadernode/ShaderNode.js" {