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).

>

Reply via email to