[announcement] first version of Toponaming is ready for testing

Here's the place for discussion related to coding in FreeCAD, C++ or Python. Design, interfaces and structures.
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
User avatar
onekk
Veteran
Posts: 6144
Joined: Sat Jan 17, 2015 7:48 am
Contact:

Re: [announcement] first version of Toponaming is ready for testing

Post by onekk »

likeacad wrote: Sat Feb 04, 2023 3:56 pm My intention was never to offend the developers. ...
No one has said this, it is only that last times, "noise" has increased too much, many people came here with "advices on how FreeCAD should change to be more appealing to new users" as first post.

Many first post are "critics about FreeCAD way of doing things", and so on.

Developers are busy and some of them are even in Brussels at a FOSDEM meeting, hoping to drink some good beer and enjoy a little. :lol:

I have made some 'general' considerations, probably too "carried away" by the tone of many discussion around.

I apologize if the post has seem too rough.

If you see what TNP is you could easily see that it affects many part of FreeCAD most of them in the "core code" that deal with how solids are created and how "Topology data" are stored and used.

If you don't know what is Topology, I have tried to explain things, here https://github.com/onekk/freecad-doc/tr ... nographies in the document names Topology... (not much fantasy :D), it is taylored to scripting, but I hope it is not too difficult to read, (sorry but I'm Italian, so maybe it is not too correct in wording and phrases).

So it's integration is not so easy as many could think as the risk of "breaking something" is high so developers have to proceed with some care, plus some other considerations has been considered during the integration process, that has slowed the work, however RealThunder is collaborating with developers, as he is the main author of the TNP mitigation code, so there is no competition between FreeCAD and Realthunder branch, expecially if you consider that RT branch is ahead of more than 5000 commits in respect to FreeCAD development version. (Most of the work on RT Branch is done by RT and very few others, so it is perfectly comprehensible and RT has to be thanked for his hard work, but I doubt that many people have say a simple "thank you to him", or contributed with some money to his developing work).

