graph LR
Game_Core_Logic["Game Core/Logic"]
User_Interface_Shared_Compose_Multiplatform_["User Interface (Shared Compose Multiplatform)"]
Android_Platform_Module["Android Platform Module"]
Desktop_Platform_Module["Desktop Platform Module"]
WebAssembly_Platform_Module["WebAssembly Platform Module"]
Data_Persistence_Storage["Data Persistence/Storage"]
User_Interface_Shared_Compose_Multiplatform_ -- "sends input events to" --> Game_Core_Logic
Game_Core_Logic -- "provides updates to" --> User_Interface_Shared_Compose_Multiplatform_
Game_Core_Logic -- "interacts with" --> Data_Persistence_Storage
Android_Platform_Module -- "uses" --> Game_Core_Logic
Android_Platform_Module -- "consumes" --> User_Interface_Shared_Compose_Multiplatform_
Desktop_Platform_Module -- "uses" --> Game_Core_Logic
Desktop_Platform_Module -- "consumes" --> User_Interface_Shared_Compose_Multiplatform_
WebAssembly_Platform_Module -- "uses" --> Game_Core_Logic
WebAssembly_Platform_Module -- "consumes" --> User_Interface_Shared_Compose_Multiplatform_
click Game_Core_Logic href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/Solitaire/Game_Core_Logic.md" "Details"
click User_Interface_Shared_Compose_Multiplatform_ href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/Solitaire/User_Interface_Shared_Compose_Multiplatform_.md" "Details"
click Android_Platform_Module href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/Solitaire/Android_Platform_Module.md" "Details"
click Desktop_Platform_Module href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/Solitaire/Desktop_Platform_Module.md" "Details"
click WebAssembly_Platform_Module href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/Solitaire/WebAssembly_Platform_Module.md" "Details"
click Data_Persistence_Storage href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/Solitaire/Data_Persistence_Storage.md" "Details"
One paragraph explaining the functionality which is represented by this graph. What the main flow is and what is its purpose.
Game Core/Logic [Expand]
Encapsulates all platform-agnostic game rules, state management, and core business logic for Solitaire. It defines game behavior, card movements, and win conditions.
Related Classes/Methods: None
User Interface (Shared Compose Multiplatform) [Expand]
Provides the shared UI components and rendering logic using Compose Multiplatform, designed to be platform-agnostic. It handles the visual representation of the game board and cards.
Related Classes/Methods: None
Android Platform Module [Expand]
Responsible for the Android-specific application entry point, UI rendering on Android devices, handling Android-specific input events, and integrating with native Android APIs.
Related Classes/Methods: None
Desktop Platform Module [Expand]
Manages the application's lifecycle and UI rendering for Desktop JVM environments, handling desktop-specific input mechanisms.
Related Classes/Methods: None
WebAssembly Platform Module [Expand]
Handles the application's execution and UI rendering within a WebAssembly environment, managing web-specific interactions.
Related Classes/Methods: None
Data Persistence/Storage [Expand]
Abstracts the underlying data storage mechanisms, providing a unified interface for the Game Core/Logic to save and load game state and user preferences.
Related Classes/Methods: None