Developers Meeting, April 27th 2023
by Martin Owens
This week's meeting notes are here.
Next Developer Meeting in May 8th
Attending: MikeKov, Nicco, René, Jonathan, Martin, Vansh Uppa, Rafael,
René updated the build pipeline for macOS, mostly small cleanups which
open us up to back-porting Ventura support to 1.2.x the target is this
weekend and we can be finally done with the venture issue. Working on
more automation to improve release procedures, upgrade openssl which is
a little old now. Looking into contributing to the Gtk osx upstream.
Jonathan has been doing preparatory work for importers, checking files
are rendered correctly. Helping with the object structure importer.
Dividing up the work.
A single person so far in the Gtk external position, the prospect is an
experienced gtkmm programmer. No one has yet applied for the internal
position, the deadline is Sunday. Developers were all reminded of the
Martin recorded a user-session (a session where an Inkscape user and
developer explore new functionality and locate bugs together). Also
collected issues from his direct sponsors, this week Martin has been
working through these lists of issues. Most are small fixes but some
larger works including fixing a much needed Font Toolbar problem and
import and export issues. Some are refactoring for 1.3.1 but others are
scheduled for 1.3. Not many issues for the Accelerator Program this
week as that wasn't a focus.
Grid properties issues were worked on by Mikekov and Martin. Grids work
to fix all the issues, happy with the refactoring overall, but even
though users won't see any benefit, it's a good change under the hood.
A refactoring branch is schedule for 1.3.1
Mikekov also has been cleaning up runtime warnings.
Rafael has been helping out with various merge requests and bugs. He's
dropping out of the bug accelerator program because he's feeling it's
more pressure than expected and more like a job. He suggested perhaps a
bug bounty program would be more casual and more comfortable for him.
Jonathan thanked Rafael for his involvement and his feedback. Giving
contractors the right information about how /working/ for Inkscape is
different than volunteering should be included in future programs.
Tav worked on the color management refactoring. There's a color profile
element, which is a bit of a catch all and contains too much
functionality so it will need to be progressively cleaned out over
time. The developer shad a discussion about the differences between
Display, Device and element icc profiles and what functionality is
intended by each. More research is needed.
Jonathan is interested in hosting a smaller, possibly European centric
developer meet-up in the Autumn. Five people in the developer meeting
indicated their interest. It would all depend on scheduling and booking
places to stay.
The Gimp project is hosting an event in May; Martin received an
invitation to participate and talk about the integration potential
between Blender, Gimp and Inkscape. The event is being hosted at the
Blender HQ in Amsterdam. The invites have been forwarded to Marc and
Chris R. as the people who are both physically close and with the most
experience with the topic. Only travel funding would be required from
our side as the Gimp project have hired a boat to stay in.
This weeks group activity was reviewing a merge request by Vansh Uppa,
where Martin and Mikekov had a difference of opinion about interface
design principles and a discussion was had about the best was of
designing functionality so that it both safe, less disruptive and
consistant. Rafael kindly offered to act as a tie breaker and review
the merge request after both Martin and Mikekov defended and explained
Best Regards, Martin Owens
Developer Meeting Notes: 19th April 2023
by Martin Owens
Time for another meeting, big thanks to everyone who was able to make
Present: Martin, René, Jonathan, Mikekov, Nicco, Tav, Marc
Next Meeting: Thursday 19th April 2023
The developer team would like to thank the tireless work of the vectors
team; Tav asked is there a way we can do something for them? Martin
suggested that we have mentioned in the past funding some food and
drink for online events and the vectors team does like to do a release
party event. Perhaps that's a good way to say thank you. Will need to
There was a question about how to keep the alpha release on the website
front page. We didn't know what the vectors team wanted to do, but the
developer team didn't ask for anything specific. Though some developers
were not even sure if we had released the alpha as they looked at the
front page of the website for news. Nicco added a simple news article,
we should make sure this is formatted ok with the people that update
the news regularly.
Not much happening with macOS dependencies, but the most important
future task is migrating the build system from 1.3alpha to 1.2.2 but
René is quite busy with real life at the moment. Was able to test a few
things like the fonts and the tests.
There was a question of macOS supports variable font support. It should
be there if it's there in Linux, but we're not sure, it will need
research to know if that's true. We do know that halfbuzz is not
upgraded on macOS, so we may have to help fix the issues. We know that
everyone uses halfbuzz for text rendering these days. Martin reported a
problem with macOS tests on the CI builder related to fonts. Wrote a
new svg file to test functions but it's 1.5% wrong and that doesn't
pass the 1% fuzziness. May increase the padding to reduce the fuzzy
René did recieve the funding for the Apple building machine and now he
would like a hardware policy to help make it easier to fund hardware
for developers. He will ask various people for information and get back
to use for it.
# Font Refreshing
Martin asked about including the font refresh merge request in 1.3. The
consensus was that this is a new feature and most developers haven't
seen this feature in other programs. But some programmers did express
sympathy with users that this is a long standing issue in Inkscape but
ask everyone to bare with us.
Each operating system will need it's own implementation. There's two
main issues one is the signal from the operating system that fonts have
changed at all, and the second is asking pango/fontconfig to refresh
it's font context. We know that these are not always available in macOS
and Windows and so we may have to fix things upstream in order to
# Windows Builds for Testers
We have a conflict between the size of the zip files and the difficult
to use 7z file format which requires the use of an external tool. The
dev team concluded in a poll that we should move to zip files for the
CI builds. This doesn't effect any releases, not even alpha/beta etc,
only the merge request CI builds. We tested in the meeting with a
screenshare and showed that windows will warn users to extract the
files, running the main file will fail without extracting.
The files still need extracting. Some other alternatives were proposed
such as CAB and Portable Exe. Zip seems like the easiest to implement
so Marc has added it as a task.
# XML with Line feeds in Attributes
Martin has a merge request to 1. write out xml files with any line
feeds correctly translated to xml escaped chars and 2. To allow users
to more directly add these in the xml editor using Shift+Return. There
was no objection to the former, but the later needed some discussion.
We concluded that since you can already add these lines using copy and
paste, there wasn't anything to be gained by blocking a merge request
with such a small risk profile.
# AI Importer
Nicco continues work on ai importer and rectangles and the new parser
for speed. There's thoughts about how to reuse the work and package
things with some forethought. Jonathan says they've been working on
speed because the difference is so stark. How should the parsing and
writing be structured? Reading through the file in a defined manner is
# Gtk Hiring
Jonathan reports that the current status is the job posting is out and
people are being contacted by pono. One business contacted directly has
an interested party who works on gtkmm and would quit his job and do
the work, but he would need extra time to give notice and this might
for example make some delay for the project's start. It's good news
that there are people who are qualified and are available to work on
this important project. We should be clear and careful about helping
people who are not used to being contractors and offer guidance to
anyone who ends up working with us.
# Other work
Tav wants to work on Display ICC (color) profiles which we need to look
at because of the Gtk4 work. In the rendering of the canvas there's a
step which applies a given icc profile. This depends on the screen/seat
properties in Gdk/Gtk. Researching what's there and what might be
needed is ongoing work. Some of this is code cleanup which will help
going forwards. More to report next week.
Mikekov is working on the item picker.
Pono and Martin ran a test on the website to run an election as a trial
run for the up and coming PLC election, it went well. Email issues were
fixed. It's now waiting for pono to create the main election event.
Martin did an run down of the new font collections functionality with a
user, and may make a video of it from the big blue button recording.
# Google Summer of Code (GSoc)
Marc, we are missing a mentor for GSoC, 4 people who can be selected. 3
can be selected. Would Mikekov be available to help with a particular
project? The specific subjects are withheld from the notes to not leak
which projects are being selected before the time.
The meeting was running late and we didn't get to any activities this
1 month, 1 week
Developer Meeting Notes, April 11th 2023
by Martin Owens
Apologies for the lateness of these notes.
Present: NPJ, Martin, Mikekov, René, Tav, Nicco, Marc, Jonathan
Next Dev Meeting: Wed 19th April 2023
# About Screen
About screen contest winner. General talk about the process, the
winner, the runners up and the vote. René asked for the svg to use in
the macOS release and we pointed him to the vectors channel. The
vector's team social media version with text is really nice.
Alpha appears to be going well. People are reporting bugs using the
alpha, but nothing critical has cropped out giving us hope it's a solid
release. Martin completed his ALPHA TESTER video, which was shared
through big blue button. It's a silly video but people have responded
well to it.
René, sorry for missing a few meetings. Nothing to report, alpha looks
good on macOS. For reasons unknown the builder has some issues and
needed to be rewritten in time for the alpha and René worked over time.
Dev team thanked him for the extra effort pushing that through on a
# General Work
Martin has been working on a text fix for PDF output which he'd like
Tav to review. It's reordering how text is rendered to cairo so strokes
apear behind fills when needed.
NPJ has been playing with the clang optimizations. Using a large export
to test the results, using htop and watching the cpu and gpu.
Mikekov, not much progress. Looking for things to do, Martin suggests
working on the PDF linking user interface.
# Gtk4 Research
Tav has done a search for Gtkmm experts and exchanged emails with the
main person at Gtkmm who does want to leave maintence, which we already
knew. Finding an expert to work on it might be hard. Tav also looked in
past Gtkmm contributors for names, some people might be contactable and
looked at wikipedia to find people and programs that use Gtkmm or have
upgraded to Gtk4. GNote is the only app that's Gtkmm and Gtk4 so far.
Martin asked if we can find someone in Gtk main. Possibly. Someone
asked how easy is maintaining Gtkmm, can it be automatically generated?
Marc says if there is a rust version, which isn't far away from C++
Notice: Hiring team meeting on Thursday!
# AI Importer
Nicco, planning on implementing more features. Working on shapes.
Reporting to a blog wasn't known at the start of the contract and so
we're learning along the way. Open a requirements issue to describe
what the targets are. The next month may be a bit slower. Bendchmark
files are the guide for how much of the format we've supported so far.
Jonathan has done more reverse engineering. Mostly text. There's some
really interesting path interpriatation that AI must be doing with the
data for backwards compatability since changing the lowest data on say
a rectangles rounded corner doesn't change anything, but changing it's
path does. Even if it has matricies applied to the path. Must be pretty
We processed three merge requests and reviewed the memberships list for
1 month, 2 weeks
Teams policy -- DRAFT v0.1
by Ted Gould
We discussed at the hackfest that we wanted to have something to make official teams. But we wanted it to be light and mostly a simple process. In that vein I passed around some ideas to a few folks as they were leaving, but we didn't get much a chance to discuss it. And I realized I hadn't posted to a wider audience. Eventually, I think we should vote on this (or something like it) as an official policy, but right now I'm trying to gather ideas. (unless everyone thinks it is perfect and we should JUST DO IT)
I can't figure out how in Nextcloud to just enable comments? So I shared read-only and folks just reply here? Not sure the best way to discuss.
1 month, 3 weeks
Election of Election proctor
Your vote is require to elect an Election Proctor:
(a) Elect Daniel Pono Takamori as Election Proctor.
(b) Elect another person to be Election Proctor.
From our election procedure:
"The Inkscape Board elects by majority vote an Election Proctor who will run a given election and ensure it’s successful completion. The Election Proctor has the responsibility for ensuring the voting is done according to procedure, assuring that the Vote is accurately tallied, and announcing the finalized result of the Vote."
Pono volunteered to be the Election Proctor during the Bensberg hackfest.
1 month, 3 weeks
GTK4 migration proposal
by Jonathan Neuhauser
Dear PLC members,
in the recent developer meetings, the dev team has formulated a plan to
get the GTK4 migration done.
This migration is essential for Inkscape, central to our infrastructure,
needs to be done quickly (to reduce blockage of other work) and soon.
For this reason, we propose hiring an external contractor, a senior
developer with expert knowledge on GTK, for a duration of 4 months.
I've attached the proposal for that, feedback is welcome. We're planning
to start the vote soon, probably on Friday, since a lot of the
discussions have already happened at the hackfest.
1 month, 3 weeks
Inkscape 1.3 About Screen Contributor Voting until April 9
by Maren Hachmann
Hi Inkscape Contributors!
It's that time of the year again :)
We invite you to cast your vote on the 5 awesome About Screen Contest
submissions that were favorited by 242 voting Community members.
For this year's About Screen Contest, we have had 55 submissions from
the Community, 49 of which met the requirements (licensing, branding etc.).
These are the 5 items they liked the most:
* "A long journey“ by Chris Hildenbrand
* "Contest“ by Djelita Abderrahmane
* "Creative Growth“ by Chris Hildenbrand
* "Isometric Madness“ by Denis Kuznetsky
* "Portal“ by Milad Moosavi
(in alphabetical order)
In this two-step selection process, it is now up to us, the Inkscape
Contributors, to select the About Screen that we want for Inkscape 1.3.
It's going to be a difficult choice, as they are all so cool :D
Make sure that you are an Inkscape Member (see previous message or link
below), and if you're not one yet, apply for membership and ask 3 of
your team mates or other contributors whom you have worked with to
confirm your membership.
More info: https://inkscape.org/*membership/blog/inkscape-signs-new-fsa-sfc/
and rank the 5 images by clicking on the little circle right below them
in order of preference (most liked first).
The voting period starts NOW, and ends on April 9, 23:59 UTC.
Voting is on the website only.
The announcement of the winning entry is planned for April 11.
Thank you to everyone who contributed to this year's About Screen Contest!
1 month, 3 weeks
Meeting Notes: April 3rd 2023
by Martin Owens
Present: Martin, Jonathan, Marc, Nicco, Tav, Thomas, James
Don't forget to vote for your about screen favorite! Developers briefly
discussed their favorites.
The first alpha was released at the weekend. The developer team gave
thanks to Marc, René and Maren for their hard work on getting the
release out and everyone notified and coordinated.
One thing to note is that because of a last minute crash fix (by
Martin) the alpha tag is one commit behind the actual released code. We
could re-tag it, but we want to avoid force pushing when possible.
Martin is making a video to invite people to test the alpha. Hopefully
including a demostration of the crash features and how to report a bug
to the project. Martin will post a link when it's ready.
Jonathan has been working on two things. Guiding the AI importer to
help Nicco improve the speed of the parser, with more specific python
code. Completing the decoding of how text is stored in the illustrator
file format which is complex binary format which isn't documented
anywhere so needs careful reading. Text is not on the roadmap for the
ai importer currently, but it is ready to be implemented when the time
Nicco has been writing more custom parsers for the ai importer and
gearing up for the next steps. The contract is aproximately 40%
complete and we expect that now the parsing elements are coming to
their conclusion that the rest of the implementation will speed up from
here. Shapes with properties and colors.
Martin wanted to know if there was a testing plan scheduled. Jonathan
says there's no specific schedule, but in a aprox. two months they
should be ready to open up testing to regular users and hopefully have
most of the elements supported.
Nicco had a question about translations using weblate. Inkscape tried
it in the past and it was too slow. Recommending Nicco talk to Maren
and the translator team specifically about what tools they need and
their assessment of the weblate and other possible translation
technologies since the dev team isn't the right people to ask.
Gtk4 vote is waiting on completion. The hiring comittee will meet after
the plc meeting and a new mailing list is being created to handle the
two job parts. One for internal and one for external. Marc created a
mailing list and invited all the prospective partipants in preparation
for the comittees meeting.
The proctor vote for the elections is going to take another two days,
but has three votes in favour so has already passed. Elections should
follow after that.
GSoC proposals ends tomorrow. We have six proposals but some of them
are not eleigable. We looked over several propositions and they will be
formally ranked and we will select which ones we want to then push
forwards. The GSoC team will meet at 7pm on Thursday to talk about the
PLC review meeting is this weekend, Marc sends his appologies as he
will not be able to attend.
Tav made an attempt at converting the event controllers for Gtk4 and
says he basically failed. The major reason is that this particular
controller scheme has not been backported to Gtkmm3, when the C version
was attempted it causes issues. This is the biggest bottle neck for Gtk
development. He made a sandbox program to text each version
a GSoC Gtk4 proposal which can be coordinated with this work and the
Martin has published a blog post with Rafael and himself for the issues
fixed in the accelerator program. Please see
We reviewed four merge requests in our meeting activity: 4396, 4105,
3938 and 5217. None were merged, but some tagged and commented on to
push them forwards. Reminder: this acivity works by picking the four
non-draft oldest updated merge requests. Currently we have 141 open
merge requests, but many of them are drafts.
Thanks everyone for coming to the meeting. Next meeting is Tuesday
Best Regards, Martin Owens
1 month, 3 weeks