Developer meeting notes for June 14th 2023
Hi everyone,
Date: Wednesday June 14th 2023 Attending: Martin, René, Mikekov, Nicco, Tav, Jonathan, Julia Johannesen Next Meeting: Thursday June 22nd 2023
Tav has been investigating color management as well as all the Gtk4 work. Tav, showed us a Firefox bug that doesn't apply the profile correctly, using the Red to Green profile on the screen showed only img tags were flipped. But the rest of the web page's colors are not flipped. Martin suggest that if the ICC profile is applied twice then you would get a complete inversion in Firefox showing normal colors. This may or may not be the issue in Firefox, but it brings us to Inkscape. Double correction may effect us in Inkscape when we set a screen profile. Between wayland, x11, win32, osx and how Inkscape transforms it's own canvas for rendering. Pulling in ICC profiles automatically from the screen seems like the wrong approach anyway since the screen should already be color corrected anyway and almost guarantees a double conversion.
Tav would like us to eventually end up with multiple monitor support in our configuration settings and allow per monitor ICC profiles. But only manually. Some monitor features are only supported in Wayland, so x11 may not detect the monitor the app is on correctly, Tav is still researching the issues.
Martin wanted to talk about a simplified story of color management to help himself and other developers understand what it is color management is for, and hopefully allow us to know the terms. He says at the moment he imagines three basic sections of color management in Inkscape. The screen Profile which is typically in RGB changes the canvas rendering, The Device Profile which is used for PDF output (when we support that) and showing out of gamut errors on the screen and the individual Color Selector profiles which aren't anything to do with either displaying colors and are only sometimes important for printing. Their first job is to allow the user to select colors within the color space, say selecting a CMYK color profile would allow the user to select a CMYK color reliably. The second function of individual color profiles is to select spot colors and unique inks, foils, etc. this information IS passed onto PDF output, but is also important to let the user select for example how much of that ink to show for example.
Tav says everyone is confused about color management online, not just in Inkscape. So it's important for us to understand the whole system and hopefully write some documentation about it.
René is assuming control of the windows CI builder. The last contributor who was interested was a long time ago, so René is taking control of it. For a first step he's taken all the tutorials, guides and all the things we tell users about how to do things for windows. This is used in René's new GitHub account which builds Inkscape using the msys2 on the GitHub CI builders. GitHub was used because the machines are more powerful and are set up is better. For example using ccache and take a lot less time to run and even then it's 20 minutes for each correction.
A new project has been created in GitLab which collects all the deps into an archive so we have a mechanism to counteract the rolling release model in msys2 which causes us a lot of rolling pain. Pinning the versions in msys to make the builds more dependable during development processes. Martin asked that this new project be moved to the deps group in GitLab. René's GitLab now has a new build step which is being tested for a few weeks to get used to it. This should fix the hacky setup we currently have with rerunning builds when they quit half way through. We should end up with two separate jobs. Estimated time frame for improvements is between 3 and 6 months depending on how things go.
Jonathan thanks René for taking responsibility for the windows builds and is wondering about how this effects Gtk4, which allows us to build with mvs c++ native compiler which should be much faster than msys2. He tried it with stock Gtk4 apps. Julia Jonannesen confirmed that she had also tried the Gtk4 windows compile and got it to work.
Mikekov has been working on translations and improving the polish translations but worked on some things for templates. Martin thanked him for focusing on fixing the templating translations.
Nicco is getting back into the work schedule after taking a break and is coming to the end of the contract and has only a week or two of work left. He's focusing on documentation and wrapping up where the project has finally ended up. We'll talk about a review meeting soon.
Martin, after taking a week off, has been working on a draft feature that allows extensions authors to add pre-processing actions which take the svg and change it, or augment it with information only inkscape knows about. Like bounding boxes, text paths. As well as refactoring the svg2 to svg1.1 compatibility code which are all converted into actions. Also been working on tidying up remaining issues and focusing on bugs reported by his patreons for the 1.3 release.
--------------
The team spent the last ten minutes of the meeting looking at merge requests. First on the back-port proposed requests and second on some older WIP requests which are now no longer marked as draft. These are being closed if they are very old, but can be re-opened if needed.
Thanks for coming everyone!
Best Regards, Martin Owens
participants (1)
-
Martin Owens