| name | tiamat |
| description | Learn how to use Tiamat — a Compose Multiplatform navigation library. Covers destination basics, arguments and results, advanced navigation actions, generated graphs, ViewModel and retained state, custom layouts and transitions, and extensions. |
| metadata | {"author":"ComposeGears","keywords":["recipe","Kotlin Multiplatform","Compose Multiplatform","Tiamat","navigation","navDestination","NavController","Navigation","NavigationScene","ViewModel","retain","TiamatGraph","extensions","transitions","adaptive layout"]} |
Developer documentation
- Tiamat overview: Overview of the Tiamat navigation library — core concepts, API surface, and how to get started.
Recipes
Code examples showcasing common patterns.
Destination basics
Arguments and results
- Typed arguments: Declare a destination with required or optional typed args.
- Free args: Pass lightweight transient data with
freeArgs.
- Serializable args: Use
NavData + @Serializable for args that survive process death.
- Back results: Pass typed results back to the previous destination.
Common UI
- Tab navigation: Tab navigation where each tab has its own independent back stack.
Advanced navigation actions
Generated graph
ViewModel and state
Architecture
- Koin ViewModel: Use Koin's
koinViewModel with Tiamat for dependency-injected ViewModels.
- Hilt ViewModel: Use Hilt's
hiltViewModel with Tiamat for dependency-injected ViewModels on Android.
Custom layouts and transitions
Deep links
- Deep link: Parse deep-link URIs into routes using pattern-based matching with
DeepLink.
Extensions