Skip to content

Conversation

@sunag
Copy link
Collaborator

@sunag sunag commented Mar 20, 2023

I'll make this description as the days go by, but I have to say, I've never been as excited to finish a PR as this one. Many improvements have been made, and we have full integration with TSL ( Three.js Shading Language ) and finally support for CPU Nodes.

Tested on Google Chrome

WebGL

https://raw.githack.com/sunag/three.js/dev-just-nodes/playground/

WebGPU

https://raw.githack.com/sunag/three.js/dev-just-nodes/playground/?backend=webgpu

Scene entirely created using NodeEditor.

image

/cc @mrdoob @bhouston

Now we can create nodes for interactivity purposes.

@sunag sunag changed the title NodeEditor: New Version (Rev. 3) NodeEditor: New Version (Rev. 3) - WIP Mar 20, 2023
@LeviPesin
Copy link
Contributor

This is awesome!!!

finally support for CPU Nodes

This partially resolves #25256 (ScriptableNode allows working with JS nodes similar to how CodeNode allows that for GLSL and WGSL nodes). I will start working on a PR adding JS as a possible output language (like GLSL or WGSL), i.e. JSNodeBuilder (and maybe also CPURenderer similar to the removed SoftwareRenderer) sometime soon...

@sunag
Copy link
Collaborator Author

sunag commented Mar 20, 2023

@LeviPesin I see a very promising future :)

@mrdoob
Copy link
Owner

mrdoob commented Mar 21, 2023

Getting zbuffer issues on a M1. Is there a way to change the camera near/far?

Screen.Recording.2023-03-21.at.15.39.30.mov

@mrdoob
Copy link
Owner

mrdoob commented Mar 21, 2023

Getting a crash when trying to load another example:

Screenshot 2023-03-21 at 15 44 06

@mrdoob
Copy link
Owner

mrdoob commented Mar 21, 2023

Seems like the selections in monaco do not work properly when changing the zoom level?

Screen.Recording.2023-03-21.at.15.51.13.mov

@mrdoob
Copy link
Owner

mrdoob commented Mar 21, 2023

What do you think about moving this editor (and related code) to it's own folder in the root of the repo?
Maybe to /playground?

constructor( target = null ) {

}
super( 'context', target );

Check warning

Code scanning / CodeQL

Superfluous trailing arguments

Superfluous argument passed to [constructor of class Menu](1).
constructor( target = null ) {

dom.onchange = () => {
super( 'circle', target );

Check warning

Code scanning / CodeQL

Superfluous trailing arguments

Superfluous argument passed to [constructor of class Menu](1).
@LeviPesin
Copy link
Contributor

Please add playground folder to package.json's scripts (i.e. create a lint-playground script and add it to lint-fix).

@github-actions
Copy link

github-actions bot commented Mar 22, 2023

📦 Bundle size

Full ESM build, minified and gzipped.

Filesize Gzipped Diff from dev
618.8 kB 154.7 kB +0 B

🌳 Bundle size after tree-shaking

Minimal build including a renderer, camera, empty scene, and dependencies.

Filesize Gzipped Diff from dev
410.5 kB 100.9 kB +0 B

@sunag sunag added this to the r151 milestone Mar 22, 2023
@sunag sunag changed the title NodeEditor: New Version (Rev. 3) - WIP NodeEditor: New Version (Rev. 3) Mar 27, 2023
@sunag sunag marked this pull request as ready for review March 27, 2023 09:47
@sunag sunag merged commit 03e4e05 into mrdoob:dev Mar 29, 2023
@sunag sunag deleted the dev-just-nodes branch March 29, 2023 04:03
@sunag sunag restored the dev-just-nodes branch March 29, 2023 04:03
@sunag sunag deleted the dev-just-nodes branch March 29, 2023 04:03
@sunag sunag restored the dev-just-nodes branch March 29, 2023 04:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants