mirror of
https://github.com/immich-app/immich.git
synced 2026-10-29 13:15:45 +01:00
* refactor(mobile): move the native core decoders into a codecs crate * make Format private * rename the decode export and options for what they hold * drop the unused ios and server groups and rename the target params
Native core
Rust code that ships inside the mobile app. Flutter compiles it from source through the
native_core build hook, so building the app needs a Rust toolchain: mise install
in mobile/ sets one up, otherwise install rustup once and the build
fetches the pinned toolchain itself.
crates/codecs: the image decoders, a feature each, behind onedecodecrates/native_core: the shared logic, a feature per part and a group per targetcrates/native_core_ffi: the C ABI on thefluttergroup, cbindgen writesinclude/native_core.hnative_core: Flutter package with the build hook and the ffigen bindings (NOTICEScarries the licenses of the crates compiled into the core, update it with the dependencies)
mise run build, test, lint, and fmt. The header and the Dart bindings come from mise run //mobile:codegen:native.