Skip to content

Arcweave JSON ​

The Arcweave JSON is shallow and fairly easy to understand.

When you export an Arcweave project as JSON, the resulting file contains a complete representation of your project's structure and content.

✅ You can use the Arcweave JSON when integrating with game engines or import it back into an Arcweave workspace.

ℹ️ You can import Arcweave JSON (.json) into a Basic, Pro, or Team workspace if you have the Import projects permission and the import fits the workspace's project and item limits. Team workspaces can also use the Import project endpoint of the REST API. Importing native backup files (.arcw) requires a Pro or Team workspace.

⚠️ An import creates a new project without media. Assets, element and component covers, element audio, and Asset List attribute values are not imported; upload and attach them again in the new project. Every item ID (object key) in an imported JSON file must be a UUID (version 4).

The REST API JSON export returns the same format: single-language JSON by default, or multi-language JSON with allLocales=true. It never includes coordinates.

Two JSON formats ​

Arcweave JSON comes in two possible versions, depending on whether the export includes multiple languages or not (see Localization). Specifically:

Single-language JSON ​

The exported JSON file is of the single-language JSON format when either of the following is true:

  • The workspace doesn't have Localization features. The export contains the project's main language.
  • The workspace has Localization features, but Current language or Select language is chosen during JSON export.

In the single-language JSON:

  • Element title and element content data are nested in the elements object at the following paths:
    • /elements/{elementId}/title
    • /elements/{elementId}/content
  • Label content data are nested in the connections object at /connections/{connectionId}/label
  • Component name data are nested in the components object at /components/{componentId}/name. The root of the components folder tree is named Root.
  • The contents object and the locales array are omitted.
  • Text that has no translation in the exported language is null.
Click to expand extract of single-language JSON example
json
{
  "elements": {
    "188e6385-85e2-496b-82ac-a81696e7bcab": {
      "content": "<p>You reach a wooden door. In front of you stands a strange man dressed as a medieval crusader.<\/p>",
      "title": "<p>The <span class=\"mention-component mention\" data-id=\"647349ca-9ebb-4d5f-b81e-500761ec1c5a\" data-label=\"Crusader\" data-type=\"component\">Crusader<\/span><\/p>"
    }
  }
}

Multi-language JSON ​

The exported JSON file is of the multi-language JSON format when both of the following are true:

ℹ️ Selecting All languages during export will produce a multi-language JSON file, even if the project has no more than one language.

In the multi-language JSON, a contents object is included, nesting the contents of all translatable items in all languages. Specifically:

  • Element title and element content data are nested in the contents object, at the following paths:
    • /contents/{itemId}/title/{languageIsoCode}/text
    • /contents/{itemId}/content/{languageIsoCode}/text
  • Label content data are nested in the contents object at /contents/{itemId}/label/{languageIsoCode}/text
  • Component name data are nested in the contents object at /contents/{itemId}/name/{languageIsoCode}/text
  • Items in the elements, connections, and components objects don't include their title, content, label, or name. To find an item's text, look up the item's ID in contents.
  • A locales array lists the project's languages.

Rich text and Arcscript ​

Element titles and content, connection labels, note content, and Rich Text Field attribute values are HTML strings:

  • Mentions appear as <span> tags with the mention class. Their data-id and data-type attributes identify the mentioned item.
  • Arcscript segments in element content and labels appear as <pre><code>…</code></pre> blocks. The Arcscript interpreters accept this HTML as input.
  • Branch conditions store their Arcscript expression without the <pre><code> wrapper.

In single-language JSON, element content and connection labels are simplified: Arcweave removes style attributes (such as indentation) from paragraphs, block quotes, and code blocks, and the data-id, spellcheck, and class attributes from code blocks. Element titles and the texts in the multi-language contents object keep these attributes, as in the complete example below.

JSON structure reference ​

This section explains how each major part and its properties are organized within the JSON file.

All JSON extracts used from here on are of the multi-language format.

Properties marked as optional below are omitted when they don't apply to an item.

Project-level ​

At the root level, the JSON includes several top-level properties:

  • name: The project's title
  • startingElement: The ID of the element where your story begins; null if none
  • cover: An object containing the project's cover info; null if the project has no cover
    • file: The cover image's file name, including its extension. For an uploaded cover, Arcweave generates this name. When you export with Include assets, the .zip file's cover folder contains the image under this name.
    • type: cover-image for a cover you uploaded, or template-image for a cover provided by a project template
Click to expand extract of JSON example
json
{
  "name": "Game Engine Example",
  "startingElement": null,
  "cover": {
    "file": "game-engine-cover.png",
    "type": "template-image"
  }
}

Boards ​

