lunaengine 0.2.2__tar.gz → 0.2.3__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 (78) hide show
  1. lunaengine-0.2.3/MANIFEST.in +15 -0
  2. {lunaengine-0.2.2/lunaengine.egg-info → lunaengine-0.2.3}/PKG-INFO +1 -1
  3. lunaengine-0.2.3/lunaengine/CODE_STATISTICS.md +177 -0
  4. {lunaengine-0.2.2 → lunaengine-0.2.3}/lunaengine/__init__.py +1 -1
  5. lunaengine-0.2.3/lunaengine/assets/lunaengine-icon.png +0 -0
  6. lunaengine-0.2.3/lunaengine/backend/__init__.py +104 -0
  7. lunaengine-0.2.3/lunaengine/backend/opengl.py +1363 -0
  8. {lunaengine-0.2.2 → lunaengine-0.2.3}/lunaengine/core/engine.py +151 -28
  9. {lunaengine-0.2.2 → lunaengine-0.2.3}/lunaengine/core/renderer.py +7 -0
  10. lunaengine-0.2.3/lunaengine/core/scene.py +181 -0
  11. {lunaengine-0.2.2 → lunaengine-0.2.3}/lunaengine/graphics/__init__.py +14 -10
  12. {lunaengine-0.2.2 → lunaengine-0.2.3}/lunaengine/graphics/camera.py +67 -0
  13. lunaengine-0.2.3/lunaengine/graphics/particles.py +742 -0
  14. lunaengine-0.2.3/lunaengine/graphics/shaders/depth.frag +3 -0
  15. lunaengine-0.2.3/lunaengine/graphics/shaders/depth.geom +21 -0
  16. lunaengine-0.2.3/lunaengine/graphics/shaders/depth.vert +9 -0
  17. lunaengine-0.2.3/lunaengine/graphics/shaders/filter.frag +323 -0
  18. lunaengine-0.2.3/lunaengine/graphics/shaders/filter.vert +10 -0
  19. lunaengine-0.2.3/lunaengine/graphics/shaders/particle.comp +10 -0
  20. lunaengine-0.2.3/lunaengine/graphics/shaders/particle.frag +10 -0
  21. lunaengine-0.2.3/lunaengine/graphics/shaders/particle.vert +27 -0
  22. lunaengine-0.2.3/lunaengine/graphics/shaders/rounded_rect.frag +42 -0
  23. lunaengine-0.2.3/lunaengine/graphics/shaders/rounded_rect.vert +17 -0
  24. lunaengine-0.2.3/lunaengine/graphics/shaders/simple.frag +7 -0
  25. lunaengine-0.2.3/lunaengine/graphics/shaders/simple.vert +18 -0
  26. lunaengine-0.2.3/lunaengine/graphics/shaders/texture.frag +8 -0
  27. lunaengine-0.2.3/lunaengine/graphics/shaders/texture.vert +17 -0
  28. lunaengine-0.2.3/lunaengine/graphics/shadows.py +264 -0
  29. {lunaengine-0.2.2 → lunaengine-0.2.3}/lunaengine/tools/code_stats.py +54 -23
  30. {lunaengine-0.2.2 → lunaengine-0.2.3}/lunaengine/ui/elements.py +233 -202
  31. {lunaengine-0.2.2 → lunaengine-0.2.3}/lunaengine/utils/__init__.py +6 -2
  32. {lunaengine-0.2.2 → lunaengine-0.2.3}/lunaengine/utils/math_utils.py +65 -1
  33. {lunaengine-0.2.2 → lunaengine-0.2.3/lunaengine.egg-info}/PKG-INFO +1 -1
  34. {lunaengine-0.2.2 → lunaengine-0.2.3}/lunaengine.egg-info/SOURCES.txt +15 -0
  35. {lunaengine-0.2.2 → lunaengine-0.2.3}/pyproject.toml +1 -1
  36. {lunaengine-0.2.2 → lunaengine-0.2.3}/setup.py +1 -1
  37. lunaengine-0.2.2/MANIFEST.in +0 -10
  38. lunaengine-0.2.2/lunaengine/CODE_STATISTICS.md +0 -141
  39. lunaengine-0.2.2/lunaengine/backend/__init__.py +0 -36
  40. lunaengine-0.2.2/lunaengine/backend/opengl.py +0 -2466
  41. lunaengine-0.2.2/lunaengine/core/scene.py +0 -333
  42. lunaengine-0.2.2/lunaengine/graphics/particles.py +0 -693
  43. lunaengine-0.2.2/lunaengine/graphics/shadows.py +0 -392
  44. {lunaengine-0.2.2 → lunaengine-0.2.3}/LICENSE +0 -0
  45. {lunaengine-0.2.2 → lunaengine-0.2.3}/README.md +0 -0
  46. {lunaengine-0.2.2 → lunaengine-0.2.3}/about.md +0 -0
  47. {lunaengine-0.2.2 → lunaengine-0.2.3}/lunaengine/backend/controller.py +0 -0
  48. {lunaengine-0.2.2 → lunaengine-0.2.3}/lunaengine/backend/exceptions.py +0 -0
  49. {lunaengine-0.2.2 → lunaengine-0.2.3}/lunaengine/backend/network.py +0 -0
  50. {lunaengine-0.2.2 → lunaengine-0.2.3}/lunaengine/backend/openal.py +0 -0
  51. {lunaengine-0.2.2 → lunaengine-0.2.3}/lunaengine/backend/types.py +0 -0
  52. {lunaengine-0.2.2 → lunaengine-0.2.3}/lunaengine/core/__init__.py +0 -0
  53. {lunaengine-0.2.2 → lunaengine-0.2.3}/lunaengine/core/audio.py +0 -0
  54. {lunaengine-0.2.2 → lunaengine-0.2.3}/lunaengine/core/window.py +0 -0
  55. {lunaengine-0.2.2 → lunaengine-0.2.3}/lunaengine/graphics/spritesheet.py +0 -0
  56. {lunaengine-0.2.2 → lunaengine-0.2.3}/lunaengine/misc/__init__.py +0 -0
  57. {lunaengine-0.2.2 → lunaengine-0.2.3}/lunaengine/misc/bones.py +0 -0
  58. {lunaengine-0.2.2 → lunaengine-0.2.3}/lunaengine/misc/icons.py +0 -0
  59. {lunaengine-0.2.2 → lunaengine-0.2.3}/lunaengine/tools/__init__.py +0 -0
  60. {lunaengine-0.2.2 → lunaengine-0.2.3}/lunaengine/tools/image_conversion_tool.py +0 -0
  61. {lunaengine-0.2.2 → lunaengine-0.2.3}/lunaengine/ui/__init__.py +0 -0
  62. {lunaengine-0.2.2 → lunaengine-0.2.3}/lunaengine/ui/layer_manager.py +0 -0
  63. {lunaengine-0.2.2 → lunaengine-0.2.3}/lunaengine/ui/layout.py +0 -0
  64. {lunaengine-0.2.2 → lunaengine-0.2.3}/lunaengine/ui/notifications.py +0 -0
  65. {lunaengine-0.2.2 → lunaengine-0.2.3}/lunaengine/ui/styles.py +0 -0
  66. {lunaengine-0.2.2 → lunaengine-0.2.3}/lunaengine/ui/themes.json +0 -0
  67. {lunaengine-0.2.2 → lunaengine-0.2.3}/lunaengine/ui/themes.py +0 -0
  68. {lunaengine-0.2.2 → lunaengine-0.2.3}/lunaengine/ui/tooltips.py +0 -0
  69. {lunaengine-0.2.2 → lunaengine-0.2.3}/lunaengine/ui/tween.py +0 -0
  70. {lunaengine-0.2.2 → lunaengine-0.2.3}/lunaengine/utils/image_converter.py +0 -0
  71. {lunaengine-0.2.2 → lunaengine-0.2.3}/lunaengine/utils/performance.py +0 -0
  72. {lunaengine-0.2.2 → lunaengine-0.2.3}/lunaengine/utils/threading.py +0 -0
  73. {lunaengine-0.2.2 → lunaengine-0.2.3}/lunaengine/utils/timer.py +0 -0
  74. {lunaengine-0.2.2 → lunaengine-0.2.3}/lunaengine.egg-info/dependency_links.txt +0 -0
  75. {lunaengine-0.2.2 → lunaengine-0.2.3}/lunaengine.egg-info/requires.txt +0 -0
  76. {lunaengine-0.2.2 → lunaengine-0.2.3}/lunaengine.egg-info/top_level.txt +0 -0
  77. {lunaengine-0.2.2 → lunaengine-0.2.3}/requirements.txt +0 -0
  78. {lunaengine-0.2.2 → lunaengine-0.2.3}/setup.cfg +0 -0
