docs: update README with features, build instructions, and desktop JVM toolchain fix
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
42
README.MD
42
README.MD
@@ -1,5 +1,19 @@
|
||||
# ShadowrunCharSheet
|
||||
|
||||
A Kotlin Multiplatform character sheet application for Shadowrun 5th Edition, built with Compose Multiplatform. Supports Android, Desktop (JVM), Web (JS + WASM), and iOS.
|
||||
|
||||
## Features
|
||||
|
||||
- **Character Management** — Create, edit, import/export characters as JSON
|
||||
- **Attributes & Talents** — Full Shadowrun 5e attribute system with 60+ predefined talents
|
||||
- **Dice Rolling** — Built-in dice roller with success counting and roll history
|
||||
- **Damage Monitor** — Stun, physical, and overflow damage tracking with wound modifiers
|
||||
- **Responsive UI** — Adaptive layout with window size classes for all screen sizes
|
||||
- **Theming** — Material 3 with dark/light mode and theme color selection
|
||||
- **Cross-Platform** — Single shared codebase across Android, Desktop, Web, and iOS
|
||||
|
||||
## Platforms
|
||||
|
||||
### Android
|
||||
To run the application on android device/emulator:
|
||||
- open project in Android Studio and run imported android run configuration
|
||||
@@ -12,6 +26,9 @@ To build the application bundle:
|
||||
Run the desktop application: `./gradlew :desktopApp:run`
|
||||
Run the desktop **hot reload** application: `./gradlew :desktopApp:hotRun --auto`
|
||||
|
||||
Build a standalone uber JAR: `./gradlew :desktopApp:packageUberJarForCurrentOS`
|
||||
- find `.jar` file in `desktopApp/build/compose/jars/`
|
||||
|
||||
### iOS
|
||||
To run the application on iPhone device/simulator:
|
||||
- Open `iosApp/iosApp.xcproject` in Xcode and run standard configuration
|
||||
@@ -19,11 +36,30 @@ To run the application on iPhone device/simulator:
|
||||
|
||||
### Web Distribution
|
||||
Build web distribution: `./gradlew :webApp:composeCompatibilityBrowserDistribution`
|
||||
Deploy a dir `webApp/build/dist/composeWebCompatibility/productionExecutable` to a web server
|
||||
Deploy the dir `webApp/build/dist/composeWebCompatibility/productionExecutable` to a web server
|
||||
|
||||
### JS Browser
|
||||
### JS Browser (Development)
|
||||
Run the browser application: `./gradlew :webApp:jsBrowserDevelopmentRun`
|
||||
|
||||
### Wasm Browser
|
||||
### Wasm Browser (Development)
|
||||
Run the browser application: `./gradlew :webApp:wasmJsBrowserDevelopmentRun`
|
||||
|
||||
## Testing
|
||||
|
||||
Run all tests:
|
||||
```
|
||||
./gradlew :sharedUI:allTests
|
||||
```
|
||||
|
||||
Run a single test class:
|
||||
```
|
||||
./gradlew :sharedUI:jvmTest --tests "org.shahondin1624.ComposeTest"
|
||||
```
|
||||
|
||||
## Architecture
|
||||
|
||||
Kotlin Multiplatform project with all shared logic and UI in the `sharedUI` module. Platform modules (`androidApp`, `desktopApp`, `webApp`, `iosApp`) are thin entry points.
|
||||
|
||||
Key dependencies: Compose Multiplatform, kotlinx.serialization, MaterialKolor, KStore, Ktor, Coil.
|
||||
|
||||
See `CLAUDE.md` for detailed architecture documentation.
|
||||
|
||||
@@ -8,6 +8,10 @@ plugins {
|
||||
alias(libs.plugins.compose.hot.reload)
|
||||
}
|
||||
|
||||
kotlin {
|
||||
jvmToolchain(24)
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation(project(":sharedUI"))
|
||||
implementation(compose.ui)
|
||||
|
||||
Reference in New Issue
Block a user