Sigil documentation
ReferenceRust referencesigil-nova

sigil-nova · assets

Source declarations, signatures and documentation for assets.

Source: sigil/node/sigil-nova/src/assets.rs. SHA-256: 53990d5b199b86bd83e65645a0c7d361d29974513b75a4eb8b8a585957a29fa6.

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.

assets::MAX_ASSET_POLYCOUNT

Maximum polycount for a single asset.

pub const MAX_ASSET_POLYCOUNT: u32;

Source line: 15.

assets::MAX_ASSET_FILE_SIZE

Maximum file size for an asset (100 MB).

pub const MAX_ASSET_FILE_SIZE: u64;

Source line: 18.

assets::AssetId

Unique asset identifier.

#[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
pub struct AssetId(pub String);

Source line: 22.

assets::AssetType

Type of 3D asset.

#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
pub enum AssetType {
    GltfModel,
    Texture,
    Audio,
    Environment,
    AvatarTemplate,
    Furniture,
    Vehicle,
}

Source line: 26.

assets::ContentRating

Content rating for asset moderation.

#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
pub enum ContentRating {
    Safe,
    Moderate,
    Restricted,
}

Source line: 38.

assets::AssetMetadata

Metadata for a registered Nova asset.

#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct AssetMetadata {
pub id: AssetId,
pub asset_type: AssetType,
/// DID of this asset in the MARS registry.

pub mars_did: String,
pub polycount: Option<u32>,
pub lod_levels: Option<u8>,
pub bounding_box: Option<BoundingBox>,
pub file_size_bytes: u64,
pub format: String,
pub creator_did: String,
pub created_at: u64,
pub content_rating: ContentRating
}

Source line: 46.

assets::AssetRegistry

On-chain registry of Nova 3D assets.

#[derive(Debug, Clone, Default)]
pub struct AssetRegistry {

}

Source line: 63.

assets::AssetRegistry::new

Create an empty asset registry.

pub fn new() -> Self;

Source line: 69.

assets::AssetRegistry::register_asset

Register a new asset after validation.

pub fn register_asset(&mut self, metadata: AssetMetadata) -> Result<(), NovaError>;

Source line: 74.

assets::AssetRegistry::get_asset

Look up an asset by ID.

pub fn get_asset(&self, asset_id: &AssetId) -> Option<&AssetMetadata>;

Source line: 84.

assets::AssetRegistry::search_assets

Search assets by type, creator, and/or maximum polycount.

pub fn search_assets(
        &self,
        asset_type: Option<AssetType>,
        creator: Option<&str>,
        max_polycount: Option<u32>,
    ) -> Vec<&AssetMetadata>;

Source line: 89.

assets::AssetRegistry::deregister_asset

Deregister an asset, returning the removed metadata.

pub fn deregister_asset(&mut self, asset_id: &AssetId) -> Result<AssetMetadata, NovaError>;

Source line: 121.

assets::AssetRegistry::asset_count

Total number of registered assets.

pub fn asset_count(&self) -> usize;

Source line: 128.

assets::validate_asset

Validate asset metadata constraints.

pub fn validate_asset(metadata: &AssetMetadata) -> Result<(), NovaError>;

Source line: 134.

On this page