ThemeKit currently ships its own degraded MeshGradient on Android (Sources/ThemeKit/Android/MeshGradient+Android.swift) — a two-stop diagonal between the mesh's first and last colors — so a meshGradients config compiles and renders something rather than failing to build.
A real AGSL-shader mesh renderer for skip-ui/skip-fuse-ui is built and verified on local forks (emulator screenshots on API 36 and API 32). ThemeKit already carries the adoption path behind the THEMEKIT_MESH_UPSTREAM build gate in Package.swift, currently off by default, plus Sources/ThemeKit/Android/MeshGradient+AndroidUpstream.swift.
Trigger: a skip-ui/skip-fuse-ui release containing MeshGradient.
Then:
- flip the
THEMEKIT_MESH_UPSTREAM default (or delete the gate entirely)
- delete
Sources/ThemeKit/Android/MeshGradient+Android.swift
- raise the
skip-fuse-ui floor in Package.swift
- move the
README.md support-matrix mesh row from "degraded — two-stop diagonal" to real mesh (API 33+, this fallback below), and update the "Version requirements" table
Blocked on the upstream PR being submitted and merged (see the upstream-submission issue).
ThemeKit currently ships its own degraded
MeshGradienton Android (Sources/ThemeKit/Android/MeshGradient+Android.swift) — a two-stop diagonal between the mesh's first and last colors — so ameshGradientsconfig compiles and renders something rather than failing to build.A real AGSL-shader mesh renderer for skip-ui/skip-fuse-ui is built and verified on local forks (emulator screenshots on API 36 and API 32). ThemeKit already carries the adoption path behind the
THEMEKIT_MESH_UPSTREAMbuild gate inPackage.swift, currently off by default, plusSources/ThemeKit/Android/MeshGradient+AndroidUpstream.swift.Trigger: a skip-ui/skip-fuse-ui release containing
MeshGradient.Then:
THEMEKIT_MESH_UPSTREAMdefault (or delete the gate entirely)Sources/ThemeKit/Android/MeshGradient+Android.swiftskip-fuse-uifloor inPackage.swiftREADME.mdsupport-matrix mesh row from "degraded — two-stop diagonal" to real mesh (API 33+, this fallback below), and update the "Version requirements" tableBlocked on the upstream PR being submitted and merged (see the upstream-submission issue).