MosaicApplication
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
identifies this app instance — used, among other things, as a Koin qualifier (named("APPLICATION_ID")).
base URL every relative network call (SendNetworkRequest, GetScreen, etc.) resolves against.
color scheme, shapes, typography and Material Symbol font config. Defaults to mosaicThemeConfig's own Material defaults.
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).
shown while the initial navigation graph is being fetched — rendered inside a BoxScope, so it can be freely aligned/sized.