Skip to content

Editor: UI enhancements. #20427

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
devingfx opened this issue Sep 28, 2020 · 6 comments
Closed

Editor: UI enhancements. #20427

devingfx opened this issue Sep 28, 2020 · 6 comments

Comments

@devingfx
Copy link
Contributor

devingfx commented Sep 28, 2020

The editor uses UI.js that is quite old and not maintained (I guess, no commit for 3 years)...

What is your plans about that?

Is it relevant to improve UI.js, like moving to ES modules and classes, or cook some custom elements?
(In this case I can do it, in fact I already started, and I can start a PR in this UI.js project)

Another option is to switch to an already made component library.
I'm not such a fan of industry giants like Angular or React, it's way too much effort to get a simple UI like the editor's one...
I tried and used the great Xel custom elements, it's easy, lightweight, modular and libre licenced...
(I let you take a look, and I could also start a refactoring of editor UI with Xel elements...)

This issue exists to open the discussion about editor's UI !
Please explain your feelings about this, maybe write your wish about UI improvments, your needs or the lacks you see...

@devingfx
Copy link
Contributor Author

Here are my wishes for ediotr's UI improvments :

  • Resizeable panels
  • Moveable panels, or at least different layouts (right panels / left panels)
  • Collapsible panels
  • Multi scripts editor: a way to keep open several scripts without the need to select the 3D object it's attached to each time you want to switch. Maybe a documents tabs bar and a collapsible Script editor (like minimize/maximize from the bottom of window)
  • A new window for Player when the RUN button is pressed (this will avoid to polute the editor JS scope with variables and libs loaded by scripts).

In a far far future

  • An UI like Blender's one, with splitable rectangles where you put the UI part you want in it...
  • A dynamic ADD menu that can list every object available in the main THREE.* lib. (Without the need to code every menu item and the instanciation method, something automatic can be done I think).
  • A way to write/load JS modules in Script panel, meaning being able to export things like custom classes and reuse it in the editor's ADD menu.
  • Maybe editor's plugins, loadable from files, writable from Script panel, saved in editor's config in localstorage and exported in project's scripts.

@Mugen87 Mugen87 added the Editor label Sep 28, 2020
@Mugen87
Copy link
Collaborator

Mugen87 commented Sep 28, 2020

The editor uses UI.js that is quite old and not maintained (I guess, no commit for 3 years)...

I guess you are looking at the wrong place. The copy used in the editor was frequently updated up to now.

https://github.com/mrdoob/three.js/blob/dev/editor/js/libs/ui.js

@Mugen87 Mugen87 changed the title Editor: What about oldish UI.js ? Editor: UI enhancements. Sep 28, 2020
@devingfx
Copy link
Contributor Author

I guess you are looking at the wrong place. The copy used in the editor was frequently updated up to now.
https://github.com/mrdoob/three.js/blob/dev/editor/js/libs/ui.js

Okay, my bad ^^
So the external repo is obsolete? And any new developments should stand in three.js repo, is it?

Still, my questioning about refactoring this part stay the same:

  • Is it relevant to enhance this UI.js lib being part of moving to ES modules/classes
  • Or start a refactoring with another components lib?

@mrdoob
Copy link
Owner

mrdoob commented Sep 29, 2020

I like the current setup. It's simple and doesn't require setting up complicated build processes.

@devingfx
Copy link
Contributor Author

devingfx commented Sep 29, 2020

I like the current setup. It's simple and doesn't require setting up complicated build processes.

A rollup config file in the other repo, and a git submodule in this one is not such complicated...
(I can work on it)

So developing webGL shaders and the most popular js lib associated don't afraid you but a rollup file does? 😜
(Just kidding)

@mrdoob mrdoob closed this as completed Sep 29, 2020
@Mugen87
Copy link
Collaborator

Mugen87 commented Sep 29, 2020

I sometimes have the feeling that too less developers appreciate the worth of simplicity these days...

Repository owner locked as resolved and limited conversation to collaborators Sep 29, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

3 participants