The boards object contains references to all boards and board folders of the project by their ID and it includes the following properties:

  • A folder (including the Root): Identified by having a children array that references other board and folder IDs. The Root folder is distinguished by a root: true property and is named Root.
  • A board: Has a custom ID and arrays referencing the IDs of items owned by or placed on that board:
    • customId: The stable, editable ID used as an Arcscript variable scope
    • attributes: Array of attribute IDs owned by the board (optional)
    • notes: Array of note IDs
    • elements: Array of element IDs
    • branches: Array of branch IDs
    • jumpers: Array of jumper IDs
    • connections: Array of connection IDs

All boards and folders have a name property identifying them.

Click to expand extract of JSON example
json
"boards": {
    "733b1cc4-6d51-4ad6-9fba-444b4f2d98f3": {
      "name": "Dialogues",
      "children": ["ef8116b9-c38d-473d-9c0a-600bc37a010d"]
    },
    "2ad15ff6-f2ba-4f1d-9d9d-68938c683d7e": {
      "name": "Root",
      "root": true,
      "children": ["733b1cc4-6d51-4ad6-9fba-444b4f2d98f3"]
    },
    "ef8116b9-c38d-473d-9c0a-600bc37a010d": {
      "name": "Wanda Dialogue",
      "customId": "wanda_dialogue",
      "attributes": ["6b00c0d0-2e3e-4c70-8629-825faac22be3"],
      "notes": ["d974242a-a65d-4bd6-8670-24c6b02a487f"],
      "jumpers": ["28e3009a-e164-4679-92c3-977615b1eb4b"],
      "branches": ["0d845415-33d5-4486-9514-32b88e17e6b2"],
      "elements": ["5265ceac-f13f-47fc-a02c-6eda7eea6b90"],
      "connections": [
        "8a89cabd-7542-48db-b501-3c0019145989",
        "a2e45faf-cfea-44c1-b64c-fa8b99bf2bfd"
      ]
    }
  },

Notes ​

The notes object contains references to all notes of the project by their ID and it includes the following properties:

Click to expand extract of JSON example
json
"notes": {
    "d974242a-a65d-4bd6-8670-24c6b02a487f": {
      "theme": "cyan",
      "content": "<p>We've given dialogue starting elements a custom element attribute.<\/p>"
    }
  },

Elements ​

The elements object stores references to all elements of the project by their ID and it includes the following properties:

  • theme: The element's color theme (e.g., cyan, moss)
  • outputs: Array of connection IDs originating from this element
  • attributes: Array of custom attribute IDs attached to this element (optional)
  • components: Array of component IDs attached to this element
  • assets: The element's cover and audio attachments (optional):
    • cover: An object whose type is one of the following:
      • image or template-image: An image asset, referenced by its id
      • video or template-video: A video asset, referenced by its id, with optional playback settings mode (once, loop, or stop), autoplay, showOptions, and showControls
      • icon: An icon from the icon library, identified by file
      • youtube: A YouTube embed, with its url and optional autoplay and showControls settings
    • audio: Array of attached audio assets. Each entry has its own id, the audio asset's ID in asset, the playback mode (once, loop, or stop), and a delay in milliseconds.
  • linkedBoard: The ID of a board linked to this element (optional)
  • x and y: The board coordinates of the element (present only when Include coordinates is selected during export)
  • width and height: The dimensions of the element (present only when Include coordinates is selected during export)
  • autoHeight: Boolean indicating whether the element automatically adjusts its height to the size of its content (present only when Include coordinates is selected during export)

⚠️ The properties x, y, width, height, and autoHeight are included in the JSON only if Include coordinates is selected during JSON export.

Regarding element title and element content data, they are stored in the following ways:

Click to expand extract of multi-language JSON example
json
  "elements": {
    "5265ceac-f13f-47fc-a02c-6eda7eea6b90": {
      "theme": "cyan",
      "outputs": ["8a89cabd-7542-48db-b501-3c0019145989"],
      "attributes": ["11006864-6f66-4c2c-a3b7-d3fae8febc42"],
      "components": ["647349ca-9ebb-4d5f-b81e-500761ec1c5a"]
    }
  },

Jumpers ​

The jumpers object contains references to all jumpers of the project by their ID and it includes the following properties:

  • elementId: The ID of the target element this jumper points to
  • x and y: The board coordinates of the jumper (present only when Include coordinates is selected during export)
Click to expand extract of JSON example
json
"jumpers": {
    "28e3009a-e164-4679-92c3-977615b1eb4b": {
      "elementId": "5265ceac-f13f-47fc-a02c-6eda7eea6b90"
    }
  },

Connections ​

