Стандарт файла - Glucksistemi/TreeStory GitHub Wiki

Используется валидный JSON с расширением .tsjson. структура: словарь со следующими параметрами:

  • Name: название сценария
  • First_id: id стартового узла
  • Tsversion: версия формата. Изначально 1.0
  • Nodes: словарь со словарями. имя словаря служит идентификатором. Для каждого:
    • Type: тип выполнения ноды. Для версии 1.0 единственным валидным значением является User
    • Header: заголовок блока.
    • Version: инкрементируется при каждом изменении
    • Illustrations: мультимедийный контент ноды. Список словарей (может быть пустым). для каждого:
      • Type: тип контента. в версии 1.0 валидный вариант - image
      • url: ссылка на контент. Может хранить mediaUrl для добавления изображений внутрь кода страницы
      • Autoplay: признак, для аудио и видео
      • Preload: признак необходимости загрузки контента в момент запуска сценария
    • Text: текстовое описание
    • Choises: список словарей. Для каждого:
      • Version: инкрементируется при каждом изменении
      • Header: заголовок выбора
      • Illustrations: аналогично одноименному пункту узла.
      • Text: описание выбора
      • Main: признак (булево значение) основного процесса. Если отсутствует - считается как false
      • Goto: словарь:
        • Script: название сценария. Необязательный параметр. Если не заполнен либо заполнен значением self/false (в любых вариациях не проходящих проверку на истину) - считается ссылкой на текущий файл. в версии стандарта 1.0 поддерживаются только ссылки внутри документа
        • Node: id узла, к которому выполняется переход
Формат файлов впоследствии может быть расширен. Также, возможно, формат будет дополнен возможностью хранения данных в sqlite
⚠️ **GitHub.com Fallback** ⚠️