Given versatility of Compose multiplatform, and even more of the skiko itself, oftentimes the app is bundled with many skia's features it doesn't use (e.g. skottie, webp) to a space sensitive environment (mobile/web/embedded).
I propose to split Skia static libraries into separate, optional modules.
I don't know how to achieve this technically though. I'd be best to link the libs dynamically instead of statically and then ship a pair of a DLL and jar file in a separate maven bundles. In Compose it should then be fairly neat to then have a DSL to select required modules in gradle config, similar to JVM modules. But if it's not possible then we'd have to link them statically at build time, or be provided with a artifact matrix, which is not so convenient.
Given versatility of Compose multiplatform, and even more of the skiko itself, oftentimes the app is bundled with many skia's features it doesn't use (e.g. skottie, webp) to a space sensitive environment (mobile/web/embedded).
I propose to split Skia static libraries into separate, optional modules.
I don't know how to achieve this technically though. I'd be best to link the libs dynamically instead of statically and then ship a pair of a DLL and jar file in a separate maven bundles. In Compose it should then be fairly neat to then have a DSL to select required modules in gradle config, similar to JVM modules. But if it's not possible then we'd have to link them statically at build time, or be provided with a artifact matrix, which is not so convenient.