#![doc = include_str!("../README.md")]
#![forbid(unsafe_code)]
mod celestial;
mod climate;
mod clouds;
mod cover;
mod dust;
mod flash;
#[cfg(feature = "flora")]
mod flora;
mod fog;
mod gpu;
mod hydrology;
mod lightning;
mod plugin;
mod precipitation;
mod query;
mod terrain;
#[cfg(feature = "isomesh")]
mod voxel;
mod weathered;
mod wind;
pub use plugin::{ElementsCamera, ElementsPlugins, ElementsQuality, ElementsSystems};
pub use gpu::readback::ElementsReadback;
pub use query::{Environment, EnvironmentSnapshot};
pub use celestial::{
CelestialPlugin, CivilDate, GeoLocation, Moon, Sun, SunState, WorldClock, astro,
};
pub use climate::{
Climate, ClimatePlugin, LAPSE_RATE_C_PER_M, Season, SeasonChanged, SeasonState,
SurfaceWeathering, Weather, WeatherChanged, WeatherDirector, WeatherPreset,
};
pub use wind::{
MAX_GUSTS, WIND_CELL_M, WIND_ROUGHNESS_M, WindFieldParams, WindGust, WindPlugin, WindState,
log_wind_speed,
};
pub use precipitation::{
MAX_PRECIPITATION_BLOCKERS, PRECIPITATION_BOX_M, PrecipitationBlocker, PrecipitationPlugin,
PrecipitationState,
};
pub use fog::{
FogPlugin, GROUND_FOG_EXTENT, GROUND_FOG_TEXELS, GroundFog, KOSCHMIEDER, distance_fog_falloff,
extinction_for_visibility, fog_hue, volume_light_compensation,
};
pub use clouds::{CloudLayer, CloudPlugin, CloudQuality, CloudShadows, CloudWeatherMap};
pub use flash::LightningFlash;
pub use lightning::{
FLASH_LUMENS, LightningPlugin, LightningStrike, SPEED_OF_SOUND_MS, STRIKE_RADIUS_M,
StrikeLightning, Thunder,
};
pub use terrain::{
GroundExtension, GroundMaterial, GroundParams, ProceduralTerrain, Terrain, TerrainExtension,
TerrainGrid, TerrainMaterial, TerrainMaterialParams, TerrainPlugin, TerrainRender,
TerrainSnapshot, TerrainSource, TerrainState,
};
pub use dust::{DustPlugin, DustSettings, DustStats};
pub use hydrology::{
ErodeTerrain, ErosionSettings, HydrologyBoundary, HydrologyPlugin, HydrologySettings,
HydrologyStats, MAX_WATER_SOURCES, TerrainBaked, WaterExtension, WaterMaterial, WaterParams,
WaterPatch, WaterPlugin, WaterSettings, WaterSink, WaterSource, WaterState, evaporation_mm_h,
};
pub use cover::{CoverState, CoverStats, GroundCoverPlugin, SnowSettings, WetnessSettings};
#[cfg(feature = "flora")]
pub use flora::{ElementsFloraPlugin, FLORA_FULL_WIND_MS};
pub use weathered::{
ElementsGlobals, SNOW_ALBEDO, SNOW_ROUGHNESS, WeatheredExtension, WeatheredMaterial,
WeatheredPlugin,
};
#[cfg(feature = "isomesh")]
pub use voxel::{SnowyField, VoxelGround, VoxelGroundSystems, VoxelPlugin};