sigil-nova · world
Source declarations, signatures and documentation for world.
Source: sigil/node/sigil-nova/src/world.rs. SHA-256: ddfe4c053287d0058f47f79d3dafe6379709db61d79498bfd5d57645a909643d.
This reference follows declared source modules, retains conditional attributes, and includes public declarations and implementation methods. Private-module re-exports and trait resolution require the compiler; this is a source reference, not a claim that every listed item is a root import. Function bodies and constant values are omitted.
world::WorldId
Unique world identifier.
#[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
pub struct WorldId(pub String);Source line: 14.
world::RegionCoord
A 256x256-block region coordinate (top-level spatial partition).
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
pub struct RegionCoord {
pub x: i32,
pub z: i32
}Source line: 18.
world::ChunkCoord
A 16x16x256-block chunk within a region.
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
pub struct ChunkCoord {
pub region: RegionCoord,
pub local_x: u8,
pub local_z: u8
}Source line: 25.
world::WorldPosition
A precise 3D position in the world.
#[derive(Debug, Clone, Copy, PartialEq, Serialize, Deserialize)]
pub struct WorldPosition {
pub x: f64,
pub y: f64,
pub z: f64
}Source line: 33.
world::WorldConfig
Configuration for a Nova world instance.
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct WorldConfig {
pub id: WorldId,
pub name: String,
/// Gravity multiplier (1.0 = Earth-like).
pub gravity: f32,
/// Time scale multiplier (1.0 = real-time).
pub time_scale: f32,
/// Maximum height in blocks.
pub max_height: u32,
/// Size of a region in blocks (default 256).
pub region_size: u32,
/// Size of a chunk in blocks (default 16).
pub chunk_size: u32
}Source line: 41.
world::WorldState
Runtime state of a Nova world.
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct WorldState {
pub config: WorldConfig,
pub active_regions: HashSet<RegionCoord>,
pub total_parcels: u64,
pub total_buildings: u64,
pub total_avatars: u64
}Source line: 58.
world::WorldConfig::new
Create a default world config with the given id and name.
pub fn new(id: WorldId, name: String) -> Self;Source line: 68.
world::WorldState::new
Create a new world state from a config.
pub fn new(config: WorldConfig) -> Self;Source line: 83.
world::position_to_chunk
Convert a precise world position to the chunk it falls within.
Uses the world's default chunk size (16) and region size (256).
pub fn position_to_chunk(pos: &WorldPosition) -> ChunkCoord;Source line: 97.
world::chunk_to_region
Extract the region coordinate from a chunk.
pub fn chunk_to_region(chunk: &ChunkCoord) -> RegionCoord;Source line: 133.
world::distance
Euclidean distance between two world positions.
pub fn distance(a: &WorldPosition, b: &WorldPosition) -> f64;Source line: 138.
world::is_valid_position
Check whether a position is valid within the given world config.
A position is valid if y is within [0, max_height].
pub fn is_valid_position(pos: &WorldPosition, config: &WorldConfig) -> Result<bool, NovaError>;Source line: 148.