Metadata-Version: 2.4
Name: aether-engine
Version: 1.7.1
Summary: 3D/2D game engine by entiti937 — OpenGL, physics, FPS, mandatory branding splash
Home-page: https://pypi.org/project/aether-engine/
Author: entiti937
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Games/Entertainment
Classifier: Topic :: Multimedia :: Graphics :: 3D Rendering
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: numpy>=1.24
Requires-Dist: glfw>=2.6
Requires-Dist: PyOpenGL>=3.1.7
Requires-Dist: Pillow>=10.0
Provides-Extra: audio
Requires-Dist: pygame-ce>=2.5; extra == "audio"
Provides-Extra: physics
Requires-Dist: pymunk>=6.0; extra == "physics"
Provides-Extra: models
Requires-Dist: trimesh>=3.21; extra == "models"
Provides-Extra: build
Requires-Dist: pyinstaller>=6.0; extra == "build"
Provides-Extra: full
Requires-Dist: pyinstaller>=6.0; extra == "full"
Requires-Dist: pygame-ce>=2.5; extra == "full"
Requires-Dist: imageio>=2.31; extra == "full"
Requires-Dist: trimesh>=3.21; extra == "full"
Requires-Dist: pymunk>=6.0; extra == "full"
Requires-Dist: pyyaml>=6.0; extra == "full"
Requires-Dist: freetype-py>=2.4; extra == "full"
Dynamic: author
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: license-file
Dynamic: provides-extra
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

# Aether Engine

**3D / 2D игровой движок на Python + OpenGL**  
**Разработчик:** entiti937 · **Версия:** 1.7.1 · **Лицензия:** MIT  
**PyPI:** https://pypi.org/project/aether-engine/

> Полное руководство: [`docs/GUIDE.md`](docs/GUIDE.md)

---

## Установка

```bash
pip install -U "aether-engine[full]"
```

## Что нового в 1.7.1

- Документация: 2D-физика (pymunk), статус 3D-солвера, GLFW vs pygame-ce
- Единый импорт компонентов из `aether`
- Расширен раздел Performance

## Что нового в 1.7.0

- **AssetLoader** — загрузка любых моделей, спрайтов и текстур (OBJ/GLB/FBX/PNG/WebP/…)
- `Sprite.from_image(path)` — быстрый импорт 2D-графики
- Встроенный редактор **убран** (может вернуться в будущих версиях)

## Showcase-игра

Minecraft-like sandbox **на этом же движке**:

```bash
aether help
aether build games/aether_craft.py --name AetherCraft
python games/aether_craft.py
```

Там есть: воксельный мир, вид от 1 лица, ломать/ставить блоки, HUD, звуки, день/ночь, сейвы (F5/F9), урон и респавн.

## Другие запуски

```bash
python games/orb_rush.py
python examples/03_first_person.py
python examples/04_physics2d.py
aether website
```

## Минимальный код

```python
from aether import (
    Engine, Scene, Entity, Transform, MeshRenderer,
    MeshFactory, Material, Camera,
)

engine = Engine(1280, 720, "Game by you — engine by entiti937")
scene = Scene("Main")
camera = Camera(position=(0, 2, 6), yaw=-90)
scene.set_main_camera(camera)

cube = Entity("Cube")
cube.add_component(Transform(position=(0, 1, 0)))
mat = Material()
mat.albedo[:] = (0.2, 0.85, 1.0)
cube.add_component(MeshRenderer(mesh=MeshFactory.create_cube(), material=mat))
scene.spawn(cube)

engine.load_scene(scene)
engine.enable_first_person(camera)
engine.run()
```

## Возможности

- PBR 3D + sprites 2D + HUD overlay
- FPS (`enable_first_person`) и free-look камера
- Физика 3D/2D + raycast
- `AssetLoader` / `ModelLoader` — OBJ/GLB/glTF/STL/FBX/STEP/… + PNG/WebP спрайты
- Procedural SFX, JSON save/load
- Примеры и игры в репозитории

> Встроенный редактор моделей/пиксель-арт **временно убран** — планируется вернуть позже. Сейчас используйте Blender, Aseprite и т.д., файлы подгружайте через `AssetLoader`.

## Документация

Все команды, API и туториалы: **[docs/GUIDE.md](docs/GUIDE.md)**

---

Aether Engine © **entiti937**
