MosaicApplication

fun MosaicApplication(applicationId: String, baseUrl: String, themeConfig: MosaicThemeConfig = mosaicThemeConfig(), dependencyInjectionConfig: MosaicDependencyInjectionConfig = mosaicDependencyInjectionConfig(), appSplash: @Composable BoxScope.() -> Unit)

Root composable of a Mosaic client app — sets up the Koin DI graph (via MosaicModules), installs the app's theme, fetches the initial navigation graph, and renders either the loading splash, the failure screen, or the real navigation UI depending on MosaicApplicationStateHolder's current state. Every screen, tile and event in the app ultimately renders/runs inside the Koin scope and CompositionLocals this function establishes — nothing in mosaic-client works meaningfully outside it.

Parameters

applicationId

identifies this app instance — used, among other things, as a Koin qualifier (named("APPLICATION_ID")).

baseUrl

base URL every relative network call (SendNetworkRequest, GetScreen, etc.) resolves against.

themeConfig

color scheme, shapes, typography and Material Symbol font config. Defaults to mosaicThemeConfig's own Material defaults.

dependencyInjectionConfig

custom tile/event/trigger definitions, logger, Koin module and drawable resources. Defaults to mosaicDependencyInjectionConfig's own empty defaults (no custom tiles/events, dev.catbit.mosaic.client.logger.DefaultMosaicLogger, no drawables).

appSplash

shown while the initial navigation graph is being fetched — rendered inside a BoxScope, so it can be freely aligned/sized.