diff --git a/Storage-format.md b/Storage-format.md index d766b98..7ce4adc 100644 --- a/Storage-format.md +++ b/Storage-format.md @@ -1,3 +1,29 @@ +# Goals + +## Content + +Project files should include: + +* State snapshot +* Command history + +A full description of an item should contain enough information to create it, so the item description format we use in the state snapshot might be useful for the command history too. + +## Format + +We want a format which is: + +* Established +* Text-based +* Human-readable +* Lightweight + * For example, XML's syntax is too heavy +* Low line noise +* Represents floating-point values faithfully and readably + * A decimal format would be best + +# Formatting + ## Rust frameworks [Serde](https://serde.rs) is a very popular serialization framework for software written in Rust. It supports many [formats](https://serde.rs/#data-formats) out of the box. Here are the human-readable ones that are designed for hierarchical data and are supported for both serialization and deserialization: