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.