bevy_elements 0.7.8

Living environments for Bevy: sun, moon and stars, climate-driven weather, GPU wind, volumetric clouds, rain, snow and fog, lightning, terrain with hydraulic and thermal erosion, flooding, snow cover, wetness and dust — simulated in compute shaders.
Documentation
# Gallery

Every before-and-after capture the crate ships, grouped by the system it shows. The prose for each system, its settings and its measured cost are in [`guide/`](guide/README.md); the command that regenerates each image is in [`media/README.md`](media/README.md).

## The weather over one afternoon

`WeatherPreset::ALL` in turn on 20 April 2026, from the `weather_tour` example. Each frame's own status line gives the state at the capture; the ones below read it back.

![Clear at noon: cover 0.05, 40 000 m visibility, the sun 56.6° up](media/clear.png)
![Partly cloudy at noon: cover 0.40, a cumulus deck with gaps](media/clouds.png)
![Overcast at noon: cover 0.95, a flat grey stratus deck](media/overcast.png)
![Clear at noon from the hills preset, the same sky over the terrain](media/noon.png)

![Fog at noon: 300 m visibility](media/fog.png)
![Rain at noon: 4.0 mm/h, 3 000 m visibility, wind 7.0 m/s](media/rain.png)
![Snow at 11.20 h on 15 January: 1.5 mm/h water equivalent, −2.0 °C](media/snowfall.png)
![Thunderstorm at 23.00 h: 25.0 mm/h and a bolt over the plain](media/storm.png)

## Dawn, dusk and night

![Clear at 05.50 h on 20 April: the sun 3.1° up, the ground at 9.3 °C](media/dawn.png)
![Clear at 20.20 h: the sun 13.7° below the horizon, the afterglow](media/sunset.png)
![Partly cloudy at 18.60 h: the cloud lit from underneath, the sun 1.8° up](media/cloud_sunset.png)

![23.50 h on 20 April with no moon: the frame before the night sky's own glow, a black screen](media/night.png)
![The night sky's own glow behind the atmosphere, which is what lights the ground at night](media/night_sky.png)

## The rock, before and after its material

The massif, a cliff and the scree at its foot, before and after the terrain's rock material: its beds, its palette, its two joint families, its fragments and its grain.

![A rock face 6 m above the ground. Left, before: a smooth pale wash with a red-brown rim round the grass. Right, after: stone with a grain and a relief of its own, a bed and a second tone, dark fractures, and the scree at the grass's foot](media/rock_material.png)

![The massif from 700 m: grey stone with its surface, scree below it, and a clean line where the grass meets the rock](media/rock_mountain.png)

![A rock face 3 m above the ground. Left, before: a smooth sandy wash with a fine even noise, the material's own high-pass 1.72 DN. Right, after: the cliff's blocks — angular, bedded fragments of many sizes, each a flat facet with its own tone, sharp dark joints between them, and the sun raking their edges](media/rock_blocks.png)

![A rock face 3 m above the ground. Left, before: a regular lattice of identical diamonds — a quilt, every block the same size and the same shape. Right, after: the cliff's fragments — irregular, angular, of many sizes, each a flat facet with its own lit edge and shadowed joint](media/rock_fragments.png)

![A cliff at dusk. Left, before: a single flat sand colour — the whole face is one hue, the hue angles' resultant 0.998. Right, after: a face of warm ochre sandstone fragments, pale limestone chips, cool grey basalt and dark brown varnish, each fragment a piece of its own rock](media/rock_palette.png)

![A mountain range from 120 m. Left, before: every massif the same cool blue-grey, the beds' banding showing only as faint value stripes. Right, after: the massifs separate into warm buff and ochre beside cool blue-grey, and the beds' banding reads as tonal stripes within each formation](media/bed_colour.png)

![A cliff at dusk. Left, before: a uniform diamond lattice — every cell the same size, the same shape, in rows; it reads as cracked mud. Right, after: the lattice crossed by a second family of seams that wander and end, so the pieces are of many sizes and the regularity is broken](media/block_sizes.png)

![A massif from 120 m. Left, before: a smooth blue-grey wash with no structure — the rock's own high-pass 1.72 DN and a max−min of 1.00 DN over a 200 × 200 patch. Right, after: a succession of beds, each with its own tone, banded across the rock in the bedding's direction](media/bedding.png)

![The scree at the rock's foot, 3 m above the ground. Left, before: the grass meets the rock in a hard step, and the stone is a smooth wash. Right, after: a scatter of stones of many sizes with turf thinning between them, each with its own relief and a contact shadow on the matrix](media/scree.png)

The ground's colour, at a plain and on the hills, and the rock's facets close up:

![The meadow's colour patches on the hills at noon on 21 June](media/ground_colour_hills.png) ![The rock's facets and the joints between them, 15.00 h on 21 June](media/rock_facets.png)

## Water

![A lake filling a round basin at 15.00 h on 21 June under a clear sky](media/water_lake.png) ![A still sea at 30 m over the hills, from 120 m up at 10.00 h](media/water_still.png)

## Trees, in the crate's wind, season and rain

![bevy_flora trees under forced Rain at 15.8 m/s on 10 October: autumn colour, wet bark](media/flora_wind.png)