Skip to main content Skip to navigation

Hello Planet!


Hi everyone! It’s been so long since I started this site, back in July 2017. It’s been mostly to showcase my open source work and have a place for potential business contacts, and I’ve never ever blogged a bit because long prose is kind of difficult for me. (Also, I’m very fearful of our dear internet trolls.)

Today, I’m finally getting out of my shell. I’ve been selected as a participant for Google Summer of Code 2020, working with KDE on the Krita painting suite.

Looking back on my logs, it was in October 2016 (shortly before my graduation) that its maintainer, Boudewijn Rempt, and Pepper & Carrot’s author, David Revoy, welcomed me with open arms to the FOSS world. In the four years that passed, I’ve learnt a lot: graduated, started my MSc, almost finished it, and landed my first job in the industry. I can’t express how deeply thankful I am for their help and advice, so the only way I could think of returning the favor was to tackle a Big Thing in Krita.

The project I will be working on is called, “Dynamic Fill Layers in Krita using SeExpr”, and I’ll be mentored by Boudewijn, Dmitry Kazakov, and Iván Yossi.

Here’s the listing page, its Phabricator task and the full proposal (Google Docs link). A Portfolio entry will be up in due notice.

To summarize, Krita already has support for various types of Fill Layers, but unlike other open source toolkits (Blender for instance), it does not have a direct way to script or otherwise author custom textures or patterns. Disney Animation has been working on a library for this purpose, called SeExpr. In their own words,

SeExpr is an embeddable, arithmetic expression language that enables flexible artistic control and customization in creating computer graphics images. Example uses include procedural geometry synthesis, image synthesis, simulation control, crowd animation, and geometry deformation.

Walt Disney Animation Studios, SeExpr.

The objective of the project is to let artists create dynamic content through a new, scriptable Fill Layer through the SeExpr expression language.

I’ll be around on IRC (amyspark at #krita or, occassionally, #pepper&carrot), and I hope we’ll be reading each other soon!