FreeCAD Day 2023 - Report and Continued Discussion

Have some feature requests, feedback, cool stuff to share, or want to know where FreeCAD is going? This is the place.
Forum rules
Be nice to others! Read the FreeCAD code of conduct!
User avatar
adrianinsaval
Veteran
Posts: 5541
Joined: Thu Apr 05, 2018 5:15 pm

Re: FreeCAD Day 2023 - Report and Continued Discussion

Post by adrianinsaval »

chennes wrote: Sat Feb 04, 2023 8:14 pm Probably the most anticipated session of the day came from John Dupuy, under contract to ONDSEL, who talked about "Organizing the Topo-Naming Update".

John has been hired by @sliptonic/ONDSEL to assist with merging @realthunder's work on the Topological Naming Problem.

Rinse and repeat! I suspect we'll be hearing much more about this project in the coming weeks, but the consensus in the room was that this was the right approach, and that John should go forth and do that thing.
This is awesome news!!!!
user1234
Veteran
Posts: 3319
Joined: Mon Jul 11, 2016 5:08 pm

Re: FreeCAD Day 2023 - Report and Continued Discussion

Post by user1234 »

chennes wrote: Sat Feb 04, 2023 8:27 pm This is the attitude I am worried about. If there is something there that is "false" it is a transcription error on my part.
Bt that is a fact. For examle:

chennes wrote: Sat Feb 04, 2023 5:18 pm
  • Sketch selection from backside doesn't work.
    ....
  • Be able to edit a Sketch directly in Part Design.
You can edit Sketches directly in PartDesign since many years. Also the Sketch selection is solved in master. See here in PartDesign editing a Sketch from both sides:

Peek 2023-02-04 21-45.webm
(557.97 KiB) Downloaded 54 times

Greetings
user1234
User avatar
chennes
Veteran
Posts: 3876
Joined: Fri Dec 23, 2016 3:38 pm
Location: Norman, OK, USA
Contact:

Re: FreeCAD Day 2023 - Report and Continued Discussion

Post by chennes »

user1234 wrote: Sat Feb 04, 2023 8:47 pm You can edit Sketches directly in PartDesign since many years.
As I said, errors are almost certainly mine! This is a mistaken transcription, it should read "TechDraw" not "PartDesign". I will edit now...
Chris Hennes
Pioneer Library System
GitHub profile, LinkedIn profile, chrishennes.com
User avatar
sliptonic
Veteran
Posts: 3457
Joined: Tue Oct 25, 2011 10:46 pm
Location: Columbia, Missouri
Contact:

Re: FreeCAD Day 2023 - Report and Continued Discussion

Post by sliptonic »

chennes wrote: Sat Feb 04, 2023 8:14 pm Probably the most anticipated session of the day came from John Dupuy, under contract to ONDSEL, who talked about "Organizing the Topo-Naming Update".

John has been hired by @sliptonic/ONDSEL to assist with merging @realthunder's work on the Topological Naming Problem. As many of you already know, realthunder has developed a mitigation strategy in his fork of FreeCAD, and has been working on a development branch of FreeCAD to get those changes ready for merge into the main project. This is an enormous piece of code, much of which is entwined with other work that realthunder has in his branch. As such, the merge will not be a simple matter of rebasing and "clicking the big green merge button."

John (a professional software developer with many years of experience) has been working on reviewing real thunder's branch in depth. He presented a plan to re-sort and break up the complete branch into 20-30 functional steps. He intends to present a schedule and Gannt chart in a forum thread in the coming weeks, and to assist us in doing a merge by:
  • Branching from master
  • Adding documentation where required
  • Make all merges non-breaking (even though sometimes they will be temporary "bloat" as uncalled methods, etc.)
  • Add basic unit tests where missing in master and needed to verify correct merge
  • Add unit tests to changes
  • Submitting a PR to master with a single, tested, non-breaking changeset
Rinse and repeat! I suspect we'll be hearing much more about this project in the coming weeks, but the consensus in the room was that this was the right approach, and that John should go forth and do that thing.
The day was really great and both the main presentations and the side-conversations were enlightening. Thank you everyone for participating!

Regarding toponaming, the thing that came clear to me is that we need to stop thinking about realthunder's code as a "thing to be merged". It isn't. It's a proof of concept of how to solve the toponaming problem. His solution has been running for years in his linkstage3 branch and can be considered proven. But as chennes said, it isn't a matter of mashing the green button. If we do that, we will make a huge mistake.

First, it's too big and complicated. Continuously rebasing and testing won't work. We have to do this one piece at a time in a logical order. Otherwise we will introduce unanticipated regressions and side-effects.

Second, IF it were even possible to merge the code in one bite, it would still be a mistake. The development community wouldn't gain any deep understanding of how it works. We wouldn't have any 'skin in the game' or ownership of the solution. It would be tempting to blame realthunder for any regressions and long-term problems. That's not fair to him or us.

Nor can Ondsel simply take on the task for exactly the same reason. Toponaming is FreeCAD's problem. The solution has to belong to FreeCAD. What realthunder has given us is the algorithm to solve it. All we have to do is implement the algorithm.

What John CAN do, and what we're proposing is that he act as a coordinator. NOT the guy DOING the work, just the guy coordinating the work. John doesn't know the FreeCAD source. That isn't his expertise. Instead, he would prepare a plan and keep us all going in the same direction to get the work done. However, that work has to be shared. We need unit tests, documentation, and eyeballs at every step. How fast we go depends on how much help we get.
User avatar
obelisk79
Veteran
Posts: 1061
Joined: Thu Sep 24, 2020 9:01 pm

