Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
6ba09b1
Test
Methuselah96 Oct 5, 2025
eb0e8d1
Update
Methuselah96 Oct 5, 2025
c35ea92
Add src
Methuselah96 Oct 5, 2025
0f52948
Update patch and delete src
Methuselah96 Oct 5, 2025
fb37d2e
Update declarations
Methuselah96 Oct 5, 2025
ea05653
Updates
Methuselah96 Oct 9, 2025
e67a91d
Update declarations
Methuselah96 Oct 9, 2025
a476111
Update
Methuselah96 Oct 9, 2025
cf3516a
Add src
Methuselah96 Oct 9, 2025
a760a89
Update patch and delete src
Methuselah96 Oct 9, 2025
bd0bfe8
Update declarations
Methuselah96 Oct 9, 2025
e385f8c
Add src
Methuselah96 Oct 9, 2025
2ebe9b3
Update patch and delete src
Methuselah96 Oct 9, 2025
6d27ce8
Update declarations
Methuselah96 Oct 9, 2025
4b115fa
Add src
Methuselah96 Oct 11, 2025
1106db7
Update patch and delete src
Methuselah96 Oct 11, 2025
198ee5c
Update declarations
Methuselah96 Oct 11, 2025
22c4a2d
Checkpoint
Methuselah96 Oct 11, 2025
d191c23
More
Methuselah96 Oct 11, 2025
c1c2cfe
Add src
Methuselah96 Oct 11, 2025
08d3f5d
Update patch and delete src
Methuselah96 Oct 11, 2025
d6aace8
Update declarations
Methuselah96 Oct 11, 2025
4c4ee61
Remove assertSwizzable
Methuselah96 Oct 11, 2025
667c179
Add src
Methuselah96 Oct 11, 2025
bdf37cd
Update patch and delete src
Methuselah96 Oct 11, 2025
c46a68a
Update declarations
Methuselah96 Oct 11, 2025
ee0c632
Remove ShaderNodeObject from src
Methuselah96 Oct 11, 2025
41bfe15
Remove ShaderNodeObject from examples
Methuselah96 Oct 12, 2025
6399255
Remove ShaderNodeObject from test
Methuselah96 Oct 12, 2025
21cfc84
Add examples
Methuselah96 Oct 12, 2025
819f2d0
Update patch and delete examples
Methuselah96 Oct 12, 2025
209abad
Add src
Methuselah96 Oct 12, 2025
6e0e8d0
Update patch and delete src
Methuselah96 Oct 12, 2025
80161c3
Add jsdoc
Methuselah96 Oct 12, 2025
6cf7c51
Update patch and delete jsdoc
Methuselah96 Oct 12, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
804 changes: 279 additions & 525 deletions examples-testing/changes.patch

Large diffs are not rendered by default.

