{
  "schemaVersion": 1,
  "type": "resource",
  "id": "jakub-metal",
  "evaluation": {
    "reviewedOn": "2026-10-19",
    "status": "checked",
    "modes": [
      "http",
      "browser"
    ],
    "summary": "Switching between v1 and v2 changed the public demo state; twelve canvases were present. GPU output quality and fallback behavior were not scored.",
    "reportUrl": "/design-evaluations/resource-jakub-metal.json",
    "identity": {
      "target": "https://libraries.dev/metal",
      "version": "Unversioned public page checked 2026-10-19",
      "integrity": "sha256:f2137d37990753f3b5b811a8387649217bd1f2a918f14f921f127c93af8966ed"
    },
    "environment": [
      "Chromium 155.0.8059.82 on Windows; fresh temporary profile and fresh account-free contexts.",
      "Public HTTPS GET/HEAD requests only; telemetry/auth routes and WebSockets blocked. No account storage or credential environment variables."
    ],
    "tests": [
      {
        "name": "Public document and DOM",
        "mode": "browser",
        "method": "Fresh Chromium GET, then inspect rendered controls after hydration delay",
        "result": "pass",
        "observation": "HTTP 200; 26 captured button labels; 4 inputs; 12 canvases."
      },
      {
        "name": "Metal effect version switch",
        "mode": "browser",
        "method": "Activate v1 then v2 in the public effect playground",
        "result": "pass",
        "observation": "Visible state changed across version toggles=true; canvases=12. GPU quality not scored."
      }
    ],
    "security": {
      "scope": "Passive inspection of the public response headers, requested hosts and the named browser sample. No active exploitation, authenticated permissions test or complete security audit.",
      "findings": [
        {
          "level": "caution",
          "basis": "observed",
          "title": "Canvas presence requires a separate fallback test",
          "detail": "The observed playground used multiple canvases. A successful version switch does not establish WebGL availability, readable fallback content or acceptable power use."
        }
      ],
      "limits": [
        "No authenticated workspace, private content, production backend permissions or data-retention verification.",
        "No local install, WebGL-loss simulation, mobile GPU test, physical-device frame rate or paid studio access."
      ]
    },
    "practicalCaveats": [
      "Keep the action label and plain component usable when the metallic surface cannot render.",
      "Pin and recheck the selected version or sample before adoption; the observations apply only to the scope and date shown."
    ],
    "limits": [
      "No local install, WebGL-loss simulation, mobile GPU test, physical-device frame rate or paid studio access.",
      "Fresh-browser restrictions can affect external assets and hydration. Initial failed selectors and limited probes remain in the evidence; they are not blanket product failures."
    ],
    "sources": [
      {
        "label": "Primary public resource",
        "url": "https://libraries.dev/metal"
      }
    ]
  }
}
