Cargo Features

[dependencies]
reactor_serial = { version = "1.0.0", default-features = false, features = ["progress_tracking", "all_asset_loaders", "ron", "toml", "yaml", "json", "msgpack", "xml", "csv"] }
default = ron

All file formats are disabled by default: you will typically want to enable only the formats you need. Picking one per project is recommended.

progress_tracking

Support for iyes_progress

Enables progress_tracking of reactor_proto

all_asset_loaders = csv, json, msgpack, ron, toml, xml, yaml

Useful for testing

ron default all_asset_loaders?

Support for the RON file format
This is a good choice for most projects, as it is a simple, human-readable and plays nice with enums.

Enables ron, ron of reactor_proto

toml all_asset_loaders?

Support for the TOML file format
This is a straightforward choice for configuration files.

Enables toml, toml of reactor_proto

yaml all_asset_loaders?

Support for the YAML file format
This is a relatively common choice for configuration files,
and substantially more complex than TOML

Enables serde_yaml, yaml of reactor_proto

json all_asset_loaders?

Support for the JSON file format
JSON is nearly universal, but can be a bit verbose and nitpicky.
The key advantage is that it is well-supported by web technologies,
and has robust validation tooling.

Enables serde_json, json of reactor_proto

msgpack all_asset_loaders?

Support for the MessagePack file format
This is a binary format that is more compact than JSON, but not human-readable.

Enables rmp-serde, msgpack of reactor_proto

xml all_asset_loaders?

Support for the XML file format
XML is meaningfully more complex and less compact than JSON,
but comes with schemas and validation tools.

Enables quick-xml, xml of reactor_proto

csv all_asset_loaders?

Support for the CSV file format.
This is a great fit for tabular data, but notoriously flaky in edge cases due to the lack of a standard.
Good interop with spreadsheet software though!

Enables csv, csv of reactor_proto