The story could be more long, but I think that it will suffice for now, as I'm not a FreeCAD advocate, I'm only using FreeCAD to make things, and sometimes it end in raising some money using my FreeCAD skills (that is a good thing as I'm unemployed so every little money is very welcomed), so I'm very grateful to FreeCAD and to its developers.

Kind Regards

Carlo D.
GitHub page: https://github.com/onekk/freecad-doc.
- In deep articles on FreeCAD.
- Learning how to model with scripting.
- Various other stuffs.

Blog: https://okkmkblog.wordpress.com/
likeacad
Posts: 6
Joined: Fri Feb 03, 2023 1:56 pm

Re: [announcement] first version of Toponaming is ready for testing

Post by likeacad »

Now I'm a bit confused after I read the FreeCAD Day 2023 - Report and Continued Discussion (viewtopic.php?t=75768).

First here was a plan to go forward with a separate branch for Toponaming so developers could get insides of the code before merge to master.

Now I read:
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."
(viewtopic.php?p=658250#p658250)

Which is fine, the plan changed. There is somebody to help RT and the task and the path to the goal is clear.

A few posts later:
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.
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.
(viewtopic.php?p=658275#p658275)



So John will act as a coordinator. From the first post I thought he will code, review, merge together with RT.

Again after some high hopes I feel lost and again I can't figure out what could I expect about TNP :(
User avatar
adrianinsaval
Veteran
Posts: 5541
Joined: Thu Apr 05, 2018 5:15 pm

Re: [announcement] first version of Toponaming is ready for testing

Post by adrianinsaval »

+1, first post from chennes gave me hope things wold move forward at a good pace with someone paid to do it, now it seems he'll get paid to tell others what to do... so we end up relaying on volunteer work again which is inevitably slow since everybody has their own life to take care of, it also seems this means starting over from scratch again... that is not very encouraging, it would be nice to hear more details about what will happen, what's the timeline if there is one, who else will be involved (who will review and merge the expected PRs).
wsteffe
Posts: 461
Joined: Thu Aug 21, 2014 8:17 pm

Re: [announcement] first version of Toponaming is ready for testing

Post by wsteffe »

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.
It reminds to me the old adage "Who knows does, who doesn't know teaches". :lol:
jbnadal
Posts: 7
Joined: Thu Oct 13, 2022 11:48 am

Re: [announcement] first version of Toponaming is ready for testing

Post by jbnadal »

What would be nice is to have Realthunder's opinion too.
Because I understand from reading the Forum that nobody wants RealThunder's solution even though it has been working for a while on their branch, and that some people are trying to slow down and prevent its integration.
In the end, what was supposed to be the main feature of version 0.21 will disappear. and we still won't have a solution on mainstream freecad. and we'll have to continue using the Realthunder version.
it's a bit of a shame
Hologram
Posts: 201
Joined: Thu Nov 03, 2022 3:05 pm

Re: [announcement] first version of Toponaming is ready for testing

Post by Hologram »

jbnadal wrote: Mon Feb 06, 2023 2:56 pm What would be nice is to have Realthunder's opinion too.
Because I understand from reading the Forum that nobody wants RealThunder's solution even though it has been working for a while on their branch, and that some people are trying to slow down and prevent its integration.
In the end, what was supposed to be the main feature of version 0.21 will disappear. and we still won't have a solution on mainstream freecad. and we'll have to continue using the Realthunder version.
it's a bit of a shame
My understanding is that the devs do want RealThunder's version, but because RealThunder added other features to his branch it has become harder to separate the Toponaming portion of the code. Also, the core developers want to fully understand and document the code, so they can maintain it in the future. This doesn't sound that unreasonable, because they are the ones responsible for code maintenance. By merging it in bite-sized chunks, it becomes easier to manage for them as isolated portions of code that should be working well on their own, as opposed to creating more of a maze.
But that's my layman understanding of the matter.
likeacad
Posts: 6
Joined: Fri Feb 03, 2023 1:56 pm

Re: [announcement] first version of Toponaming is ready for testing

Post by likeacad »

My understanding is that the devs do want RealThunder's version, but because RealThunder added other features to his branch it has become harder to separate the Toponaming portion of the code. Also, the core developers want to fully understand and document the code, so they can maintain it in the future. This doesn't sound that unreasonable, because they are the ones responsible for code maintenance. By merging it in bite-sized chunks, it becomes easier to manage for them as isolated portions of code that should be working well on their own, as opposed to creating more of a maze.
But that's my layman understanding of the matter.
In my understanding because of the reason above there is a separate branch in freecad just for TNP. There was a steady progress - as far as I can tell - until the PartDesign part.

Somebody agreed on this plan. So everybody interested could have a view on just the tnp code from RT.

Now from my point of view it seems the plan is reset to square one. Means small amount of code will be merged into master.

What I miss from what I read in Fosdem's post is something like:
?We checked the progress of the TNP problem mitigation by Realthunder and the branch which were created to merge the code and we made the following modifications on the plan:...?

Right now - again it is just me - from the discussion I read I have an impression multiple separate groups of people are speaking about TNP without knowing what the other group do. (strictly my impression just from what I have read so far.)
wsteffe
Posts: 461
Joined: Thu Aug 21, 2014 8:17 pm

Re: [announcement] first version of Toponaming is ready for testing

Post by wsteffe »

Hologram wrote: Mon Feb 06, 2023 3:06 pm RealThunder added other features to his branch it has become harder to separate the Toponaming
RT has already separated the TPN stuff from other new functions of its branch. He has also split the TPN code into 3 parts dealing with different WBs as requested by core developers. The third part (dealing with PartDesign) has not yet arrived but, at this point, I suspect it will never come.
He made a big effort to please the FC core developers but each time he had updated its PR following their requests some additional request were made.
Now the FC developers have changed their mind another time saying that RTs PR will not be merged anymore because they prefer to start from scratch a new branch to solve the TPN problem. If I were RT I wouldn't loose any time more following an always moving target.
GeneFC
Veteran
Posts: 5373
Joined: Sat Mar 19, 2016 3:36 pm
Location: Punta Gorda, FL

Re: [announcement] first version of Toponaming is ready for testing

Post by GeneFC »

This entire topic has become nothing more than a gripe session with various personal attacks thrown in. I have not seen anything related to "testing" for many weeks.

Completely non-productive.

Just about time to shut it down.

Gene
Hologram
Posts: 201
Joined: Thu Nov 03, 2022 3:05 pm

Re: [announcement] first version of Toponaming is ready for testing

Post by Hologram »

GeneFC wrote: Mon Feb 06, 2023 4:07 pm This entire topic has become nothing more than a gripe session with various personal attacks thrown in. I have not seen anything related to "testing" for many weeks.

Completely non-productive.

Just about time to shut it down.

Gene
Agreed.

Folks, do understand that bashing the developers — especially based on assumptions — is not something you should be doing. Y'all want to get Toponaming merged, but if devs get fed up from people, either through personal attacks or unrealistic demands, they can choose to stop contributing to FreeCAD. Constructive feedback is key, not drama.
Post Reply