Conversation Tree Example

Crates.io Documentation Build Status Dependency Status

A modern dialogue executor and tree parser using YAML.

This crate is for building(ex), importing/exporting(ex), and walking(ex) dialogue trees.

convo promises an emphasis on documentation and user-friendliness, but also performance. All retrievals, searches, and side-effects to the conversation tree are in O(1) constant time.

Sections

Motivation

The intent is to safely import and export conversation trees, as well as walk complex conversations easily and efficiently. Conversations resemble a traditional dialogue tree model, and can be cyclic. YAML format makes creating dialogue trees intuitive and easy, even without a formal editor (but a GUI editor will come eventually).

State

convo is usable and in active development. Future releases will follow SemVer compatibility.

Using convo

The easiest way to use convo is by adding the lone dependency to your Cargo.toml file:

toml convo = "0.1.0"

Getting Started

Terminology

Examples

Check out these important examples: * Building a conversation Tree imperatively * Importing/Exporting *.convo.yml files * Walking a conversation Tree

Formatting Rules

For specific rules and formatting information, please check FORMATTING.md

Issues

Don't hesitate to file an issue or contact @simbleau by e-mail or @ThomasHoutart by e-mail.

Contributing

I encourage all contributions by pull request. Please check the issues first if you'd like to help.

The Rust code of conduct applies.

Help needed

License

This project is dual-licensed under both Apache 2.0 and MIT licenses.