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
pub struct Property {
    pub label: &'static str,
    pub value: PropertyValue,
}

pub enum PropertyValue {
    Float {
        get: fn(EntityRef) -> Option<f32>,
        set: fn(&mut EntityWorldMut, f32),
    },

    Range {
        get: fn(EntityRef) -> Option<f32>,
        set: fn(&mut EntityWorldMut, f32),
        bounds: fn(EntityRef) -> Option<(f32, f32)>,

        precision: i32,
    },

    Bool {
        get: fn(EntityRef) -> Option<bool>,
        set: fn(&mut EntityWorldMut, bool),
    },

    Color {
        get: fn(EntityRef) -> Option<bevy::prelude::Color>,
        set: fn(&mut EntityWorldMut, bevy::prelude::Color),
    },

    Choice {
        current: fn(&World, Entity) -> Option<String>,
        options: fn(&World, Entity) -> Vec<String>,

        set: fn(&mut World, Entity, usize),
    },

    Info {
        get: fn(&World, Entity) -> Option<String>,
    },

    Text {
        get: fn(&World, Entity) -> Option<String>,

        set: fn(&mut World, Entity, String),
    },

    Action {
        run: fn(&mut World, Entity),
    },
}