User Tools

Site Tools


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 11:31 by asie