Files
diceos/GEMINI.md
T

1.1 KiB

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).