The connections object contains references to all connections of the project by their ID and it includes the following properties:

  • type: The visual style of the connection: Straight, Bezier, or Flowchart
  • theme: Color theme
  • sourceid: ID of the originating item
  • targetid: ID of the destination item
  • sourceType: Type of source item: elements or conditions
  • targetType: Type of target item: elements, branches, or jumpers
  • sourceFace and targetFace: The side of the source or target item that the connection attaches to: left, right, top, or bottom (optional)
  • labelLocation: The label's relative position along the connection, from 0 to 1 (optional)
  • labelWidth: The label's width (optional)

Regarding label content data, they are stored in the following way:

Click to expand extract of multi-language JSON example
json
"connections": {
    "8a89cabd-7542-48db-b501-3c0019145989": {
      "type": "Straight",
      "theme": "moss",
      "sourceid": "5265ceac-f13f-47fc-a02c-6eda7eea6b90",
      "targetid": "0d845415-33d5-4486-9514-32b88e17e6b2",
      "sourceType": "elements",
      "targetFace": "left",
      "targetType": "branches"
    },
    "a2e45faf-cfea-44c1-b64c-fa8b99bf2bfd": {
      "targetType": "jumpers",
      "type": "Straight",
      "targetid": "28e3009a-e164-4679-92c3-977615b1eb4b",
      "sourceid": "f8e12e95-43b7-4d42-9844-5402665b24ef",
      "theme": "moss",
      "sourceType": "conditions"
    }
  },

Branches ​

The branches object contains references to all branches of the project by their ID and it includes the following properties:

  • theme: Color theme
  • conditions: An object defining conditional expressions:
    • ifCondition: The ID of the branch's if condition
    • elseIfConditions: An array of the branch's elseif condition IDs, in order (optional)
    • elseCondition: The ID of the branch's else condition (optional)
  • x and y: The board coordinates of the branch (present only when Include coordinates is selected during export)
Click to expand extract of JSON example
json
"branches": {
    "0d845415-33d5-4486-9514-32b88e17e6b2": {
      "theme": "moss",
      "conditions": {
        "ifCondition": "f8e12e95-43b7-4d42-9844-5402665b24ef",
        "elseIfConditions": ["e3234e1e-74f9-45d5-be30-994bf5b3bc7c"],
        "elseCondition": "0d91c8a3-7704-423e-b3f6-046973eb15a7"
      }
    }
  },

Conditions ​

The conditions object contains references to all branch conditions of the project (see Branches) by their ID and it includes the following properties:

  • output: The ID of the condition's output connection
  • script: The Arcscript expression being evaluated to determine if the condition is met (null for else conditions). The script isn't wrapped in <pre><code> tags, and mentions, such as an element passed to visits(), appear as HTML <span> tags. To evaluate a script with an Arcscript interpreter, wrap it in <pre><code> and </code></pre> first.
Click to expand extract of JSON example
json
"conditions": {
    "f8e12e95-43b7-4d42-9844-5402665b24ef": {
      "output": "a2e45faf-cfea-44c1-b64c-fa8b99bf2bfd",
      "script": "have_potion"
    }
  },

Contents ​

The contents object is central to Arcweave's localization system. It contains the content of all translatable project items:

  • Elements: Title and content, referenced by the element ID
  • Components and component folders: Name, referenced by the component or folder ID. The Root of the components folder tree has no entry.
  • Labels: Content (property label), referenced by the label's connection ID.

⚠️ The single-language JSON format does not include the contents object. See Two JSON formats above, for the distinction between single-language and multi-language JSON.

Each entry of the contents object can include the following properties:

  • title: For element title only, organized by locale (e.g., en, es)
  • content: For element content only, organized by locale
  • name: For component name only, organized by locale
  • label: For connection label content only, organized by locale
  • _status: Translation status for each translated locale: untranslated, progress (In progress), review (For review), or final. The main language has no status. Component folders have no _status.

Each localized field contains a text property with the actual content. A missing locale or a null text means the item has no text in that language.

Click to expand extract of JSON example
json
"contents": {
    "5265ceac-f13f-47fc-a02c-6eda7eea6b90": {
      "title": {
        "en": {
          "text": "<p>Starting loop<\/p>"
        }
      },
      "content": {
        "en": {
          "text": "<p style=\"margin-left: 20px\">Help me, Stranger.... I am wounded...<\/p>"
        },
        "es": {
          "text": "<p style=\"margin-left: 20px\">\u00a1Ay\u00fadame, por favor! \u00a1Estoy herido!<\/p>"
        }
      },
      "_status": {
        "es": "review",
        "elf": "untranslated"
      }
    },
    "036db898-0cb9-4a29-b19d-3e8f3288d9a2": {
      "name": {
        "en": {
          "text": "Characters"
        }
      }
    },
    "647349ca-9ebb-4d5f-b81e-500761ec1c5a": {
      "name": {
        "en": {
          "text": "Wanda Elandor"
        }
      },
      "_status": {
        "es": "review",
        "elf": "untranslated"
      }
    },
    "8a89cabd-7542-48db-b501-3c0019145989": {
      "label": {
        "en": {
          "text": "<p>Give potion<\/p>"
        },
        "es": {
          "text": "<p>Dar poci\u00f3n<\/p>"
        }
      },
      "_status": {
        "es": "final",
        "elf": "untranslated"
      }
    }
  },

