Giter Site home page Giter Site logo

Opinion: Main panel redesign. about mm3d HOT 7 CLOSED

zturtleman avatar zturtleman commented on July 19, 2024
Opinion: Main panel redesign.

from mm3d.

Comments (7)

zturtleman avatar zturtleman commented on July 19, 2024

MM3D isn't performance critical so I don't think it matters if viewports are separate (there is other backend changes that can improve performance as well). A strip of icons down the center of screen between viewports seems odd. I don't know of anything else doing that. Yeah, scrolling menu bars is confusing and rarely used. I'm not aware of any context menus in MM3D. Redesigning the application isn't something I want to work on/discuss/review at this point (which isn't to say it's perfect).

from mm3d.

m-7761 avatar m-7761 commented on July 19, 2024

Yeah, scrolling menu bars is confusing and rarely used.

Are you referring to the buttons overlaid on the viewports? Or Blender's toolbars?

I'm asking since I'm presently rewriting these things, and will publish the resulting code probably before the end of the year. If I have feedback it can change my mind. Asking is just the responsible thing to do.

P.S. Something else I noticed is I wonder if additive should be the default mode for the selection box. The right mouse button unselects using subtractive logic. Therefor I wonder if the left button be better if it matched this behavior. It might be more efficient. But I think logically there is a disconnect between the two actions.

That way you could work without putting your hands on the keyboard. Assuming there was a way to drag the vertices without pushing a key down.

To be honest, at first I had no plans to keep MM3D's mouse button assignments in the software I'm developing off it. But I think maybe it's not such a bad system.

from mm3d.

zturtleman avatar zturtleman commented on July 19, 2024

I was specifically referring to the button toolbar in NetRadiant-custom Quake 3 map editor. There is (or was) no buttons to click to scroll the toolbar or any indication one should scroll mouse wheel over it. It simple looked like the button toolbar was cut off. In other Radiant-based editors there are multiple lines of buttons. I guess it would be okay if there is arrow buttons on both sides and thus scroll wheel is not needed (like Firefox tab bar).

Regarding the mouse buttons / action; I think GIMP does it well by having a tool check box to click to enable the feature and key to hold to toggle it temporarily. For example, "Add to selection: ☑️ (Shift)". Having additive selection by default seems counter-intuitive compared to virtually every other application (e.g., text editor, spreadsheet). (Though MM3D using shift for additive selection instead of ctrl is also counter-intuitive!) I personally don't find MM3D's right click behavior very memorable.

I haven't ever modeled anything in MM3D besides using simple shape tools and hardly anything in Wings3D in the last 7 years. I used Wings3D to create models which mostly uses context menus. I found MM3D to be too difficult for creating/editing polygons but other people are happy with it. I used MM3D for animation and import/export in game formats (features missing from Wings3D). I'll probably end up using Blender for future models since I want to create normal maps, PBR images, and whatever else is cool now. I don't really care to improve polygon editing in MM3D and it might alienate the people who actually want to use MM3D for creating models.

from mm3d.

m-7761 avatar m-7761 commented on July 19, 2024

That sounds similar to Blender. I would use Blender too if I felt like it wasn't wasting my time to the degree I'm willing to write a replacement for it!

MM3D appears to have "prefs" for hotkeys, but they are not exposed, nor printed in the menus or toolbar. It may even print the wrong ones if customized. It needs a Preferences screen obviously. I think any changes can also include a backward compatible mode. I'd like to hear from anyone using it. If so, they are probably happy using the original, instead of Maverick. If I end up forking it at some point... more so to make a time capsule of my work before moving on from it... I will probably call that fork Millennium Model 3D just to carry on this tradition. It's definitely an odd little code base. I think most would discount it completely. But I have good intuition about these things. Even when code is completely misguided, there is still value in the experience that went into it. The only way to pour experience into code is time. And time is not cheap. It's not so hard to audit code. Then you end up with the raw experience that went into it, plus a sane code base.

from mm3d.

m-7761 avatar m-7761 commented on July 19, 2024

Update,

I've decided it's best to put the animation window into the sidebar, and remove the Delete (X) button from it, and make the <New Animation> item instead disable "Animation Mode". So it will say <None> instead. And the two options to turn it on/off in the menu will be removed. And the Animation Sets menu item will be used exclusively to make new animations and delete them.

The slider doesn't go in the sidebar. It's not wide enough. Instead there is a box for inputting the frame to display, with a ticker. And the slider is option Tool that will need an icon. I've decided to keep the tool parameters arrayed across the top of the view area horizontally, and not extend above the sidebar.

The Properties panel will go on the bottom, since its size is always in flux. But I might decide to break it up into separate rollouts, to be easier to manage. I'm unimpressed with Qt since it often has the controls drawing over one another, where text from one appears above others, and the bottom layer cannot be interacted with, but is still displayed. I think Qt is not well designed framework. Maybe my code should be adopted as the new UI, if it's not too radical of a departure.

I think it could be useful to have just the "implui" folder code include UI framework headers. I've written it so this is the case. In theory it could conditionally compile different UI implementations (C#, Qt, OpenGL, wxWidgets, etc.) however, I think it would be more ideal if my UI system, that is pretty good I think, implemented that itself, if there is interest. It's designed to be multirepresentational, including desktop 3D and VR modes.

An image editor I use often called Paint.net has a similar arrangement with its tools. I think it works okay. It's tool icon panel floats, and is vertical. The parameters are arrayed horizontally with a dropdown in the front that identifies the active tool and can be used to change tools. It has a more traditional toolbar too, but it's used not for editing features. In fact, I never use it. It just provides icons mostly for standard menu items (i.e. Save) I think. It uses some other floating windows too. I don't generally like floating windows, but I have implemented a system I do like with them in the past... that is intelligent, and elegant. MM3D still has a few floating tool windows. I think it would be good if the view area could open these windows in the place of any view box so that they don't float in that case.

from mm3d.

m-7761 avatar m-7761 commented on July 19, 2024

Widgets 95 MM3D

This (very) early screenshot of my work illustrates some of the changes mentioned here and elsewhere.

I think the bars above the viewport area would look better if they sat on the top of the viewports, so that the bottom is symmetrical with the top. Qt probably has a vertical layout option. I will have to add one to this new UI framework (https://sourceforge.net/projects/widgets-95/)

The animation editing stuff is moved into the Animation menu and I want to add a slider bar to the Tools menu, and probably more media player style buttons. I think maybe a panel of smaller buttons. I think the zoom-in/out and scrolling buttons are probably unnecessary. But they can be made into a user preference if so. I've removed the focus highlighting feature, as I find it distracting for real work.

from mm3d.

zturtleman avatar zturtleman commented on July 19, 2024

Please create a blog or you own discussion forum.

from mm3d.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.