@@ -0,0 +1,15 @@
1
+ include README.md
2
+ include LICENSE.txt
3
+ include about.md
4
+ include requirements.txt
5
+ include pyproject.toml
6
+
7
+ # Include all JSON files in the package
8
+ recursive-include lunaengine *.json
9
+ recursive-include lunaengine *.txt
10
+ recursive-include lunaengine *.md
11
+ recursive-include lunaengine *.vert
12
+ recursive-include lunaengine *.frag
13
+ recursive-include lunaengine *.geom
14
+ recursive-include lunaengine *.comp
15
+ recursive-include lunaengine *.png
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: lunaengine
3
- Version: 0.2.2
3
+ Version: 0.2.3
4
4
  Summary: A modern 2D game engine with advanced UI and graphics
5
5
  Home-page: https://github.com/MrJuaumBR/lunaengine
6
6
  Author: MrJuaum
@@ -0,0 +1,177 @@
1
+ # LunaEngine Code Statistics
2
+
3
+ ## Overview
4
+
5
+ - **Total Files**: 56
6
+ - **Total Lines**: 29098
7
+ - **Code Lines**: 19150
8
+ - **Comment Lines**: 5657
9
+ - **Blank Lines**: 4291
10
+
11
+ ## Statistics
12
+
13
+ - **Total Themes**: 83
14
+ - **Total Elements**: 26
15
+
16
+ ## Code Density
17
+
18
+ - **Code Density**: 65.8%
19
+ - Balanced code and comments
20
+
21
+ ## Project Structure
22
+
23
+ ```bash
24
+ [ROT] lunaengine/
25
+ ├── [PYT] __init__.py
26
+ ├── [DIR] assets/
27
+ ├── [DIR] backend/
28
+ │ ├── [PYT] __init__.py
29
+ │ ├── [PYT] controller.py
30
+ │ ├── [PYT] exceptions.py
31
+ │ ├── [PYT] network.py
32
+ │ ├── [PYT] openal.py
33
+ │ ├── [PYT] opengl.py
34
+ │ └── [PYT] types.py
35
+ ├── [MDN] CODE_STATISTICS.md
36
+ ├── [DIR] core/
37
+ │ ├── [PYT] __init__.py
38
+ │ ├── [PYT] audio.py
39
+ │ ├── [PYT] engine.py
40
+ │ ├── [PYT] renderer.py
41
+ │ ├── [PYT] scene.py
42
+ │ └── [PYT] window.py
43
+ ├── [DIR] graphics/
44
+ │ ├── [PYT] __init__.py
45
+ │ ├── [PYT] camera.py
46
+ │ ├── [PYT] particles.py
47
+ │ ├── [DIR] shaders/
48
+ │ │ ├── [SHD] depth.frag
49
+ │ │ ├── [SHD] depth.geom
50
+ │ │ ├── [SHD] depth.vert
51
+ │ │ ├── [SHD] filter.frag
52
+ │ │ ├── [SHD] filter.vert
53
+ │ │ ├── [SHD] particle.comp
54
+ │ │ ├── [SHD] particle.frag
55
+ │ │ ├── [SHD] particle.vert
56
+ │ │ ├── [SHD] rounded_rect.frag
57
+ │ │ ├── [SHD] rounded_rect.vert
58
+ │ │ ├── [SHD] simple.frag
59
+ │ │ ├── [SHD] simple.vert
60
+ │ │ ├── [SHD] texture.frag
61
+ │ │ └── [SHD] texture.vert
62
+ │ ├── [PYT] shadows.py
63
+ │ └── [PYT] spritesheet.py
64
+ ├── [DIR] misc/
65
+ │ ├── [PYT] __init__.py
66
+ │ ├── [PYT] bones.py
67
+ │ └── [PYT] icons.py
68
+ ├── [DIR] tools/
69
+ │ ├── [PYT] __init__.py
70
+ │ ├── [PYT] code_stats.py
71
+ │ └── [PYT] image_conversion_tool.py
72
+ ├── [DIR] ui/
73
+ │ ├── [PYT] __init__.py
74
+ │ ├── [PYT] elements.py
75
+ │ ├── [PYT] layer_manager.py
76
+ │ ├── [PYT] layout.py
77
+ │ ├── [PYT] notifications.py
78
+ │ ├── [PYT] styles.py
79
+ │ ├── [JSN] themes.json
80
+ │ ├── [PYT] themes.py
81
+ │ ├── [PYT] tooltips.py
82
+ │ └── [PYT] tween.py
83
+ └── [DIR] utils/
84
+ ├── [PYT] __init__.py
85
+ ├── [PYT] image_converter.py
86
+ ├── [PYT] math_utils.py
87
+ ├── [PYT] performance.py
88
+ ├── [PYT] threading.py
89
+ └── [PYT] timer.py
90
+ ```
91
+
92
+ ## Files by Extension
93
+
94
+ | Extension | Count | Percentage |
95
+ |-----------|-------|------------|
96
+ | `.comp` | 1 | 1.8% |
97
+ | `.frag` | 6 | 10.7% |
98
+ | `.geom` | 1 | 1.8% |
99
+ | `.json` | 1 | 1.8% |
100
+ | `.md` | 1 | 1.8% |
101
+ | `.py` | 40 | 71.4% |
102
+ | `.vert` | 6 | 10.7% |
103
+
104
+ ## Files by Directory
105
+
106
+ | Directory | File Count |
107
+ |-----------|------------|
108
+ | `backend` | 7 |
109
+ | `core` | 6 |
110
+ | `graphics` | 5 |
111
+ | `graphics\shaders` | 14 |
112
+ | `misc` | 3 |
113
+ | `root` | 2 |
114
+ | `tools` | 3 |
115
+ | `ui` | 10 |
116
+ | `utils` | 6 |
117
+
118
+ ## File Details
119
+
120
+ | File | Total Lines | Code | Comments | Blank | Size (KB) |
121
+ |------|------------|------|----------|-------|-----------|
122
+ | `ui\elements.py` | 6997 | 3935 | 1790 | 1272 | 273.3 |
123
+ | `ui\themes.json` | 4816 | 4816 | 0 | 0 | 188.1 |
124
+ | `backend\opengl.py` | 1363 | 961 | 154 | 248 | 53.7 |
125
+ | `ui\tween.py` | 1202 | 550 | 423 | 229 | 36.7 |
126
+ | `core\engine.py` | 1112 | 527 | 360 | 225 | 41.9 |
127
+ | `backend\network.py` | 1092 | 770 | 140 | 182 | 40.1 |
128
+ | `ui\notifications.py` | 932 | 576 | 199 | 157 | 37.9 |
129
+ | `graphics\camera.py` | 881 | 514 | 197 | 170 | 34.2 |
130
+ | `core\audio.py` | 774 | 431 | 200 | 143 | 26.1 |
131
+ | `backend\openal.py` | 766 | 433 | 185 | 148 | 25.5 |
132
+ | `graphics\particles.py` | 742 | 580 | 78 | 84 | 23.9 |
133
+ | `backend\controller.py` | 640 | 493 | 63 | 84 | 23.0 |
134
+ | `graphics\spritesheet.py` | 613 | 279 | 223 | 111 | 21.5 |
135
+ | `misc\icons.py` | 578 | 418 | 63 | 97 | 21.1 |
136
+ | `ui\themes.py` | 567 | 402 | 82 | 83 | 19.9 |
137
+ | `misc\bones.py` | 493 | 313 | 72 | 108 | 20.5 |
138
+ | `utils\timer.py` | 427 | 164 | 179 | 84 | 13.8 |
139
+ | `tools\code_stats.py` | 400 | 274 | 56 | 70 | 16.1 |
140
+ | `utils\performance.py` | 377 | 238 | 66 | 73 | 13.3 |
141
+ | `ui\tooltips.py` | 364 | 179 | 118 | 67 | 12.9 |
142
+ | `core\window.py` | 358 | 138 | 158 | 62 | 12.0 |
143
+ | `core\renderer.py` | 339 | 96 | 187 | 56 | 11.3 |
144
+ | `utils\math_utils.py` | 332 | 178 | 104 | 50 | 10.1 |
145
+ | `graphics\shaders\filter.frag` | 323 | 283 | 1 | 39 | 11.0 |
146
+ | `tools\image_conversion_tool.py` | 308 | 195 | 51 | 62 | 12.4 |
147
+ | `graphics\shadows.py` | 264 | 160 | 59 | 45 | 9.5 |
148
+ | `utils\image_converter.py` | 251 | 177 | 25 | 49 | 9.2 |
149
+ | `ui\layout.py` | 231 | 97 | 91 | 43 | 7.3 |
150
+ | `ui\layer_manager.py` | 225 | 94 | 85 | 46 | 7.5 |
151
+ | `backend\types.py` | 187 | 135 | 19 | 33 | 6.1 |
152
+ | `core\scene.py` | 181 | 133 | 10 | 38 | 6.8 |
153
+ | `CODE_STATISTICS.md` | 180 | 155 | 9 | 16 | 6.3 |
154
+ | `backend\__init__.py` | 104 | 76 | 22 | 6 | 2.2 |
155
+ | `ui\styles.py` | 91 | 35 | 38 | 18 | 2.7 |
156
+ | `utils\threading.py` | 87 | 43 | 29 | 15 | 2.5 |
157
+ | `graphics\__init__.py` | 77 | 53 | 19 | 5 | 1.7 |
158
+ | `ui\__init__.py` | 73 | 26 | 30 | 17 | 2.7 |
159
+ | `utils\__init__.py` | 73 | 44 | 22 | 7 | 2.6 |
160
+ | `graphics\shaders\rounded_rect.frag` | 42 | 35 | 1 | 6 | 1.4 |
161
+ | `core\__init__.py` | 28 | 7 | 15 | 6 | 0.8 |
162
+ | `graphics\shaders\particle.vert` | 27 | 21 | 1 | 5 | 0.8 |
163
+ | `backend\exceptions.py` | 21 | 5 | 11 | 5 | 0.6 |
164
+ | `graphics\shaders\depth.geom` | 21 | 17 | 1 | 3 | 0.5 |
165
+ | `graphics\shaders\simple.vert` | 18 | 13 | 1 | 4 | 0.5 |
166
+ | `graphics\shaders\rounded_rect.vert` | 17 | 14 | 1 | 2 | 0.4 |
167
+ | `graphics\shaders\texture.vert` | 17 | 14 | 1 | 2 | 0.5 |
168
+ | `misc\__init__.py` | 16 | 6 | 7 | 3 | 0.9 |
169
+ | `__init__.py` | 11 | 4 | 3 | 4 | 0.3 |
170
+ | `graphics\shaders\filter.vert` | 10 | 7 | 1 | 2 | 0.2 |
171
+ | `graphics\shaders\particle.comp` | 10 | 8 | 1 | 1 | 0.2 |
172
+ | `graphics\shaders\particle.frag` | 10 | 8 | 1 | 1 | 0.2 |
173
+ | `graphics\shaders\depth.vert` | 9 | 6 | 1 | 2 | 0.2 |
174
+ | `graphics\shaders\texture.frag` | 8 | 6 | 1 | 1 | 0.1 |
175
+ | `graphics\shaders\simple.frag` | 7 | 5 | 1 | 1 | 0.1 |
176
+ | `graphics\shaders\depth.frag` | 3 | 2 | 1 | 0 | 0.1 |
177
+ | `tools\__init__.py` | 3 | 1 | 1 | 1 | 0.0 |
@@ -2,7 +2,7 @@
2
2
  LunaEngine - A powerful 2D game engine for Python