Components ​

The components object contains references to all components and component folders of the project by their ID and it includes the following properties:

  • root: Boolean indicating if this is the root of the components folder tree
  • children: Array of child component and folder IDs (applies to component folders only)
  • customId: Stable, editable ID used as an Arcscript variable scope (applies to components only)
  • assets: The component's cover (optional). Its cover object references an image asset by id (with an optional type of image or template-image), or an icon from the icon library by file (with type set to icon).
  • attributes: Array of custom attribute IDs (applies to components only)

Regarding component name data, they are stored in the following way:

Click to expand extract of JSON example
json
"components": {
    "036db898-0cb9-4a29-b19d-3e8f3288d9a2": {
      "children": [
        "3846c37c-07a1-4c04-98e2-26cd026295d1",
        "647349ca-9ebb-4d5f-b81e-500761ec1c5a"
      ]
    },
    "3846c37c-07a1-4c04-98e2-26cd026295d1": {
      "customId": "drake_miles",
      "assets": {
        "cover": {
          "id": "190e9e72-32e9-4c51-adbb-dbad343134fc"
        }
      },
      "attributes": ["22780ff3-64a2-40e8-a2e4-e753809c020a"]
    },
    "65005bda-15d0-41c5-867f-68c118829f08": {
      "root": true,
      "children": ["036db898-0cb9-4a29-b19d-3e8f3288d9a2"]
    }
  },

Attributes ​

The attributes object contains references to all attributes of the project by their ID and it includes the following properties:

  • cId: The ID of the parent board, component, or element
  • name: The attribute's name
  • customId: The Arcscript variable name for eligible board/component attributes (optional)
  • cType: The type of parent (boards, components, or elements)
  • value: An object containing:
    • type: The attribute's data type:
      • string: A String Field or Rich Text Field
      • boolean, integer, or float: A Boolean, Integer, or Float attribute (boards and components only)
      • component-list: A Component List
      • asset-list: An Asset List
    • data: The actual value. String Field values are plain text and Rich Text Field values are HTML; an empty string attribute is null. Component and Asset Lists contain arrays of component or asset IDs.
    • plain: For string values, true for a String Field. Rich Text Field values have plain set to false or omitted.

String attributes with plain: true, as well as Boolean, Integer, and Float attributes, become scoped variables only when both the attribute and its owning board/component have a customId. The attribute object's key remains its stable internal ID.

Click to expand extract of JSON example
json
"attributes": {
    "6b00c0d0-2e3e-4c70-8629-825faac22be3": {
      "cId": "ef8116b9-c38d-473d-9c0a-600bc37a010d",
      "cType": "boards",
      "name": "Message",
      "customId": "message",
      "value": {
        "data": "Welcome",
        "type": "string",
        "plain": true
      }
    },
    "11006864-6f66-4c2c-a3b7-d3fae8febc42": {
      "cId": "5265ceac-f13f-47fc-a02c-6eda7eea6b90",
      "name": "tag",
      "cType": "elements",
      "value": {
        "data": "dialogue_start",
        "type": "string",
        "plain": true
      }
    },
    "22780ff3-64a2-40e8-a2e4-e753809c020a": {
      "cId": "3846c37c-07a1-4c04-98e2-26cd026295d1",
      "name": "obj_id",
      "customId": "obj_id",
      "cType": "components",
      "value": {
        "data": "DRAKE",
        "type": "string",
        "plain": true
      }
    }
  },

Assets ​

The assets object contains references to all assets and asset folders of the project by their ID and it includes the following properties:

  • name: The asset's name followed by its file extension, such as player.png; for asset folders, the folder name. The Root folder has no name.
  • type: The asset type; one of the following:
    • image: Image asset uploaded by the user
    • audio: Audio asset uploaded by the user
    • video: Video asset uploaded by the user
    • template-image: Image asset instantiated during project template recreation
    • template-audio: Audio asset instantiated during project template recreation
    • template-video: Video asset instantiated during project template recreation
  • volume: For audio and video assets, the playback volume from 0 to 1 (optional)
  • root: Boolean indicating if this is the root of the assets folder tree
  • children: Array of asset and folder IDs (applies to asset folders only)

ℹ️ The JSON references assets by ID and name only; it doesn't include the files. To download the files, export with Include assets. In the .zip file, the assets folder recreates the project's folder structure and names each file after its asset name.

