|
| 1 | +# solivagant & kmp-viewmodel — Documentation Index |
| 2 | + |
| 3 | +This directory contains architectural retrospectives, design pattern documentation, migration guides, |
| 4 | +and maintenance recommendations for the **solivagant** and **kmp-viewmodel** libraries. |
| 5 | + |
| 6 | +These documents were written as of mid-2025, when JetBrains Compose Multiplatform, AndroidX Lifecycle |
| 7 | +multiplatform, and Navigation 3 had matured enough to cover most of the original use-cases these |
| 8 | +libraries were created to address. |
| 9 | + |
| 10 | +--- |
| 11 | + |
| 12 | +## Contents |
| 13 | + |
| 14 | +### `/legacy` — Why these libraries existed and what they contributed |
| 15 | + |
| 16 | +| File | Description | |
| 17 | +|------|-------------| |
| 18 | +| [why-these-libraries-existed.md](legacy/why-these-libraries-existed.md) | Historical context: the 2022–2023 KMP ecosystem gap these libraries filled | |
| 19 | +| [solivagant-retrospective.md](legacy/solivagant-retrospective.md) | Full audit of the solivagant navigation library | |
| 20 | +| [kmp-viewmodel-retrospective.md](legacy/kmp-viewmodel-retrospective.md) | Full audit of the kmp-viewmodel library | |
| 21 | + |
| 22 | +### `/architecture` — Design patterns worth preserving |
| 23 | + |
| 24 | +| File | Description | |
| 25 | +|------|-------------| |
| 26 | +| [navigation-patterns.md](architecture/navigation-patterns.md) | Type-safe routing, NavRoot/NavRoute split, multi-backstack ownership, overlay destinations | |
| 27 | +| [viewmodel-patterns.md](architecture/viewmodel-patterns.md) | Multiplatform ViewModel lifecycle, `viewModelScope`, `Closeable` chain, Swift wrappers | |
| 28 | +| [state-preservation.md](architecture/state-preservation.md) | `SavedStateHandle` multiplatform, `SaveableStateHolder`, `SavedStateSupport` design | |
| 29 | + |
| 30 | +### `/migration` — Guidance for users moving to official APIs |
| 31 | + |
| 32 | +| File | Description | |
| 33 | +|------|-------------| |
| 34 | +| [modern-compose-multiplatform.md](migration/modern-compose-multiplatform.md) | Mapping solivagant + kmp-viewmodel concepts to modern official APIs | |
| 35 | + |
| 36 | +### `/maintenance` — Repository status decisions |
| 37 | + |
| 38 | +| File | Description | |
| 39 | +|------|-------------| |
| 40 | +| [repository-status.md](maintenance/repository-status.md) | Recommendation: keep, deprecate, archive, or reframe each repository | |
| 41 | + |
| 42 | +### `/ideas` — Extracted patterns |
| 43 | + |
| 44 | +| File | Description | |
| 45 | +|------|-------------| |
| 46 | +| [extracted-patterns.md](ideas/extracted-patterns.md) | Catalogue of valuable ideas, patterns, and techniques from both libraries | |
| 47 | + |
| 48 | +--- |
| 49 | + |
| 50 | +## Quick summary |
| 51 | + |
| 52 | +| Library | Final status | Maven artifacts | |
| 53 | +|---------|-------------|-----------------| |
| 54 | +| **solivagant** | **Not maintained. Repository preserved for reference.** | Last published: 0.5.0. No further releases planned. | |
| 55 | +| **kmp-viewmodel** | **Not maintained. Repository preserved for reference.** | Core ViewModel superseded by JetBrains `lifecycle-viewmodel`. `savedstate` module has no official equivalent but is no longer updated. | |
| 56 | + |
| 57 | +The architectural decisions, design patterns, and concepts from both libraries are documented in |
| 58 | +this directory and remain valuable reading regardless of which navigation library you use. |
| 59 | + |
| 60 | +See [maintenance/repository-status.md](maintenance/repository-status.md) for the full engineering |
| 61 | +trade-off analysis and the reasoning behind this decision. |
0 commit comments