58 changes: 28 additions & 30 deletions jsdoc-testing/changes.patch
Original file line number Diff line number Diff line change
Expand Up @@ -6517,10 +6517,10 @@ index 1ffe1bd1..94d4efb0 100644
+
+export default MeshToonNodeMaterial;
diff --git a/jsdoc-testing/jsdoc/materials/nodes/NodeMaterial.d.ts b/jsdoc-testing/jsdoc/materials/nodes/NodeMaterial.d.ts
index 9e689cf0..d4002950 100644
index 9e689cf0..63e021e5 100644
--- a/jsdoc-testing/jsdoc/materials/nodes/NodeMaterial.d.ts
+++ b/jsdoc-testing/jsdoc/materials/nodes/NodeMaterial.d.ts
@@ -1,37 +1,23 @@
@@ -1,37 +1,22 @@
-export default NodeMaterial;
-/**
- * Base class for all node materials.
Expand Down Expand Up @@ -6551,7 +6551,6 @@ index 9e689cf0..d4002950 100644
+import MRTNode from "../../nodes/core/MRTNode.js";
+import NodeBuilder from "../../nodes/core/NodeBuilder.js";
+import ClippingNode from "../../nodes/accessors/ClippingNode.js";
+import { ShaderNodeObject } from "../../nodes/tsl/TSLCore.js";
+import LightingModel from "../../nodes/core/LightingModel.js";
+
+export interface NodeMaterialNodeProperties {
Expand All @@ -6569,23 +6568,23 @@ index 9e689cf0..d4002950 100644
* @default false
*/
lights: boolean;
@@ -40,7 +26,6 @@ declare class NodeMaterial extends Material {
@@ -40,7 +25,6 @@ declare class NodeMaterial extends Material {
* This property is managed by the engine and should not be
* modified by apps.
*
- * @type {boolean}
* @default false
*/
hardwareClipping: boolean;
@@ -57,7 +42,6 @@ declare class NodeMaterial extends Material {
@@ -57,7 +41,6 @@ declare class NodeMaterial extends Material {
* material.lightsNode = customLightsNode;
* ```
*
- * @type {?LightsNode}
* @default null
*/
lightsNode: LightsNode | null;
@@ -71,10 +55,9 @@ declare class NodeMaterial extends Material {
@@ -71,10 +54,9 @@ declare class NodeMaterial extends Material {
* material.envNode = pmremTexture( renderTarget.texture );
* ```
*
Expand All @@ -6597,7 +6596,7 @@ index 9e689cf0..d4002950 100644
/**
* The lighting of node materials might be influenced by ambient occlusion.
* The default AO is inferred from an ambient occlusion map assigned to `aoMap`
@@ -84,10 +67,9 @@ declare class NodeMaterial extends Material {
@@ -84,10 +66,9 @@ declare class NodeMaterial extends Material {
* If you don't want to overwrite the diffuse color but modify the existing
* values instead, use {@link materialAO}.
*
Expand All @@ -6609,7 +6608,7 @@ index 9e689cf0..d4002950 100644
/**
* The diffuse color of node materials is by default inferred from the
* `color` and `map` properties. This node property allows to overwrite the default
@@ -104,10 +86,9 @@ declare class NodeMaterial extends Material {
@@ -104,10 +85,9 @@ declare class NodeMaterial extends Material {
* material.colorNode = materialColor.mul( color( 0xff0000 ) ); // give diffuse colors a red tint
* ```
*
Expand All @@ -6621,7 +6620,7 @@ index 9e689cf0..d4002950 100644
/**
* The normals of node materials are by default inferred from the `normalMap`/`normalScale`
* or `bumpMap`/`bumpScale` properties. This node property allows to overwrite the default
@@ -116,10 +97,9 @@ declare class NodeMaterial extends Material {
@@ -116,10 +96,9 @@ declare class NodeMaterial extends Material {
* If you don't want to overwrite the normals but modify the existing values instead,
* use {@link materialNormal}.
*
Expand All @@ -6633,7 +6632,7 @@ index 9e689cf0..d4002950 100644
/**
* The opacity of node materials is by default inferred from the `opacity`
* and `alphaMap` properties. This node property allows to overwrite the default
@@ -128,10 +108,9 @@ declare class NodeMaterial extends Material {
@@ -128,10 +107,9 @@ declare class NodeMaterial extends Material {
* If you don't want to overwrite the normals but modify the existing
* value instead, use {@link materialOpacity}.
*
Expand All @@ -6645,7 +6644,7 @@ index 9e689cf0..d4002950 100644
/**
* This node can be used to implement a variety of filter-like effects. The idea is
* to store the current rendering into a texture e.g. via `viewportSharedTexture()`, use it
@@ -148,17 +127,15 @@ declare class NodeMaterial extends Material {
@@ -148,17 +126,15 @@ declare class NodeMaterial extends Material {
*
* Backdrop computations are part of the lighting so only lit materials can use this property.
*
Expand All @@ -6665,7 +6664,7 @@ index 9e689cf0..d4002950 100644
/**
* The alpha test of node materials is by default inferred from the `alphaTest`
* property. This node property allows to overwrite the default and define the
@@ -167,17 +144,15 @@ declare class NodeMaterial extends Material {
@@ -167,17 +143,15 @@ declare class NodeMaterial extends Material {
* If you don't want to overwrite the alpha test but modify the existing
* value instead, use {@link materialAlphaTest}.
*
Expand All @@ -6685,7 +6684,7 @@ index 9e689cf0..d4002950 100644
/**
* The local vertex positions are computed based on multiple factors like the
* attribute data, morphing or skinning. This node property allows to overwrite
@@ -190,10 +165,9 @@ declare class NodeMaterial extends Material {
@@ -190,10 +164,9 @@ declare class NodeMaterial extends Material {
* material.positionNode = positionLocal.add( displace );
* ```
*
Expand All @@ -6697,7 +6696,7 @@ index 9e689cf0..d4002950 100644
/**
* This node property is intended for logic which modifies geometry data once or per animation step.
* Apps usually place such logic randomly in initialization routines or in the animation loop.
@@ -205,34 +179,30 @@ declare class NodeMaterial extends Material {
@@ -205,34 +178,30 @@ declare class NodeMaterial extends Material {
* simulation would be implemented as compute shaders and managed inside a `Fn` function. This function is
* eventually assigned to `geometryNode`.
*
Expand Down Expand Up @@ -6736,7 +6735,7 @@ index 9e689cf0..d4002950 100644
/**
* This node can be used to influence how an object using this node material
* receive shadows.
@@ -245,10 +215,9 @@ declare class NodeMaterial extends Material {
@@ -245,10 +214,9 @@ declare class NodeMaterial extends Material {
* return shadow.mix( color( 0xff0000 ), 1 ); // modify shadow color
* } );
*
Expand All @@ -6748,7 +6747,7 @@ index 9e689cf0..d4002950 100644
/**
* This node can be used to influence how an object using this node material
* casts shadows. To apply a color to shadows, you can simply do:
@@ -268,26 +237,23 @@ declare class NodeMaterial extends Material {
@@ -268,26 +236,23 @@ declare class NodeMaterial extends Material {
* } )();
* ```
*
Expand Down Expand Up @@ -6777,7 +6776,7 @@ index 9e689cf0..d4002950 100644
* @default null
*/
mrtNode: MRTNode | null;
@@ -296,19 +262,34 @@ declare class NodeMaterial extends Material {
@@ -296,19 +261,34 @@ declare class NodeMaterial extends Material {
* the fragment shader. Assigning a node will replace the built-in material
* logic used in the fragment stage.
*
Expand Down Expand Up @@ -6816,7 +6815,7 @@ index 9e689cf0..d4002950 100644
/**
* Builds this material with the given node builder.
*
@@ -354,35 +335,35 @@ declare class NodeMaterial extends Material {
@@ -354,35 +334,35 @@ declare class NodeMaterial extends Material {
* @param {NodeBuilder} builder - The current node builder.
* @return {Node<vec3>} The position in view space.
*/
Expand Down Expand Up @@ -6857,7 +6856,7 @@ index 9e689cf0..d4002950 100644
/**
* Abstract interface method that can be implemented by derived materials
* to setup material-specific node variables.
@@ -390,33 +371,33 @@ declare class NodeMaterial extends Material {
@@ -390,33 +370,33 @@ declare class NodeMaterial extends Material {
* @abstract
* @param {NodeBuilder} builder - The current node builder.
*/
Expand All @@ -6876,7 +6875,7 @@ index 9e689cf0..d4002950 100644
* @return {Node<vec3>} The normal node.
*/
- setupNormal(): Node<any>;
+ setupNormal(): ShaderNodeObject<Node>;
+ setupNormal(): Node;
/**
* Setups the environment node from the material.
*
Expand All @@ -6896,7 +6895,7 @@ index 9e689cf0..d4002950 100644
/**
* Setups the lights node based on the scene, environment and material.
*
@@ -439,7 +420,7 @@ declare class NodeMaterial extends Material {
@@ -439,7 +419,7 @@ declare class NodeMaterial extends Material {
* @param {NodeBuilder} builder - The current node builder.
* @return {Node<vec3>} The outgoing light node.
*/
Expand All @@ -6905,7 +6904,7 @@ index 9e689cf0..d4002950 100644
/**
* Setup the fog.
*
@@ -447,7 +428,7 @@ declare class NodeMaterial extends Material {
@@ -447,7 +427,7 @@ declare class NodeMaterial extends Material {
* @param {Node<vec4>} outputNode - The existing output node.
* @return {Node<vec4>} The output node.
*/
Expand All @@ -6914,7 +6913,7 @@ index 9e689cf0..d4002950 100644
/**
* Setups premultiplied alpha.
*
@@ -455,7 +436,7 @@ declare class NodeMaterial extends Material {
@@ -455,7 +435,7 @@ declare class NodeMaterial extends Material {
* @param {Node<vec4>} outputNode - The existing output node.
* @return {Node<vec4>} The output node.
*/
Expand All @@ -6923,7 +6922,7 @@ index 9e689cf0..d4002950 100644
/**
* Setups the output node.
*
@@ -463,7 +444,7 @@ declare class NodeMaterial extends Material {
@@ -463,7 +443,7 @@ declare class NodeMaterial extends Material {
* @param {Node<vec4>} outputNode - The existing output node.
* @return {Node<vec4>} The output node.
*/
Expand All @@ -6932,7 +6931,7 @@ index 9e689cf0..d4002950 100644
/**
* Most classic material types have a node pendant e.g. for `MeshBasicMaterial`
* there is `MeshBasicNodeMaterial`. This utility method is intended for
@@ -478,7 +459,10 @@ declare class NodeMaterial extends Material {
@@ -478,7 +458,10 @@ declare class NodeMaterial extends Material {
* @param {NodeMaterial} source - The material to copy.
* @return {NodeMaterial} A reference to this node material.
*/
Expand Down Expand Up @@ -7226,10 +7225,10 @@ index 7f8da84d..48184c33 100644
+
+export default SpriteNodeMaterial;
diff --git a/jsdoc-testing/jsdoc/materials/nodes/VolumeNodeMaterial.d.ts b/jsdoc-testing/jsdoc/materials/nodes/VolumeNodeMaterial.d.ts
index 8b5885c3..490eaea6 100644
index 8b5885c3..0697bba7 100644
--- a/jsdoc-testing/jsdoc/materials/nodes/VolumeNodeMaterial.d.ts
+++ b/jsdoc-testing/jsdoc/materials/nodes/VolumeNodeMaterial.d.ts
@@ -1,28 +1,13 @@
@@ -1,28 +1,12 @@
-export default VolumeNodeMaterial;
-/**
- * Volume node material.
Expand All @@ -7255,7 +7254,6 @@ index 8b5885c3..490eaea6 100644
+import VolumetricLightingModel from '../../nodes/functions/VolumetricLightingModel.js';
+import { MapColorPropertiesToColorRepresentations, MaterialParameters, MaterialProperties } from '../Material.js';
+import Node from "../../nodes/core/Node.js";
+import { ShaderNodeObject } from "../../nodes/tsl/TSLCore.js";
+
+export interface VolumeNodeMaterialNodeProperties extends NodeMaterialNodeProperties {
/**
Expand All @@ -7265,7 +7263,7 @@ index 8b5885c3..490eaea6 100644
* @default 25
*/
steps: number;
@@ -30,19 +15,43 @@ declare class VolumeNodeMaterial extends NodeMaterial {
@@ -30,19 +14,43 @@ declare class VolumeNodeMaterial extends NodeMaterial {
* Offsets the distance a ray has been traveled through a volume.
* Can be used to implement dithering to reduce banding.
*
Expand All @@ -7282,7 +7280,7 @@ index 8b5885c3..490eaea6 100644
*/
- scatteringNode: Function | FunctionNode<vec4>;
- side: number;
+ scatteringNode: (params: { positionRay: ShaderNodeObject<Node> }) => Node | null;
+ scatteringNode: (params: { positionRay: Node }) => Node | null;
+}
+
+// eslint-disable-next-line @typescript-eslint/no-empty-interface
Expand Down
Loading
Loading