Click to expand extract of JSON example
json
"assets": {
    "190e9e72-32e9-4c51-adbb-dbad343134fc": {
      "name": "player.png",
      "type": "template-image"
    },
    "647d0495-341f-42b2-8788-b47dace22bf8": {
      "root": true,
      "children": [
        "4de16200-4175-4aff-b753-3d40ff849289",
        "190e9e72-32e9-4c51-adbb-dbad343134fc",
        "fd70f4a4-578f-442f-9e5c-78872289818f"
      ]
    }
  },

Variables ​

The variables object contains project-level global variables by their ID. Board and component variables are stored in the attributes object instead, using String values with plain: true, or Boolean, Integer, or Float values.

  • name: The variable name
  • type: The variable data type: string, integer, float, or boolean
  • value: The variable's initial value
  • cType: global for a global variable
  • root: true for the root entry, which lists the global variables instead of defining one
  • children: Array of the global variable IDs (applies to the root entry only)
Click to expand extract of JSON example
json
"variables": {
    "6e25dd6b-e976-4a80-afc5-5ce2cbcc8228": {
      "name": "have_potion",
      "type": "boolean",
      "value": false,
      "cType": "global"
    },
    "747d0495-341f-42b2-8788-b47dace22bf8": {
      "root": true,
      "children": [
        "990d6321-43cb-430b-84bd-6b48c574c489",
        "6e25dd6b-e976-4a80-afc5-5ce2cbcc8228"
      ]
    },
    "990d6321-43cb-430b-84bd-6b48c574c489": {
      "name": "healer_health",
      "type": "integer",
      "value": 50,
      "cType": "global"
    }
  },

Locales ​

The locales array defines available languages used by Arcweave's localization features. It is included only in multi-language JSON. The included properties are:

  • name: The language name
  • iso: The ISO language code (e.g., en, es)
  • base: The language set as the one used to translate from (null for the main language)

Translation content is distributed throughout the contents object, where each localizable item contains nested objects for each locale, along with a _status object tracking translation progress.

Click to expand extract of JSON example
json
"locales": [
    {
      "name": "English",
      "iso": "en",
      "base": null
    },
    {
      "name": "Spanish",
      "iso": "es",
      "base": "en"
    }
  ]

Complete example ​

To illustrate the structure of Arcweave's JSON format, the following is a complete .json file exported from a simplified version of the Game Engine Example project template, with All languages and Include coordinates selected.

