Files
diceos/GEMINI.md
T

23 lines
1.1 KiB
Markdown

# DiceOS
DiceOS is a custom desktop-like environment built on top of the LibGDX framework using Java. It features a custom rendering pipeline, windowing system, and modular service-based architecture managed by Avaje Inject.
## Building and Running
The project uses Gradle.
* **Build:** `./gradlew build`
* **Run:** `./gradlew run` (Assumes an application task is defined)
* **Test:** `./gradlew test`
## Development Conventions
* **Language:** Java
* **Dependency Injection:** Uses `avaje-inject`. Components are marked with `@Component` and injected via constructor.
* **Boilerplate:** Uses `lombok` for boilerplate reduction.
* **Rendering:** Built on LibGDX. Main entry point is `DiceOSAdapter.java` which extends `ApplicationAdapter`.
* **Asset Loading:** All assets, including textures, fonts, and NinePatches, must be loaded via the `ResourceLoader` service to ensure proper lifecycle management and caching.
* **Project Structure:**
* `src/main/java/be/seeseemelk/diceos/system`: Core OS services (Display, Window, Input, etc.).
* `src/main/resources`: Assets (backgrounds, system textures, fonts).