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
  • Coverage
  • 66.67%
    38 out of 57 items documented8 out of 33 items with examples
  • Size
  • Source code size: 77.07 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 5.28 MB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 23s Average build duration of successful builds.
  • all releases: 19s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • Repository
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • thiagodejesus

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:

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

Usage

Check out the 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:

cargo doc --open

Development

Running Tests

cargo test

Running Examples

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 crate for efficient grid operations