I am incredibly thrilled to announce that Chitra, Sanka, Binnacle and other my Open Source projects have been awarded the Fellowship Grant by FOSS United! (See details here Fellowships/2026/Aravinda VK).
This fellowship provides invaluable support that will allow me to dedicate focused time and resources to the upcoming releases. Specifically, the grant will directly fund fixing critical bugs, improving documentation, and building new features. A huge thank you to the FOSS United team for believing in these projects and for their commitment to supporting the open-source ecosystem.
I will use this page to publish the progress of the projects (See Updates). I will publish the project roadmaps and update the link here.
If you use any of these projects or are interested in helping these projects, a contribution would mean A LOT to me. With your help, continuing my work can be sustainable. Thank you for your continued support!
UPDATES
-
JUN 18, 2026 . Thursday
-
Chitra Utility function (
findDistance(x1, y1, x2, y2)) added to find the distance between two points (link). -
Chitra Fix zero width or height oval bug. Due to this context scale was set to zero and no further shapes were drawn (link).
-
Chitra Gallery home page and gallery detail page added. Also added the sort order to rank the Gallery entry (link).
-
Chitra Added Makefile and bash script to generate the Gallery images and its thumbnails (link).
-
Chitra Source code of the Gallery is saved as separate file so that managing or updating code becomes easy (link).
-
Chitra Added Gallery example: Background (link).
-
Chitra Added example: Clouds (link).
-
Chitra Added example: Distance (link).
-
Chitra Added example: Random blues (link).
-
Chitra Added example: UUID Thumbnail (link).
-
-
JUN 16, 2026 . Tuesday
-
Chitra Added new feature to control the co-ordinates and dimentions while drawing the oval/circle shapes (link).
ovalMode(CENTER); // X Y W H oval(100, 100, 100, 100); ovalMode(RADIUS); // X Y R1 R2 oval(100, 100, 50, 50); ovalMode(CORNER); // X Y W H oval(50, 50, 100, 100); ovalMode(CORNERS); // X Y X2 Y2 oval(50, 50, 150, 150);
-
-
JUN 15, 2026 . Monday
-
Chitra Added Jekyll based documentation website under
docsdirectory. Theme and documentation work is in progress (link1, link2 and link3). -
Chitra Added image tint feature (link).
tint("red"); image("tiger.png", 0, 0);
-
Chitra Fix image scale when output resolution changes. Image scale was not changed when the canvas resolution changes. For example the following example draws only in 25% of the canvas size because paper size almost increased to 4 times when the default resolution changed to 300 from 72 (link).
auto ctx = new Chitra(600); ctx.image("img_600.png", 0, 0); ctx.saveAs("output.png", resolution: 300);With this fix the above will render 600px image to full paper width. Works with any resolution setting.
-
-
JUN 12, 2026 . Friday
-
Dataframes(D) Added
shiftfeature to shift the column values as needed by giving the required number of jump value. Negative jump value will shift the column values in reverse order (link).auto c1 = Column!int([10, 20, 30, 40, 50]); writeln(c1.shift(1)); // Shifts index by 1 => [0, 10, 20, 30, 40] writeln(c1.shift(-1)); // Reverse Shifts index by 1 => [20, 30, 40, 50, 0]Sets the default value of respective type (Ex:
nanfor double,""for string etc) when shifted.To find the average of the last two values:
auto c1 = Column!int([10, 20, 30, 40, 50]); auto avgCol = (c1 + c1.shift(1)) / 2; writeln(avgCol); -
Chitra Fixed the translate API example. To reset the translate value used earlier it was using the negative number, but since the data type was wrongly used as
ulongnegative values were casted to something unexpected (link).// X Y translate(100, 100); // Move to (100, 100) rect(0, 0, 200, 50); translate(-100, -100); // Move back to original position -
Chitra Set the default text color to Black. Earlier it was taking the previously used color while drawing any other shape (link).
-
Chitra Fix the traffic light example by generating multiple drawings (output images) using the
newDrawingAPI (link). -
Chitra Added example of using the
scaleAPI (Increase or decrease the scale) (link).
-
-
JUN 11, 2026 . Thursday
-
Chitra Chitra context management using Lua
lightuserdata. This helps to use Chitra with multiple threads using Lua plugin. -
Chitra Expose
setSizefunction to use with Lua plugin. When Lua plugin is used, no need to initialize the Chitra context, by specifyingsize(w, h)the canvas size can be customized. Documentation is not yet available to use the Lua plugin (link).
-
-
JUN 06, 2026 . Saturday
-
JUN 04, 2026 . Thursday
-
Chitra Added two examples, Traffic signal and Text (https://github.com/aravindavk/chitra-d/commit/894b47b7e7cfef259abf7624962bd29741525cf1).
-
-
JUN 03, 2026 . Wednesday
-
Chitra Added FOSS United logo as Sponsor to Github project page of Chitra (link).
-
Chitra Added the new feature to customize the color inputs. Some prefer
0-255color codes and some prefer floating values from0-1.0. Chitra now supports chosing the color scale as needed. Default color scale is0-255for RGB values and0-1.0for Alpha (Opacity control) (link).// RGB A colorScale(255, 1); // Default scale // R G B A fill(0, 0, 255, 0.5); // Blue with Opacity 50% colorScale(255, 255); fill(0, 0, 255, 127); // Blue with Opacity 50%
-
-
JUN 02, 2026 . Tuesday
-
Chitra Added
borderandborderColorAPIs. Border supports thikness, margin, radius and color (link).borderColor("blue"); border(5, margin: 10, radius: 7);
-
