bevy_map_scatter
Bevy plugin that integrates the map_scatter core crate for object scattering with field-graph evaluation and sampling.

Overview
bevy_map_scatter wires the map_scatter runtime into Bevy in an ECS- and editor-friendly way:
- Asset-based authoring of scatter plans (RON): load
*.scatterfiles viaAssetServer. - Texture integration: snapshot Bevy
Images to CPU textures with configurable domain mapping. - Asynchronous execution: runs scatter jobs on
AsyncComputeTaskPool. - Streaming diagnostics: forward core
ScatterEvents as Bevy messages (ScatterMessage).
Examples
See the example crate for curated demos you can run locally.
Quick Start
Add the crates to your Bevy application:
# Cargo.toml
[]
= "0.17"
= "0.2"
= "0.2"
Create a scatter plan in assets/simple.scatter:
(
layers: [
(
id: "dots",
kinds: [
(
id: "dots",
spec: (
nodes: {
"probability": Constant(
params: ConstantParams(value: 1.0),
),
},
semantics: {
"probability": Probability,
},
),
),
],
sampling: JitterGrid(
jitter: 1.0,
cell_size: 1.0,
),
selection_strategy: WeightedRandom,
),
],
)
Use the plugin and trigger a single scatter run once the asset is ready:
use *;
use *;
;
/// Loads the scatter plan asset on startup.
/// Triggers a scatter request once the plan asset is loaded.
/// Observes the `EntityEvent` when a scatter run has finished.
Run the application with cargo run. Once the scatter job completes you will see a summary in the log and can continue with your own placement logic.
Compatibility
bevy_map_scatter |
map_scatter |
bevy |
|---|---|---|
0.2 |
0.2 |
0.17 |