On Sun, Mar 2, 2025 at 12:49 AM Ethan C <[email protected]> wrote:
> Ok, I contacted the WPE devs on their Matrix channel (#wpe:matrix.org > <https://matrix.to/#/%23wpe:matrix.org>, #wpe on OFTC if you like IRC > better). One of them said that it's pretty unlikely that we can use the > existing WebKit.framework because it probably has lots of dependencies on > XNU/Mach/etc. He pointed me to the example of integrating with QtQuick (the > QML-based OpenGL GUI library in Qt6, plasmashell is written in it and so > are most of the newer KDE apps and all of KDE's mobile apps): > https://github.com/WebKit/WebKit/tree/main/Source/WebKit/UIProcess/API/wpe/qt6 > . > > He said we should use their new WPEPlatform API, but that we would need to > build WPE from source rather than using release builds. Overall, it seems > like this is a good way to get a browser engine integrated. > [snip screenshot] I vaguely recall that the student working on the GNUstep port also got some feedback that they don't want the GNUstep port inside WebKit without a strong commitment to continued maintenance. Regarding SVG, if anyone is up for a fun time, just Core Animation itself should be a decent base for implementing a renderer. For just the renderer, this does not require any AppKit integration. There would still be a lot of work (the more you go into "oh this has most of HTML in it", the more trouble you'll end up with), but the basics should be doable: - CA is renderable into any OpenGL context (shaders needed to enable shadow blur, framebuffers needed for render-to-texture to avoid a needless pixel copy), - some animation stuff in CA is very reminiscent of SVG - drawing paths is in Opal / Core Graphics CA implementation does not deal with animating content changes, which is needed, notably, if anyone wants to implement an iPhoneOS 2-through-iOS6 era UINavigationController correctly; I have no opinions on how it works with the flat iOS 7 look. This is what would hurt the ability to implement something like macSVG (homepage has "path animation with stroke-dasharray" as a demo; I don't expect that to be trivial with just CG+CA, especially the cut-down ~compatibility ~layers that are in GS right now). >
