Wat we willen in 2024
Het is al 2024 en zelfs al maart. Net als het laatste jaar, hadden we een videogesprek met alle gesponsorde ontwikkelaars, artiesten en vrijwilligers om te praten over wat we het laatste jaar hebben bereikt, uitzoeken wat de grootste problemen zijn waar we tegen aanlopen en de prioriteiten vaststellen voor dit jaar.
Uitdagingen
Een zeer ernstig probleem is dat de onderhouder van de Android en ChromeOS versie van Krita het te druk heeft gekregen om fulltime aan Krita te werken. De Android en ChromeOS versies van Krita, beiden gebruiken het Android platform, en dat platform wijzigt vaak en willekeurig. Dit betekent dat Sharaf bijna al zijn tijd besteedt aan het behouden van het draaien van Krita op Android (en ChromeOS), in plaats van, zoals we hadden gepland, te werken aan een gebruikersinterface voor Krita geheel gericht op een tablet op Android. En omdat dat onderhoud nu niet wordt gedaan, hebben we daar een echt groot probleem. Bovendien, sinds KDE de binaire fabriek heeft teruggetrokken en binaire bouwsels naar het doorgaande integratiesysteem invent.kde.org heeft verplaatst, hebben we geen automatische bouwsels voor Android meer.
We hebben ook een andere gesponsorde ontwikkelaar verloren. Deze was geruime tijd ziek, maar recente deze schreef een blog dat deze aan een andere taak was begonnen te werken. Omdat deze speciaal werkte aan het onderhouden van de bibliotheken waar Krita van afhankelijk is en was erg goed in het melden van reparaties upstream, zal deze ook echt gemist worden.
Uiteindelijk kregen we Krita in het afgelopen jaar in de Apple MacOS store. Twee jaar geleden wijzigde de onderhouder van Krita, dat ben ik, haar wettelijke naam. Nu zijn de certificaten nodig om het pakket te onderteken voor de store verlopen en we moeten nieuwe certificaten aanmaken. Die moeten de nu wettige naam van de ondertekenaar hebben en om de een of andere reden is het bewijzen erg moeilijk op de store zo ver te krijgen om toe te staan dat dezelfde ontwikkelaar, met dezelfde ID en code maar een andere wettige naam om pakketten te uploaden. We werken er aan.
Wat we het laatste jaar hebben gedaan
We hebben natuurlijk Krita 5.2 uitgegeven en twee uitgaven met reparaties van bugs voor Krita 5.2. We zullen minstens één andere uitgave doen met reparaties van bugs voordat we Krita 5.3 uitgeven.
Het audiosysteem voor de functies van Krita voor animatie is volledig herzien, overgebracht van het multimediasysteem van Qt naar MLT, de functie storyboard werd aanzienlijk verbeterd, we kregen ondersteuning voor JPEG-XL net op tijd voor het team van Chrome van Google om te besluiten het te laten vallen, omdat er niemand was om het te ondersteunen... We herschreven ook het systeem dat we gebruiken om alle afhankelijke bibliotheken op alle platformen. Wel, het werk op MacOS is nog steeds gaande, met PyQt dat een probleem is. Natuurlijk zijn er ook heel wat andere dingen gaande.
Wolthera begon met het herschrijven van het tekstobject en beëindigde dat voor het grootste deel en werkt nu aan het hulpmiddel om echt gedrukte tekst te schrijven en te wijzigen. Dit is een enorme wijziging met erg indrukwekkende resultaten!
Wat hopen we dit jaar te doen
Een gedeelte van deze lijst is uit het laatste jaar, een gedeelte ervan is nieuw.
Een groot voorbehoud: nu het KDE project de eerste versie van KDE Frameworks voor Qt6 heeft uitgegeven, moet het overzetten van Krita naar Qt6 gebeuren. Dat is een groot project, niet alleen omdat functies verdwijnen, maar erg veel vanwege de wijzigingen in de ondersteuning voor renderen met de GPU. Op Windows zijn OpenGL drivers tamelijk buggy en daarom bood Qt5 de mogelijkheid om de Angle compatibiliteitslaag tussen toepassingen die OpenGL gebruiken en de inheemse Direct3D bibliotheek voor renderen met GPU. Dat is weg en tenzij we ons rendersysteem met GPU herschrijven, moeten we Angle terug in de stapel stoppen.
Al met al, is het zeer waarschijnlijk dat overzetten naar Qt6 heel wat tijd zal kosten weg van door ons implementeren van leuke nieuwe functies. Maar wanneer dat gedaan is kunnen we beginnen met werken aan een tablet-vriendelijk gebruikersinterface, aangenomen dat we Krita uit kunnen geven voor Android.
Dat wil niet zeggen dat we geen leuke nieuwe functies meer willen implementeren!
Hier is de shortlist:
- Implementeer een systeem om flexibele tekstballonnen te maken en integreer dat met het tekstobject zodat de tekst in de ballonnen vloeit
- Implementeer een nieuw type laag, voor Frameworks van stripboeken
- Lever integratie met Blender. (Dit is minder urgent, hoewel, omdat er al een erg nuttige plug-in is van een derde: Blender Layer)
- Vervang het huidige vastzetsysteem door iets flexibeler en onderhouden.
- Implementeer een systeem om voorinstellingen van hulpmiddelen te leveren
- Creëer een nieuw gebruikersinterface voor behandeling van palletten
- Voeg het tonen van een audiogolfvorm toe aan de animatie
- Voeg ondersteuning toe voor de werkmethode van een referentieframe voor animatie.
We bespraken ook het gebruik van de GPU voor verbeteren van de prestaties. Eén origineel idee was om de GPU voor penselen te gebruiken, maar de artiesten zeiden dat de prestaties van het penseel goed is en wat veel te langzaam is is het hulpmiddel voor vloeibaar transformeren, transformatiemaskers en sommige filters. Aan het eind besloot Dmitry om te onderzoeken
- hoe de transformatiemaskers op de GPU te optimaliseren
En er is het meest controversiële ding van alles: moeten we AI functies aan Krita toevoegen? We hebben verschillende verhitte discussies gehad onder de ontwikkelaars en artiesten in de e-maillijst en op invent.kde.org.
De artiesten in de bijeenkomst brachten naar voren dat generatieve AI waardeloos is en zou op zijn op zijn best leiden tot flauwe, zich herhalende sjablonen, maar dat behulpzame AI nuttig zou kunnen zijn. Om uit te vogelen of dat waar is, zijn we gestart om een specifiek project te onderzoeken: AI-ondersteund inkten van schetsen. Dit is nuttig, zou een moeizame stap vervangen bij kunst maken en onderwijl de artistieke individualiteit behouden. Of het echt in Krita komt is natuurlijk onzeker, maar het onderzoeken zal hopelijk ons helpen bij het beter begrijpen van deze zaak, de mogelijkheden en de problemen.
Opmerking: we zullen niets implementeren dat modellen gebruikt die getraind zijn op bijeengeschraapte afbeeldingen en we zullen er zeker van zijn dat CO2-voetafdruk van de functie niet boven zijn nut uitgaat.