https://github.com/aevyrie/big_space
When 32-bit worlds just aren't big enough
https://github.com/aevyrie/big_space
bevy floating-origin large-worlds
Last synced: 26 days ago
JSON representation
When 32-bit worlds just aren't big enough
- Host: GitHub
- URL: https://github.com/aevyrie/big_space
- Owner: aevyrie
- License: apache-2.0
- Created: 2023-01-06T06:02:32.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2025-04-10T06:38:57.000Z (about 1 month ago)
- Last Synced: 2025-04-12T08:55:12.186Z (28 days ago)
- Topics: bevy, floating-origin, large-worlds
- Language: Rust
- Homepage:
- Size: 626 KB
- Stars: 227
- Watchers: 3
- Forks: 30
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Funding: .github/FUNDING.yml
- License: LICENSE-APACHE
Awesome Lists containing this project
- awesome-bevy - `big_space`
- awesome-bevy - `big_space`
README
# Big Space
Huge worlds, high performance, no dependencies, ecosystem compatibility. [Read the docs](https://docs.rs/big_space)
[](https://crates.io/crates/big_space)
[](https://docs.rs/big_space)
[](https://github.com/aevyrie/big_space/actions/workflows/rust.yml)## Highlights
- Enough precision to render proton-sized meshes across the observable universe.
- Uses `Transform`, making it compatible with most of the Bevy ecosystem.
- No added dependencies.
- Absolute coordinates without drift, unlike camera-relative or periodic recentering solutions.
- Chunks the world into nestable integer grids, from `i8` up to `i128`.
- Spatial hashing for fast grid cell lookups and neighbor search.
- Spatial partitioning to group sets of connected cells.
- Great performance scaling and parallelism with massive entity counts.
- 👉 [Extensive documentation you should read.](https://docs.rs/big_space)
## Showcase
### [Proton to Observable Universe scale](examples/demo.rs)
https://github.com/user-attachments/assets/430624ee-e3a4-4ba3-b7cf-72f3d7f00b5f
### [Floating origin demonstration](examples/error.rs)
https://github.com/user-attachments/assets/9ce5283f-7d48-47dc-beef-9a7626858ed4
## Bevy Version Support
| bevy | big_space |
|------|-----------|
| 0.16 | 0.10 |
| 0.15 | 0.8, 0.9 |
| 0.14 | 0.7 |
| 0.13 | 0.5, 0.6 |
| 0.12 | 0.4 |
| 0.11 | 0.3 |
| 0.10 | 0.2 |
| 0.9 | 0.1 |# License
This project is dual licensed:
* MIT License ([LICENSE-MIT](LICENSE-MIT) or [http://opensource.org/licenses/MIT](http://opensource.org/licenses/MIT))
* Apache License, Version 2.0 ([LICENSE-APACHE](LICENSE-APACHE) or [http://www.apache.org/licenses/LICENSE-2.0](http://www.apache.org/licenses/LICENSE-2.0))## 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.