lunaengine 0.2.4__tar.gz → 0.2.5__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (248) hide show
  1. lunaengine-0.2.5/PKG-INFO +437 -0
  2. lunaengine-0.2.5/README.md +397 -0
  3. lunaengine-0.2.5/about.md +137 -0
  4. {lunaengine-0.2.4 → lunaengine-0.2.5}/lunaengine/CODE_STATISTICS.md +65 -50
  5. lunaengine-0.2.5/lunaengine/__init__.py +11 -0
  6. lunaengine-0.2.5/lunaengine/assets/themes/ANDROID.json +682 -0
  7. lunaengine-0.2.5/lunaengine/assets/themes/AZURE.json +682 -0
  8. lunaengine-0.2.5/lunaengine/assets/themes/BLACK.json +682 -0
  9. lunaengine-0.2.5/lunaengine/assets/themes/BRAZIL.json +682 -0
  10. lunaengine-0.2.5/lunaengine/assets/themes/BRONZE.json +682 -0
  11. lunaengine-0.2.5/lunaengine/assets/themes/BUILDER.json +682 -0
  12. lunaengine-0.2.5/lunaengine/assets/themes/CHERRY.json +682 -0
  13. lunaengine-0.2.5/lunaengine/assets/themes/CHOCOLATE.json +682 -0
  14. lunaengine-0.2.5/lunaengine/assets/themes/CLOUDS.json +682 -0
  15. lunaengine-0.2.5/lunaengine/assets/themes/COPPER.json +682 -0
  16. lunaengine-0.2.5/lunaengine/assets/themes/CRUNCHYROLL.json +682 -0
  17. lunaengine-0.2.5/lunaengine/assets/themes/CYBERPUNK.json +682 -0
  18. lunaengine-0.2.5/lunaengine/assets/themes/DEEP_SPACE.json +682 -0
  19. lunaengine-0.2.5/lunaengine/assets/themes/DEFAULT.json +682 -0
  20. lunaengine-0.2.5/lunaengine/assets/themes/DIAMOND.json +682 -0
  21. lunaengine-0.2.5/lunaengine/assets/themes/DISCORD.json +682 -0
  22. lunaengine-0.2.5/lunaengine/assets/themes/DRACULA.json +682 -0
  23. lunaengine-0.2.5/lunaengine/assets/themes/DYNASTY.json +682 -0
  24. lunaengine-0.2.5/lunaengine/assets/themes/ECLIPSE.json +682 -0
  25. lunaengine-0.2.5/lunaengine/assets/themes/EIGHTIES.json +682 -0
  26. lunaengine-0.2.5/lunaengine/assets/themes/EMERALD.json +682 -0
  27. lunaengine-0.2.5/lunaengine/assets/themes/ERROR.json +682 -0
  28. lunaengine-0.2.5/lunaengine/assets/themes/EUROPEAN.json +682 -0
  29. lunaengine-0.2.5/lunaengine/assets/themes/FANTASY.json +1242 -0
  30. lunaengine-0.2.5/lunaengine/assets/themes/FOREST.json +682 -0
  31. lunaengine-0.2.5/lunaengine/assets/themes/GALAXY.json +1242 -0
  32. lunaengine-0.2.5/lunaengine/assets/themes/GMAIL.json +682 -0
  33. lunaengine-0.2.5/lunaengine/assets/themes/GRUVBOX.json +1242 -0
  34. lunaengine-0.2.5/lunaengine/assets/themes/IOS.json +1242 -0
  35. lunaengine-0.2.5/lunaengine/assets/themes/JAPAN.json +682 -0
  36. lunaengine-0.2.5/lunaengine/assets/themes/KING.json +682 -0
  37. lunaengine-0.2.5/lunaengine/assets/themes/KIWI.json +682 -0
  38. lunaengine-0.2.5/lunaengine/assets/themes/LAVENDER.json +682 -0
  39. lunaengine-0.2.5/lunaengine/assets/themes/LINUX.json +1242 -0
  40. lunaengine-0.2.5/lunaengine/assets/themes/MATRIX.json +682 -0
  41. lunaengine-0.2.5/lunaengine/assets/themes/MIDNIGHT.json +1242 -0
  42. lunaengine-0.2.5/lunaengine/assets/themes/MINECRAFT.json +682 -0
  43. lunaengine-0.2.5/lunaengine/assets/themes/MONOKAI.json +682 -0
  44. lunaengine-0.2.5/lunaengine/assets/themes/NEON.json +682 -0
  45. lunaengine-0.2.5/lunaengine/assets/themes/NINJA.json +1242 -0
  46. lunaengine-0.2.5/lunaengine/assets/themes/NORD.json +1242 -0
  47. lunaengine-0.2.5/lunaengine/assets/themes/OCEAN.json +682 -0
  48. lunaengine-0.2.5/lunaengine/assets/themes/PLAYSTATION.json +1242 -0
  49. lunaengine-0.2.5/lunaengine/assets/themes/PRIMARY.json +682 -0
  50. lunaengine-0.2.5/lunaengine/assets/themes/QUEEN.json +682 -0
  51. lunaengine-0.2.5/lunaengine/assets/themes/ROBLOX.json +682 -0
  52. lunaengine-0.2.5/lunaengine/assets/themes/RUBY.json +682 -0
  53. lunaengine-0.2.5/lunaengine/assets/themes/SECONDARY.json +682 -0
  54. lunaengine-0.2.5/lunaengine/assets/themes/SILVER.json +682 -0
  55. lunaengine-0.2.5/lunaengine/assets/themes/SOLARIZED.json +1242 -0
  56. lunaengine-0.2.5/lunaengine/assets/themes/STEAM.json +1242 -0
  57. lunaengine-0.2.5/lunaengine/assets/themes/SUCCESS.json +682 -0
  58. lunaengine-0.2.5/lunaengine/assets/themes/SUNSET.json +682 -0
  59. lunaengine-0.2.5/lunaengine/assets/themes/TELEGRAM.json +682 -0
  60. lunaengine-0.2.5/lunaengine/assets/themes/TWITCH.json +682 -0
  61. lunaengine-0.2.5/lunaengine/assets/themes/USA.json +682 -0
  62. lunaengine-0.2.5/lunaengine/assets/themes/VIKINGS.json +682 -0
  63. lunaengine-0.2.5/lunaengine/assets/themes/WARN.json +682 -0
  64. lunaengine-0.2.5/lunaengine/assets/themes/WHATSAPP.json +1242 -0
  65. lunaengine-0.2.5/lunaengine/assets/themes/WINDOWS.json +1242 -0
  66. lunaengine-0.2.5/lunaengine/assets/themes/XBOX.json +1242 -0
  67. lunaengine-0.2.5/lunaengine/assets/themes/YOUTUBE.json +682 -0
  68. {lunaengine-0.2.4 → lunaengine-0.2.5}/lunaengine/backend/__init__.py +31 -6
  69. {lunaengine-0.2.4 → lunaengine-0.2.5}/lunaengine/backend/controller.py +12 -0
  70. lunaengine-0.2.5/lunaengine/backend/openal.py +589 -0
  71. {lunaengine-0.2.4 → lunaengine-0.2.5}/lunaengine/backend/opengl.py +999 -523
  72. {lunaengine-0.2.4 → lunaengine-0.2.5}/lunaengine/backend/types.py +9 -3
  73. {lunaengine-0.2.4 → lunaengine-0.2.5}/lunaengine/core/__init__.py +26 -2
  74. lunaengine-0.2.5/lunaengine/core/audio.py +611 -0
  75. {lunaengine-0.2.4 → lunaengine-0.2.5}/lunaengine/core/engine.py +586 -262
  76. lunaengine-0.2.5/lunaengine/core/renderer.py +817 -0
  77. {lunaengine-0.2.4 → lunaengine-0.2.5}/lunaengine/core/scene.py +27 -9
  78. {lunaengine-0.2.4 → lunaengine-0.2.5}/lunaengine/core/window.py +1 -1
  79. {lunaengine-0.2.4 → lunaengine-0.2.5}/lunaengine/graphics/__init__.py +4 -3
  80. {lunaengine-0.2.4 → lunaengine-0.2.5}/lunaengine/graphics/camera.py +311 -87
  81. lunaengine-0.2.5/lunaengine/graphics/paperdoll.py +422 -0
  82. {lunaengine-0.2.4 → lunaengine-0.2.5}/lunaengine/graphics/spritesheet.py +66 -66
  83. {lunaengine-0.2.4 → lunaengine-0.2.5}/lunaengine/misc/__init__.py +4 -2
  84. lunaengine-0.2.5/lunaengine/misc/debug.py +1428 -0
  85. lunaengine-0.2.5/lunaengine/storage/__init__.py +15 -0
  86. lunaengine-0.2.5/lunaengine/storage/atlas.py +251 -0
  87. lunaengine-0.2.5/lunaengine/storage/encrypter.py +45 -0
  88. lunaengine-0.2.5/lunaengine/storage/savedata.py +880 -0
  89. {lunaengine-0.2.4 → lunaengine-0.2.5}/lunaengine/tools/code_stats.py +36 -13
  90. {lunaengine-0.2.4 → lunaengine-0.2.5}/lunaengine/ui/elements/__init__.py +10 -10
  91. lunaengine-0.2.5/lunaengine/ui/elements/base.py +682 -0
  92. lunaengine-0.2.5/lunaengine/ui/elements/buttons.py +330 -0
  93. {lunaengine-0.2.4 → lunaengine-0.2.5}/lunaengine/ui/elements/clock.py +182 -197
  94. {lunaengine-0.2.4 → lunaengine-0.2.5}/lunaengine/ui/elements/containers.py +1039 -233
  95. {lunaengine-0.2.4 → lunaengine-0.2.5}/lunaengine/ui/elements/dialogs.py +156 -87
  96. lunaengine-0.2.5/lunaengine/ui/elements/labels.py +879 -0
  97. {lunaengine-0.2.4 → lunaengine-0.2.5}/lunaengine/ui/elements/misc.py +135 -87
  98. lunaengine-0.2.5/lunaengine/ui/elements/progress.py +263 -0
  99. lunaengine-0.2.5/lunaengine/ui/elements/selectors.py +1769 -0
  100. lunaengine-0.2.5/lunaengine/ui/elements/textinputs.py +1034 -0
  101. {lunaengine-0.2.4 → lunaengine-0.2.5}/lunaengine/ui/elements/visualizers.py +604 -193
  102. {lunaengine-0.2.4 → lunaengine-0.2.5}/lunaengine/ui/layer_manager.py +40 -100
  103. {lunaengine-0.2.4 → lunaengine-0.2.5}/lunaengine/ui/themes.py +105 -79
  104. lunaengine-0.2.5/lunaengine.egg-info/PKG-INFO +437 -0
  105. {lunaengine-0.2.4 → lunaengine-0.2.5}/lunaengine.egg-info/SOURCES.txt +26 -43
  106. {lunaengine-0.2.4 → lunaengine-0.2.5}/pyproject.toml +3 -3
  107. {lunaengine-0.2.4 → lunaengine-0.2.5}/setup.py +2 -2
  108. lunaengine-0.2.4/PKG-INFO +0 -158
  109. lunaengine-0.2.4/README.md +0 -118
  110. lunaengine-0.2.4/about.md +0 -137
  111. lunaengine-0.2.4/lunaengine/__init__.py +0 -11
  112. lunaengine-0.2.4/lunaengine/assets/themes/ANDROID_DARK.json +0 -1
  113. lunaengine-0.2.4/lunaengine/assets/themes/ANDROID_LIGHT.json +0 -1
  114. lunaengine-0.2.4/lunaengine/assets/themes/AZURE.json +0 -1
  115. lunaengine-0.2.4/lunaengine/assets/themes/BLACK.json +0 -1
  116. lunaengine-0.2.4/lunaengine/assets/themes/BRAZIL.json +0 -1
  117. lunaengine-0.2.4/lunaengine/assets/themes/BRONZE.json +0 -1
  118. lunaengine-0.2.4/lunaengine/assets/themes/BUILDER.json +0 -1
  119. lunaengine-0.2.4/lunaengine/assets/themes/CHERRY_DARK.json +0 -1
  120. lunaengine-0.2.4/lunaengine/assets/themes/CHERRY_LIGHT.json +0 -1
  121. lunaengine-0.2.4/lunaengine/assets/themes/CHOCOLATE.json +0 -1
  122. lunaengine-0.2.4/lunaengine/assets/themes/CLOUDS.json +0 -1
  123. lunaengine-0.2.4/lunaengine/assets/themes/COPPER.json +0 -1
  124. lunaengine-0.2.4/lunaengine/assets/themes/CRUNCHYROLL_DARK.json +0 -1
  125. lunaengine-0.2.4/lunaengine/assets/themes/CRUNCHYROLL_LIGHT.json +0 -1
  126. lunaengine-0.2.4/lunaengine/assets/themes/CYBERPUNK_DARK.json +0 -1
  127. lunaengine-0.2.4/lunaengine/assets/themes/CYBERPUNK_LIGHT.json +0 -1
  128. lunaengine-0.2.4/lunaengine/assets/themes/DEEP_SPACE.json +0 -1
  129. lunaengine-0.2.4/lunaengine/assets/themes/DEFAULT.json +0 -1
  130. lunaengine-0.2.4/lunaengine/assets/themes/DIAMOND.json +0 -1
  131. lunaengine-0.2.4/lunaengine/assets/themes/DISCORD.json +0 -1
  132. lunaengine-0.2.4/lunaengine/assets/themes/DRACULA.json +0 -1
  133. lunaengine-0.2.4/lunaengine/assets/themes/DYNASTY.json +0 -1
  134. lunaengine-0.2.4/lunaengine/assets/themes/ECLIPSE.json +0 -1
  135. lunaengine-0.2.4/lunaengine/assets/themes/EIGHTIES.json +0 -1
  136. lunaengine-0.2.4/lunaengine/assets/themes/EMERALD.json +0 -1
  137. lunaengine-0.2.4/lunaengine/assets/themes/ERROR.json +0 -1
  138. lunaengine-0.2.4/lunaengine/assets/themes/EUROPEAN.json +0 -1
  139. lunaengine-0.2.4/lunaengine/assets/themes/FANTASY_DARK.json +0 -1
  140. lunaengine-0.2.4/lunaengine/assets/themes/FANTASY_LIGHT.json +0 -1
  141. lunaengine-0.2.4/lunaengine/assets/themes/FOREST.json +0 -1
  142. lunaengine-0.2.4/lunaengine/assets/themes/GALAXY_DARK.json +0 -1
  143. lunaengine-0.2.4/lunaengine/assets/themes/GALAXY_LIGHT.json +0 -1
  144. lunaengine-0.2.4/lunaengine/assets/themes/GMAIL.json +0 -1
  145. lunaengine-0.2.4/lunaengine/assets/themes/GRUVBOX_DARK.json +0 -1
  146. lunaengine-0.2.4/lunaengine/assets/themes/GRUVBOX_LIGHT.json +0 -1
  147. lunaengine-0.2.4/lunaengine/assets/themes/IOS_DARK.json +0 -1
  148. lunaengine-0.2.4/lunaengine/assets/themes/IOS_LIGHT.json +0 -1
  149. lunaengine-0.2.4/lunaengine/assets/themes/JAPAN.json +0 -1
  150. lunaengine-0.2.4/lunaengine/assets/themes/KING.json +0 -1
  151. lunaengine-0.2.4/lunaengine/assets/themes/KIWI.json +0 -1
  152. lunaengine-0.2.4/lunaengine/assets/themes/LAVENDER.json +0 -1
  153. lunaengine-0.2.4/lunaengine/assets/themes/LINUX_DARK.json +0 -1
  154. lunaengine-0.2.4/lunaengine/assets/themes/LINUX_LIGHT.json +0 -1
  155. lunaengine-0.2.4/lunaengine/assets/themes/MATRIX.json +0 -1
  156. lunaengine-0.2.4/lunaengine/assets/themes/MIDNIGHT_DARK.json +0 -1
  157. lunaengine-0.2.4/lunaengine/assets/themes/MIDNIGHT_LIGHT.json +0 -1
  158. lunaengine-0.2.4/lunaengine/assets/themes/MINECRAFT_DARK.json +0 -1
  159. lunaengine-0.2.4/lunaengine/assets/themes/MINECRAFT_LIGHT.json +0 -1
  160. lunaengine-0.2.4/lunaengine/assets/themes/MONOKAI.json +0 -1
  161. lunaengine-0.2.4/lunaengine/assets/themes/NEON.json +0 -1
  162. lunaengine-0.2.4/lunaengine/assets/themes/NINJA_DARK.json +0 -1
  163. lunaengine-0.2.4/lunaengine/assets/themes/NINJA_LIGHT.json +0 -1
  164. lunaengine-0.2.4/lunaengine/assets/themes/NORD_DARK.json +0 -1
  165. lunaengine-0.2.4/lunaengine/assets/themes/NORD_LIGHT.json +0 -1
  166. lunaengine-0.2.4/lunaengine/assets/themes/OCEAN.json +0 -1
  167. lunaengine-0.2.4/lunaengine/assets/themes/PLAYSTATION_DARK.json +0 -1
  168. lunaengine-0.2.4/lunaengine/assets/themes/PLAYSTATION_LIGHT.json +0 -1
  169. lunaengine-0.2.4/lunaengine/assets/themes/PRIMARY.json +0 -1
  170. lunaengine-0.2.4/lunaengine/assets/themes/QUEEN.json +0 -1
  171. lunaengine-0.2.4/lunaengine/assets/themes/ROBLOX.json +0 -1
  172. lunaengine-0.2.4/lunaengine/assets/themes/RUBY.json +0 -1
  173. lunaengine-0.2.4/lunaengine/assets/themes/SECONDARY.json +0 -1
  174. lunaengine-0.2.4/lunaengine/assets/themes/SILVER.json +0 -1
  175. lunaengine-0.2.4/lunaengine/assets/themes/SOLARIZED_DARK.json +0 -1
  176. lunaengine-0.2.4/lunaengine/assets/themes/SOLARIZED_LIGHT.json +0 -1
  177. lunaengine-0.2.4/lunaengine/assets/themes/STEAM_DARK.json +0 -1
  178. lunaengine-0.2.4/lunaengine/assets/themes/STEAM_LIGHT.json +0 -1
  179. lunaengine-0.2.4/lunaengine/assets/themes/SUCCESS.json +0 -1
  180. lunaengine-0.2.4/lunaengine/assets/themes/SUNSET.json +0 -1
  181. lunaengine-0.2.4/lunaengine/assets/themes/TELEGRAM_DARK.json +0 -1
  182. lunaengine-0.2.4/lunaengine/assets/themes/TELEGRAM_LIGHT.json +0 -1
  183. lunaengine-0.2.4/lunaengine/assets/themes/TWITCH_DARK.json +0 -1
  184. lunaengine-0.2.4/lunaengine/assets/themes/TWITCH_LIGHT.json +0 -1
  185. lunaengine-0.2.4/lunaengine/assets/themes/USA.json +0 -1
  186. lunaengine-0.2.4/lunaengine/assets/themes/VIKINGS.json +0 -1
  187. lunaengine-0.2.4/lunaengine/assets/themes/WARN.json +0 -1
  188. lunaengine-0.2.4/lunaengine/assets/themes/WHATSAPP_DARK.json +0 -1
  189. lunaengine-0.2.4/lunaengine/assets/themes/WHATSAPP_LIGHT.json +0 -1
  190. lunaengine-0.2.4/lunaengine/assets/themes/WINDOWS_DARK.json +0 -1
  191. lunaengine-0.2.4/lunaengine/assets/themes/WINDOWS_LIGHT.json +0 -1
  192. lunaengine-0.2.4/lunaengine/assets/themes/XBOX_DARK.json +0 -1
  193. lunaengine-0.2.4/lunaengine/assets/themes/XBOX_LIGHT.json +0 -1
  194. lunaengine-0.2.4/lunaengine/assets/themes/YOUTUBE.json +0 -1
  195. lunaengine-0.2.4/lunaengine/backend/openal.py +0 -766
  196. lunaengine-0.2.4/lunaengine/core/audio.py +0 -774
  197. lunaengine-0.2.4/lunaengine/core/renderer.py +0 -339
  198. lunaengine-0.2.4/lunaengine/misc/debug.py +0 -826
  199. lunaengine-0.2.4/lunaengine/tools/split_themes.py +0 -61
  200. lunaengine-0.2.4/lunaengine/ui/elements/base.py +0 -439
  201. lunaengine-0.2.4/lunaengine/ui/elements/buttons.py +0 -251
  202. lunaengine-0.2.4/lunaengine/ui/elements/labels.py +0 -150
  203. lunaengine-0.2.4/lunaengine/ui/elements/progress.py +0 -170
  204. lunaengine-0.2.4/lunaengine/ui/elements/selectors.py +0 -1592
  205. lunaengine-0.2.4/lunaengine/ui/elements/textinputs.py +0 -871
  206. lunaengine-0.2.4/lunaengine.egg-info/PKG-INFO +0 -158
  207. {lunaengine-0.2.4 → lunaengine-0.2.5}/LICENSE +0 -0
  208. {lunaengine-0.2.4 → lunaengine-0.2.5}/MANIFEST.in +0 -0
  209. {lunaengine-0.2.4 → lunaengine-0.2.5}/lunaengine/assets/lunaengine-icon.png +0 -0
  210. {lunaengine-0.2.4 → lunaengine-0.2.5}/lunaengine/backend/exceptions.py +0 -0
  211. {lunaengine-0.2.4 → lunaengine-0.2.5}/lunaengine/backend/network.py +0 -0
  212. {lunaengine-0.2.4 → lunaengine-0.2.5}/lunaengine/graphics/particles.py +0 -0
  213. {lunaengine-0.2.4 → lunaengine-0.2.5}/lunaengine/graphics/shaders/depth.frag +0 -0
  214. {lunaengine-0.2.4 → lunaengine-0.2.5}/lunaengine/graphics/shaders/depth.geom +0 -0
  215. {lunaengine-0.2.4 → lunaengine-0.2.5}/lunaengine/graphics/shaders/depth.vert +0 -0
  216. {lunaengine-0.2.4 → lunaengine-0.2.5}/lunaengine/graphics/shaders/filter.frag +0 -0
  217. {lunaengine-0.2.4 → lunaengine-0.2.5}/lunaengine/graphics/shaders/filter.vert +0 -0
  218. {lunaengine-0.2.4 → lunaengine-0.2.5}/lunaengine/graphics/shaders/particle.comp +0 -0
  219. {lunaengine-0.2.4 → lunaengine-0.2.5}/lunaengine/graphics/shaders/particle.frag +0 -0
  220. {lunaengine-0.2.4 → lunaengine-0.2.5}/lunaengine/graphics/shaders/particle.vert +0 -0
  221. {lunaengine-0.2.4 → lunaengine-0.2.5}/lunaengine/graphics/shaders/rounded_rect.frag +0 -0
  222. {lunaengine-0.2.4 → lunaengine-0.2.5}/lunaengine/graphics/shaders/rounded_rect.vert +0 -0
  223. {lunaengine-0.2.4 → lunaengine-0.2.5}/lunaengine/graphics/shaders/simple.frag +0 -0
  224. {lunaengine-0.2.4 → lunaengine-0.2.5}/lunaengine/graphics/shaders/simple.vert +0 -0
  225. {lunaengine-0.2.4 → lunaengine-0.2.5}/lunaengine/graphics/shaders/texture.frag +0 -0
  226. {lunaengine-0.2.4 → lunaengine-0.2.5}/lunaengine/graphics/shaders/texture.vert +0 -0
  227. {lunaengine-0.2.4 → lunaengine-0.2.5}/lunaengine/graphics/shadows.py +0 -0
  228. {lunaengine-0.2.4 → lunaengine-0.2.5}/lunaengine/misc/icons.py +0 -0
  229. {lunaengine-0.2.4 → lunaengine-0.2.5}/lunaengine/tools/__init__.py +0 -0
  230. {lunaengine-0.2.4 → lunaengine-0.2.5}/lunaengine/tools/clear_pycache.py +0 -0
  231. {lunaengine-0.2.4 → lunaengine-0.2.5}/lunaengine/tools/image_conversion_tool.py +0 -0
  232. {lunaengine-0.2.4 → lunaengine-0.2.5}/lunaengine/ui/__init__.py +0 -0
  233. {lunaengine-0.2.4 → lunaengine-0.2.5}/lunaengine/ui/layout.py +0 -0
  234. {lunaengine-0.2.4 → lunaengine-0.2.5}/lunaengine/ui/notifications.py +0 -0
  235. {lunaengine-0.2.4 → lunaengine-0.2.5}/lunaengine/ui/styles.py +0 -0
  236. {lunaengine-0.2.4 → lunaengine-0.2.5}/lunaengine/ui/tooltips.py +0 -0
  237. {lunaengine-0.2.4 → lunaengine-0.2.5}/lunaengine/ui/tween.py +0 -0
  238. {lunaengine-0.2.4 → lunaengine-0.2.5}/lunaengine/utils/__init__.py +0 -0
  239. {lunaengine-0.2.4 → lunaengine-0.2.5}/lunaengine/utils/image_converter.py +0 -0
  240. {lunaengine-0.2.4 → lunaengine-0.2.5}/lunaengine/utils/math_utils.py +0 -0
  241. {lunaengine-0.2.4 → lunaengine-0.2.5}/lunaengine/utils/performance.py +0 -0
  242. {lunaengine-0.2.4 → lunaengine-0.2.5}/lunaengine/utils/threading.py +0 -0
  243. {lunaengine-0.2.4 → lunaengine-0.2.5}/lunaengine/utils/timer.py +0 -0
  244. {lunaengine-0.2.4 → lunaengine-0.2.5}/lunaengine.egg-info/dependency_links.txt +0 -0
  245. {lunaengine-0.2.4 → lunaengine-0.2.5}/lunaengine.egg-info/requires.txt +0 -0
  246. {lunaengine-0.2.4 → lunaengine-0.2.5}/lunaengine.egg-info/top_level.txt +0 -0
  247. {lunaengine-0.2.4 → lunaengine-0.2.5}/requirements.txt +0 -0
  248. {lunaengine-0.2.4 → lunaengine-0.2.5}/setup.cfg +0 -0