Click to expand example JSON
json
{
  "startingElement": "ddc209cc-7832-4ff6-ae1f-4eea592d07d4",
  "boards": {
    "1c11fa2a-f76c-4be7-aac4-6bf92a63240f": {
      "name": "Dialogue",
      "customId": "dialogue",
      "notes": ["034133c4-42d2-45af-9db6-351eadfd5a1e"],
      "jumpers": ["49be178c-30a9-4160-b065-1a72e3626a65"],
      "branches": ["bce80b17-0165-41a2-a29d-e814f6e9f110"],
      "elements": [
        "540d5fc7-aa78-4b1a-8c11-bc2d4dc24ba9",
        "ddc209cc-7832-4ff6-ae1f-4eea592d07d4",
        "d852a577-bd1f-44cf-8187-77a86f97baef",
        "3eb1ee28-19fe-4e1f-b71b-07ec622e8fbc"
      ],
      "connections": [
        "57572c19-ca11-4223-bdb7-718971ef7951",
        "90872a7c-0f63-472b-8330-a6b14d824aeb",
        "9b1224a4-5546-4f81-96c7-a1865c618291",
        "0879ddb5-e1a2-4b95-a28c-d4df8df845e9",
        "0828bb7f-3a2b-4121-bff6-affe5c77d55d",
        "4a9530d7-9b4e-48c8-b9a7-4682db61647a"
      ]
    },
    "2ad15ff6-f2ba-4f1d-9d9d-68938c683d7e": {
      "name": "Root",
      "root": true,
      "children": ["1c11fa2a-f76c-4be7-aac4-6bf92a63240f"]
    }
  },
  "notes": {
    "034133c4-42d2-45af-9db6-351eadfd5a1e": {
      "x": 10180,
      "y": 10540,
      "theme": "cyan",
      "width": 301,
      "height": 106,
      "content": "<p>We've given dialogue starting elements a custom element attribute:<\/p><p><strong>tag: dialogue_start<\/strong><\/p>",
      "autoHeight": true
    }
  },
  "elements": {
    "3eb1ee28-19fe-4e1f-b71b-07ec622e8fbc": {
      "width": 301,
      "y": 10744,
      "x": 11128,
      "components": ["3846c37c-07a1-4c04-98e2-26cd026295d1"],
      "height": 185,
      "autoHeight": true,
      "theme": "moss",
      "outputs": ["4a9530d7-9b4e-48c8-b9a7-4682db61647a"]
    },
    "ddc209cc-7832-4ff6-ae1f-4eea592d07d4": {
      "x": 10055,
      "y": 10727,
      "theme": "cyan",
      "width": 294,
      "height": 121,
      "outputs": ["0879ddb5-e1a2-4b95-a28c-d4df8df845e9"],
      "attributes": ["955b9b0d-372a-45d9-a68f-33ddfebf2bf6"],
      "autoHeight": true,
      "components": []
    },
    "540d5fc7-aa78-4b1a-8c11-bc2d4dc24ba9": {
      "x": 11120,
      "y": 10340,
      "theme": "moss",
      "width": 301,
      "height": 185,
      "outputs": ["90872a7c-0f63-472b-8330-a6b14d824aeb"],
      "autoHeight": true,
      "components": ["3846c37c-07a1-4c04-98e2-26cd026295d1"]
    },
    "d852a577-bd1f-44cf-8187-77a86f97baef": {
      "x": 11607,
      "y": 10318,
      "theme": "moss",
      "width": 301,
      "height": 253,
      "outputs": ["9b1224a4-5546-4f81-96c7-a1865c618291"],
      "attributes": ["45a15656-47e5-463a-a3ed-c508965e6010"],
      "autoHeight": true,
      "components": ["82820a96-708d-4a05-b2aa-21e8d582d5de"]
    }
  },
  "jumpers": {
    "49be178c-30a9-4160-b065-1a72e3626a65": {
      "x": 12340,
      "y": 10820,
      "elementId": "ddc209cc-7832-4ff6-ae1f-4eea592d07d4"
    }
  },
  "connections": {
    "4a9530d7-9b4e-48c8-b9a7-4682db61647a": {
      "targetType": "jumpers",
      "type": "Bezier",
      "targetid": "49be178c-30a9-4160-b065-1a72e3626a65",
      "sourceType": "elements",
      "sourceid": "3eb1ee28-19fe-4e1f-b71b-07ec622e8fbc",
      "theme": "default"
    },
    "0828bb7f-3a2b-4121-bff6-affe5c77d55d": {
      "targetType": "elements",
      "type": "Bezier",
      "targetid": "3eb1ee28-19fe-4e1f-b71b-07ec622e8fbc",
      "sourceType": "conditions",
      "sourceid": "d24a6cbe-85fb-4059-8867-fa8ba0af6aa0",
      "theme": "default",
      "labelLocation": 0.5
    },
    "0879ddb5-e1a2-4b95-a28c-d4df8df845e9": {
      "type": "Straight",
      "theme": "default",
      "sourceid": "ddc209cc-7832-4ff6-ae1f-4eea592d07d4",
      "targetid": "bce80b17-0165-41a2-a29d-e814f6e9f110",
      "sourceType": "elements",
      "targetType": "branches"
    },
    "9b1224a4-5546-4f81-96c7-a1865c618291": {
      "type": "Straight",
      "theme": "moss",
      "sourceid": "d852a577-bd1f-44cf-8187-77a86f97baef",
      "targetid": "49be178c-30a9-4160-b065-1a72e3626a65",
      "sourceType": "elements",
      "targetType": "jumpers"
    },
    "90872a7c-0f63-472b-8330-a6b14d824aeb": {
      "type": "Straight",
      "theme": "moss",
      "sourceid": "540d5fc7-aa78-4b1a-8c11-bc2d4dc24ba9",
      "targetid": "d852a577-bd1f-44cf-8187-77a86f97baef",
      "sourceType": "elements",
      "targetFace": "left",
      "targetType": "elements"
    },
    "57572c19-ca11-4223-bdb7-718971ef7951": {
      "type": "Straight",
      "theme": "moss",
      "sourceid": "66acc3a7-454a-43db-a923-1b0d3cb17805",
      "targetid": "540d5fc7-aa78-4b1a-8c11-bc2d4dc24ba9",
      "sourceType": "conditions",
      "targetFace": "left",
      "targetType": "elements"
    }
  },
  "branches": {
    "bce80b17-0165-41a2-a29d-e814f6e9f110": {
      "x": 10580,
      "y": 10740,
      "theme": "default",
      "conditions": {
        "ifCondition": "66acc3a7-454a-43db-a923-1b0d3cb17805",
        "elseCondition": "d24a6cbe-85fb-4059-8867-fa8ba0af6aa0"
      }
    }
  },
  "contents": {
    "82820a96-708d-4a05-b2aa-21e8d582d5de": {
      "name": {
        "en": {
          "text": "Healer"
        },
        "it": {
          "text": "Guaritore"
        }
      },
      "_status": {
        "it": "final"
      }
    },
    "540d5fc7-aa78-4b1a-8c11-bc2d4dc24ba9": {
      "title": {
        "en": {
          "text": "<p>Ask for help (successfully)<\/p>"
        },
        "it": {
          "text": "<p>Chiedere aiuto (con successo)<\/p>"
        }
      },
      "content": {
        "en": {
          "text": "<p>Someone's hurt! Can you help?<\/p>"
        },
        "it": {
          "text": "<p>Qualcuno \u00e8 ferito! Puoi aiutare?<\/p>"
        }
      },
      "_status": {
        "it": "final"
      }
    },
    "036db898-0cb9-4a29-b19d-3e8f3288d9a2": {
      "name": {
        "en": {
          "text": "Characters"
        }
      }
    },
    "3eb1ee28-19fe-4e1f-b71b-07ec622e8fbc": {
      "content": {
        "en": {
          "text": "<p>Oops, wrong turn. Bye!<\/p>"
        },
        "it": {
          "text": "<p>Ops, svolta sbagliata. Ciao!<\/p>"
        }
      },
      "title": {
        "en": {
          "text": "<p>Bye now<\/p>"
        },
        "it": {
          "text": "<p>Ciao<\/p>"
        }
      },
      "_status": {
        "it": "final"
      }
    },
    "9b1224a4-5546-4f81-96c7-a1865c618291": {
      "label": {
        "en": {
          "text": "<p>[Back]<\/p>"
        },
        "it": {
          "text": "<p>[Indietro]<\/p>"
        }
      },
      "_status": {
        "it": "final"
      }
    },
    "3846c37c-07a1-4c04-98e2-26cd026295d1": {
      "name": {
        "en": {
          "text": "Drake Miles"
        },
        "it": {
          "text": "Drake Miles"
        }
      },
      "_status": {
        "it": "final"
      }
    },
    "57572c19-ca11-4223-bdb7-718971ef7951": {
      "label": {
        "en": {
          "text": "<p>Ask for help<\/p>"
        },
        "it": {
          "text": "<p>Chiedi aiuto<\/p>"
        }
      },
      "_status": {
        "it": "final"
      }
    },
    "ddc209cc-7832-4ff6-ae1f-4eea592d07d4": {
      "title": {
        "en": {
          "text": "<p>Start<\/p>"
        },
        "it": {
          "text": "<p>Inizio<\/p>"
        }
      },
      "content": {
        "en": {
          "text": "<p>An old man is standing by a stone cottage.<\/p>"
        },
        "it": {
          "text": "<p>Un vecchio \u00e8 in piedi accanto a una casetta di pietra.<\/p>"
        }
      },
      "_status": {
        "it": "final"
      }
    },
    "d852a577-bd1f-44cf-8187-77a86f97baef": {
      "title": {
        "en": {
          "text": "<p>Get potion<\/p>"
        },
        "it": {
          "text": "<p>Prendi la pozione<\/p>"
        }
      },
      "content": {
        "en": {
          "text": "<pre data-id=\"de116a8d-1ef6-4150-a60e-42bcbd2b9016\" spellcheck=\"false\"><code class=\"language-arcscript\">have_potion = true<\/code><\/pre><p>Oh my! But of course! Here, take this <strong>healing potion<\/strong>.<\/p>"
        },
        "it": {
          "text": "<pre data-id=\"de116a8d-1ef6-4150-a60e-42bcbd2b9016\" spellcheck=\"false\"><code class=\"language-arcscript\">have_potion = true<\/code><\/pre><p>Oh mio Dio! Ma ovviamente! Ecco, prendi questa pozione curativa.<\/p>"
        }
      },
      "_status": {
        "it": "final"
      }
    }
  },
  "components": {
    "036db898-0cb9-4a29-b19d-3e8f3288d9a2": {
      "children": [
        "3846c37c-07a1-4c04-98e2-26cd026295d1",
        "82820a96-708d-4a05-b2aa-21e8d582d5de"
      ]
    },
    "3846c37c-07a1-4c04-98e2-26cd026295d1": {
      "customId": "drake_miles",
      "assets": {
        "cover": {
          "id": "190e9e72-32e9-4c51-adbb-dbad343134fc"
        }
      },
      "attributes": [
        "9d863621-49d6-4f34-a893-20dd24645345",
        "5f504b6a-8dfd-4a32-b1b2-e45cb1772e8a",
        "22780ff3-64a2-40e8-a2e4-e753809c020a"
      ]
    },
    "82820a96-708d-4a05-b2aa-21e8d582d5de": {
      "customId": "healer",
      "assets": {
        "cover": {
          "id": "4de16200-4175-4aff-b753-3d40ff849289"
        }
      },
      "attributes": [
        "b36b6cc2-7dab-4582-b420-7e470ceb90d4",
        "96cefbf8-2c24-424c-9538-3533e52d38c6",
        "5efdbbc2-5a4d-4fb9-bb9b-994e1b4bb35c"
      ]
    },
    "65005bda-15d0-41c5-867f-68c118829f08": {
      "root": true,
      "children": ["036db898-0cb9-4a29-b19d-3e8f3288d9a2"]
    }
  },
  "attributes": {
    "5f504b6a-8dfd-4a32-b1b2-e45cb1772e8a": {
      "cId": "3846c37c-07a1-4c04-98e2-26cd026295d1",
      "name": "Race",
      "customId": "race",
      "cType": "components",
      "value": {
        "data": "Human",
        "type": "string",
        "plain": true
      }
    },
    "b36b6cc2-7dab-4582-b420-7e470ceb90d4": {
      "cId": "82820a96-708d-4a05-b2aa-21e8d582d5de",
      "name": "Color",
      "customId": "color",
      "cType": "components",
      "value": {
        "data": "Red",
        "type": "string",
        "plain": true
      }
    },
    "22780ff3-64a2-40e8-a2e4-e753809c020a": {
      "cId": "3846c37c-07a1-4c04-98e2-26cd026295d1",
      "name": "obj_id",
      "customId": "obj_id",
      "cType": "components",
      "value": {
        "data": "DRAKE",
        "type": "string",
        "plain": true
      }
    },
    "96cefbf8-2c24-424c-9538-3533e52d38c6": {
      "cId": "82820a96-708d-4a05-b2aa-21e8d582d5de",
      "name": "Race",
      "customId": "race",
      "cType": "components",
      "value": {
        "data": "Human",
        "type": "string",
        "plain": true
      }
    },
    "45a15656-47e5-463a-a3ed-c508965e6010": {
      "cId": "d852a577-bd1f-44cf-8187-77a86f97baef",
      "name": "tag",
      "cType": "elements",
      "value": {
        "data": "dialogue_end",
        "type": "string",
        "plain": true
      }
    },
    "9d863621-49d6-4f34-a893-20dd24645345": {
      "cId": "3846c37c-07a1-4c04-98e2-26cd026295d1",
      "name": "Color",
      "customId": "color",
      "cType": "components",
      "value": {
        "data": "Brown",
        "type": "string",
        "plain": true
      }
    },
    "5efdbbc2-5a4d-4fb9-bb9b-994e1b4bb35c": {
      "cId": "82820a96-708d-4a05-b2aa-21e8d582d5de",
      "name": "obj_id",
      "customId": "obj_id",
      "cType": "components",
      "value": {
        "data": "HEALER",
        "type": "string",
        "plain": true
      }
    },
    "955b9b0d-372a-45d9-a68f-33ddfebf2bf6": {
      "cId": "ddc209cc-7832-4ff6-ae1f-4eea592d07d4",
      "name": "tag",
      "cType": "elements",
      "value": {
        "data": "dialogue_start",
        "type": "string",
        "plain": true
      }
    }
  },
  "assets": {
    "190e9e72-32e9-4c51-adbb-dbad343134fc": {
      "name": "player.png",
      "type": "template-image"
    },
    "4de16200-4175-4aff-b753-3d40ff849289": {
      "name": "healer.png",
      "type": "template-image"
    },
    "647d0495-341f-42b2-8788-b47dace22bf8": {
      "root": true,
      "children": [
        "4de16200-4175-4aff-b753-3d40ff849289",
        "190e9e72-32e9-4c51-adbb-dbad343134fc",
        "fd70f4a4-578f-442f-9e5c-78872289818f"
      ]
    },
    "fd70f4a4-578f-442f-9e5c-78872289818f": {
      "name": "wanda.png",
      "type": "template-image"
    }
  },
  "variables": {
    "6e25dd6b-e976-4a80-afc5-5ce2cbcc8228": {
      "name": "have_potion",
      "type": "boolean",
      "cType": "global",
      "value": false
    },
    "747d0495-341f-42b2-8788-b47dace22bf8": {
      "root": true,
      "children": ["6e25dd6b-e976-4a80-afc5-5ce2cbcc8228"]
    }
  },
  "conditions": {
    "d24a6cbe-85fb-4059-8867-fa8ba0af6aa0": {
      "output": "0828bb7f-3a2b-4121-bff6-affe5c77d55d",
      "script": null
    },
    "66acc3a7-454a-43db-a923-1b0d3cb17805": {
      "output": "57572c19-ca11-4223-bdb7-718971ef7951",
      "script": "not have_potion"
    }
  },
  "locales": [
    {
      "iso": "en",
      "base": null,
      "name": "English"
    },
    {
      "iso": "it",
      "name": "Italiano",
      "base": "en"
    }
  ],
  "name": "Game Engine Simplified",
  "cover": {
    "file": "game-engine-cover.png",
    "type": "template-image"
  }
}