3
3
  """
4
4
 
5
- __version__ = "0.2.2"
5
+ __version__ = "0.2.3"
6
6
 
7
7
  from . import core, ui, graphics, utils, backend, tools, misc
8
8
 
@@ -0,0 +1,104 @@
1
+ """Backend module for LunaEngine
2
+
3
+ LOCATION: lunaengine/backend/__init__.py
4
+
5
+ DESCRIPTION:
6
+ Initialization file for the backend module. This module provides rendering
7
+ backends and graphics system implementations for the LunaEngine.
8
+
9
+ MODULES PROVIDED:
10
+ - opengl: OpenGL-based renderer for hardware-accelerated graphics (instanced particles)
11
+ - openal: OpenAL-based audio system
12
+ - types: Common types and event definitions
13
+ - network: Networking components for client-server architecture (experimental)
14
+
15
+ LIBRARIES USED:
16
+ - pygame: Core graphics and window management
17
+ - OpenGL: 3D graphics rendering (optional)
18
+ - OpenAL: Audio system (optional)
19
+ - numpy: Numerical operations for graphics math
20
+ """
21
+
22
+ from .opengl import (
23
+ OpenGLRenderer,
24
+ Filter,
25
+ FilterType,
26
+ FilterRegionType,
27
+ )
28
+ from .openal import (
29
+ OpenALAudioSystem,
30
+ OpenALAudioEvent,
31
+ OpenALSource,
32
+ OpenALBuffer,
33
+ OpenALError,
34
+ )
35
+ from .types import (
36
+ EVENTS,
37
+ InputState,
38
+ MouseButtonPressed,
39
+ LayerType,
40
+ WindowEventData,
41
+ WindowEventType,
42
+ )
43
+ from .network import (
44
+ NetworkHost,
45
+ NetworkServer,
46
+ NetworkClient,
47
+ NetworkMessage,
48
+ UserType,
49
+ generate_id,
50
+ )
51
+ from .controller import (
52
+ Controller,
53
+ ControllerManager,
54
+ ControllerState,
55
+ ControllerType,
56
+ ConnectionType,
57
+ TouchPoint,
58
+ JButton,
59
+ Axis,
60
+ )
61
+ from . import exceptions as LExceptions
62
+ from OpenGL.GL import glEnable, glDisable, GL_DEPTH_TEST
63
+
64
+ __all__ = [
65
+ # OpenGL renderer and related classes
66
+ "OpenGLRenderer",
67
+ "Filter",
68
+ "FilterType",
69
+ "FilterRegionType",
70
+ # Input and events
71
+ "InputState",
72
+ "MouseButtonPressed",
73
+ "EVENTS",
74
+ "LayerType",
75
+ "WindowEventData",
76
+ "WindowEventType",
77
+ # Controllers
78
+ "Controller",
79
+ "ControllerManager",
80
+ "ControllerState",
81
+ "ControllerType",
82
+ "ConnectionType",
83
+ "TouchPoint",
84
+ "JButton",
85
+ "Axis",
86
+ # Networking
87
+ "NetworkHost",
88
+ "NetworkServer",
89
+ "NetworkClient",
90
+ "NetworkMessage",
91
+ "UserType",
92
+ "generate_id",
93
+ # OpenAL audio
94
+ "OpenALAudioSystem",
95
+ "OpenALAudioEvent",
96
+ "OpenALSource",
97
+ "OpenALBuffer",
98
+ "OpenALError",
99
+ # Exceptions and GL utilities
100
+ "LExceptions",
101
+ "glEnable",
102
+ "glDisable",
103
+ "GL_DEPTH_TEST",
104
+ ]