# Big Space [![crates.io](https://img.shields.io/crates/v/big_space)](https://crates.io/crates/big_space) [![docs.rs](https://docs.rs/big_space/badge.svg)](https://docs.rs/big_space) [![Bevy tracking](https://img.shields.io/badge/Bevy%20tracking-main-lightblue)](https://github.com/bevyengine/bevy/blob/main/docs/plugins_guidelines.md#main-branch-tracking) A floating origin plugin for [Bevy](https://github.com/bevyengine/bevy). https://user-images.githubusercontent.com/2632925/211051046-6fc7db1d-dcf8-4d71-8bcf-d8f55ec64ab3.mp4 ### [Read the docs](https://docs.rs/big_space)

Features

Lots of space to play in.

This is a simple floating origin plugin, useful if you want to work with very, very large scales. It works with bevy's existing f32-based Transforms, which means it's largely compatible with the bevy ecosystem.

The plugin is generic over a few integer types, to trade off scale and precision for memory use. Some fun numbers with a worst case precision of 0.5mm: - i8: 2,560 km = 74% of the diameter of the Moon - i16: 655,350 km = 85% of the diameter of the Moon's orbit around Earth - i32: 0.0045 light years = ~4 times the width of the solar system - i64: 19.5 million light years = ~100 times the width of the milky way galaxy - i128: 3.6e+26 light years = ~3.9e+15 times the width of the observable universe

From the docs: https://docs.rs/bigspace/latest/bigspace/struct.GridCell.html

Bevy Version Support

I intend to track the main branch of Bevy. PRs supporting this are welcome!

| bevy | big_space | | ---- | --------- | | 0.9 | 0.1 |

License

This project is dual licensed:

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.