{
  "schemaVersion": 1,
  "variant": "flutter",
  "model": "linear-reflection-v1",
  "jasprVersion": null,
  "reactVersion": null,
  "flutterVersion": "3.50.0",
  "dartVersion": "3.14.0",
  "renderBackend": "flutter-widgets-skwasm",
  "flutterEngineRevision": "371f77202a73e8dff57a8b3bff75bca55c090aee",
  "compiler": "flutter build web --release --wasm -O4 --no-web-resources-cdn --no-web-content-hash; JS fallback disabled at loader",
  "renderer": {
    "bytes": 1041889,
    "gzipBytes": 393547,
    "sha256": "3e0e0d705972791c8c0f3457d187b6ac666a2f1c10d58a98654b6f2d04587a51"
  },
  "sharedHarnessSha256": "948949c7c74ddc3e60e4820956d7f2d7b3528e00ccd33c601cf1bf90af345aee",
  "measurement": {
    "fps": "1000 / mean(requestAnimationFrame timestamp intervals)",
    "version": "raf-and-commit-v2",
    "sceneFps": "completed renderer updates during measurement / measured seconds; not physically presented GPU frames",
    "domUpdate": "Legacy field name: performance.now from update until Flutter post-frame, including framework build/layout/paint command generation; not Skwasm raster/GPU presentation",
    "inFlightPolicy": "At most one pending update, identical across all renderers. rAF continues to be sampled while busy.",
    "reactScheduling": "normal setState, no forced flushSync, no development StrictMode wrapper",
    "warmupSeconds": 2,
    "calibrationFrames": 80,
    "paintIncludedInDomUpdate": true,
    "gpuPresentationMeasured": false,
    "droppedIntervals": "sum(max(0, round(interval / calibratedPeriod) - 1)); approximate, not physical presented frames"
  },
  "scene": {
    "prng": "LCG uint32: state=(state*1664525+1013904223) mod 2^32",
    "coordinates": "Float64, triangle-wave reflection, integer CSS px",
    "countLimit": 20000,
    "modes": [
      "transform",
      "mixed"
    ],
    "perParticleLayerPromotion": false
  },
  "limitations": [
    "Flutter widgets + Skwasm canvas workload, not DOM. Same scene model does not imply same rendering workload. Flutter uses bundled Roboto Mono; DOM uses system monospace.",
    "FPS capped by browser/display scheduling.",
    "Jaspr comparison includes Dart-generated JS and JS interop, not just an isolated reconciliation algorithm.",
    "React comparison includes its normal scheduler, host-element reconciliation and commit. React Compiler is not enabled.",
    "Shared telemetry updates at most four times per second.",
    "No universal speed winner is claimed."
  ],
  "resources": [
    {
      "path": "assets/assets/RobotoMono-Regular.ttf",
      "bytes": 183700,
      "gzipBytes": 128803
    },
    {
      "path": "assets/fonts/fallback/Roboto-Regular.ttf",
      "bytes": 171676,
      "gzipBytes": 90049
    },
    {
      "path": "canvaskit/canvaskit.js",
      "bytes": 87031,
      "gzipBytes": 27519
    },
    {
      "path": "canvaskit/canvaskit.wasm",
      "bytes": 7315452,
      "gzipBytes": 2925332
    },
    {
      "path": "canvaskit/chromium/canvaskit.js",
      "bytes": 86270,
      "gzipBytes": 27309
    },
    {
      "path": "canvaskit/chromium/canvaskit.wasm",
      "bytes": 5463539,
      "gzipBytes": 2071190
    },
    {
      "path": "canvaskit/skwasm.js",
      "bytes": 63858,
      "gzipBytes": 17111
    },
    {
      "path": "canvaskit/skwasm.wasm",
      "bytes": 3612036,
      "gzipBytes": 1543896
    },
    {
      "path": "canvaskit/skwasm_heavy.js",
      "bytes": 63971,
      "gzipBytes": 17121
    },
    {
      "path": "canvaskit/skwasm_heavy.wasm",
      "bytes": 5232173,
      "gzipBytes": 2292442
    },
    {
      "path": "canvaskit/webparagraph/canvaskit.js",
      "bytes": 76114,
      "gzipBytes": 24688
    },
    {
      "path": "canvaskit/webparagraph/canvaskit.wasm",
      "bytes": 3753480,
      "gzipBytes": 1410111
    },
    {
      "path": "canvaskit/wimp.js",
      "bytes": 59546,
      "gzipBytes": 16828
    },
    {
      "path": "canvaskit/wimp.wasm",
      "bytes": 3604253,
      "gzipBytes": 1454018
    },
    {
      "path": "flutter.js",
      "bytes": 13169,
      "gzipBytes": 5034
    },
    {
      "path": "flutter_bootstrap.js",
      "bytes": 16948,
      "gzipBytes": 6520
    },
    {
      "path": "flutter_service_worker.js",
      "bytes": 784,
      "gzipBytes": 356
    },
    {
      "path": "harness.js",
      "bytes": 23165,
      "gzipBytes": 7655
    },
    {
      "path": "main.dart.js",
      "bytes": 419203,
      "gzipBytes": 115565
    },
    {
      "path": "main.dart.wasm",
      "bytes": 1041889,
      "gzipBytes": 393547
    }
  ]
}
