New overlay mode (Now ready for testing)

A forum for research and development of the user interface of FreeCAD
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
realthunder
Veteran
Posts: 2190
Joined: Tue Jan 03, 2017 10:55 am

Re: New overlay mode (Now ready for testing)

Post by realthunder »

tom wrote: Sun Sep 06, 2020 5:14 pm The crash happens quite often (about every two minutes) in both the 08.12 and the 08.18 build. I could not figure out the exact trigger for the crash. Sometimes it happens, when I rotate the view. In other cases one of the overlays was hidden before.
I can't reproduce the crash on Mac. Maybe it is caused by certain combination of settings. Can you please PM me the system.cfg and user.cfg file in <your_home_directory>/Library/Preferences/FreeCAD
Try Assembly3 with my custom build of FreeCAD at here.
And if you'd like to show your support, you can donate through patreon, liberapay, or paypal
tom
Posts: 165
Joined: Sun Mar 29, 2015 9:20 pm

Re: New overlay mode (Now ready for testing)

Post by tom »

realthunder wrote: Mon Sep 07, 2020 12:49 am
tom wrote: Sun Sep 06, 2020 5:14 pm The crash happens quite often (about every two minutes) in both the 08.12 and the 08.18 build. I could not figure out the exact trigger for the crash. Sometimes it happens, when I rotate the view. In other cases one of the overlays was hidden before.
I can't reproduce the crash on Mac. Maybe it is caused by certain combination of settings. Can you please PM me the system.cfg and user.cfg file in <your_home_directory>/Library/Preferences/FreeCAD
The PM got stuck in the outbox. So, I post the configuration files here too. They seem to contain no secret.

BR Tom
Attachments
cfg.zip
(16.83 KiB) Downloaded 69 times
realthunder
Veteran
Posts: 2190
Joined: Tue Jan 03, 2017 10:55 am

Re: New overlay mode (Now ready for testing)

Post by realthunder »

tom wrote: Mon Sep 07, 2020 9:37 am The PM got stuck in the outbox. So, I post the configuration files here too. They seem to contain no secret.
Still can't reproduce the problem. I am running Mac from a virtual machine. That may be a factor. When crashes is the call stack same every time, specifically, like below?

Code: Select all

2   libFreeCADGui.dylib           	0x0000000108843438 Gui::DockWindowManagerP::onTimer() + 552
3   libFreeCADGui.dylib           	0x000000010883839a Gui::OverlayProxyWidget::hitTest(QPoint, bool) + 586
4   libQt5Core.5.12.1.dylib       	0x000000010a893c09 QMetaObject::activate(QObject*, int, int, void**) + 1833
It is kind of weird, because according to my code, there is no code path leads to calling onTimer() in hitTest(), although it may be due to some compiler optimization in release build.
Try Assembly3 with my custom build of FreeCAD at here.
And if you'd like to show your support, you can donate through patreon, liberapay, or paypal
tom
Posts: 165
Joined: Sun Mar 29, 2015 9:20 pm

Re: New overlay mode (Now ready for testing)

Post by tom »

realthunder wrote: Tue Sep 08, 2020 12:49 am When crashes is the call stack same every time, specifically, like below?

Code: Select all

2   libFreeCADGui.dylib           	0x0000000108843438 Gui::DockWindowManagerP::onTimer() + 552
3   libFreeCADGui.dylib           	0x000000010883839a Gui::OverlayProxyWidget::hitTest(QPoint, bool) + 586
4   libQt5Core.5.12.1.dylib       	0x000000010a893c09 QMetaObject::activate(QObject*, int, int, void**) + 1833
Most of the crashes have the same stack trace. But two times I got following:

Code: Select all

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   libQt5Widgets.5.12.1.dylib    	0x0000000105a65e17 0x105a57000 + 60951
1   libQt5Widgets.5.12.1.dylib    	0x0000000105acb45a 0x105a57000 + 476250
2   libFreeCADGui.dylib           	0x00000001044186cc Gui::DockWindowManagerP::onTimer() + 1212
3   libQt5Core.5.12.1.dylib       	0x000000010645bc09 QMetaObject::activate(QObject*, int, int, void**) + 1833
It is possible that this kind of call stack was produced by the 08.12 build, but I'm nor sure.]

BR Tom
tom
Posts: 165
Joined: Sun Mar 29, 2015 9:20 pm

Re: New overlay mode (Now ready for testing)

