ktx
ktx copied to clipboard
Release non-beta version
- [x] A complete tutorial of using KTX to create a simple game. #19
- [ ] Remove previous beta versions migration guides from
READMEfiles ofktx-actors,ktx-scene2dandktx-vis. #136 - [x] Consistent testing style throughout the project. #109
- [x] Migrate to stable coroutines API. #154 #182
- [x] Use the official Kotlin formatting style. #282
- Possibly via ktlint.
- [x]
AssetStorageimplementation. #182- Loading assets asynchronously is an excellent use case for Kotlin coroutines.
AssetStorageis a coroutine-basedAssetManagerequivalent. Its initial implementation was based on legacyktx-asyncAPI with experimental Kotlin coroutines and it lacked proper multithreading support with mutexes for its internal state. Since we try to leverage existing, convoluted, mutableAssetManager's loaders and APIs, this is not trivial to implement.
- Loading assets asynchronously is an excellent use case for Kotlin coroutines.
- [x]
ktx-visrewrite. #268 #269ktx-visandktx-scene2dwere created independently as alternatives, since initially Kotlin lacked some features for proper code reuse in type-safe builders (e.g. optional lambda parameters in inlined methods) and the final API was not agreed upon. We believe this has changed since then andktx-viscan now be an extension ofktx-scene2dwith minimal API changes, similarly to howktx-vis-styleextendsktx-style. The stable version of KTX should contain rewritten version ofktx-vis, compatible and consistent withktx-scene2d.
- [x] Kotlin contracts usage. #153
- [x] Consistent behaviour of operators throughout the modules. #273
+,-,*and/should create new objects and never mutate the first operand. Only+=,-=,*=and/=can mutate the parameters.- All unary and binary operators should follow official operator overloading guidelines.
- [ ] Final review of the code in terms of API consistency and Kotlin guidelines.