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.