@@ -0,0 +1,437 @@
1
+ Metadata-Version: 2.4
2
+ Name: lunaengine
3
+ Version: 0.2.5
4
+ Summary: A modern 2D game framework with advanced UI and graphics
5
+ Home-page: https://github.com/MrJuaumBR/lunaengine
6
+ Author: MrJuaum
7
+ License: MIT
8
+ Project-URL: Homepage, https://mrjuaumbr.github.io/lunaengine/
9
+ Project-URL: Repository, https://github.com/MrJuaumBR/lunaengine
10
+ Project-URL: Issue Tracker, https://github.com/MrJuaumBR/lunaengine/issues
11
+ Keywords: game,engine,2d,graphics,pygame,framework
12
+ Classifier: Development Status :: 3 - Alpha
13
+ Classifier: Intended Audience :: Developers
14
+ Classifier: License :: OSI Approved :: MIT License
15
+ Classifier: Programming Language :: Python :: 3
16
+ Classifier: Programming Language :: Python :: 3.8
17
+ Classifier: Programming Language :: Python :: 3.9
18
+ Classifier: Programming Language :: Python :: 3.10
19
+ Classifier: Programming Language :: Python :: 3.11
20
+ Requires-Python: >=3.9
21
+ Description-Content-Type: text/markdown
22
+ License-File: LICENSE
23
+ Requires-Dist: pygame>=2.5.0
24
+ Requires-Dist: numpy>=1.21.0
25
+ Requires-Dist: PyOpenGL>=3.1.0
26
+ Requires-Dist: PyOpenGL-accelerate>=3.1.0
27
+ Requires-Dist: PyOpenAL
28
+ Requires-Dist: psutil
29
+ Provides-Extra: dev
30
+ Requires-Dist: black>=22.0.0; extra == "dev"
31
+ Requires-Dist: flake8>=4.0.0; extra == "dev"
32
+ Requires-Dist: pytest>=7.0.0; extra == "dev"
33
+ Requires-Dist: setuptools>=65.0.0; extra == "dev"
34
+ Requires-Dist: wheel>=0.37.0; extra == "dev"
35
+ Requires-Dist: twine>=4.0.0; extra == "dev"
36
+ Requires-Dist: build>=0.10.0; extra == "dev"
37
+ Dynamic: home-page
38
+ Dynamic: license-file
39
+ Dynamic: requires-python
40
+
41
+ # LunaEngine 🚀
42
+
43
+ > "The only way to do great work is to love what you do." — Steve Jobs
44
+
45
+ ## What is LunaEngine?
46
+
47
+ LunaEngine is a modern 2D game framework crafted entirely in Python, designed to streamline game development by abstracting the complexities of Pygame, OpenGL, and OpenAL. It provides a robust collection of built-in systems, including a sophisticated UI, advanced rendering capabilities, particle effects, dynamic lighting, audio management, networking, data storage, theming, debugging tools, and numerous utilities. Born from a passion for game creation, LunaEngine empowers developers to build engaging 2D experiences with elegance and efficiency.
48
+
49
+ ## Why LunaEngine?
50
+
51
+ Developing a game from scratch can be an arduous journey, often requiring developers to reinvent the wheel for fundamental functionalities. LunaEngine emerges as a powerful alternative, offering a comprehensive suite of tools that significantly accelerate the development process while maintaining high performance and flexibility. By leveraging OpenGL for hardware-accelerated graphics and OpenAL for immersive audio, LunaEngine ensures your games run smoothly and sound spectacular.
52
+
53
+ Key advantages of LunaEngine include:
54
+
55
+ - **OpenGL & OpenAL Integration**: Harness the power of hardware acceleration for stunning visuals and rich, spatial audio without deep knowledge of low-level APIs.
56
+
57
+ - **Advanced UI System**: Create intuitive and responsive user interfaces with a system inspired by modern design principles, offering a wide array of customizable elements and robust event handling.
58
+
59
+ - **Dynamic Theming**: Effortlessly switch the look and feel of your game with a rich collection of pre-built themes, ensuring a consistent and polished aesthetic.
60
+
61
+ - **Persistent Storage**: Seamlessly manage game data and player progress with integrated storage solutions.
62
+
63
+ - **LiveInspector**: A powerful debugging tool that allows real-time inspection and modification of game objects and properties, drastically reducing development time.
64
+
65
+ - **RichText Rendering**: Implement complex text layouts and styles with ease, enhancing in-game narratives and informational displays.
66
+
67
+ - **Texture Atlas Management**: Optimize rendering performance by efficiently managing and packing textures into atlases.
68
+
69
+ - **Camera System**: Implement flexible 2D camera controls, including zooming, panning, and parallax effects, to create dynamic viewpoints.
70
+
71
+ - **Particle System**: Generate stunning visual effects, from explosions to environmental ambiance, with a highly optimized and customizable particle system.
72
+
73
+ - **Dynamic Lighting**: Bring your scenes to life with realistic dynamic lighting and shadow effects, adding depth and atmosphere.
74
+
75
+ - **Notifications**: Implement in-game notification systems to provide timely feedback to players.
76
+
77
+ - **Charts**: Visualize in-game data or debugging information with integrated charting capabilities.
78
+
79
+ - **Controller Support**: Ensure broad accessibility with robust support for various game controllers.
80
+
81
+ - **Performance Tools**: Monitor and optimize your game's performance with built-in profiling and diagnostic tools.
82
+
83
+ ## Features
84
+
85
+ LunaEngine boasts a rich set of features designed to cover every aspect of 2D game development. Below is a detailed overview of its core capabilities:
86
+
87
+ | Feature | Description | Status | Note |
88
+ | --- | --- | --- | --- |
89
+ | **Advanced UI System** | Create complex and interactive user interfaces with ease, inspired by Roblox Studio. | ✅ Functional | Highly customizable and extensible. |
90
+ | **OpenGL Rendering** | Hardware-accelerated graphics pipeline for smooth and efficient 2D rendering. | ✅ Functional | Requires OpenGL 3.3+ for optimal performance. |
91
+ | **OpenAL Audio** | Immersive spatial audio capabilities for realistic soundscapes and effects. | ✅ Functional | Supports WAV, OGG, and MP3 formats. |
92
+ | **Dynamic Theming** | Apply pre-built or custom themes to your UI elements for a consistent look. | ✅ Functional | 58+ themes available out-of-the-box. |
93
+ | **Persistent Storage** | Save and load game data effortlessly, managing player progress and configurations. | ✅ Functional | Simple API for data serialization. |
94
+ | **LiveInspector** | Real-time debugging tool to inspect and modify game state during runtime. | ✅ Functional | Accelerates debugging and iteration. |
95
+ | **RichText Rendering** | Advanced text rendering with support for various fonts, styles, and formatting. | ✅ Functional | Enhances in-game text presentation. |
96
+ | **Texture Atlas** | Efficiently manage and render textures using atlases to reduce draw calls. | ✅ Functional | Improves rendering performance. |
97
+ | **Camera System** | Flexible 2D camera for scrolling, zooming, and tracking game entities. | ✅ Functional | Simplified camera controls. |
98
+ | **Particle System** | Create dynamic and visually appealing particle effects for various scenarios. | ✅ Functional | Optimized for performance, but can be intensive. |
99
+ | **Dynamic Lighting** | Implement realistic lighting and shadow effects to enhance scene ambiance. | ✅ Functional | Continuous optimization for performance. |
100
+ | **Notifications** | Display in-game messages and alerts to inform players. | ✅ Functional | Customizable notification styles. |
101
+ | **Charts** | Integrate data visualization directly into your game or debugging tools. | ✅ Functional | Useful for performance monitoring. |
102
+ | **Controller Support** | Native support for game controllers, enhancing player experience. | ✅ Functional | Broad compatibility with various devices. |
103
+ | **Performance Tools** | Built-in tools for monitoring FPS, resource usage, and hardware information. | ✅ Functional | Aids in game optimization. |
104
+ | **Modular Architecture** | Well-organized codebase allowing for easy extension and customization. | ✅ Functional | Designed for maintainability and scalability. |
105
+ | **Post-processing Filters** | Apply visual effects like Blur, Neon, and Pixelate to your game scenes. | ✅ Functional | Can be GPU/CPU intensive depending on usage. |
106
+ | **Scene Management** | Organize game logic into distinct scenes with smooth transitions. | ✅ Functional | Inspired by Godot's scene organization. |
107
+
108
+ ## Screenshots
109
+
110
+ LunaEngine in action! Here are some glimpses of what you can create:
111
+
112
+ ![UI Demo](https://via.placeholder.com/800x450/000000/FFFFFF?text=UI+System+Showcase)*A demonstration of LunaEngine's versatile UI system.*
113
+
114
+ ![Inspector](https://via.placeholder.com/800x450/000000/FFFFFF?text=LiveInspector+in+Action)*Inspecting game objects in real-time with the LiveInspector.*
115
+
116
+ ![Particles](https://via.placeholder.com/800x450/000000/FFFFFF?text=Particle+Effects+Demo)*Dynamic particle effects adding visual flair to a scene.*
117
+
118
+ ![Lighting](https://via.placeholder.com/800x450/000000/FFFFFF?text=Dynamic+Lighting+Example)*A scene illuminated with LunaEngine's dynamic lighting system.*
119
+
120
+ ## Installation
121
+
122
+ Getting started with LunaEngine is straightforward. Follow these steps to set up your development environment:
123
+
124
+ ### Prerequisites
125
+
126
+ - **Python**: Version 3.9 or newer is recommended. (Not tested on older versions).
127
+
128
+ - **OpenGL**: Requires OpenGL 3.3+ compatible hardware and drivers. OpenGL is activated by default.
129
+
130
+ - **Operating Systems**: Officially supported on Windows and Linux. macOS is not currently supported.
131
+
132
+ ### Install from PyPI
133
+
134
+ The easiest way to install LunaEngine is via pip:
135
+
136
+ ```bash
137
+ pip install lunaengine
138
+ ```
139
+
140
+ ### Install from TestPyPI (for pre-releases)
141
+
142
+ To access the latest pre-release versions, you can install from TestPyPI:
143
+
144
+ ```bash
145
+ pip install -i https://test.pypi.org/simple/ lunaengine
146
+ ```
147
+
148
+ ### Core Dependencies
149
+
150
+ LunaEngine relies on the following core Python packages:
151
+
152
+ ```bash
153
+ pygame>=2.5.0
154
+ numpy>=1.21.0
155
+ PyOpenGL>=3.1.0
156
+ PyOpenGL-accelerate>=3.1.0
157
+ PyOpenAL
158
+ ```
159
+
160
+ ### Development Tools (Optional )
161
+
162
+ For contributing to LunaEngine or for advanced development workflows, these tools are recommended:
163
+
164
+ ```bash
165
+ black>=22.0.0
166
+ flake8>=4.0.0
167
+ pytest>=7.0.0
168
+ setuptools>=65.0.0
169
+ wheel>=0.37.0
170
+ twine>=4.0.0
171
+ ```
172
+
173
+ ## Quick Example
174
+
175
+ Let's dive into a simple example to see LunaEngine in action. This code snippet demonstrates how to set up a basic game window, create a UI button, and handle an event.
176
+
177
+ ```python
178
+ import lunaengine as luna
179
+ from lunaengine.core import Engine
180
+ from lunaengine.ui import Button, Label
181
+ from lunaengine.graphics import Color
182
+
183
+ class MyGame(Engine):
184
+ def __init__(self):
185
+ super().__init__(title="My LunaEngine Game", width=800, height=600)
186
+ self.set_background_color(Color.DARK_GRAY)
187
+
188
+ # Create a button
189
+ self.my_button = Button(
190
+ text="Click Me!",
191
+ x=350,
192
+ y=250,
193
+ width=100,
194
+ height=50,
195
+ on_click=self.on_button_click
196
+ )
197
+ self.add_ui_element(self.my_button)
198
+
199
+ # Create a label to display messages
200
+ self.message_label = Label(
201
+ text="",
202
+ x=300,
203
+ y=350,
204
+ width=200,
205
+ height=30,
206
+ font_size=24,
207
+ color=Color.WHITE
208
+ )
209
+ self.add_ui_element(self.message_label)
210
+
211
+ def on_button_click(self):
212
+ self.message_label.set_text("Button Clicked!")
213
+ print("Button was clicked!")
214
+
215
+ def update(self, dt):
216
+ # Game logic updates here
217
+ pass
218
+
219
+ def draw(self):
220
+ # Custom drawing logic here (e.g., drawing game objects)
221
+ pass
222
+
223
+ if __name__ == "__main__":
224
+ game = MyGame()
225
+ game.run()
226
+ ```
227
+
228
+ To run this example:
229
+
230
+ 1. Save the code as `my_game.py`.
231
+
232
+ 1. Ensure LunaEngine is installed (`pip install lunaengine`).
233
+
234
+ 1. Run from your terminal: `python my_game.py`
235
+
236
+ ## Engine Structure
237
+
238
+ LunaEngine is built with a modular and organized architecture to ensure maintainability, scalability, and ease of use. The project is divided into several core directories, each responsible for a specific set of functionalities:
239
+
240
+ | Directory | Description | Key Responsibilities |
241
+ | --- | --- | --- |
242
+ | `backend/` | Low-level system interactions | OpenGL, OpenAL, networking, controller input, hardware communication. |
243
+ | `core/` | The engine's central nervous system | Main loop, window management, scene handling, rendering pipeline, event management. |
244
+ | `graphics/` | Visual rendering and effects | Camera system, particle effects, dynamic lights, shadows, sprite sheets, GLSL shaders, post-processing filters. |
245
+ | `ui/` | User interface components | Buttons, labels, text boxes, dropdowns, scrolling frames, theming, animations, notifications, tooltips, layout management. |
246
+ | `utils/` | General utility functions | Math helpers, threading, performance monitoring, timers, image conversion. |
247
+ | `misc/` | Miscellaneous tools and assets | Debugging tools, built-in icon sets, internal development assets. |
248
+ | `tools/` | Internal development scripts | Code statistics, asset helpers (primarily for internal use, not end-users). |
249
+
250
+ This clear separation of concerns allows developers to focus on specific aspects of their game without getting lost in a monolithic codebase.
251
+
252
+ ## Current Statistics
253
+
254
+ LunaEngine is a continuously evolving project, and its growth is reflected in its codebase and feature set:
255
+
256
+ - **Files**: Approximately 149 files
257
+
258
+ - **Lines of Code (LOC)**: Over 16,000 lines of Python code
259
+
260
+ - **Themes**: 58+ built-in themes for UI customization
261
+
262
+ - **UI Elements**: 27 distinct UI elements ready for use
263
+
264
+ - **Post-processing Filters**: A growing collection of visual filters (e.g., Blur, Neon, Pixelate)
265
+
266
+ - **Supported Audio Formats**: WAV, OGG, MP3
267
+
268
+ These statistics highlight the comprehensive nature of LunaEngine and its commitment to providing a rich development experience.
269
+
270
+ ## Main Systems
271
+
272
+ LunaEngine integrates several powerful systems that form the backbone of its capabilities. Each system is designed to be robust, flexible, and easy to use:
273
+
274
+ ### UI (User Interface)
275
+
276
+ The UI system in LunaEngine is a cornerstone of its design, offering a highly flexible and intuitive way to build in-game interfaces. Inspired by the declarative nature of web development (HTML/CSS) and the component-based approach of platforms like Roblox Studio, it provides a rich set of elements, robust event handling, and dynamic theming capabilities. This allows developers to create everything from simple buttons to complex inventory screens with minimal effort.
277
+
278
+ ### LiveInspector
279
+
280
+ The LiveInspector is an indispensable debugging and development tool. It allows developers to inspect and modify game objects, properties, and the overall game state in real-time, directly within the running application. This immediate feedback loop significantly accelerates the debugging process, helps in fine-tuning game mechanics, and provides deep insights into the engine's internal workings.
281
+
282
+ ### Storage
283
+
284
+ LunaEngine's storage system provides a straightforward and efficient way to handle persistent data. Whether it's saving player progress, game settings, or custom configurations, the storage system ensures that data can be easily serialized, stored, and retrieved. This abstraction simplifies data management, allowing developers to focus on game logic rather than low-level file operations.
285
+
286
+ ### Atlas (Texture Atlas Management)
287
+
288
+ Efficient texture management is crucial for optimal rendering performance in 2D games. The Atlas system in LunaEngine automatically packs multiple smaller textures into larger texture atlases. This reduces the number of draw calls required by the GPU, leading to smoother animations and faster rendering, especially in games with many visual assets.
289
+
290
+ ### RichText
291
+
292
+ Beyond basic text display, LunaEngine's RichText rendering capabilities allow for sophisticated text presentation. Developers can apply various fonts, colors, styles (bold, italic), and even embed inline images or interactive elements within text. This is invaluable for creating engaging dialogues, informative tooltips, and visually rich in-game documents.
293
+
294
+ ### Audio
295
+
296
+ The audio system, powered by OpenAL, provides comprehensive sound management for LunaEngine. It supports various audio formats (WAV, OGG, MP3) and offers features like spatial audio, volume control, looping, and sound effects. This enables developers to create immersive auditory experiences that complement their game's visuals and gameplay.
297
+
298
+ ### Graphics
299
+
300
+ The graphics system is at the heart of LunaEngine's visual prowess. Leveraging OpenGL, it handles everything from basic sprite rendering to advanced visual effects. This includes managing shaders, rendering pipelines, post-processing filters, and ensuring hardware-accelerated performance across supported platforms.
301
+
302
+ ### Particles
303
+
304
+ LunaEngine's particle system is a highly optimized and flexible tool for creating dynamic visual effects. From subtle environmental effects like falling leaves to explosive combat animations, the system allows for extensive customization of particle behavior, appearance, and emission. While powerful, developers are encouraged to optimize particle usage for best performance.
305
+
306
+ ### Lighting
307
+
308
+ Adding depth and atmosphere to 2D scenes is made possible with LunaEngine's dynamic lighting system. It supports various light sources, shadow casting, and ambient lighting, allowing for realistic illumination that reacts to game events and character movements. This system is continuously being optimized to balance visual quality with performance.
309
+
310
+ ### Themes
311
+
312
+ The theming system provides a powerful way to control the aesthetic of your game's UI. With over 58 built-in themes and the ability to create custom ones, developers can easily change the entire look and feel of their application. This promotes consistency in design and allows for rapid prototyping of different visual styles.
313
+
314
+ ### Networking
315
+
316
+ While still under development, the networking system aims to provide robust and easy-to-use functionalities for implementing multiplayer features, online leaderboards, or other network-dependent game mechanics. This will enable developers to create connected experiences within their LunaEngine games.
317
+
318
+ ### Performance Monitor
319
+
320
+ Optimizing game performance is a continuous process. The built-in performance monitor provides real-time insights into FPS, CPU/GPU usage, memory consumption, and other critical metrics. This data is invaluable for identifying bottlenecks and ensuring that games run smoothly across target hardware.
321
+
322
+ ### Charts
323
+
324
+ For developers who need to visualize data within their games or debugging tools, LunaEngine offers integrated charting capabilities. This can be used to display anything from player statistics to complex physics simulations, providing clear and concise visual representations of information.
325
+
326
+ ### Controller Support
327
+
328
+ Ensuring a broad and accessible gaming experience, LunaEngine includes comprehensive controller support. This allows players to use their preferred gamepads and joysticks, providing a more intuitive and engaging way to interact with your games.
329
+
330
+ ## Documentation
331
+
332
+ Comprehensive documentation is key to a thriving open-source project. Beyond this README, LunaEngine offers several resources to help you learn and master the framework:
333
+
334
+ - **Documentation Website**: The official documentation website provides in-depth guides, API references, and tutorials. [Visit the Docs](https://mrjuaumbr.github.io/LunaEngine/)
335
+
336
+ - **Examples**: Explore a variety of code examples in the [GitHub examples directory](https://github.com/MrJuaumBR/LunaEngine/tree/main/examples) to see how different features are implemented.
337
+
338
+ - **Lessons**: Step-by-step lessons are available to guide you through core concepts and advanced techniques. [Start Learning](./lessons.md)
339
+
340
+ - **LunaEngine-Games**: Discover more complex projects and full game implementations in the [LunaEngine-Games repository](https://github.com/MrJuaumBR/LunaEngine-Games).
341
+
342
+ - **Discord Community**: Join our vibrant community on [Discord](https://discord.com/invite/fb84sHDX7R) to ask questions, share your projects, and connect with other LunaEngine developers.
343
+
344
+ ## AI Support
345
+
346
+ Modern AI models can be powerful allies in your development journey with LunaEngine, especially those equipped with web search capabilities. While AI models have knowledge cutoffs, you can effectively leverage them by providing the right context:
347
+
348
+ To get accurate and up-to-date assistance from AI regarding LunaEngine:
349
+
350
+ 1. **Use an AI model with web search/browsing**: Ensure your chosen AI (e.g., DeepSeek, Grok in expert mode) can access external web resources.
351
+
352
+ 1. **Provide key links**: Explicitly share the official [LunaEngine GitHub repository](https://github.com/MrJuaumBR/LunaEngine) and the [LunaEngine official documentation](https://mrjuaumbr.github.io/LunaEngine/) with the AI.
353
+
354
+ By doing so, AI models can effectively understand LunaEngine's code structure, explain its features, and even assist in generating code snippets or troubleshooting issues. It's like having an intelligent co-pilot for your game development!
355
+
356
+ ## FAQ
357
+
358
+ Here are some frequently asked questions about LunaEngine:
359
+
360
+ **Q: Why does LunaEngine primarily use OpenGL?**
361
+
362
+ A: LunaEngine leverages OpenGL for hardware-accelerated rendering, which provides significantly better performance and visual capabilities compared to software-based renderers like Pygame's default. This choice allows for more complex graphics, dynamic lighting, and advanced post-processing effects, pushing the boundaries of what's possible in a 2D Python game framework.
363
+
364
+ **Q: Will LunaEngine support 3D development in the future?**
365
+
366
+ A: Currently, LunaEngine is exclusively focused on 2D game development. The design philosophy centers around providing a robust and optimized framework for 2D experiences. There are no immediate plans to integrate 3D support, as it would fundamentally change the project's scope and complexity.
367
+
368
+ **Q: Is macOS supported by LunaEngine?**
369
+
370
+ A: At present, LunaEngine officially supports Windows and Linux operating systems. While it might run on macOS in some configurations, it is not actively tested or maintained for this platform. The development focus remains on Windows and Linux to ensure a stable and optimized experience for its primary user base.
371
+
372
+ **Q: Can I use LunaEngine for commercial game projects?**
373
+
374
+ A: Absolutely! LunaEngine is released under a permissive license, allowing you to use it for both personal and commercial projects without any restrictions. Feel free to create, publish, and even monetize your games built with LunaEngine. We'd love to see what you create!
375
+
376
+ **Q: How can I contribute to LunaEngine?**
377
+
378
+ A: We welcome contributions from the community! Whether it's reporting bugs, suggesting features, improving documentation, or submitting code, your help is invaluable. Please refer to the [Contributing](#contributing) section for detailed guidelines on how to get involved.
379
+
380
+ ## Roadmap
381
+
382
+ LunaEngine is a project with a clear vision for continuous improvement and expansion. Here's a glimpse into our future plans and ongoing developments:
383
+
384
+ - **Networking System**: Implement a robust and easy-to-use networking module for multiplayer games and online features.
385
+
386
+ - **Advanced Physics Engine**: Integrate a more sophisticated 2D physics engine for realistic interactions.
387
+
388
+ - **Enhanced Tooling**: Develop more integrated development tools to streamline workflows.
389
+
390
+ - **Cross-Platform Compatibility**: Explore broader platform support while maintaining performance.
391
+
392
+ - **Community Tutorials**: Expand the collection of tutorials and examples based on community feedback.
393
+
394
+ - **Performance Optimizations**: Continuous efforts to refine the engine's performance across all systems.
395
+
396
+ This roadmap is dynamic and evolves with community input and technological advancements. We're excited to build the future of LunaEngine together!
397
+
398
+ ## Contributing
399
+
400
+ We believe in the power of community and welcome contributions to LunaEngine! Your input, whether it's code, documentation, bug reports, or feature suggestions, helps make the engine better for everyone. Here's how you can get involved:
401
+
402
+ 1. **Report Bugs**: If you encounter any issues, please open a detailed bug report on our [GitHub Issues page](https://github.com/MrJuaumBR/LunaEngine/issues).
403
+
404
+ 1. **Suggest Features**: Have an idea for a new feature or improvement? Share it with us by opening a feature request on GitHub.
405
+
406
+ 1. **Improve Documentation**: Help us make the documentation even clearer and more comprehensive. Typos, clarifications, or new examples are always welcome.
407
+
408
+ 1. **Submit Code**: If you'd like to contribute code, please fork the repository, create a new branch, and submit a pull request. Ensure your code adheres to our coding standards and includes appropriate tests.
409
+
410
+ 1. **Join the Community**: Engage with other developers on our [Discord server](https://discord.com/invite/fb84sHDX7R) to discuss ideas and get support.
411
+
412
+ Before contributing code, please review our `CONTRIBUTING.md` (if available) for detailed guidelines. We appreciate your efforts in making LunaEngine a fantastic resource for 2D game development!
413
+
414
+ ## License
415
+
416
+ LunaEngine is released under the [MIT License](https://opensource.org/licenses/MIT). This means you are free to use, modify, and distribute the engine for both commercial and non-commercial purposes, provided that the original copyright notice and license are included in all copies or substantial portions of the software.
417
+
418
+ ## Final Message
419
+
420
+ Hey there, fellow game dev! It's been an incredible journey building LunaEngine, pouring my heart and soul into creating something truly special. This isn't just a piece of software; it's a labor of love, a toolkit designed to bring your 2D game ideas to life with a dash of Python magic and a whole lot of fun. I genuinely believe in the power of open-source and the creativity it unleashes. So, go forth, experiment, build amazing games, and most importantly, have a blast doing it! Your imagination is the only limit. Let's make some awesome games together! ✨
421
+
422
+ ---
423
+
424
+ <picture>
425
+ <source
426
+ media="(prefers-color-scheme: dark)"
427
+ srcset="https://api.star-history.com/svg?repos=MrJuaumBR/LunaEngine&type=Date&theme=dark"
428
+ />
429
+ <source
430
+ media="(prefers-color-scheme: light )"
431
+ srcset="https://api.star-history.com/svg?repos=MrJuaumBR/LunaEngine&type=Date"
432
+ />
433
+ <img
434
+ alt="Star History Chart"
435
+ src="https://api.star-history.com/svg?repos=MrJuaumBR/LunaEngine&type=Date"
436
+ />
437
+ </picture>