{
  "schema": 1,
  "updated": "2026-11-23",
  "sources": [
    {
      "package": "com.zhiliaoapp.musically",
      "title": "TikTok",
      "surfaces": [
        {
          "id": "tiktok",
          "title": "TikTok",
          "kind": "whole_app",
          "note": "Приложение целиком. Идентификаторы не нужны, проверяем паузу при запуске и возврате из фона"
        }
      ]
    },
    {
      "package": "com.ss.android.ugc.trill",
      "title": "TikTok",
      "surfaces": [
        {
          "id": "tiktok_trill",
          "title": "TikTok",
          "kind": "whole_app"
        }
      ]
    },
    {
      "package": "video.like",
      "title": "Likee",
      "surfaces": [
        {
          "id": "likee",
          "title": "Likee",
          "kind": "whole_app"
        }
      ]
    },
    {
      "package": "com.vkontakte.android",
      "title": "VK",
      "surfaces": [
        {
          "id": "vk_clips",
          "title": "VK · Клипы",
          "kind": "short_video",
          "fallback": "pager",
          "note": "Идентификаторов Клипов пока нет: снять записывателем и дописать match. До этого Клипы узнаются по пейджеру — после первого листания"
        }
      ]
    },
    {
      "package": "com.google.android.youtube",
      "title": "YouTube",
      "surfaces": [
        {
          "id": "yt_shorts",
          "title": "YouTube · Shorts",
          "kind": "short_video",
          "match": {
            "any": [
              { "viewId": "reel_recycler", "minHeight": 0.5 },
              { "viewId": "reel_player_page_container", "minHeight": 0.5 }
            ]
          },
          "fallback": "pager",
          "note": "Гипотеза: id из открытых блокировщиков Shorts. Подтвердить снимком записывателя"
        }
      ]
    },
    {
      "package": "com.instagram.android",
      "title": "Instagram",
      "surfaces": [
        {
          "id": "ig_reels",
          "title": "Instagram · Reels",
          "kind": "short_video",
          "match": {
            "any": [
              { "viewId": "clips_viewer_view_pager", "minHeight": 0.5 }
            ]
          },
          "fallback": "pager",
          "note": "Гипотеза: id из открытых блокировщиков Reels. Подтвердить снимком записывателя"
        }
      ]
    },
    {
      "package": "com.android.chrome",
      "title": "Chrome",
      "surfaces": [
        {
          "id": "chrome_short_video",
          "title": "Chrome · короткие видео",
          "kind": "short_video",
          "match": {
            "any": [
              { "viewId": "url_bar", "text": "^(https?://)?([\\w-]+\\.)*(tiktok\\.com\\b|youtube\\.com/shorts\\b|vk\\.(com|ru)/(clips\\b|clip-?\\d)|instagram\\.com/reels?\\b)", "visible": false }
            ],
            "hold": [{ "viewId": "url_bar", "visible": false }]
          },
          "counter": { "strategy": "content_change", "viewId": "url_bar" },
          "note": "Адресная строка: TikTok, YouTube Shorts, VK Клипы и Instagram Reels в браузере. При прокрутке Chrome прячет тулбар: узла адреса в дереве нет совсем — hold держит ленту, пока адреса не видно. Ролики — по смене адреса; сам адрес не сохраняется, в памяти только хеш. Проверено на эмуляторе с Chrome 124: Shorts, VK Клипы (m.vk.ru/clip…), прокрутка со спрятанным тулбаром. На телефонах — подтвердить"
        }
      ]
    },
    {
      "package": "com.yandex.browser",
      "title": "Яндекс Браузер",
      "surfaces": [
        {
          "id": "yabro_short_video",
          "title": "Яндекс Браузер · короткие видео",
          "kind": "short_video",
          "match": {
            "any": [
              { "viewId": "bro_omnibar_address_title_text", "text": "^(https?://)?([\\w-]+\\.)*(tiktok\\.com\\b|youtube\\.com/shorts\\b|vk\\.(com|ru)/(clips\\b|clip-?\\d)|instagram\\.com/reels?\\b)", "visible": false }
            ],
            "hold": [{ "viewId": "bro_omnibar_address_title_text", "visible": false }]
          },
          "counter": { "strategy": "content_change", "viewId": "bro_omnibar_address_title_text" },
          "note": "Гипотеза: id омнибокса из открытых источников. Если строка показывает только домен, узнаётся лишь TikTok. Подтвердить снимком записывателя"
        }
      ]
    }
  ]
}
