zxt:dictionary_specification_draft
ZXT Dictionary Format Specification (Draft)
The goal of the Dictionary is to provide a common format (officially distributed as a JSON file?) for documentation of extension behaviour.
The cases are as follows:
- Debugging utilities - printing out data about a ZXT world's extensions
- Editors - allowing adding, editing and removing extensions in simple cases
The hierarchy is roughly as follows:
- owner (owner_id, name)
- extension (selector_id, name, description, is_draft, is_deprecated)
- flags (must/should/may/should not/must not, for each)
- data (list of data values; each data value has a type; “blob” means it's not a type from the spec; also name, description, perhaps some allowed_values facility)
- we need a way to specify conditional (if given data value = x, then some block of data values appears)
- we need a way to specify iteration (block repeats [given data value] times)
- let's focus on supporting the 90% cases - implementation can add special cases for particularly tricky extensions
It might be a good idea to allow custom fields to be added, in a “custom”: { … } block for each extension?
zxt/dictionary_specification_draft.txt · Last modified: 2021/08/08 09:31 by asie