Re: FreeCAD Day 2023 - Report and Continued Discussion

Post by obelisk79 »

sliptonic wrote: Sat Feb 04, 2023 9:08 pm What John CAN do, and what we're proposing is that he act as a coordinator. NOT the guy DOING the work, just the guy coordinating the work. John doesn't know the FreeCAD source. That isn't his expertise. Instead, he would prepare a plan and keep us all going in the same direction to get the work done. However, that work has to be shared. We need unit tests, documentation, and eyeballs at every step. How fast we go depends on how much help we get.
Brad, Chris, et al,

As an avid observer, I regret my lack of skillset to contribute anything of significance to this effort. However, my question is this: Will this process happen relatively publicly (updates etc.) in the upcoming forum thread (or elsewhere ie GitHub) as things progress?

Regards,
Joe
User avatar
sliptonic
Veteran
Posts: 3457
Joined: Tue Oct 25, 2011 10:46 pm
Location: Columbia, Missouri
Contact:

Re: FreeCAD Day 2023 - Report and Continued Discussion

Post by sliptonic »

obelisk79 wrote: Sat Feb 04, 2023 9:24 pm
sliptonic wrote: Sat Feb 04, 2023 9:08 pm What John CAN do, and what we're proposing is that he act as a coordinator. NOT the guy DOING the work, just the guy coordinating the work. John doesn't know the FreeCAD source. That isn't his expertise. Instead, he would prepare a plan and keep us all going in the same direction to get the work done. However, that work has to be shared. We need unit tests, documentation, and eyeballs at every step. How fast we go depends on how much help we get.
As an avid observer, I regret my lack of skillset to contribute anything of significance to this effort. However, my question is this: Will this process happen relatively publicly (updates etc.) in the upcoming forum thread (or elsewhere ie GitHub) as things progress?
Sorry, my friend. Nobody gets to claim a lack of skills. I, myself, have no formal training as a programmer and I have a degree in psychology. We all roll up our sleeves and get dirty on this one. :lol:

What we're proposing is to avoid a long-lived integration branch. We break up the solution into functional pieces and merge directly to master in a non-breaking way. We have some kind of dashboard or project plan to show where we are in the process.
User avatar
chennes
Veteran
Posts: 3876
Joined: Fri Dec 23, 2016 3:38 pm
Location: Norman, OK, USA
Contact:

Re: FreeCAD Day 2023 - Report and Continued Discussion

Post by chennes »

sliptonic wrote: Sat Feb 04, 2023 9:31 pm We break up the solution into functional pieces and merge directly to master in a non-breaking way.
And of course, when Brad says "merge directly to master" what he really means is "submit a PR for anyone to review, and upon basic agreement from reviewers then merge that PR into master" (I know, it's more verbose, but that's the real process). The key thing is that everyone will see every step and can give feedback at any point they are comfortable doing so. Nothing hidden, nothing unilateral.
Chris Hennes
Pioneer Library System
GitHub profile, LinkedIn profile, chrishennes.com
grd
Posts: 328
Joined: Wed Apr 13, 2022 5:13 am
Location: Eindhoven, The Netherlands

Re: FreeCAD Day 2023 - Report and Continued Discussion

Post by grd »

chennes wrote: Sat Feb 04, 2023 10:23 pm
sliptonic wrote: Sat Feb 04, 2023 9:31 pm We break up the solution into functional pieces and merge directly to master in a non-breaking way.
And of course, when Brad says "merge directly to master" what he really means is "submit a PR for anyone to review, and upon basic agreement from reviewers then merge that PR into master" (I know, it's more verbose, but that's the real process). The key thing is that everyone will see every step and can give feedback at any point they are comfortable doing so. Nothing hidden, nothing unilateral.
Yesterday we also talked about using RFCs. I think that adding the issues with a RFC can help with implementing them because then you need to think before implementing the problem that you are trying to solve. Look at this for example https://github.com/nim-lang/RFCs

There is a form where you can add a new RFC and all the issues are actually RFCs.

It is just an idea.
About Nim. Latest Release 2.0.2. Here is Nim in 100 seconds and a Nim package. There are Qt and OCCT packages.
User avatar
obelisk79
Veteran
Posts: 1061
Joined: Thu Sep 24, 2020 9:01 pm

Re: FreeCAD Day 2023 - Report and Continued Discussion

Post by obelisk79 »

sliptonic wrote: Sat Feb 04, 2023 9:31 pm Sorry, my friend. Nobody gets to claim a lack of skills. I, myself, have no formal training as a programmer and I have a degree in psychology. We all roll up our sleeves and get dirty on this one. :lol:
Touche, I will do my best to contribute in my own way. FWIW I've been trudging my way through some introductory material for C++ for about a week. Perhaps I'll find an opportunity to more directly contribute to the overall effort. :geek:
user1234
Veteran
Posts: 3319
Joined: Mon Jul 11, 2016 5:08 pm

Re: FreeCAD Day 2023 - Report and Continued Discussion

Post by user1234 »

chennes wrote: Sat Feb 04, 2023 8:58 pm As I said, errors are almost certainly mine!
Error for a "in a hurry writing mistake" is a hard word, i woud prefer the word oopsi.

Greetings
user1234
Post Reply