[GSoC 2020] Google Summer of Code 2020

@KonstantinDmitriev done :slight_smile:

I think about PyBind11 (https://pybind11.readthedocs.io/en/stable/) as it’s more simple, but SWIG is also ok.

1 Like

I agree with it. We can #ifdef some parts of the code to support old systems, or just remove it on beta and wait for feedback from our users (to decide whether to support it).

1 Like

I don’t have much experience with skeletons, but what all does skeleton cover. During my project, I thought skeleton export was basically exporting bone convert method.
Could you please elaborate what all will need to be implemented in skeleton export. :smiley:

Yes this would be amazing!

1 Like

I could mentor it, as well Gtk::StockId and Gtk::Action replacements (not Gtk::Main at first glance).
The proposal for frame-by-frame too, but I don’t that specifically lasts for 3 months.

1 Like

Yes, all you need is implement exporting of bone method. I just called it “skeleton export”, because it sounds better for my taste =D

That’s great! Then, can you please add Scripting to Ideas list? :slight_smile:
And replacement of deprecated classes too (as we got it confirmed by @ice0).

About frame-by-frame animation:
I think that frame-by-frame function should be implemented differently - through switching of exported canvases. This idea is described in my post here (item #2) - Nested animations

Also, what we need for frame-by-frame animation is possibility to create new frames and seamlessly edit contents of exported group.

For example, it would be nice if user can have a group selected and “paint” content inside of it (using vector tools). This is actually, partially implemented for raster brush tool - if you have imported bitmap, you can try to select its switch group (not bitmap itself) and try to paint on it with Brush Tool. The paint will be automatically transferred to Image Layer inside of Switch group. We need something like this for vector tools - i.e allow to create something inside of currently selected group. Like natural painting process.

And now about creating new frames - it would be nice to just have a button to create a new “frame” for currently selected group. Clicking that button will create a new (empty) exported canvas and will switch current group to it. :slight_smile:

If we talk about Switch Layer, then I think managing switching of frames could be simpler. Maybe just dragging to timeline any child layer of Switch Layer - this will create a new waypoint at current time?


Hi there! I have read the conversation. It seems so amazing contributing in project that has real world impact! I would like to contribute. As I am new here so can anyone please guide me where should I start at first ?

Hi, @haider_aabbas!

First you can look at ideas list here: https://github.com/synfig/synfig-docs-dev/blob/master/docs/gsoc/2020/ideas.rst

If you find something interesting for yourself, after that you can check open issues here:

Next you need to prepare for development:

  1. We are using autotools for project build, but you can choose any IDE for code editing. Also you can see CMake files inside project. As for now CMake build is not yet completed, but it is fully-functional, and allows you to compile the code, if that is needed for your IDE to navigate through code. I checked it with CLion, NetBeans settings is described here.
  2. Try to build Synfig from console. This can be completed by cloning Synfig from github.com
    git clone https://github.com/synfig/synfig.git and run 2 commands: 1-setup-linux-native.sh and 2-build-debug.sh. Linux is our primary OS for development, but you can use MacOS or Windows(MinGW) also.
  3. If build is succeeded then you can run synfig or synfigstudio from _debug/build/bin folder.

Do not worry if the first build looks a bit complicated. This must be done once at the beginning. After that, everything will be simpler.

Feel free to ask if something is not clear, I will be glad to help.


Congratulations all!
Synfig selected for GSoC 2020.



Hello all. I am Harsh Agarwal, a student from India. I was going through the entire conversation here as well as checked out the ideas page. I am interested in contributing to Synfig.

I found a project named as Vectorization of Bitmaps really interesting. I have a few trivial doubts regarding it.

  1. Is there any pre written code for it or it should be started from scratch?
  2. Which tool among Potrace and OpenToonz should be preferred for this particular project?
  3. Is there a need for any other dependencies/frameworks for integrating ot with Synfig platform.

I request the Mentors and Organisation Admins kindly clarify the above-mentioned doubts sp that i will be able to start the contribution as soon as possible.

The project Vectorization of bitmaps is already implemented as a part of GSoC 2019 by @ankit.
You can see the details here:

Possibly, there is a room to improve for Vectorization project?


@rodolforg Hi there! I have going through some of the GSoC 2020 ideas of synfig. I have come across idea you are mentoring much appealing. I’ve got some hands on experience with C++ and python. I would like to know more about this ? like what exactly are we going to do so that I can do some research for the proposal. I would really love to work on this project with you.

1 Like

@KonstantinDmitriev I wanna ask couple of questions.
1.Can one student work on more than one projects ??
2. Is there any restriction from GSoC on every org to select only particular number of students ?

1 Like


Yes, there is a limit. After students apply, we selecting best of them and submitting to Google number of slots we want. Google reviews it and approves or reduces number of slots, depending on situation.

Oh thanks! I would really like to work on project “Scripting (exporting synfig app API and its data structures to python script)” which @rodolforg is mentoring.
@KonstantinDmitriev could you please guide me . How can I increase my chances of being accepted for this project ?


@haider_aabbas Please start by reading this and do your first build.

After that ask @rodolforg for guidance on first task. Also, you can start by solving those first issues, to increase your chances on being accepted.


@KonstantinDmitriev I have done the first two steps you mentioned. I have read contributing guidelines. Also set up the development environment and Did my first build (2 time actually). I had faced a little problem in building and setting up synfig in Netbeans to use in debug mode but I reach out @ankit . He helped me.

I have also started to solving good first issues labels problems as you might have seen me discussing https://github.com/synfig/synfig/issues/1165 .

I asked for guidelines to @rodolforg but unfortunately could not be able to get an answer from him yet. Looking forward to discuss details.

Thanks for guiding @KonstantinDmitriev
I would love to be the part of synfig open source community :slight_smile:


Hello, I am Saurabh Chand Ramola. I have been looking at the project idea list and I found the Improvements for Lottie exporter plugin idea to be interesting. I have talked to @AnishG who is mentoring this project.

Looking forward to contributing to this organisation through GSoC 2020. :smiley: