Vyuh Core
Compose product slices with FeatureDescriptor, choose capability implementations with PluginDescriptor, and launch through runApp.
How the pieces fit together
Composition
Each descriptor has a unique name, a title, and a required route builder. Features can also provide initialization and disposal hooks, dependencies, and extension contributions. The app supplies the selected descriptors; the runtime assembles their routes.
Use the quick start for a complete first app and feature descriptors for ownership and dependencies.
Shared capabilities
Plugins expose network, storage, secure storage, auth, navigation, DI, events, analytics, environment, and telemetry contracts. The app selects implementations; features consume their contracts.
Unspecified named slots use PluginDescriptor.system defaults. Custom capabilities go in others and are retrieved through vyuh.getPlugin<T>(). Read using plugins and custom plugins.
Lifecycle and lazy loading
Preloaded plugins initialize before the main platform stage. The remaining plugins initialize concurrently, then features initialize after their declared prerequisites. Feature cleanup runs before shared plugin cleanup.
Lazy descriptors postpone loading and activation until needed. Concurrent requests share activation, and a loader must return a matching feature name. Read startup and lifecycle.
Complete API
Browse every public declaration and directly declared member. The source-derived reference includes exact constructors, optional parameters, base contracts, and lifecycle helpers.