[][src]Crate bevy_contrib_inspector

This crate provides the ability to annotate structs with a #[derive(Inspectable)], which opens a web interface (by default on port 5676) where you can visually edit the values of your struct live.

Your struct will then be available to you as a bevy resource.

Example

use bevy_contrib_inspector::Inspectable;

#[derive(Inspectable, Default)]
struct Data {
    should_render: bool,
    text: String,
    #[inspectable(min = 42.0, max = 100.0)]
    size: f32,
}

Add the InspectorPlugin to your App.

use bevy_contrib_inspector::InspectorPlugin;

fn main() {
    App::build()
        .add_default_plugins()
        .add_plugin(InspectorPlugin::<Data>::new())
        .add_system(your_system.system())
        // ...
        .run();
}

fn your_system(data: Res<Data>, mut query: Query<...>) { /* */ }

To automatically open the webbrowser when starting, run your program using BEVY_INSPECTOR_OPEN=1 cargo run.

Attributes

When deriving the Inspectable trait, you can set options such like the port the server will run on like so:

#[derive(Inspectable, Default)]
#[inspectable(port = 1234)]
struct Data {
   #[inspectable(a = 1, b = 2, c = 3)]
   field: Type,
}

The attribute on the struct will accept fields of the type InspectableOptions, while the attributes on the fields accept those of their <Type as AsHtml>::Options.

Modules

as_html

Attribute-Options for the AsHtml trait.

Structs

InspectableOptions

The InspectableOptions control parameters like the webserver's port.

InspectorPlugin

Traits

AsHtml

controls how a type is rendered in HTML

Inspectable

This trait describes how a struct should be rendered in HTML. It is meant to be derived, see the crate-level docs for that.

Derive Macros

AsHtml

derives AsHtml

Inspectable

derives Inspectable