This is awesome news!!!!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.
FreeCAD Day 2023 - Report and Continued Discussion
Forum rules
Be nice to others! Read the FreeCAD code of conduct!
Be nice to others! Read the FreeCAD code of conduct!
- adrianinsaval
- Veteran
- Posts: 5548
- Joined: Thu Apr 05, 2018 5:15 pm
Re: FreeCAD Day 2023 - Report and Continued Discussion
Re: FreeCAD Day 2023 - Report and Continued Discussion
Bt that is a fact. For examle:
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:
Greetings
user1234
Re: FreeCAD Day 2023 - Report and Continued Discussion
As I said, errors are almost certainly mine! This is a mistaken transcription, it should read "TechDraw" not "PartDesign". I will edit now...
- sliptonic
- Veteran
- Posts: 3459
- Joined: Tue Oct 25, 2011 10:46 pm
- Location: Columbia, Missouri
- Contact:
Re: FreeCAD Day 2023 - Report and Continued Discussion
The day was really great and both the main presentations and the side-conversations were enlightening. Thank you everyone for participating!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: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.
- 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
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.
Re: FreeCAD Day 2023 - Report and Continued Discussion
Brad, Chris, et al,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?
Regards,
Joe
- sliptonic
- Veteran
- Posts: 3459
- Joined: Tue Oct 25, 2011 10:46 pm
- Location: Columbia, Missouri
- Contact:
Re: FreeCAD Day 2023 - Report and Continued Discussion
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.obelisk79 wrote: ↑Sat Feb 04, 2023 9:24 pmAs 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?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.
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.
Re: FreeCAD Day 2023 - Report and Continued Discussion
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.
Re: FreeCAD Day 2023 - Report and Continued Discussion
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/RFCschennes wrote: ↑Sat Feb 04, 2023 10:23 pmAnd 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.
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.
Re: FreeCAD Day 2023 - Report and Continued Discussion
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.