#![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 paths;
mod plugin;
mod precipitation;
mod query;
mod rocks;
mod terrain;
mod trails;
#[cfg(feature = "isomesh")]
mod voxel;
mod waves;
mod weathered;
mod wind;
pub use plugin::{
ElementsCamera, ElementsFocus, ElementsPlugins, ElementsQuality, ElementsSystems,
ElementsUnits,
};
pub use gpu::readback::ElementsReadback;
pub use query::{Environment, EnvironmentSnapshot};
pub use celestial::{
CelestialPlugin, CelestialSettings, CivilDate, ElementsExposure, GeoLocation, Moon, Sun,
SunState, WorldClock, astro, light,
};
pub use climate::{
Climate, ClimateHistory, ClimatePlugin, ClimateSummary, DayConditions, FREEZING_C,
LAPSE_RATE_C_PER_M, Season, SeasonChanged, SeasonState, SnowSeason, SurfaceWeathering,
WET_DAY_MM, 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, PrecipitationLook,
PrecipitationPlugin, PrecipitationState,
};
pub use fog::{
CLEAR_AIR_EXTINCTION, CLEAR_VISIBILITY_M, FogPlugin, GROUND_FOG_EXTENT, GROUND_FOG_TEXELS,
GroundFog, KOSCHMIEDER, distance_fog_falloff, extinction_for_visibility, fog_hue,
orthographic_fog_falloff, orthographic_near_depth, sky_air_extinction,
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, GroundLayerTextures, GroundMaterial, GroundParams, ProceduralTerrain, Terrain,
TerrainExtension, TerrainExtensionKey, TerrainGrid, TerrainLook, TerrainMaterial,
TerrainMaterialParams, TerrainPlugin, TerrainRender, TerrainSnapshot, TerrainSource,
TerrainState, TerrainTextures,
};
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};
pub use trails::{Imprint, TrailGround, TrailSettings, TrailState, TrailsPlugin};
pub use paths::{Path, PathHit, PathKind, PathNetwork, PathState, PathSurface, PathsPlugin};
pub use waves::{WaterContact, WaveSettings, WaveState, WavesPlugin};
pub use rocks::{RockSettings, RockStats, RocksPlugin, ScatteredRock};
#[cfg(feature = "flora")]
pub use flora::{ElementsFloraPlugin, FLORA_FULL_WIND_MS};
pub use weathered::{
ELEMENTS_GLOBALS_BUFFER, ElementsGlobals, SNOW_ALBEDO, SNOW_ROUGHNESS, WeatheredExtension,
WeatheredMaterial, WeatheredPlugin,
};
#[cfg(feature = "isomesh")]
pub use voxel::{SnowyField, VoxelGround, VoxelGroundSystems, VoxelPlugin, VoxelSnow};