codecraft 0.1.2

A minimalist 3D game engine built on parts of Bevy (ECS, color) with wgpu and winit: OpenPBR materials, clustered lighting, a yakui-drawn UI, audio and gamepad haptics; its binary maps any folder, and the symbols of its Rust files, as a 3D wall of boxes
Documentation
//! The [`SceneObject`] component: what an entity is, as far as the tools are concerned.
use bevy_ecs::prelude::*;

use super::category::Category;

/// What an entity is, and what to call this particular one.
#[derive(Component, Clone, Debug, PartialEq, Eq)]
pub struct SceneObject {
    pub name: String,
    /// A [`crate::ui::icons::path`] constant; must be one compiled in (`ui::icons::embedded`) or the row draws a blank.
    pub icon: &'static str,
    pub category: Category,
}

impl SceneObject {
    pub fn new(name: impl Into<String>, icon: &'static str, category: Category) -> Self {
        Self {
            name: name.into(),
            icon,
            category,
        }
    }
}