{
  "label": "phone-chrome",
  "finished": "2026-10-08T06:24:20.334Z",
  "gmSend": null,
  "gmOff": false,
  "graphicsApi": "OpenGLES3",
  "graphicsVersion": "OpenGL ES 3.0 (WebGL 2.0 (OpenGL ES 3.0 Chromium))",
  "consoleErrors": 0,
  "consoleWarnings": 85,
  "checkFailures": 0,
  "pass": true,
  "results": [
    {
      "case": "default",
      "url": "http://localhost:4350/",
      "expectTier": "Mid",
      "bootMs": 3421,
      "boot": {
        "product": "Zoen",
        "version": "0.1.0",
        "unity": "6000.3.25f1",
        "platform": "WebGLPlayer",
        "graphicsApi": "OpenGLES3",
        "graphicsVersion": "OpenGL ES 3.0 (WebGL 2.0 (OpenGL ES 3.0 Chromium))",
        "gpu": "ANGLE (Qualcomm, Adreno (TM) 730, OpenGL ES 3.2)",
        "device": "Chrome 154.0.0.0",
        "os": "Android 10",
        "systemMemoryMb": 122,
        "screenWidth": 1080,
        "screenHeight": 2121,
        "tier": "Mid",
        "tiers": [
          "Low",
          "Mid"
        ],
        "tierRequest": "",
        "tierRefused": "",
        "tierSource": "PlatformDefault",
        "capKey": "web",
        "cycle": [
          "Low",
          "Mid"
        ],
        "ultraGate": "none",
        "benchmark": "off",
        "deviceMemoryGb": 8,
        "logicalCores": 8,
        "displayHz": 60,
        "fpsTarget": 30,
        "targetFrameRate": 30,
        "vSyncCount": 0
      },
      "fps": "tier=Mid api=OpenGLES3 target=30 fps=30.0 avgMs=33.38 p50Ms=33.00 p95Ms=36.00 p99Ms=49.00 maxMs=75.00 frames=240 logErrors=0 logWarnings=0\n",
      "webgl": {
        "webgl2": true,
        "version": "WebGL 2.0 (OpenGL ES 3.0 Chromium)",
        "renderer": "ANGLE (Qualcomm, Adreno (TM) 730, OpenGL ES 3.2)"
      },
      "userAgent": "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/154.0.0.0 Mobile Safari/537.36",
      "screenshot": "logs/evidence/M0-12I/web-phone-chrome-default.png",
      "consoleErrors": [],
      "consoleWarnings": [
        "Manual synchronization of Unity Application.persistentDataPath via JS_FileSystem_Sync() is deprecated and will be later removed in a future Unity version. The persistent data directory will be automatically synchronized instead on file modification. Pass config.autoSyncPersistentDataPath = true; to configuration in createUnityInstance() to opt in to the new behavior.",
        "The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page. https://developer.chrome.com/blog/autoplay/#web_audio",
        "The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page. https://developer.chrome.com/blog/autoplay/#web_audio",
        "The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page. https://developer.chrome.com/blog/autoplay/#web_audio",
        "The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page. https://developer.chrome.com/blog/autoplay/#web_audio",
        "The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page. https://developer.chrome.com/blog/autoplay/#web_audio",
        "The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page. https://developer.chrome.com/blog/autoplay/#web_audio",
        "The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page. https://developer.chrome.com/blog/autoplay/#web_audio",
        "The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page. https://developer.chrome.com/blog/autoplay/#web_audio",
        "The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page. https://developer.chrome.com/blog/autoplay/#web_audio",
        "The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page. https://developer.chrome.com/blog/autoplay/#web_audio",
        "The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page. https://developer.chrome.com/blog/autoplay/#web_audio",
        "The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page. https://developer.chrome.com/blog/autoplay/#web_audio",
        "The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page. https://developer.chrome.com/blog/autoplay/#web_audio",
        "The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page. https://developer.chrome.com/blog/autoplay/#web_audio",
        "The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page. https://developer.chrome.com/blog/autoplay/#web_audio",
        "The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page. https://developer.chrome.com/blog/autoplay/#web_audio",
        "The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page. https://developer.chrome.com/blog/autoplay/#web_audio",
        "The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page. https://developer.chrome.com/blog/autoplay/#web_audio",
        "The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page. https://developer.chrome.com/blog/autoplay/#web_audio",
        "The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page. https://developer.chrome.com/blog/autoplay/#web_audio"
      ],
      "checkFailures": [],
      "gm": [
        "panel=on buttons=15"
      ],
      "sky": "phase=day clock=13:24 weather=clear (auto) speed=x1 tier=Mid particles=0 none fog=0.0097",
      "zoenLines": [
        "ZOEN_BOOT {\"product\":\"Zoen\",\"version\":\"0.1.0\",\"unity\":\"6000.3.25f1\",\"platform\":\"WebGLPlayer\",\"graphicsApi\":\"OpenGLES3\",\"graphicsVersion\":\"OpenGL ES 3.0 (WebGL 2.0 (OpenGL ES 3.0 Chromium))\",\"gpu\":\"ANGLE (Qualcomm, Adreno (TM) 730, OpenGL ES 3.2)\",\"device\":\"Chrome 154.0.0.0\",\"os\":\"Android 10\",\"systemMemoryMb\":122,\"screenWidth\":1080,\"screenHeight\":2121,\"tier\":\"Mid\",\"tiers\":[\"Low\",\"Mid\"],\"tierRequest\":\"\",\"tierRefused\":\"\",\"tierSource\":\"PlatformDefault\",\"capKey\":\"web\",\"cycle\":[\"Low\",\"Mid\"],\"ultraGate\":\"none\",\"benchmark\":\"off\",\"deviceMemoryGb\":8.0,\"logicalCores\":8,\"displayHz\":60.0,\"fpsTarget\":30,\"targetFrameRate\":30,\"vSyncCount\":0}\n",
        "ZOEN_GM panel=on buttons=15\n",
        "ZOEN_SKY phase=day clock=13:24 weather=clear (auto) speed=x1 tier=Mid particles=0 none fog=0.0097\n",
        "ZOEN_FPS tier=Mid api=OpenGLES3 target=30 fps=29.9 avgMs=33.39 p50Ms=33.00 p95Ms=35.00 p99Ms=49.00 maxMs=49.00 frames=150 logErrors=0 logWarnings=0\n",
        "ZOEN_FPS tier=Mid api=OpenGLES3 target=30 fps=30.0 avgMs=33.38 p50Ms=33.00 p95Ms=36.00 p99Ms=49.00 maxMs=75.00 frames=240 logErrors=0 logWarnings=0\n"
      ],
      "pass": true
    },
    {
      "case": "low",
      "url": "http://localhost:4350/?tier=low",
      "expectTier": "Low",
      "bootMs": 4147,
      "boot": {
        "product": "Zoen",
        "version": "0.1.0",
        "unity": "6000.3.25f1",
        "platform": "WebGLPlayer",
        "graphicsApi": "OpenGLES3",
        "graphicsVersion": "OpenGL ES 3.0 (WebGL 2.0 (OpenGL ES 3.0 Chromium))",
        "gpu": "ANGLE (Qualcomm, Adreno (TM) 730, OpenGL ES 3.2)",
        "device": "Chrome 154.0.0.0",
        "os": "Android 10",
        "systemMemoryMb": 122,
        "screenWidth": 1080,
        "screenHeight": 2121,
        "tier": "Low",
        "tiers": [
          "Low",
          "Mid"
        ],
        "tierRequest": "low",
        "tierRefused": "",
        "tierSource": "Launch",
        "capKey": "web",
        "cycle": [
          "Low",
          "Mid"
        ],
        "ultraGate": "none",
        "benchmark": "off",
        "deviceMemoryGb": 8,
        "logicalCores": 8,
        "displayHz": 60,
        "fpsTarget": 30,
        "targetFrameRate": 30,
        "vSyncCount": 0
      },
      "fps": "tier=Low api=OpenGLES3 target=30 fps=30.0 avgMs=33.32 p50Ms=33.00 p95Ms=35.00 p99Ms=48.00 maxMs=55.00 frames=240 logErrors=0 logWarnings=0\n",
      "webgl": {
        "webgl2": true,
        "version": "WebGL 2.0 (OpenGL ES 3.0 Chromium)",
        "renderer": "ANGLE (Qualcomm, Adreno (TM) 730, OpenGL ES 3.2)"
      },
      "userAgent": "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/154.0.0.0 Mobile Safari/537.36",
      "screenshot": "logs/evidence/M0-12I/web-phone-chrome-low.png",
      "consoleErrors": [],
      "consoleWarnings": [
        "Manual synchronization of Unity Application.persistentDataPath via JS_FileSystem_Sync() is deprecated and will be later removed in a future Unity version. The persistent data directory will be automatically synchronized instead on file modification. Pass config.autoSyncPersistentDataPath = true; to configuration in createUnityInstance() to opt in to the new behavior.",
        "The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page. https://developer.chrome.com/blog/autoplay/#web_audio",
        "The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page. https://developer.chrome.com/blog/autoplay/#web_audio",
        "The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page. https://developer.chrome.com/blog/autoplay/#web_audio",
        "The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page. https://developer.chrome.com/blog/autoplay/#web_audio",
        "The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page. https://developer.chrome.com/blog/autoplay/#web_audio",
        "The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page. https://developer.chrome.com/blog/autoplay/#web_audio",
        "The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page. https://developer.chrome.com/blog/autoplay/#web_audio",
        "The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page. https://developer.chrome.com/blog/autoplay/#web_audio",
        "The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page. https://developer.chrome.com/blog/autoplay/#web_audio",
        "The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page. https://developer.chrome.com/blog/autoplay/#web_audio",
        "The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page. https://developer.chrome.com/blog/autoplay/#web_audio",
        "The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page. https://developer.chrome.com/blog/autoplay/#web_audio",
        "The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page. https://developer.chrome.com/blog/autoplay/#web_audio",
        "The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page. https://developer.chrome.com/blog/autoplay/#web_audio",
        "The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page. https://developer.chrome.com/blog/autoplay/#web_audio",
        "The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page. https://developer.chrome.com/blog/autoplay/#web_audio",
        "The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page. https://developer.chrome.com/blog/autoplay/#web_audio",
        "The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page. https://developer.chrome.com/blog/autoplay/#web_audio",
        "The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page. https://developer.chrome.com/blog/autoplay/#web_audio",
        "The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page. https://developer.chrome.com/blog/autoplay/#web_audio"
      ],
      "checkFailures": [],
      "gm": [
        "panel=on buttons=15"
      ],
      "sky": "phase=day clock=13:24 weather=clear (auto) speed=x1 tier=Low particles=0 none fog=0.0097",
      "zoenLines": [
        "ZOEN_BOOT {\"product\":\"Zoen\",\"version\":\"0.1.0\",\"unity\":\"6000.3.25f1\",\"platform\":\"WebGLPlayer\",\"graphicsApi\":\"OpenGLES3\",\"graphicsVersion\":\"OpenGL ES 3.0 (WebGL 2.0 (OpenGL ES 3.0 Chromium))\",\"gpu\":\"ANGLE (Qualcomm, Adreno (TM) 730, OpenGL ES 3.2)\",\"device\":\"Chrome 154.0.0.0\",\"os\":\"Android 10\",\"systemMemoryMb\":122,\"screenWidth\":1080,\"screenHeight\":2121,\"tier\":\"Low\",\"tiers\":[\"Low\",\"Mid\"],\"tierRequest\":\"low\",\"tierRefused\":\"\",\"tierSource\":\"Launch\",\"capKey\":\"web\",\"cycle\":[\"Low\",\"Mid\"],\"ultraGate\":\"none\",\"benchmark\":\"off\",\"deviceMemoryGb\":8.0,\"logicalCores\":8,\"displayHz\":60.0,\"fpsTarget\":30,\"targetFrameRate\":30,\"vSyncCount\":0}\n",
        "ZOEN_GM panel=on buttons=15\n",
        "ZOEN_SKY phase=day clock=13:24 weather=clear (auto) speed=x1 tier=Low particles=0 none fog=0.0097\n",
        "ZOEN_FPS tier=Low api=OpenGLES3 target=30 fps=30.0 avgMs=33.28 p50Ms=33.00 p95Ms=36.00 p99Ms=40.00 maxMs=43.00 frames=151 logErrors=0 logWarnings=0\n",
        "ZOEN_FPS tier=Low api=OpenGLES3 target=30 fps=30.0 avgMs=33.32 p50Ms=33.00 p95Ms=35.00 p99Ms=48.00 maxMs=55.00 frames=240 logErrors=0 logWarnings=0\n"
      ],
      "pass": true
    },
    {
      "case": "ultra-refused",
      "url": "http://localhost:4350/?tier=ultra",
      "expectTier": "Mid",
      "bootMs": 3972,
      "boot": {
        "product": "Zoen",
        "version": "0.1.0",
        "unity": "6000.3.25f1",
        "platform": "WebGLPlayer",
        "graphicsApi": "OpenGLES3",
        "graphicsVersion": "OpenGL ES 3.0 (WebGL 2.0 (OpenGL ES 3.0 Chromium))",
        "gpu": "ANGLE (Qualcomm, Adreno (TM) 730, OpenGL ES 3.2)",
        "device": "Chrome 154.0.0.0",
        "os": "Android 10",
        "systemMemoryMb": 122,
        "screenWidth": 1080,
        "screenHeight": 2121,
        "tier": "Mid",
        "tiers": [
          "Low",
          "Mid"
        ],
        "tierRequest": "ultra",
        "tierRefused": "ultra",
        "tierSource": "PlatformDefault",
        "capKey": "web",
        "cycle": [
          "Low",
          "Mid"
        ],
        "ultraGate": "none",
        "benchmark": "off",
        "deviceMemoryGb": 8,
        "logicalCores": 8,
        "displayHz": 60,
        "fpsTarget": 30,
        "targetFrameRate": 30,
        "vSyncCount": 0
      },
      "fps": "tier=Mid api=OpenGLES3 target=30 fps=30.1 avgMs=33.18 p50Ms=33.00 p95Ms=35.00 p99Ms=36.00 maxMs=39.00 frames=240 logErrors=0 logWarnings=0\n",
      "webgl": {
        "webgl2": true,
        "version": "WebGL 2.0 (OpenGL ES 3.0 Chromium)",
        "renderer": "ANGLE (Qualcomm, Adreno (TM) 730, OpenGL ES 3.2)"
      },
      "userAgent": "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/154.0.0.0 Mobile Safari/537.36",
      "consoleErrors": [],
      "consoleWarnings": [
        "Manual synchronization of Unity Application.persistentDataPath via JS_FileSystem_Sync() is deprecated and will be later removed in a future Unity version. The persistent data directory will be automatically synchronized instead on file modification. Pass config.autoSyncPersistentDataPath = true; to configuration in createUnityInstance() to opt in to the new behavior.",
        "The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page. https://developer.chrome.com/blog/autoplay/#web_audio",
        "The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page. https://developer.chrome.com/blog/autoplay/#web_audio",
        "The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page. https://developer.chrome.com/blog/autoplay/#web_audio",
        "The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page. https://developer.chrome.com/blog/autoplay/#web_audio",
        "The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page. https://developer.chrome.com/blog/autoplay/#web_audio",
        "The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page. https://developer.chrome.com/blog/autoplay/#web_audio",
        "The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page. https://developer.chrome.com/blog/autoplay/#web_audio",
        "The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page. https://developer.chrome.com/blog/autoplay/#web_audio",
        "The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page. https://developer.chrome.com/blog/autoplay/#web_audio",
        "The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page. https://developer.chrome.com/blog/autoplay/#web_audio",
        "The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page. https://developer.chrome.com/blog/autoplay/#web_audio",
        "The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page. https://developer.chrome.com/blog/autoplay/#web_audio",
        "The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page. https://developer.chrome.com/blog/autoplay/#web_audio",
        "The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page. https://developer.chrome.com/blog/autoplay/#web_audio",
        "The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page. https://developer.chrome.com/blog/autoplay/#web_audio",
        "The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page. https://developer.chrome.com/blog/autoplay/#web_audio",
        "The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page. https://developer.chrome.com/blog/autoplay/#web_audio",
        "The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page. https://developer.chrome.com/blog/autoplay/#web_audio",
        "The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page. https://developer.chrome.com/blog/autoplay/#web_audio",
        "The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page. https://developer.chrome.com/blog/autoplay/#web_audio"
      ],
      "checkFailures": [],
      "gm": [
        "panel=on buttons=15"
      ],
      "sky": "phase=day clock=13:24 weather=clear (auto) speed=x1 tier=Mid particles=0 none fog=0.0097",
      "zoenLines": [
        "ZOEN_BOOT {\"product\":\"Zoen\",\"version\":\"0.1.0\",\"unity\":\"6000.3.25f1\",\"platform\":\"WebGLPlayer\",\"graphicsApi\":\"OpenGLES3\",\"graphicsVersion\":\"OpenGL ES 3.0 (WebGL 2.0 (OpenGL ES 3.0 Chromium))\",\"gpu\":\"ANGLE (Qualcomm, Adreno (TM) 730, OpenGL ES 3.2)\",\"device\":\"Chrome 154.0.0.0\",\"os\":\"Android 10\",\"systemMemoryMb\":122,\"screenWidth\":1080,\"screenHeight\":2121,\"tier\":\"Mid\",\"tiers\":[\"Low\",\"Mid\"],\"tierRequest\":\"ultra\",\"tierRefused\":\"ultra\",\"tierSource\":\"PlatformDefault\",\"capKey\":\"web\",\"cycle\":[\"Low\",\"Mid\"],\"ultraGate\":\"none\",\"benchmark\":\"off\",\"deviceMemoryGb\":8.0,\"logicalCores\":8,\"displayHz\":60.0,\"fpsTarget\":30,\"targetFrameRate\":30,\"vSyncCount\":0}\n",
        "ZOEN_GM panel=on buttons=15\n",
        "ZOEN_SKY phase=day clock=13:24 weather=clear (auto) speed=x1 tier=Mid particles=0 none fog=0.0097\n",
        "ZOEN_FPS tier=Mid api=OpenGLES3 target=30 fps=30.0 avgMs=33.28 p50Ms=33.00 p95Ms=35.00 p99Ms=39.00 maxMs=52.00 frames=151 logErrors=0 logWarnings=0\n",
        "ZOEN_FPS tier=Mid api=OpenGLES3 target=30 fps=30.1 avgMs=33.18 p50Ms=33.00 p95Ms=35.00 p99Ms=36.00 maxMs=39.00 frames=240 logErrors=0 logWarnings=0\n"
      ],
      "pass": true
    },
    {
      "case": "low-end",
      "url": "http://localhost:4350/",
      "expectTier": "Low",
      "bootMs": 3290,
      "boot": {
        "product": "Zoen",
        "version": "0.1.0",
        "unity": "6000.3.25f1",
        "platform": "WebGLPlayer",
        "graphicsApi": "OpenGLES3",
        "graphicsVersion": "OpenGL ES 3.0 (WebGL 2.0 (OpenGL ES 3.0 Chromium))",
        "gpu": "ANGLE (Qualcomm, Adreno (TM) 730, OpenGL ES 3.2)",
        "device": "Chrome 154.0.0.0",
        "os": "Android 10",
        "systemMemoryMb": 122,
        "screenWidth": 1080,
        "screenHeight": 2121,
        "tier": "Low",
        "tiers": [
          "Low",
          "Mid"
        ],
        "tierRequest": "",
        "tierRefused": "",
        "tierSource": "WebLowEnd",
        "capKey": "web",
        "cycle": [
          "Low",
          "Mid"
        ],
        "ultraGate": "none",
        "benchmark": "off",
        "deviceMemoryGb": 2,
        "logicalCores": 8,
        "displayHz": 60,
        "fpsTarget": 30,
        "targetFrameRate": 30,
        "vSyncCount": 0
      },
      "fps": "tier=Low api=OpenGLES3 target=30 fps=30.1 avgMs=33.18 p50Ms=33.00 p95Ms=35.00 p99Ms=37.00 maxMs=40.00 frames=240 logErrors=0 logWarnings=0\n",
      "webgl": {
        "webgl2": true,
        "version": "WebGL 2.0 (OpenGL ES 3.0 Chromium)",
        "renderer": "ANGLE (Qualcomm, Adreno (TM) 730, OpenGL ES 3.2)"
      },
      "userAgent": "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/154.0.0.0 Mobile Safari/537.36",
      "consoleErrors": [],
      "consoleWarnings": [
        "Manual synchronization of Unity Application.persistentDataPath via JS_FileSystem_Sync() is deprecated and will be later removed in a future Unity version. The persistent data directory will be automatically synchronized instead on file modification. Pass config.autoSyncPersistentDataPath = true; to configuration in createUnityInstance() to opt in to the new behavior.",
        "The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page. https://developer.chrome.com/blog/autoplay/#web_audio",
        "The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page. https://developer.chrome.com/blog/autoplay/#web_audio",
        "The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page. https://developer.chrome.com/blog/autoplay/#web_audio",
        "The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page. https://developer.chrome.com/blog/autoplay/#web_audio",
        "The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page. https://developer.chrome.com/blog/autoplay/#web_audio",
        "The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page. https://developer.chrome.com/blog/autoplay/#web_audio",
        "The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page. https://developer.chrome.com/blog/autoplay/#web_audio",
        "The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page. https://developer.chrome.com/blog/autoplay/#web_audio",
        "The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page. https://developer.chrome.com/blog/autoplay/#web_audio",
        "The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page. https://developer.chrome.com/blog/autoplay/#web_audio",
        "The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page. https://developer.chrome.com/blog/autoplay/#web_audio",
        "The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page. https://developer.chrome.com/blog/autoplay/#web_audio",
        "The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page. https://developer.chrome.com/blog/autoplay/#web_audio",
        "The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page. https://developer.chrome.com/blog/autoplay/#web_audio",
        "The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page. https://developer.chrome.com/blog/autoplay/#web_audio",
        "The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page. https://developer.chrome.com/blog/autoplay/#web_audio",
        "The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page. https://developer.chrome.com/blog/autoplay/#web_audio",
        "The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page. https://developer.chrome.com/blog/autoplay/#web_audio",
        "The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page. https://developer.chrome.com/blog/autoplay/#web_audio",
        "The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page. https://developer.chrome.com/blog/autoplay/#web_audio",
        "The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page. https://developer.chrome.com/blog/autoplay/#web_audio"
      ],
      "checkFailures": [],
      "gm": [
        "panel=on buttons=15"
      ],
      "sky": "phase=day clock=13:24 weather=clear (auto) speed=x1 tier=Low particles=0 none fog=0.0097",
      "zoenLines": [
        "ZOEN_BOOT {\"product\":\"Zoen\",\"version\":\"0.1.0\",\"unity\":\"6000.3.25f1\",\"platform\":\"WebGLPlayer\",\"graphicsApi\":\"OpenGLES3\",\"graphicsVersion\":\"OpenGL ES 3.0 (WebGL 2.0 (OpenGL ES 3.0 Chromium))\",\"gpu\":\"ANGLE (Qualcomm, Adreno (TM) 730, OpenGL ES 3.2)\",\"device\":\"Chrome 154.0.0.0\",\"os\":\"Android 10\",\"systemMemoryMb\":122,\"screenWidth\":1080,\"screenHeight\":2121,\"tier\":\"Low\",\"tiers\":[\"Low\",\"Mid\"],\"tierRequest\":\"\",\"tierRefused\":\"\",\"tierSource\":\"WebLowEnd\",\"capKey\":\"web\",\"cycle\":[\"Low\",\"Mid\"],\"ultraGate\":\"none\",\"benchmark\":\"off\",\"deviceMemoryGb\":2.0,\"logicalCores\":8,\"displayHz\":60.0,\"fpsTarget\":30,\"targetFrameRate\":30,\"vSyncCount\":0}\n",
        "ZOEN_GM panel=on buttons=15\n",
        "ZOEN_SKY phase=day clock=13:24 weather=clear (auto) speed=x1 tier=Low particles=0 none fog=0.0097\n",
        "ZOEN_FPS tier=Low api=OpenGLES3 target=30 fps=30.0 avgMs=33.29 p50Ms=33.00 p95Ms=35.00 p99Ms=36.00 maxMs=49.00 frames=151 logErrors=0 logWarnings=0\n",
        "ZOEN_FPS tier=Low api=OpenGLES3 target=30 fps=30.1 avgMs=33.18 p50Ms=33.00 p95Ms=35.00 p99Ms=37.00 maxMs=40.00 frames=240 logErrors=0 logWarnings=0\n"
      ],
      "pass": true
    }
  ]
}
