# Venuss
> **Part of the [Celestial](https://celestial4498-prog.github.io/Celestial/) project.**
Venuss is a Rust Venus-system simulation core.
It computes state, evolves that state over time, and exposes simulation-ready data for downstream consumers. It is meant to sit behind endpoints, IPC, or another orchestrating runtime. It is not a UI crate, not a viewer, and not a frontend.
## Scope
Venuss currently ships as:
- a Cargo package named `venuss`
- a Rust library crate imported as `venuss`
- a runtime binary named `venuss`
The project combines scientific subsystems for:
- atmosphere
- biosphere
- geodata
- geology
- hydrology
- lighting
- physics
- rendering-oriented physical state
- satellites
- temporal systems
- terrain
The library exposes reusable domain modules. The binary assembles them into a continuously ticking Venus runtime.
## What This Crate Is For
Use Venuss when you need one of these:
- a Rust dependency for Venus-system simulation logic
- a runtime process that advances Venus state continuously
- a backend core behind REST, gRPC, WebSocket, CLI, or custom IPC endpoints
- an orchestrated Venus node inside a larger multi-body simulation system
- a downstream consumer of scientific primitives provided by sciforge
## What This Crate Will Not Do
Venuss does not provide:
- any UI
- any viewer
- any frontend
- any visualization layer
- any render window or presentation loop
- any bundled large datasets
- any hardcoded dependency on sibling repositories
## Key Physical Parameters
| Mass | 4.8675e24 kg |
| Mean radius | 6 051.8 km |
| Surface gravity | 8.87 m/s² |
| Atmosphere | 96.5 % CO₂, 93 bar surface pressure, 737 K surface temperature |
## Key Features
- Extreme greenhouse effect (737 K surface, +510 K above equilibrium)
- Retrograde rotation (−243.02 day sidereal, 116.75 day solar)
- Super-rotating atmosphere (100 m/s cloud-top winds, 4-day period)
- H₂SO₄ cloud deck (48–70 km altitude)
- Stagnant lid tectonics with episodic resurfacing (300–500 Myr)
- Active volcanism (Maat Mons, Idunn Mons)
- Paleo-ocean modeling (D/H ratio 150× Earth)
- Venera/Vega/Magellan/Akatsuki mission data
## Current Status
- version: `0.0.1`
- edition: `2024`
- license: `MIT`
- validation gates: `cargo fmt`, `cargo clippy`, `cargo test`
## Architecture
Venuss is split into domain modules plus a runtime binary.
| `atmosphere` | CO₂ greenhouse climate, super-rotation, H₂SO₄ cloud layers, polar vortex, surface winds |
| `biosphere` | hypothetical cloud-layer biosignature assessment, aerial microbe/photoautotroph models |
| `geodata` | planetocentric coordinates, Atalanta Planitia basins, global hypsometry, highland provinces |
| `geology` | venusquakes, chemical weathering at 737 K, Maxwell Montes, stagnant lid resurfacing, active volcanism |
| `hydrology` | paleo-ocean D/H constraints, ancient water loss, lava channels (Baltis Vallis 6 800 km) |
| `lighting` | retrograde day/night cycle, negligible axial tilt (2.64°), sub-solar point drift |
| `physics` | quasi-circular orbit (e = 0.0068, 224.7 d), retrograde rotation (−243.02 d), solar tidal locking, impacts |
| `rendering` | CO₂ Rayleigh scattering, H₂SO₄ clouds, surface haze and thermal glow, thick atmosphere volume rendering |
| `satellites` | no natural satellites; Venera/Vega/Magellan/Akatsuki/VERITAS/DAVINCI+ probes |
| `temporal` | 224.7-day year, 116.75-day solar day, J2000 epoch, encounter references |
| `terrain` | Magellan SAR altimetry DEM, LOD streaming, near-spherical mesh, radar backscatter texturing |
## Package Name, Library Name, Binary Name
- Cargo package name: `venuss`
- Rust library import path: `venuss`
- binary name: `venuss`
Dependency declaration:
```toml
[dependencies]
venuss = "0.0.1"
```
Rust import path:
```rust
use venuss::physics::orbit;
```
## Runtime Binary
The binary in src/main.rs is a long-running simulation process. It constructs a full Venus state object, advances simulation time continuously, and keeps running until externally stopped. It does not open a window, draw frames, or embed any visual dashboard.
## Why There Is a `rendering` Module
The `rendering` module provides physically meaningful data structures for CO₂ Rayleigh scattering, H₂SO₄ cloud layers, surface haze/thermal glow parameters, and thick atmosphere volume rendering uniforms. It does not make this crate a visual application.
## Examples
- `cargo run --example climate_sim`
- `cargo run --example earthquake_sim`
- `cargo run --example tidal_sim`
## Validation
```sh
cargo fmt --check
cargo clippy
cargo test
```
## sciforge Strategy
Venuss is intentionally downstream from sciforge. Venus-specific orchestration belongs here; reusable scientific primitives should move upstream into sciforge when appropriate.
## Related Project Files
- [CHANGELOG.md](ChangeLog.md): current implemented state
- [ComingSoon.md](ComingSoon.md): detailed roadmap and blocked items
- [LICENSE](LICENSE): MIT license text