Sigil documentation
ReferenceRust referencesigil-core

sigil-core · nova

Source declarations, signatures and documentation for nova.

Source: sigil/node/sigil-core/src/nova.rs. SHA-256: 20cd0162dec9a2617713ca7b792bb54f68e506fa5ea7e12998e850c0a6861e6e.

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.

nova::NOVA_WORLD_PREFIX

pub const NOVA_WORLD_PREFIX: &str;

Source line: 8.

nova::NOVA_PARCEL_PREFIX

pub const NOVA_PARCEL_PREFIX: &str;

Source line: 9.

nova::NOVA_BUILDING_PREFIX

pub const NOVA_BUILDING_PREFIX: &str;

Source line: 10.

nova::NOVA_AVATAR_PREFIX

pub const NOVA_AVATAR_PREFIX: &str;

Source line: 11.

nova::NOVA_AUCTION_PREFIX

pub const NOVA_AUCTION_PREFIX: &str;

Source line: 12.

nova::deterministic_component_id

pub fn deterministic_component_id(prefix: &str, domain: &str, parts: &[String]) -> String;

Source line: 66.

nova::canonical_json_string

pub fn canonical_json_string(value: &serde_json::Value) -> String;

Source line: 70.

nova::deterministic_world_id

pub fn deterministic_world_id(creator_did: &str, name: &str, config: &serde_json::Value) -> String;

Source line: 76.

nova::deterministic_parcel_id

pub fn deterministic_parcel_id(
    world_id: &str,
    region_x: i32,
    region_z: i32,
    local_x: u16,
    local_z: u16,
) -> String;

Source line: 88.

nova::deterministic_building_id

pub fn deterministic_building_id(
    world_id: &str,
    parcel_id: &str,
    owner_did: &str,
    asset_did: &str,
) -> String;

Source line: 108.

nova::deterministic_avatar_id

pub fn deterministic_avatar_id(world_id: &str, owner_did: &str) -> String;

Source line: 126.

nova::deterministic_auction_id

pub fn deterministic_auction_id(
    world_id: &str,
    parcel_id: &str,
    seller_did: &str,
    opened_at_height: u64,
) -> String;

Source line: 134.

nova::NovaWorldConfig

#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct NovaWorldConfig {
pub world_id: String,
pub name: String,
pub gravity: f64,
pub time_scale: f64,
pub max_height: u32,
pub region_size: u16,
pub chunk_size: u16,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub terrain_seed_commitment: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub generation_profile: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub metadata_uri: Option<String>
}

Source line: 153.

nova::NovaParams

#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct NovaParams {
pub enabled: bool,
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub worlds: Vec<NovaWorldConfig>
}

Source line: 187.

nova::NovaParcelType

#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "snake_case")]
pub enum NovaParcelType {
    Residential,
    Commercial,
    Public,
    Wilderness,
    Reserved,
}

Source line: 195.

nova::NovaParcelType::parse

pub fn parse(value: &str) -> Option<Self>;

Source line: 204.

nova::NovaParcelCoord

#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
pub struct NovaParcelCoord {
pub world_id: String,
pub region_x: i32,
pub region_z: i32,
pub local_x: u16,
pub local_z: u16
}

Source line: 217.

nova::NovaParcelCoord::parcel_id

pub fn parcel_id(&self) -> String;

Source line: 226.

nova::NovaParcelRecord

#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct NovaParcelRecord {
pub parcel_id: String,
pub world_id: String,
pub region_x: i32,
pub region_z: i32,
pub local_x: u16,
pub local_z: u16,
pub owner_did: String,
pub parcel_type: NovaParcelType,
#[serde(default)]
pub metadata: serde_json::Value,
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub buildings: Vec<String>,
pub acquired_at_height: u64
}

Source line: 238.

nova::NovaBuildingRecord

#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
pub struct NovaBuildingRecord {
pub building_id: String,
pub world_id: String,
pub parcel_id: String,
pub owner_did: String,
pub asset_did: String,
pub polycount: u32,
pub placed_at_height: u64
}

Source line: 255.

nova::NovaAvatarRecord

#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct NovaAvatarRecord {
pub avatar_id: String,
pub world_id: String,
pub owner_did: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub avatar_asset_did: Option<String>,
pub position: [f64; 3],
pub rotation: [f32; 3],
pub animation_state: String,
pub presence: String,
pub last_updated_height: u64
}

Source line: 266.

nova::NovaAuctionStatus

#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "snake_case")]
pub enum NovaAuctionStatus {
    Open,
    Settled,
    Cancelled,
}

Source line: 281.

nova::NovaBidRecord

#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
pub struct NovaBidRecord {
pub bidder_did: String,
pub amount: u64,
pub height: u64
}

Source line: 288.

nova::NovaAuctionRecord

#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
pub struct NovaAuctionRecord {
pub auction_id: String,
pub world_id: String,
pub parcel_id: String,
pub seller_did: String,
pub reserve_amount: u64,
pub highest_bid: Option<NovaBidRecord>,
pub opened_at_height: u64,
pub closes_at_height: u64,
pub status: NovaAuctionStatus
}

Source line: 295.

nova::validate_world_config

pub fn validate_world_config(world: &NovaWorldConfig) -> Result<(), String>;

Source line: 307.

nova::validate_nova_params

pub fn validate_nova_params(params: &NovaParams) -> Result<(), String>;

Source line: 329.

nova::position_is_finite

pub fn position_is_finite(position: &[f64; 3]) -> bool;

Source line: 340.

nova::rotation_is_finite

pub fn rotation_is_finite(rotation: &[f32; 3]) -> bool;

Source line: 344.

On this page