Not really. Gene's interpretation is wrong, he must have missed the word 'or'.
Google Summer of Code 2023 - Coding! Up to July 10th
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
Be nice to others! Respect the FreeCAD code of conduct!
- kkremitzki
- Veteran
- Posts: 2515
- Joined: Thu Mar 03, 2016 9:52 pm
- Location: Illinois
Re: Google Summer of Code 2023 - Call for Ideas
Yep, the purpose was for any of the three: ideas, mentors, or students.
Re: Google Summer of Code 2023 - Call for Ideas
Well, I still like my idea, but maybe I can say something more. There is a library called nimqt which is a wrapper for a lot of the qt stuff. It is an impressive library. https://github.com/jerous86/nimqt
Yes, this library can also read *.ui files. You can look at the documentation and at the examples to get an idea.
And if you really want to rewrite obsolete C++ code then maybe you can rewrite it in Nim if you want to instead of trying to modernize it but that is not the goal. The goal is to make another extension language next to Python.
For Qt Creator there are two official packages, one for which you can build your code: https://doc.qt.io/qtcreator/creator-project-nimble.html and also a plugin: https://codereview.qt-project.org/c/qt- ... /+/123629/
VS Code has multiple plugins for Nim.
Now about the language Nim:
You can compile the Nim code to C, C++, Objective-C and even JavaScript, but that is not really important in this case because here we are talking about compiling it to C++.
For conveniance you can use different GC options (ARC, ORC or even the Google Go GC) and even turn it off but I would not advise that. The current version is in the Nim 1.6 range but 2.0 compiles standard with ORC and ORC means optimized reference counting. ARC means automatic reference counting and it is being used inside Swift and Objective-C, so I think that it is good.
There are two points of debate inside Nim. Either you like them or not:
1. The naming of variables and procedures. Nim doesn't care about the case style and even underscores are allowed, which means that you can write your variable in CamelCase, camelCase and snake_case and it still compiles. But you can't use two underscores next to each other. Then you get an error. Nim is no Python!
2. Nim doesn't care about using ( and ), which means that sometimes you can write stuff that is hard to understand, which is why I always try to use them.
I am saying that using Nim for a new WB can make your code as fast as C++ without having the need for C++ and I think that is important.
Edit: I edited this quite a lot, so better read it again.
Yes, this library can also read *.ui files. You can look at the documentation and at the examples to get an idea.
And if you really want to rewrite obsolete C++ code then maybe you can rewrite it in Nim if you want to instead of trying to modernize it but that is not the goal. The goal is to make another extension language next to Python.
For Qt Creator there are two official packages, one for which you can build your code: https://doc.qt.io/qtcreator/creator-project-nimble.html and also a plugin: https://codereview.qt-project.org/c/qt- ... /+/123629/
VS Code has multiple plugins for Nim.
Now about the language Nim:
You can compile the Nim code to C, C++, Objective-C and even JavaScript, but that is not really important in this case because here we are talking about compiling it to C++.
For conveniance you can use different GC options (ARC, ORC or even the Google Go GC) and even turn it off but I would not advise that. The current version is in the Nim 1.6 range but 2.0 compiles standard with ORC and ORC means optimized reference counting. ARC means automatic reference counting and it is being used inside Swift and Objective-C, so I think that it is good.
There are two points of debate inside Nim. Either you like them or not:
1. The naming of variables and procedures. Nim doesn't care about the case style and even underscores are allowed, which means that you can write your variable in CamelCase, camelCase and snake_case and it still compiles. But you can't use two underscores next to each other. Then you get an error. Nim is no Python!
2. Nim doesn't care about using ( and ), which means that sometimes you can write stuff that is hard to understand, which is why I always try to use them.
I am saying that using Nim for a new WB can make your code as fast as C++ without having the need for C++ and I think that is important.
Edit: I edited this quite a lot, so better read it again.
Last edited by grd on Sun Feb 12, 2023 11:25 am, edited 3 times in total.
About Nim. Latest Release 2.0.2. Here is Nim in 100 seconds and a Nim package. There are Qt and OCCT packages.
Re: Google Summer of Code 2023 - Call for Ideas
anything on Sandbox:Wishlist?
favorites are:
- anything in mesh wb (on the wishlist page)
- create a first implementation of dxf import based on ezdxf
if any of these topics, could be persuaded to mentor (although will be of little use regarding code details of c/compiling, but have a feeling that people with those skills are around anyways if a gsoc takes off).
not on the wishlist page, but it would be cool if fc had an internal (working) mesh "remesher", not so much that it is core fc, more for how people potentially can see fc as a one-stop shop for the hobbyist 3d-printing world.
favorites are:
- anything in mesh wb (on the wishlist page)
- create a first implementation of dxf import based on ezdxf
if any of these topics, could be persuaded to mentor (although will be of little use regarding code details of c/compiling, but have a feeling that people with those skills are around anyways if a gsoc takes off).
not on the wishlist page, but it would be cool if fc had an internal (working) mesh "remesher", not so much that it is core fc, more for how people potentially can see fc as a one-stop shop for the hobbyist 3d-printing world.
Last edited by heda on Sun Feb 12, 2023 5:08 pm, edited 1 time in total.
Re: Google Summer of Code 2023 - Call for Ideas
Back when it was released, Autoremesher seemed to be the best option out there, according to this Blenderartists thread. The main branch hasn't seen development in 3 years, haven't checked any of its forks.
Eventually, a NURBS based SubD implementation would be cool as well (but that's further down the line, I suppose).
- sliptonic
- Veteran
- Posts: 3459
- Joined: Tue Oct 25, 2011 10:46 pm
- Location: Columbia, Missouri
- Contact:
Re: Google Summer of Code 2023 - Call for Ideas
What do y'all think of migrating the GSoC project list to Github Issues and then creating a GSoC tag.
- it would be easier to find new project ideas
- it would give a student a place to communicate around the solution
- eventual PR would resolve
- Projects that don't get selected might get solved by someone else
- it would eliminate duplication of info between github, forum, and wiki.
of course the project ideas should be expressed in typical issue form. ie as a problem to be solved.
@Kunda1 What do you think?
- it would be easier to find new project ideas
- it would give a student a place to communicate around the solution
- eventual PR would resolve
- Projects that don't get selected might get solved by someone else
- it would eliminate duplication of info between github, forum, and wiki.
of course the project ideas should be expressed in typical issue form. ie as a problem to be solved.
@Kunda1 What do you think?
Re: Google Summer of Code 2023 - Call for Ideas
LGTM but I am not a member of the core team. Do you want me to do it?sliptonic wrote: ↑Tue Feb 14, 2023 6:16 pm What do y'all think of migrating the GSoC project list to Github Issues and then creating a GSoC tag.
About Nim. Latest Release 2.0.2. Here is Nim in 100 seconds and a Nim package. There are Qt and OCCT packages.
- sliptonic
- Veteran
- Posts: 3459
- Joined: Tue Oct 25, 2011 10:46 pm
- Location: Columbia, Missouri
- Contact:
Re: Google Summer of Code 2023 - Call for Ideas
Please! That would be helpful. Thank you.grd wrote: ↑Fri Feb 17, 2023 10:54 amLGTM but I am not a member of the core team. Do you want me to do it?sliptonic wrote: ↑Tue Feb 14, 2023 6:16 pm What do y'all think of migrating the GSoC project list to Github Issues and then creating a GSoC tag.
Re: Google Summer of Code 2023 - Call for Ideas
@sliptonic also the ideas that we mentioned here?
Edit: It was only the first five that needed to be done. The rest was already put into a GSoC issue.
Edit: It was only the first five that needed to be done. The rest was already put into a GSoC issue.
About Nim. Latest Release 2.0.2. Here is Nim in 100 seconds and a Nim package. There are Qt and OCCT packages.
- sliptonic
- Veteran
- Posts: 3459
- Joined: Tue Oct 25, 2011 10:46 pm
- Location: Columbia, Missouri
- Contact:
Re: Google Summer of Code 2023 - Call for Ideas
Let's create a GSoC of label and then remove the string from the title. That way issues can be added and removed from the list without changing names.