The WebKitGTK-backed IEmbeddedBrowserView provider (CustomDrawWebView) for SimpleIDE - full JS-capable HTML rendering via the system's libwebkit2gtk-4.1, using hand-rolled P/Invoke (Interop/WebKitNative.vb) rather than the abandoned WebkitGtkSharp NuGet package, which targets a removed SONAME and has no working JS-value marshaling.
Linux-only in practice - WebKitGTK has no Windows build - but nothing here needs a platform guard: SimpleIDE's EmbeddedBrowserFactory checks CustomDrawWebView.IsAvailable (a runtime NativeLibrary.TryLoad probe, since this is a system package never bundled by this repo) before ever constructing this widget, and falls back to the always-available litehtml-backed CustomDrawHtmlView (SimpleIDE.Widgets) if it's missing.
This is the exact seam a fork adds its own backend behind: implement IEmbeddedBrowserView against WebView2/CEF in a new SimpleIDE.<Backend>.vbproj, add one line to EmbeddedBrowserFactory's preference order - nothing else in the app needs to change.
Requires .NET 8 SDK, GTK# 3, and libwebkit2gtk-4.1-0/-dev on the target system (not bundled - a runtime dependency, probed for at startup).
dotnet build SimpleIDE.WebKitGtk.vbprojReferences SimpleIDE.Widgets via a sibling-directory ProjectReference - clone both repos as siblings under the same parent directory.
SimpleIDE consumes this via a sibling-directory ProjectReference (..\SimpleIDE.WebKitGtk\SimpleIDE.WebKitGtk.vbproj).