Blender_bevy_components_wor.../crates/bevy_registry_export
Mark Moissette 9cb9dda5d3
fix(bevy components): fix handling of unit/empty structs (#151)
* closes #133 
* fix(gltf_auto_export): corrected ron value for "spawnHere" components
* fix(bevy_components): fixed handling of empty/ unit structs
   * updated to/from prop_groups
   * updated tests/ expected files
   * bumped version
   * removed verbose "watching schema file for changes"
* fix(bevy_gltf_components): fixed issue of incorect handling of empty component values in non legacy mode:
   * aka: replacing empty component values (ron strings) with '()' should ONLY happen in legacy mode
   * even more aka: ron strings for component values should not be altered when not in legacy mode (provided ron
  strings should be valid)
* tests():
   * changed bevy_component tests to use testing/bevy_example as source for registry data
   * removed testing/bevy_registry_export, as it is redudant
   * related tweaks & cleanups
* chore(crates): bumped up versions because of breaking change
* chore(examples): updated registry export example to use up-to-date / fixed components data
* chore(bevy_gltf_components): added back warning about legacy mode, in a less spammy way
* docs(bevy_components): added notes about v0.3 breaking changes
2024-03-04 08:20:00 +01:00
..
src chore(): cleanup & simplification pass (#122) 2024-02-07 14:07:17 +01:00
Cargo.toml fix(bevy components): fix handling of unit/empty structs (#151) 2024-03-04 08:20:00 +01:00
LICENSE_APACHE.md feat(tools/bevy_blueprints): bevy plugin + blender addon for components UI to more easily create components (#70) 2024-02-05 23:01:19 +01:00
LICENSE_MIT.md feat(tools/bevy_blueprints): bevy plugin + blender addon for components UI to more easily create components (#70) 2024-02-05 23:01:19 +01:00
LICENSE.md feat(tools/bevy_blueprints): bevy plugin + blender addon for components UI to more easily create components (#70) 2024-02-05 23:01:19 +01:00
README.md fix(bevy components): fix handling of unit/empty structs (#151) 2024-03-04 08:20:00 +01:00

Crates.io Docs License Bevy tracking

bevy_registry_export

This plugin allows you to create a Json export of all your components/ registered types. Its main use case is as a backbone for the bevy_components Blender add-on, that allows you to add & edit components directly in Blender, using the actual type definitions from Bevy (and any of your custom types & components that you register in Bevy).

Usage

Here's a minimal usage example:

# Cargo.toml
[dependencies]
bevy="0.12"
bevy_registry_export = "0.2"
use bevy::prelude::*;
use bevy_registry_export::*;

fn main() {
    App::new()
        .add_plugins((
            DefaultPlugins,
            ExportRegistryPlugin::default() // will save your registry schema json file to assets/registry.json
        ))
        .run();
}

take a look at the example for more clarity

Installation

Add the following to your [dependencies] section in Cargo.toml:

bevy_registry_export = "0.2"

Or use cargo add:

cargo add bevy_registry_export

Setup

use bevy::prelude::*;
use bevy_registry_export::*;

fn main() {
    App::new()
        .add_plugins((
            DefaultPlugins
            ExportRegistryPlugin::default()
        ))
        .run();
}

you can also configure the output path

use bevy::prelude::*;
use bevy_registry_export::*;

fn main() {
    App::new()
        .add_plugins((
            DefaultPlugins
            ExportRegistryPlugin {
                save_path: "assets/registry.json".into(),
                ..Default::default()
            },
        ))
        .run();
}

Usage

  • The output file will be generated in the Startup schedule whenever you run your app.
  • Every time you compile & run your app, the output json file will be updated.

Examples

All examples are here:

the examples use bevy_gltf_blueprints with the legacy_mode set to FALSE as the new custom properties generated by the Blender add-on require newer/ non legacy logic.

Compatible Bevy versions

The main branch is compatible with the latest Bevy release, while the branch bevy_main tries to track the main branch of Bevy (PRs updating the tracked commit are welcome).

Compatibility of bevy_registry_export versions:

bevy_registry_export bevy bevy_components (Blender add-on)
0.2 0.12 0.3
0.1 0.12 0.1 -0.2
branch main 0.12 0.1
branch bevy_main main n/a

Contributors

Thanks to all the contributors helping out with this project ! Big kudos to you, contributions are always appreciated ! :) A big shout out to killercup, that did the bulk of the Bevy side code !

License

This crate, all its code, contents & assets is Dual-licensed under either of