{
  "namespace": "jigsaw_editor",

  "horizontal_buffer": {
    "type": "panel",
    "size": [10, 0]
  },

  "vertical_buffer": {
    "type": "panel",
    "size": [0, 10]
  },

  "common_text_label": {
    "type": "label",
    "size": ["default", 10],
    "color": "$main_header_text_color",
    "layer": 1
  },

  "text_edit_box@common.text_edit_box": {
    "size": ["100%", 22],
    "max_length": 40
  },

  "help_icon": {
    "type": "image",
    "texture": "textures/ui/how_to_play_button_default_light",
    "anchor_from": "center",
    "anchor_to": "center",
    "size": [32, 16]
  },

  "toggle_with_label": {
    "type": "stack_panel",
    "orientation": "horizontal",
    "size": ["100%c", 18],
    "offset": [6, 0],
    "controls": [
      {
        "toggle@settings_common.option_toggle_control": {
          "size": [30, 16],
          "$toggle_name": "$toggle_name",
          "$toggle_binding_type": "global",
          "$toggle_state_binding_name": "$toggle_state_binding_name",
          "$option_binding_name": "$toggle_name"
        }
      },
      {
        "toggle_label_padding": {
          "type": "panel",
          "size": [2, "100%"]
        }
      },
      {
        "toggle_label_wrapper": {
          "type": "panel",
          "size": ["100%c", "100%"],
          "controls": [
            {
              "toggle_label@jigsaw_editor.common_text_label": {
                "text": "$toggle_label_text",
                "bindings": [
                  {
                    "binding_name": "$toggle_label_text"
                  },
                  {
                    "binding_name": "$toggle_label_enabled",
                    "binding_name_override": "#visible"
                  }
                ]
              }
            },
            {
              "toggle_label_disabled@jigsaw_editor.common_text_label": {
                "text": "$toggle_label_text",
                "color": "$light_button_locked_text_color",
                "bindings": [
                  {
                    "binding_name": "$toggle_label_text"
                  },
                  {
                    "binding_name": "$toggle_label_disabled",
                    "binding_name_override": "#visible"
                  }
                ]
              }
            }
          ]
        }
      }
    ]
  },

  "data_item_title_and_edit": {
    "type": "stack_panel",
    "size": ["100%", "100%c"],
    "controls": [
      {
        "data_title@jigsaw_editor.common_text_label": {
          "text": "$data_title"
        }
      },
      {
        "data_text_edit@jigsaw_editor.text_edit_box": {
          "$text_box_name": "$data_text_box_name",
          "$text_edit_box_content_binding_name": "$data_text_box_value"
        }
      }
    ]
  },

  "data_item_title_and_edit_fill@data_item_title_and_edit": {
    "size": ["fill", "16px"]
  },

  "data_item_title_and_toggle": {
    "type": "stack_panel",
    "size": ["100%", "100%c"],
    "controls": [
      {
        "data_title@jigsaw_editor.common_text_label": {
          "text": "$data_title"
        }
      },
      {
        "toggle@jigsaw_editor.toggle_with_label": {
          "anchor_from": "top_left",
          "anchor_to": "top_left",
          "$enabled": true,
          "$option_enabled_binding_name": "$option_enabled_binding_name",
          "$toggle_name": "$toggle_name",
          "$toggle_state_binding_name": "$toggle_state_binding_name",
          "$toggle_label_text": "$toggle_label_text",
          "$toggle_label_enabled": "$toggle_label_enabled",
          "$toggle_label_disabled": "$toggle_label_disabled"
        }
      }
    ]
  },

  "exit_buttons": {
    "type": "stack_panel",
    "orientation": "horizontal",
    "size": ["100% - 16px", "100% - 16px"],

    "controls": [
      {
        "done_button@common_buttons.light_text_button": {
          "size": ["fill", "100%"],
          "$button_text": "jigsaw.exit.done",
          "$pressed_button_name": "button.exit_done"
        }
      },
      {
        "buffer": {
          "type": "panel",
          "size": [2, 0]
        }
      },
      {
        "help_button@common_buttons.light_glyph_button": {
          "size": [24, 24],
          "$pressed_button_name": "button.help",
          "$button_content": "jigsaw_editor.help_icon"
        }
      }
    ]
  },

  "scrolling_panel_wrapper@common.dialog_background_hollow_4": {
    "size": ["100%", "100% - 72px"],
    "controls": [
      {
        "scrolling_panel@jigsaw_editor.scrolling_panel": {
          "size": ["100% - 16px", "100% - 16px"]
        }
      }
    ]
  },

  "scrolling_panel@common.scrolling_panel": {
    "$scrolling_pane_size": ["100%", "100%"],
    "$scrolling_content": "jigsaw_editor.scroll_panel_content",
    "$scroll_size": [5, "100% - 4px"],
    "$show_background": false
  },

  "scroll_panel_content": {
    "type": "stack_panel",
    "offset": [4, 4],
    "size": ["100% - 8px", "100%c"],
    "controls": [
      {
        "target_pool_title_and_edit@jigsaw_editor.data_item_title_and_edit": {
          "$data_title": "jigsaw.title.target_pool",
          "$data_text_box_name": "text_box.target_pool_text_box",
          "$data_text_box_value": "#target_pool_text_box_value"
        }
      },
      { "buffer_1@jigsaw_editor.vertical_buffer": {} },
      {
        "name_title_and_edit@jigsaw_editor.data_item_title_and_edit": {
          "$data_title": "jigsaw.title.name",
          "$data_text_box_name": "text_box.name_text_box",
          "$data_text_box_value": "#name_text_box_value"
        }
      },
      { "buffer_2@jigsaw_editor.vertical_buffer": {} },
      {
        "target_title_and_edit@jigsaw_editor.data_item_title_and_edit": {
          "$data_title": "jigsaw.title.target",
          "$data_text_box_name": "text_box.target_text_box",
          "$data_text_box_value": "#target_text_box_value"
        }
      },
      { "buffer_3@jigsaw_editor.vertical_buffer": {} },
      {
        "final_block_title_and_edit@jigsaw_editor.data_item_title_and_edit": {
          "$data_title": "jigsaw.title.final_block",
          "$data_text_box_name": "text_box.final_block_text_box",
          "$data_text_box_value": "#final_block_text_box_value"
        }
      },
      { "buffer_4@jigsaw_editor.vertical_buffer": {} },
      {
        "selection_and_placement_priority@jigsaw_editor.selection_and_placement_priority": {}
      },
      { "buffer_5@jigsaw_editor.vertical_buffer": {} },
      {
        "joint_type_title_and_toggle@jigsaw_editor.data_item_title_and_toggle": {
          "$data_title": "jigsaw.title.joint_type",
          "$toggle_name": "toggle.joint_type_toggle",
          "$toggle_state_binding_name": "#joint_type_toggle_state",
          "$option_enabled_binding_name": "#joint_type_enabled",
          "$toggle_label_text": "#joint_type_toggle_text",
          "$toggle_label_enabled": "#joint_type_enabled",
          "$toggle_label_disabled": "#joint_type_disabled"
        }
      },
      { "buffer_6@jigsaw_editor.vertical_buffer": {} }
    ]
  },

  "selection_and_placement_priority": {
    "type": "stack_panel",
    "orientation": "horizontal",
    "size": ["100%", "100%c"],
    "controls": [
      {
        "selection_priority_title_and_edit@jigsaw_editor.data_item_title_and_edit_fill": {
          "$data_title": "jigsaw.title.selection_priority",
          "$data_text_box_name": "text_box.selection_priority_text_box",
          "$data_text_box_value": "#selection_priority_text_box_value"
        }
      },
      { "buffer_1@jigsaw_editor.horizontal_buffer": {} },
      {
        "placement_priority_title_and_edit@jigsaw_editor.data_item_title_and_edit_fill": {
          "$data_title": "jigsaw.title.placement_priority",
          "$data_text_box_name": "text_box.placement_priority",
          "$data_text_box_value": "#placement_priority_text_box_value"
        }
      }
    ]
  },

  "button_panel_wrapper": {
    "type": "image",
    "texture": "textures/ui/recipe_back_panel",
    "size": ["100%", "40px"],
    "controls": [
      {
        "exit_buttons@jigsaw_editor.exit_buttons": {}
      }
    ]
  },

  "jigsaw_editor_panel": {
    "type": "stack_panel",
    "size": ["100% - 16px", "100%"],
    "offset": [0, 26],
    "controls": [
      {
        "scrolling_panel@jigsaw_editor.scrolling_panel_wrapper": {}
      },
      {
        "button_wrapper": {
          "type": "panel",
          "size": ["100%", "46px"],
          "controls": [
            {
              "buttons@jigsaw_editor.button_panel_wrapper": {}
            }
          ]
        }
      }
    ]
  },

  "jigsaw_editor_content": {
    "type": "panel",
    "size": ["100%", "100%"],
    "controls": [
      {
        "background_panel@common.fullscreen_header": {
          "$dialog_background": "common.dialog_background_hollow_3"
        }
      },
      {
        "title@jigsaw_editor.common_text_label": {
          "anchor_from": "top_left",
          "anchor_to": "top_left",
          "offset": [40, 6],

          "text": "jigsaw_block.title",
          "color": "$title_text_color"
        }
      },
      {
        "jigsaw_editor_panel@jigsaw_editor.jigsaw_editor_panel": {}
      }
    ]
  },

  "jigsaw_editor_screen@common.base_screen": {
    "button_mappings": [
      {
        "from_button_id": "button.menu_cancel",
        "to_button_id": "button.menu_exit",
        "mapping_type": "global"
      },
      {
        "from_button_id": "button.menu_inventory_cancel",
        "to_button_id": "button.menu_exit",
        "mapping_type": "global"
      },
      {
        "from_button_id": "button.menu_tab_left",
        "to_button_id": "button.menu_tab_left",
        "mapping_type": "global",
        "scope": "view"
      },
      {
        "from_button_id": "button.menu_tab_right",
        "to_button_id": "button.menu_tab_right",
        "mapping_type": "global",
        "scope": "view"
      }
    ],
    "$screen_content": "jigsaw_editor.jigsaw_editor_content",
    "$screen_bg_content": "common.screen_background"
  }
}