Post by tom »

realthunder wrote: Tue Sep 08, 2020 12:49 am It is kind of weird, because according to my code, there is no code path leads to calling onTimer() in hitTest(), although it may be due to some compiler optimization in release build.
I think, refreshOverlay() was optimised out. The full call stack might look like this:
  • line 236: OverlayProxyWidget::hitTest(QPoint pt, bool delay) calls DockWindowManager::instance()->refreshOverlay()
  • line 2171: DockWindowManagerP::refreshOverlay(QWidget *widget=nullptr, bool refreshStyle=false) calls onTimer()
BR Tom
User avatar
OficineRobotica
Posts: 433
Joined: Thu Feb 21, 2019 8:17 am
Contact:

Re: New overlay mode (Now ready for testing)

Post by OficineRobotica »

realthunder wrote: Tue Sep 08, 2020 12:49 am
Kunda1 wrote: Sun Sep 20, 2020 5:52 pm See this usecase Feature Request: Restart in Safe Mode (ala LibreOffice) which backs up FC config files
Recently i've run in to this issue when wanting to experiment with realthunder's branch using OficineRobotica's tutorials on interface customization. But this also effect my 0.19 dev version FC experience. We say that we can run multiple versions of FC in parallel, I think we're reaching our limitations in that regard (although you can boot FC from the command line and tell it to reference certain config files. We may need to make a GUI interface for that eventually (soon).
It is true that configuring LinkStage3 UI affects the 0.19 user experience. Could a import/export user configuration solve this problem? Perhaps with a profile dropdown menu in preferences so that the user can fast switch between configurations. I realize that it is a bit of a corner use case but that would mean also sharing configs/UI layouts with a click of a button instead of following allot of steps to get some config in place. @realthunder do you think it is worth adding this atm?
Check out my Youtube channel at: https://www.youtube.com/@OficineRobotica
User avatar
OficineRobotica
Posts: 433
Joined: Thu Feb 21, 2019 8:17 am
Contact:

Re: New overlay mode (Now ready for testing)

Post by OficineRobotica »

@realthunder if you have the time would you please go over these small issues?

min. 0.00 - All the panels will still pop up on workbench change or when exiting a sketch when
the overlay interface is enabled.

min. 1.10 - If “Toggle transparent mode” is disabled there is a inconsistency on mouse over. The panel should
not loose opacity when the mouse leaves it.

min. 1.47 - Also, If “Toggle transparent mode” is disabled, the whole dock should be opaque too.

min. 1.57 - However, if “Toggle autoshow on edit mode” is enabled the opacity behaves correctly even if
there is still some visual change on mouse over.
P.S. I Love transparent panels. These observations are only in search of refinement when the
panel is in this particular display mode.

min. 2.17 - “Toggle autoshow on edit mode” is my personal default mode for the panels. However, some
workbenches populate the task panel with “possible” tasks defeating the purpose of this option.

Notice how the “Part” workbench reveals the panel only when a real task is opened. Then hides
it when we dismiss the task. This is perfect.

Workbenches like “PartDesign” or “Draft” populate the task panel with options effectively blocking
the panel on reveal even if there is no active task opened.

min. 3.00 - Could you make the “Toggle autoshow on edit mode” reveal the panel only when a active task is
opened? We already have the icons for the various possible tools on the top bar.

min. 3.15 - On a personal note, I feel that the 3d view is maximized and cliks are reduced to a minimum this
way. That, in conjunction with pies makes for a really fast workflow. Thank you.

phpBB [video]
Check out my Youtube channel at: https://www.youtube.com/@OficineRobotica
User avatar
pablogil
Posts: 881
Joined: Wed Nov 26, 2014 3:19 pm
Location: Badajoz (Spain)
Contact:

Re: New overlay mode (Now ready for testing)

Post by pablogil »

OficineRobotica wrote: Sun Oct 04, 2020 5:53 am @realthunder if you have the time would you please go over these small issues?
...
min. 3.00 - Could you make the “Toggle autoshow on edit mode” reveal the panel only when a active task is
opened? We already have the icons for the various possible tools on the top bar.
...
I think this is a good one, I have always found the task panel usability a little messy. Apart from @OficineRobotica suggestion I would like to have always visible the OK, Cancel, Close or whatever buttons are displayed in any task so that it tells you that you are indeed inside a task that should be terminated before continuing your editing and because a UX/UI reason: buttons should be always placed in the same spot to let users easily hit them when needed. Task panel options are usually long so you need to use scrolling in order to close or accept changes and, depending on which task you are in, these buttons are in the top or in the bottom... so confusing.

Cheers
Dark and Light stylesheets v2.0 to theme your FreeCAD UI, more information here
realthunder
Veteran
Posts: 2190
Joined: Tue Jan 03, 2017 10:55 am

Re: New overlay mode (Now ready for testing)

Post by realthunder »

OficineRobotica wrote: Sun Oct 04, 2020 5:53 am @realthunder if you have the time would you please go over these small issues?
...
min. 3.00 - Could you make the “Toggle autoshow on edit mode” reveal the panel only when a active task is
opened? We already have the icons for the various possible tools on the top bar.
...
pablogil wrote: Sun Oct 04, 2020 10:26 am I think this is a good one, I have always found the task panel usability a little messy. Apart from @OficineRobotica suggestion I would like to have always visible the OK, Cancel, Close or whatever buttons are displayed in any task so that it tells you that you are indeed inside a task that should be terminated before continuing your editing and because a UX/UI reason: buttons should be always placed in the same spot to let users easily hit them when needed. Task panel options are usually long so you need to use scrolling in order to close or accept changes and, depending on which task you are in, these buttons are in the top or in the bottom... so confusing.
I have modified dock overlay accordingly. I think we can obsolete the 'ComboView' from now on, at least when using overlay UI. So please change the tree view mode to 'Tree view and property view'. I have changed 'Edit show' mode to auto show only when in edit, as suggested by OficineRobotica. But there might be others who prefer showing the task view for any tasks. So I added the new 'Auto task' mode. It only applies for docking some other widget together with the task view. I'd suggest docking the property view with task view. The 'Auto task' mode will resize the splitter to show/hide the task view depending on whether there is any active task. See the screencast below, which also highlights the new drag and drop feature.

Image

There are so many new stuff that need to be tested. At this rate, I'll never going to make a release. As a compromise, I will start making 'Daily' builds from now on. Hopefully those of you who have good internet connection can download and test more often, and I'll do quick fixes and make them available more promptly. The daily build AppImage will have separate zsync with the more stable release. It goes without saying that the 'Daily' build is much more likely to crash or other 'serious' problems. So know your risks before trying, like making backups and stuff.
Try Assembly3 with my custom build of FreeCAD at here.
And if you'd like to show your support, you can donate through patreon, liberapay, or paypal
User avatar
OficineRobotica
Posts: 433
Joined: Thu Feb 21, 2019 8:17 am
Contact:

Re: New overlay mode (Now ready for testing)

Post by OficineRobotica »

realthunder wrote: Tue Oct 13, 2020 1:11 pm
I just wanted to tell you that people are getting a bit over emotional over your work ...lol:
redit.jpeg
redit.jpeg (45.72 KiB) Viewed 2627 times
Incredible work. THANK YOU.

There is something about the interface in general the 3d view in particularl. It is sooooo buttery smooth. It really feels different. The only strange thing that I noticed is that I get a big hit in performance when screen recording. That didn't happen with your previous release. The video below is recorded directly in OpenGL to get a decent frame rate. But man, FreeCad feels so good when not recording. Night and day difference.
I think we can obsolete the 'ComboView' from now on, at least when using overlay UI.
Please don't do it just yet. I found my perfect set up by using the combo and a extra tree activated in "Edit parameters" just as before. The difference is that while "treeView and property view" enabled will lose the extra tree will also split the panel when a task is opened. Don't stress over it anymore for now. I found the perfect combination using auto task and auto show on edit and it behaves perfectly. I will demonstrate it in a screen cast and you will see that it makes allot of sense(at least for me lol) . Thank you for tackling it. I stand by my affirmation that allot of people can't wait to see the overlay interface in master.
There are so many new stuff that need to be tested. At this rate, I'll never going to make a release.
I also realized that this is getting too much. I promised to limit my self to only bug reports for a while. You have so may new features that it is easy to overlook allot of them only because of lack of knowledge of their existence. Anyway ....wow...thank you.

Have you seen this? Your boolean tools put to some good use. https://forum.freecadweb.org/viewtopic.php?f=24&t=51054

phpBB [video]
Check out my Youtube channel at: https://www.youtube.com/@OficineRobotica
Post Reply