GSoC-2020::Improvements for Lottie Exporter Plugin

Hi everyone!

I am Saurabh and my project Improvements for Lottie Exporter Plugin has been selected as a part of Google Summer of Code 2020. I will be mentored by @AnishG and @KonstantinDmitriev who will guide me and evaluate my progress.

This topic thread will be used by me to report my progress during the GSoC coding period.

3 Likes

Here is the original project idea https://forums.synfig.org/t/google-summer-of-code-2020/10545/4.

You can see my contribution to the project till now using this link.

2 Likes

@saurabh22 @AnishG

I suggest to discuss milestones for each evaluation period to clearly set our minimal expectations on each checkpoint of the Lottie project.

I think we can use existing milestone on GitHub to prioritize tasks and align them according with evaluation dates. ^___^

@saurabh22 It is possible that your schedule might have changed since the time when you wrote proposal. If so - do not hesitate to tell about this and we can make adjustments. :slight_smile:

2 Likes

Hi, I would like to alter the schedule a bit, particularly the weeks devoted to creating the blur layers. It has come to my notice now that only gaussian blur support has been added so far in the Lottie library and because of that exporting of blur layers to lottie format do not seem feasible right now.

One more thing is, due to the virus epidemic, my college has shifted its exams for which the dates will be announced shortly, however I’ll try my best to cover up that.

Other than that the schedule is aligned to completing the milestones like gradient layer, text layers etc.

2 Likes

I think it will be fine if you push it to later dates in the milestones and skip it for now. :slight_smile:

This has effected me as well, and it might also effect my presence on online forums during those days. @KonstantinDmitriev could you advice more over here.

That is great! Keep up the good work. :slight_smile:

2 Likes

I think it is okay to implement a Blur Layer and use Gaussian algorithm for all types of blur. I think this is acceptable approximation, since blur is used often. :slight_smile:

Thanks for letting me know! Google recommends to adjust timeline according to changes. It is possible to start coding period earlier and add a gap for exams. Let’s wait the moment when the dates of exams will be known. :slight_smile:

I can see that some items from proposal timeline are not reflected in milestone.

So, as first step, I suggest to transfer all items from proposal document to milestone.

Then, we will need to align milestone items with evaluation dates (define which items are mandatory for evaluation and which are optional). I think the best would be to write this information as a subpage here - https://synfig-docs-dev.readthedocs.io/en/latest/projects/lottie-export-for-web.html.

2 Likes

@KonstantinDmitriev I no longer have access for changing the milestones. Could you suggest how to proceed forward. ^___^
Thank you

2 Likes

Thanks for the suggestions, I will update my timeline accordingly and let you know as soon as possible.

I am facing the same problem, I cannot edit the milestone.

1 Like

Hmm… That’s weird… let me check the permissions… :slight_smile:

2 Likes

For some some team settings were not correct. I have changed them now.
@AnishG @saurabh22 Please check if you can manage milestones now. :slight_smile:

2 Likes

Yup I am able to manage them. Thank you! :smiley:

1 Like

I have added the milestones that were present in my proposal but were not present in the milestones.
Currently I am working on finalising my timeline keeping the exam period in my mind. Will update you about it as soon as I am finished.

@AnishG, @KonstantinDmitriev

2 Likes

I have updated my work timeline with respect to my exam.
@AnishG, @KonstantinDmitriev

Pre-Coding Period
May 23 - May 30 - College Exam week
Coding Period
June 1 - June 17 (2.5 weeks) Implement Text Layer, this will be divided over the course of two and a half weeks as it is a relatively tougher layer because of factors like the presence of different types of fonts.
June 18 - June 26 (1.5 Weeks) Implement Blur Layer and Implement Power​ convert method.
June 27 - June 28 Implement Vector X,Vector Y convert methods.
Phase 1 Evaluation June 29 - July 3
July 4 - July 10 (1 Week) Implement Radial Blur Layer and Implement Not Convert method
July 11 - July 19 (1.5 Weeks) Implement Advanced Outline Layer
July 20 - July 26 (1 Week) Implement remaining convert methods
Phase 2 Evaluation July 27 - July 31
Aug 1 - Aug 7 (1 Week) Implement Shade Layer
Aug 8 - Aug 14 (1 Week) Export outlines without variable widths. By doing this we get native Lottie outlines and this will make animation playback much faster.
Aug 15 - Aug 21 (1 Week) Add animation to the addition/deletion of bline points.
Aug 22 - Aug 24 Rigorous testing of Tasks
Final Evaluation August 24 - August 31

1 Like

Yea seems great!
You have covered everything mentioned in the proposal. :smiley:

1 Like

I am missing export of skeletons/bones. This is a very important task for export…

2 Likes

What is meant by bones here? Does it mean bone convert method?

2 Likes

Yes, the bone convert method. It is used to control groups (this is how cutout animation created) or individual vertices of spline. There is also Bone Distortion Layer, which can distort images, but it cannot be implemented in Lottie.

So, it would be really awesome if we can export Bone Convert method attached to Transformation parameter of Groups. This way we can export cutout animation

I have sent you PM with a link to access our video course, which is explaining how bones work. :slight_smile:

2 Likes

Okay, I’ll need to look into how this particular method works as I don’t know much about it because I had not included this in my proposal. I’ll try my best to incorporate this feature but I might have to remove something else from the proposed schedule. Would that be okay with the mentors?
@AnishG @KonstantinDmitriev

2 Likes

I think, for now you can keep everything from the proposed schedule. But if and when time comes, that the work load is too much, then we can drop the least priority things. :slight_smile:
@KonstantinDmitriev your thoughts here?

2 Likes

I think it is perfectly fine to remove something, as Bones is a top-priority feature for export.
Or, instead of removing, make some thing optional, a “stretch-goal”, as @AnishG suggested. :slight_smile:

1 Like