Sigil documentation
ReferenceRust referencesigil-nova

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.

On this page