mirror of
https://github.com/aevyrie/big_space.git
synced 2026-08-17 00:10:15 +02:00
When 32-bit worlds aren't big enough
- Rust 100%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
- Introduced a new `require_visibility` flag to control whether only visible entities are considered when performing the nearest-object search. - Added corresponding accessor and configuration methods, with a default value of `true`. - Updated nearest-object search logic to respect the new flag in brute force and grid-based methods. |
||
| .github | ||
| assets | ||
| benches | ||
| examples | ||
| src | ||
| .gitignore | ||
| Cargo.toml | ||
| CHANGELOG.md | ||
| LICENSE-APACHE | ||
| LICENSE-MIT | ||
| README.md | ||
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
i8up toi128. - 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.
Showcase
Proton to Observable Universe scale
https://github.com/user-attachments/assets/430624ee-e3a4-4ba3-b7cf-72f3d7f00b5f
Floating origin demonstration
https://github.com/user-attachments/assets/9ce5283f-7d48-47dc-beef-9a7626858ed4
Bevy Version Support
| bevy | big_space |
|---|---|
| 0.18 | 0.12 |
| 0.17 | 0.11 |
| 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 or http://opensource.org/licenses/MIT)
- Apache License, Version 2.0 (LICENSE-APACHE or 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.