Skip to content
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

[Problem] UI/UX: Tree view overlapping 3D view #12620

Open
2 tasks done
maxwxyz opened this issue Feb 26, 2024 · 19 comments
Open
2 tasks done

[Problem] UI/UX: Tree view overlapping 3D view #12620

maxwxyz opened this issue Feb 26, 2024 · 19 comments
Labels
Core Issue or PR touches core sections (App, Gui, Base) of FreeCAD Feature FR for improvements or new features Stylesheets Anything regarding stylesheets/themes UI/UX

Comments

@maxwxyz
Copy link
Collaborator

maxwxyz commented Feb 26, 2024

Is there an existing issue for this?

  • I have searched the existing issues

Problem description

As mentioned in the FreeCAD Day 2024 Complaint Session:
Tree view should not get in the way of the rest of the UI.
Based on that, tree view should be somewhere alone, transparent on the side, on the screen somewhere.
Tree view should not get in the way of the rest of the UI.

Maybe this could be changed in the default state @MisterMakerNL Currently, all dialogs are at the left side, from top to bottom:

  1. Task Dialog
  2. Tree View
  3. Property View

Maybe Task Dialog could be moved to the right, Tree View could stay on the left and Property either below the tree or hidden, as #11072 was implemented.
Maybe even the transparent overlays should be enabled by default.

Full version info

0.22

Subproject(s) affected?

None

Anything else?

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct
@maxwxyz maxwxyz added Core Issue or PR touches core sections (App, Gui, Base) of FreeCAD UI/UX Feature FR for improvements or new features Stylesheets Anything regarding stylesheets/themes labels Feb 26, 2024
@adrianinsaval
Copy link
Member

Transparent overlay for the three view by default is IMO a very good idea

@yorikvanhavre
Copy link
Member

For me we're mixing two things here... When we say "tree view should not get in the way of the UI" I feel like saying "why?"

Now, if we say "tree view should not get in the way of the model" then I agree. And then it's IMHO best to keep it in a separate window than printing transparently on top of the model. That's the basic principle of a non-overlapping interface, like Blender for example.

Now those are two different directions (overlapping or non-overlapping), and there are people who prefer one over the other. If one or the other is the default is IMHO not very important as long as users can switch to the other. But in any case, I fail to see where we have a "problem" here?

Another point to take into consideration, on small screens (13' laptops, for ex) having both left and right dock areas is impractical, you have virtually no 3D view space left :)

@MisterMakerNL
Copy link
Contributor

MisterMakerNL commented Feb 26, 2024

Properties view should get a silent dead, it should be a dev tool mostly.
We might want to work towards a dev mode, where properties view and all the consoles are available. And a casual view where all those are gone. This would simplify the ui a lot, since you won't see all those options anymore. And it would be just one switch to turn on your powertools.
But we aren't ready for this.
But we should have a focus to make it happen in my opinion.
Properties view is still accessible by right click in casual.
Treeview and task should never overlap, in Solidworks when treeview and taskview overlap a second treeview pops up in overlay mode. But this solution is nice if you have a limited amount of features. And we have an unlimited amount, so I don't see this doable in Freecad.
It might be a good idea to prevent treeview and taskdialog to merge in each other in the non-dev gui as it has no use there and would only confuse someone or make it difficult to setup properly.

We currently only have the dev-mode. @yorikvanhavre would probably just work in dev mode and ignore the casual mode. Which is totally fine off-course he is a dev. We can also call it Yorik-mode.

Just realize we have preference packs in which we can do this, only have to implement it better.

@yorikvanhavre
Copy link
Member

I don't understand well how you work with a parametric modeler without seeing the parameters :) But of course if there are enough people interested in working that way, why not... I'm never opposed to changing the defaults, as long as people can change back.

All these panels can be docked anywhere, stacked, turned on and turned off. For me that's the main thing, it needs to be customizable. One user is not another.

@pierreporte
Copy link

I don't understand well how you work with a parametric modeler without seeing the parameters :)

I think they would be set by the task panel only, like other program.

@MisterMakerNL
Copy link
Contributor

I hope we can shove all these parameters in sketches/features/spreadsheets with a nice UI.

@obelisk79
Copy link
Contributor

I'm commenting so I can follow the conversation. Right now, I am working a few other lines of effort so I can't invest in formulating a good proposal for default layout. Although, with the pending advent of an actual quick setting/first run page being added to the new start workbench, I think the existing defaults should remain, and the option for a 'classic' vs 'modern' layout could be applied leveraging the functionality of preference packs and make switching to what is comfortable for users both new and experienced simpler. Also makes layout experimentation safer as a user could always get back to the quick setting page and apply the default of choice as a form of reset.

@yorikvanhavre
Copy link
Member

I think they would be set by the task panel only, like other program.

But then how do you change the parameters of several objects at once ;)

@MisterMakerNL
Copy link
Contributor

