Hi, @dhairya_bahl, nice to see you here!
@riya1606 @dhairya_bahl
A little information about where to start:
First step in this issue is just open synfig/ETL/ETL folder, and try to understand (or maybe document for yourself) what every file in this folder is needed for? For example: where _rect.h is used? (You can use context-search for this in any IDE). Is it used only in synfig-core or it is used by both synfig-core and synfig-studio ? etc.
The main idea here is not just copy files from ETL to core and fix CMakeLists.txt/autotools files.
The main idea is to switch to standard primitives (classes/functions) when you doing this migration.
ETL is analogous to the STL/std C++ library and was written before they became the standard. So for the new developer is a little complicated to understand why we use smart_ptr and did not use std::shared_ptr or std::unique_ptr.
For example, when I was analyzing smart_ptr class from ETL, I started by looking for the classes that use it. And I found synfig-core/src/synfig/smartfile.h. If you check it, you will see what this is a good start point for this idea. This class is very simple, but you should decide: can smart_ptr be switched to std::shared_ptr or std::unique_ptr, or smart_ptr class have some unique features and should be ported as is?
I also want to point out that there may not be a perfect solution for some classes. Some of them can be switched to std, others will need to be left as they are.
P.S. Also feel free to suggest your own ideas if you are interested in them.
7.4. Project Proposals.
…
3. Project Proposals may, but are not required to, be for Projects on an Organization’s Ideas List.
@AnishG @ankit @rodolforg and other developers - if you are available as mentors please post here, or PM me please.