grid-engine 0.1.2

A flexible and efficient library for managing 2D grid-based layouts with automatic collision handling and dynamic vertical expansion
Documentation
# Grid Engine

A flexible and efficient Rust library for managing 2D grid-based layouts with automatic collision handling and dynamic vertical expansion.

PS: This crate is on the early stages of development, so expect breaking changes and limited documentation.

## Features

- 🎯 Automatic collision detection and resolution
- 📏 Dynamic grid expansion on the y-axis
- 🔄 Event system for tracking grid changes
- 🛡️ Strong type safety and error handling
- 📦 No unsafe code

## Installation

Add this to your `Cargo.toml`:

```toml
[dependencies]
grid_engine = {version = "*"}
```

## Usage

Check out the [examples](examples/) directory for usage examples.

## API Overview

The main components of the library are:

- `GridEngine`: The main engine for managing the grid system
- `Node`: Represents an item in the grid with position and dimensions
- `GridEvents`: Event system for tracking changes
- Error types for robust error handling

For detailed API documentation, run:

```bash
cargo doc --open
```

## Development

### Running Tests

```bash
cargo test
```

### Running Examples

```bash
cargo run --example managing_grid
```

## Planned Features

- [ ] Serde serialization support (optional feature)
- [ ] WebAssembly support (optional feature)

## Contributing

Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.

Please make sure to update tests as appropriate.

## License

This project is licensed under either:

- MIT license

at your option.

## Acknowledgments

- Built with the [grid]https://crates.io/crates/grid crate for efficient grid operations