I want to create an editor extends threejs-editor, is there some advise?

I think the new editor has some features:

1 Use typescript
2 Use editor-lib(extends threejs-editor) + editor-demo structure. so that we can change GUI-lib or button layout and Independently developed by each party.
3 Let the existing command system and scene description files(scene.json, file-save in threejs-editor) play an important role.
4 Add some common functions: add custom label, draw line, create simple animation…
5 Add physical components…

Future

Future, AI send command to control the editor. maybe create model or other contents…

I have read and reproduced most of the threejs examples.
I can write some functional code. And sufficient debugging experience.
BUT, I don’t have much experience with the overall concept and independent development and cooperation methods.

Is this a good idea to build this?
Can anyone provide advice about that?

(I find this

and this
https://www.nunustudio.org/

1 Like

It sounds like a pretty good idea to me! I like the examples that you found.

1 Like

@dubois, don’t be bad influence, we both know it’s a bad idea.

The first lines are always fun, then it owns you.

Say no to drugs editors!

1 Like

I’m not quite sure:
Are you saying that it’s not good idea to create a new editor, or is it not good to build an editor based on threejs-editor, or what…
I am someone who can accept criticism

I’m still saying that it is a good idea. Looks like Fennec is disagreeing.

To clarify, this isn’t advice, it’s more of a fair warning or a friendly disclaimer.

Building an editor is a much bigger task than most beginners and intermediate developers expect. Features like scene hierarchy, graphics, math, UI/UX design, undo/redo, precise object manipulation, and handling reactivity with many moving parts can quickly become overwhelmingly complex.

You’ll often end up rebuilding systems that existing editors have already solved. Copy-pasting code won’t cut it, you need a deep understanding of how everything fits together. The sheer size of the project can be discouraging, with no instant gratification and slow to show “cool results”. Which leads many people to quit before it’s finished.

That said, this isn’t meant to stop anyone from starting an editor project. It depends on your goals and personality. If you’re naturally curious, persistent, and enjoy big challenges, it can be a great learning experience. But for most people, starting with smaller projects, like interactive scenes, simple games, or particle systems… Will deliver quicker and more rewarding feedback.


Now, about your main question: Should you extend the three.js editor or start from scratch?

I’d recommend starting from scratch using a modern JS framework like Solid, Vue, Svelte, or React. The official three.js editor is built with plain JS, which is great for performance but not so much for extensibility. Using a framework lets you leverage built-in reactivity and UI/UX features, so you’re not reinventing the wheel. It also gives you a consistent coding architecture and connects you with an active community.

What’s the best framework? For three.js, React is the most popular. With r3f, you’ll find plenty of open-source implementations, and you might not need to start from scratch since there are already several three.js React editors you can adapt to your needs. Plus, you’ll have access to a wide range of essential plugins, like form generators, state managers, and database APIs, which can save you a lot of time.

4 Likes

My opinion, it’s a poor idea all together but if you are willing to make an effort then why not try updating three.js editor first. If your contributions get accepted then you will know whether your coding skills can match their criteria.

By the way, here is my insight for those 2 examples:

  • nunuStudio appears as if abandoned since the last update was more than a year ago
    • Not really sure if it might have any licensing issues either
  • Online 3D Viewer gets updated seldomly since it is not a primary focus of the author
    • It is currently missing lots of GLTF extensions
    • Maybe getting some sponsors might increase the update frequency

Since both of these examples are open sourced then maybe try improving them as well.

I did bother including both of these examples on my webpage in some form.

1 Like

Thank you for your suggestion, it’s very insightful. I still want to give it a try. This is definitely not an easy dream

1 Like

wow,I try it . Simple and effective.
thank you for your information about “nunuStudio” and “Online 3D Viewer”.
Furthermore, I would like to know the reasons behind its lack of maintenance. Isn’t a cool online 3D editor valuable?
It should be able to quickly and cost effectively create many customized things

1 Like

Blender is free, and can export GLTF which can be loaded in a threejs app in a few lines of code.

1 Like

I just created my own simple threejs editor: Vite + React + TS it’s not that hard, but it’s kinda unnecessary.

2 Likes

It could be really fun if an export models to threejs meshes has existed, sort of GLTF->three.js code

threejs can import and export gltf.

1 Like