I think they would be set by the task panel only, like other program.

But then how do you change the parameters of several objects at once ;)

fffad79dfabdf5912c8d4f0c3bfe762f-3180635130

@pierreporte
Copy link

TBH I didn’t ask for removing the properties entirely, just speculated on the intent. If I got to decide, it would still exist (as a panel like the task panel—a feature request will be opened for this at some point) but it wouldn’t contain design information.

@adrianinsaval
Copy link
Member

For me we're mixing two things here... When we say "tree view should not get in the way of the UI" I feel like saying "why?"

Cause it's a PITA switching back and forth between task panel tab and tree+property tab, if we can have at least two available at the same time without obstructing the 3d view that's the sweet spot IMO. Transparent tree view is very useful for this, the impact on available 3d view is very minimal. And then you can have the task or property view in ful display at the same time.

Of course, we should absolutely retain the possibility of customizing panels.

@adrianinsaval
Copy link
Member

for what is worth, I love the property view. I've always considered it one of FreeCAD's selling points :) but I always used it separated from the tree, when they are together they both end up annoyingly short and constantly need scrolling.

@MisterMakerNL
Copy link
Contributor

The sheet metal wb that is been worked on to get an UI, is a great example how we should make the properties view to be moved to the background. The wb now uses the properties view to set all parameters. With a good UI the properties view isn't necessary anymore.
Every CAD program has a properties view so I wouldn't say it's a selling point, only difference with other CAD programs is that in Freecad it is used for normal features and in other CAD programs to do some advance parameter stuff. I personally don't want to go digging in a properties table to change a flange height.

@obelisk79
Copy link
Contributor

obelisk79 commented Mar 2, 2024

for what is worth, I love the property view. I've always considered it one of FreeCAD's selling points :) but I always used it separated from the tree, when they are together they both end up annoyingly short and constantly need scrolling.

I wonder if the property panel would be better served as something which is easily invoked as a floating panel via right click menus (tree or otherwise) so it can be displayed when wanted/needed and safely closed/hidden from view when not. I use that panel frequently too, but not so much that I need it to be ever-present. The only concern that ultimately would invoke is discoverability. But I also agree with MisterMaker's point that the property panel should be made 'mostly unnecessary' by well structured task panels and smart combinations of discrete diametrically opposed parameters.

As an example, I recently came across during the sheet metal wb review, parameters for GAP and EXTEND with regards to creating flanges. If you look, each function supports signed integer values and can grow or shrink the width. Only difference being whether or not the bend portion is extended out or not. There is practically no reason for this.

My proposal will include combining these in the task panel as an "Offset" value that should automatically switch between the independent logic of GAP/EXTEND based on a positive or negative value. Little things like this exist all across FreeCAD. While there may be good arguments for the distinction in some cases, I am willing to wager that many of these oddly discrete user-facing parameters are separate for no reasonably good purpose.

@MisterMakerNL
Copy link
Contributor

MisterMakerNL commented Mar 2, 2024

@obelisk79 You might want to try the right click option ;)
Personally I already close the properties panel because of this.

@yorikvanhavre
Copy link
Member

Cause it's a PITA switching back and forth between task panel tab and tree+property tab, if we can have at least two available at the same time without obstructing the 3d view that's the sweet spot IMO

Yes I agree with that. Then we can say the problem is much more a conflict between the tree/properties and the task panel, rather than the properties view being too much, although I understand that for some people like @MisterMakerNL it is of no use.

Transparent tree view is very useful for this, the impact on available 3d view is very minimal

I don't agree there 😅 For me it's the worse possible thing, when things get complex you don't see neither your model nor your tree view clearly... (Of course that's only my opinion...)

But anyway, then it seems to me the user should be able to decide, right? Between 1) a permanent properties window, 2) a hidden properties view and 3) a "on-demand" properties view. What about that?

Basically, it's the task panel that is now kind of on-demand. The idea there would be to allow the opposite...

@obelisk79
Copy link
Contributor

obelisk79 commented Mar 4, 2024

When configured correctly, the readability of the overlay tree isn't so bad. Here's an example. You can also see that I've been experimenting with an on-demand properties panel here.
image

@yorikvanhavre
Copy link
Member

yorikvanhavre commented Mar 4, 2024

This works on big screens, less on smaller ones. For me the workflow is way better and clearer when separated in non-overlapping windows:

image

image

But of course this is much a matter of personal preferences. As long as both are available, everybody should be happy :)

Remains the issue of task panel vs tree view and the annoying switch. Again, when you have a big screen, nothing is really a problem (you could have both unstacked and distinct). The problem is when space is limited...

@MisterMakerNL
Copy link
Contributor

fyi Light theme is currently broken with overlay.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Core Issue or PR touches core sections (App, Gui, Base) of FreeCAD Feature FR for improvements or new features Stylesheets Anything regarding stylesheets/themes UI/UX
Projects
Development

No branches or pull requests

6 participants