Skip to content

Project overview & architecture

James edited this page Oct 16, 2023 · 6 revisions

Project overview

1. Modules

The project is devided into 3 submodules: commons, editor & libgdx-runtime

editor module

The editor module contains the editor UI all the functionality that is exclusively used by the editor. Parts of it are written in Kotlin.
Required JDK version: 8

libgdx-runtime module

The libgdx-runtime module contains the libGDX runtime. The runtime is responsible for loading and rendering the assets, exported by the editor.
Required JDK version: 7

commons module

The commons module contains code, that is used both by the editor and the runtime.
Required JDK version: 7

Using Mundus with newer JDK versions

Mundus has been used in many projects using JDK 8 for target and source compatibility with no issues.

Running Mundus on JDK 9 or newer results in an error due to reflection (TaggedFieldSerializer) used by Kryo for serialization. For now, the workaround to resolve this is to set --add-opens=java.base/java.lang=ALL-UNNAMED in your JVM arguments if using a newer JDK (will be resolved in 0.6.0).

See https://github.com/EsotericSoftware/kryo/issues/885

Architecture