{
  "name": "NEXUS Audio — профессиональная DAW в браузере",
  "short_name": "NEXUS",
  "description": "Многодорожечный секвенсор, piano roll, микшер и мастеринг с LUFS-анализом. Работает без установки, прямо в браузере. Экспорт в WAV, поддержка Web MIDI, офлайн-режим.",
  "lang": "ru",
  "dir": "ltr",
  "id": "/",
  "start_url": "/?source=pwa",
  "scope": "/",
  "display": "standalone",
  "display_override": ["standalone", "minimal-ui", "browser"],
  "orientation": "any",
  "background_color": "#06070b",
  "theme_color": "#06070b",
  "categories": ["music", "productivity", "utilities", "entertainment"],
  "prefer_related_applications": false,
  "iarc_rating_id": "",
  "icons": [
    {
      "src": "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='0' stop-color='%236b88ff'/%3E%3Cstop offset='1' stop-color='%2317d1c4'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M24 3 L43 13 L43 35 L24 45 L5 35 L5 13 Z' fill='url(%23g)'/%3E%3Cpath d='M18 18 L18 30 M18 18 L30 30 M30 18 L30 30' stroke='white' stroke-width='2.4' stroke-linecap='round' fill='none'/%3E%3C/svg%3E",
      "sizes": "192x192",
      "type": "image/svg+xml",
      "purpose": "any"
    },
    {
      "src": "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='0' stop-color='%236b88ff'/%3E%3Cstop offset='1' stop-color='%2317d1c4'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M24 3 L43 13 L43 35 L24 45 L5 35 L5 13 Z' fill='url(%23g)'/%3E%3Cpath d='M18 18 L18 30 M18 18 L30 30 M30 18 L30 30' stroke='white' stroke-width='2.4' stroke-linecap='round' fill='none'/%3E%3C/svg%3E",
      "sizes": "512x512",
      "type": "image/svg+xml",
      "purpose": "any"
    },
    {
      "src": "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='0' stop-color='%236b88ff'/%3E%3Cstop offset='1' stop-color='%2317d1c4'/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect width='48' height='48' fill='%2306070b'/%3E%3Cpath d='M24 5 L41 14 L41 34 L24 43 L7 34 L7 14 Z' fill='url(%23g)'/%3E%3Cpath d='M18 18 L18 30 M18 18 L30 30 M30 18 L30 30' stroke='white' stroke-width='2.4' stroke-linecap='round' fill='none'/%3E%3C/svg%3E",
      "sizes": "192x192",
      "type": "image/svg+xml",
      "purpose": "maskable"
    },
    {
      "src": "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='0' stop-color='%236b88ff'/%3E%3Cstop offset='1' stop-color='%2317d1c4'/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect width='48' height='48' fill='%2306070b'/%3E%3Cpath d='M24 5 L41 14 L41 34 L24 43 L7 34 L7 14 Z' fill='url(%23g)'/%3E%3Cpath d='M18 18 L18 30 M18 18 L30 30 M30 18 L30 30' stroke='white' stroke-width='2.4' stroke-linecap='round' fill='none'/%3E%3C/svg%3E",
      "sizes": "512x512",
      "type": "image/svg+xml",
      "purpose": "maskable"
    }
  ],
  "shortcuts": [
    {
      "name": "Новый проект",
      "short_name": "Новый",
      "description": "Создать новый проект",
      "url": "/?action=new-project",
      "icons": [
        {
          "src": "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Crect width='48' height='48' rx='10' fill='%234c6fff'/%3E%3Cpath d='M24 14v20M14 24h20' stroke='white' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E",
          "sizes": "192x192",
          "type": "image/svg+xml"
        }
      ]
    },
    {
      "name": "Секвенсор",
      "short_name": "Секвенсор",
      "description": "Открыть редактор треков",
      "url": "/?view=sequencer",
      "icons": [
        {
          "src": "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Crect width='48' height='48' rx='10' fill='%234c6fff'/%3E%3Cpath d='M10 18h28M10 24h28M10 30h28' stroke='white' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E",
          "sizes": "192x192",
          "type": "image/svg+xml"
        }
      ]
    },
    {
      "name": "Piano Roll",
      "short_name": "Piano",
      "description": "Открыть MIDI-редактор",
      "url": "/?view=pianoroll",
      "icons": [
        {
          "src": "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Crect width='48' height='48' rx='10' fill='%2317d1c4'/%3E%3Crect x='12' y='14' width='6' height='20' fill='white'/%3E%3Crect x='21' y='18' width='6' height='16' fill='white'/%3E%3Crect x='30' y='14' width='6' height='20' fill='white'/%3E%3C/svg%3E",
          "sizes": "192x192",
          "type": "image/svg+xml"
        }
      ]
    },
    {
      "name": "Микшер",
      "short_name": "Микшер",
      "description": "Открыть микшер и мастеринг",
      "url": "/?view=mixer",
      "icons": [
        {
          "src": "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Crect width='48' height='48' rx='10' fill='%23ff7a45'/%3E%3Crect x='14' y='12' width='4' height='24' rx='2' fill='white'/%3E%3Crect x='22' y='16' width='4' height='20' rx='2' fill='white'/%3E%3Crect x='30' y='10' width='4' height='26' rx='2' fill='white'/%3E%3C/svg%3E",
          "sizes": "192x192",
          "type": "image/svg+xml"
        }
      ]
    }
  ],
  "protocol_handlers": [],
  "related_applications": [],
  "scope_extensions": [],
  "edge_side_panel": {
    "preferred_width": 400
  },
  "launch_handler": {
    "client_mode": "focus-existing"
  },
  "handle_links": "preferred",
  "file_handlers": [
    {
      "action": "/?action=open-file",
      "accept": {
        "application/json": [".json"],
        "audio/wav": [".wav"],
        "audio/mpeg": [".mp3"],
        "audio/ogg": [".ogg"],
        "audio/flac": [".flac"],
        "audio/midi": [".mid", ".midi"]
      }
    }
  ],
  "share_target": {
    "action": "/?action=share",
    "method": "POST",
    "enctype": "multipart/form-data",
    "params": {
      "title": "title",
      "text": "text",
      "url": "url",
      "files": [
        {
          "name": "audio",
          "accept": ["audio/*", ".json", ".mid", ".midi"]
        }
      ]
    }
  }
}