webots-proto
Facade crate for working with Webots PROTO files.
Use this crate when you want one dependency that exposes:
- parsing via
Proto - template rendering via
ProtoExt::render() - validation via
ProtoExt::validate() EXTERNPROTOexpansion viaProtoResolver- typed R2025a nodes via
r2025a
Features
templateresolverschemavalidationr2025a
Default features enable the full façade.
Example
use ;
let proto: Proto = r#"#VRML_SIM R2025a utf8
PROTO Demo [] { Group {} }
"#
.parse?;
let rendered = proto.render?;
let diagnostics = proto.validate?;
assert!;
# Ok::
Use the companion crates directly if you only want one layer of functionality.