Package-level declarations
Types
One-shot effects MosaicApplicationStateHolder could emit — currently empty, no case defined yet.
UI events MosaicApplicationStateHolder handles.
A light/dark pair of Material ColorSchemes — the initial values MosaicColors starts from, before any SetTheme/ResetTheme event swaps them at runtime.
Every knob a consuming app can turn on mosaic-client's DI graph — the whole surface for registering custom tiles/events/triggers, swapping the logger, adding Koin bindings of your own (including a custom dev.catbit.mosaic.client.ui.sdui.foundation.data_processor.DataProcessor via additionalKoinModule), and supplying bundled drawables.
The app's visual theme — colors, shapes, typography and Material Symbol font settings, applied via MosaicTheme inside MosaicApplication.
MosaicApplicationStateHolder's own UI state — the 3 states MosaicApplication's root content switches on (MosaicApplicationContent) before any screen exists yet.
Functions
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.
Builds a MosaicDependencyInjectionConfig, every parameter defaulting to "nothing extra" — an app that doesn't extend Mosaic at all can call MosaicApplication(...) without passing this parameter.
Builds a MosaicThemeConfig, defaulting every parameter to Material 3's own out-of-the-box defaults (lightColorScheme()/darkColorScheme(), MaterialTheme.shapes, MosaicTypography, a default MaterialSymbolFontsConfig) when left null.