Metadata-Version: 2.4
Name: pygame-renderkit
Version: 1.2.0
Summary: High-performance sprite batching and particle rendering for pygame
Home-page: https://github.com/devstudio-games/pygame-renderkit
Author: DevStudio Games
Author-email: dev@devstudio-games.example.com
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: License :: OSI Approved :: MIT License
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: pygame>=2.1.0
Requires-Dist: numpy>=1.21.0
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: license-file
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

# pygame-renderkit

High-performance sprite batching and particle rendering utilities for pygame.

## Features

- **SpriteBatch**: GPU-friendly batch renderer with automatic layer sorting
- **ParticleSystem**: Optimized particle effects with up to 5000 particles
- **SpatialHash**: O(1) collision queries using grid-based spatial partitioning

## Installation

```bash
pip install pygame-renderkit
```

## Quick Start

```python
import pygame
from renderkit import SpriteBatch, ParticleSystem

pygame.init()
screen = pygame.display.set_mode((800, 600))
clock = pygame.time.Clock()

batch = SpriteBatch()
particles = ParticleSystem()

running = True
while running:
    dt = clock.tick(60) / 1000.0
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False
        if event.type == pygame.MOUSEBUTTONDOWN:
            particles.emit(*event.pos, count=50)
    particles.update(dt)
    screen.fill((20, 20, 30))
    particles.draw(screen)
    batch.draw(screen)
    pygame.display.flip()

pygame.quit()
```

## License

MIT License
