# Node editor for TSL

**URL:** <https://discourse.threejs.org/t/node-editor-for-tsl/76355>\
**Category:** Showcase\
**Tags:** shaders\
**Created:** [January 11, 2025, 11:57am UTC](https://discourse.threejs.org/t/node-editor-for-tsl/76355 "2025-01-11T11:57:05Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![bhushan6](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.threejs.org/bhushan6/32/19074_2.png) [@bhushan6](https://discourse.threejs.org/u/bhushan6)\
**Post date:** [January 11, 2025, 11:57am UTC](https://discourse.threejs.org/t/node-editor-for-tsl/76355/1 "2025-01-11T11:57:05Z")

</div>

I am working on Node editor for TSL,  
[https://x.com/Bhushanwtf/status/1877676492509085767?t=0lMHj0NQP7u7\_GaE1Tngdw&s=19](https://x.com/Bhushanwtf/status/1877676492509085767?t=0lMHj0NQP7u7_GaE1Tngdw&s=19)

You can try live version [https://tsl-editor.vercel.app/](https://tsl-editor.vercel.app/)

It just supports some basic nodes rn, also you can’t really export code at this point but that will be the next thing I will be working on.

---

<div class="post-metadata">

**Author:** ![metaltab](https://avatars.discourse-cdn.com/v4/letter/m/e36b37/32.png) [@metaltab](https://discourse.threejs.org/u/metaltab)\
**Post date:** [February 22, 2025, 3:06am UTC](https://discourse.threejs.org/t/node-editor-for-tsl/76355/2 "2025-02-22T03:06:27Z")

</div>

I’m interested in writing a node editor - as an experimental tool for community or collective collaborations. I would write it in threejs but the nodes would not three at all. Did you have any tools or libraries or resources to help you get started?  
thanks!

---

<div class="post-metadata">

**Author:** ![dubois](https://avatars.discourse-cdn.com/v4/letter/d/e9c0ed/32.png) [@dubois](https://discourse.threejs.org/u/dubois)\
**Post date:** [February 22, 2025, 4:34am UTC](https://discourse.threejs.org/t/node-editor-for-tsl/76355/3 "2025-02-22T04:34:19Z")

</div>

I built all of it because I found it hard to display the previews:

[https://dusanbosnjak.com/test/nodes3/](https://dusanbosnjak.com/test/nodes3/)

But there are libraries now that can do this much quicker (I still think it’s hard to display previews without webgpu)

---

<div class="post-metadata">

**Author:** ![wenrenqiang](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.threejs.org/wenrenqiang/32/54020_2.png) [@wenrenqiang](https://discourse.threejs.org/u/wenrenqiang)\
**Post date:** [February 28, 2025, 10:48am UTC](https://discourse.threejs.org/t/node-editor-for-tsl/76355/4 "2025-02-28T10:48:45Z")

</div>

Open source?

---

<div class="post-metadata">

**Author:** ![wenrenqiang](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.threejs.org/wenrenqiang/32/54020_2.png) [@wenrenqiang](https://discourse.threejs.org/u/wenrenqiang)\
**Post date:** [February 28, 2025, 10:50am UTC](https://discourse.threejs.org/t/node-editor-for-tsl/76355/5 "2025-02-28T10:50:20Z")

</div>

Using node materials?

---

<div class="post-metadata">

**Author:** ![bhushan6](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.threejs.org/bhushan6/32/19074_2.png) [@bhushan6](https://discourse.threejs.org/u/bhushan6)\
**Post date:** [March 4, 2025, 7:00am UTC](https://discourse.threejs.org/t/node-editor-for-tsl/76355/6 "2025-03-04T07:00:06Z")

</div>

This is open source, you can check out [GitHub - bhushan6/tsl-editor: Node editor for tsl](https://github.com/bhushan6/tsl-editor) I used lib called nodl which helped me with nodes editor framework, I cloned it and using it internally since ig it’s not maintained and I needed some features specific to my need.

---

<div class="post-metadata">

**Author:** ![bhushan6](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.threejs.org/bhushan6/32/19074_2.png) [@bhushan6](https://discourse.threejs.org/u/bhushan6)\
**Post date:** [March 4, 2025, 7:02am UTC](https://discourse.threejs.org/t/node-editor-for-tsl/76355/7 "2025-03-04T07:02:12Z")

</div>

Yeah, I came across this. My real motivation was that it just felt interesting tbh.

---

<div class="post-metadata">

**Author:** ![bhushan6](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.threejs.org/bhushan6/32/19074_2.png) [@bhushan6](https://discourse.threejs.org/u/bhushan6)\
**Post date:** [March 4, 2025, 7:02am UTC](https://discourse.threejs.org/t/node-editor-for-tsl/76355/8 "2025-03-04T07:02:35Z")

</div>

> [@Node editor for TSL](https://discourse.threejs.org/t/node-editor-for-tsl/76355/6):
>
> This is open source, you can check out [GitHub - bhushan6/tsl-editor: Node editor for tsl](https://github.com/bhushan6/tsl-editor) I used lib called nodl which helped me with nodes editor framework, I cloned it and using it internally since ig it’s not maintained and I needed some features specific to my need.

---

<div class="post-metadata">

**Author:** ![bhushan6](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.threejs.org/bhushan6/32/19074_2.png) [@bhushan6](https://discourse.threejs.org/u/bhushan6)\
**Post date:** [March 4, 2025, 7:04am UTC](https://discourse.threejs.org/t/node-editor-for-tsl/76355/9 "2025-03-04T07:04:36Z")

</div>

Also where do you write blogs? I remember reading your blogs about three js on medium, especially instanced mesh series and that was really helpful.

---

<div class="post-metadata">

**Author:** ![metaltab](https://avatars.discourse-cdn.com/v4/letter/m/e36b37/32.png) [@metaltab](https://discourse.threejs.org/u/metaltab)\
**Post date:** [March 5, 2025, 12:20pm UTC](https://discourse.threejs.org/t/node-editor-for-tsl/76355/10 "2025-03-05T12:20:33Z")

</div>

Thanks for the github post. That is very helpful. So many people are doing really cool stuff in the three space. I’m thinking about (ab)using this for a completely different purpose. The IETF has an internal process for reaching consensus about internet protocols, here: [IETF | Guide to IETF Working Groups](https://www.ietf.org/process/wgs/)

My thought is to be able to visualize the process using a node editor. I suspect that is an idea that will not pan out, but it will be interesting to learn why. And if it does work that will be fun too.  
thanks again!
