{
  "generatedAt": "2026-09-05T08:31:21.491Z",
  "method": {
    "compression": "gzip at node:zlib's default level, 1 kB = 1000 bytes — the same conventions as Vite's build reporter, so every figure can be checked against a line of the build log",
    "totalKB": "gzipped JS + CSS the demo page downloads on first load",
    "libKB": "totalKB minus reactKB — the cost on a page that already ships React",
    "reactKB": "the shared react/react-dom/scheduler chunk, named by manualChunks",
    "harnessKB": "the mount harness and site stylesheet every demo loads. Included in totalKB because the page really downloads it; reported separately because it is not the library's doing.",
    "wasmKB": "reported apart from totalKB and never summed with it. Perspective's WebAssembly is compiled Rust that gzip barely compresses; averaged against six JavaScript bundles it would be meaningless.",
    "lazyKB": "chunks reached only through dynamic import — a real cost, but not on first load",
    "loc": "non-blank, non-comment lines under src/demos/<key>/, all files"
  },
  "harness": {
    "files": [
      "assets/mount-BSR13t4U.js",
      "assets/theme-T6DuPqEQ.js",
      "assets/theme-IcMNclCD.css"
    ],
    "rawKB": 71.8,
    "gzipKB": 23.4
  },
  "demos": {
    "baseline": {
      "name": "Plain <table>",
      "react": false,
      "jsKB": 22.9,
      "cssKB": 1.6,
      "otherKB": 0,
      "totalKB": 24.4,
      "reactKB": 0,
      "libKB": 24.4,
      "harnessKB": 23.4,
      "wasmKB": 0,
      "lazyKB": 0,
      "raw": {
        "jsKB": 68.9,
        "cssKB": 4.6,
        "wasmKB": 0,
        "totalKB": 73.4
      },
      "loc": 49,
      "files": {
        "js": [
          "assets/baseline-DJ0BjK8A.js",
          "assets/mount-BSR13t4U.js",
          "assets/theme-T6DuPqEQ.js"
        ],
        "css": [
          "assets/theme-IcMNclCD.css"
        ],
        "wasm": [],
        "lazy": []
      }
    },
    "observable": {
      "name": "Observable Inputs",
      "react": false,
      "jsKB": 28.5,
      "cssKB": 1.6,
      "otherKB": 0,
      "totalKB": 30.1,
      "reactKB": 0,
      "libKB": 30.1,
      "harnessKB": 23.4,
      "wasmKB": 0,
      "lazyKB": 0,
      "raw": {
        "jsKB": 82.8,
        "cssKB": 4.6,
        "wasmKB": 0,
        "totalKB": 87.4
      },
      "loc": 50,
      "files": {
        "js": [
          "assets/observable-BnqbHkY7.js",
          "assets/mount-BSR13t4U.js",
          "assets/theme-T6DuPqEQ.js"
        ],
        "css": [
          "assets/theme-IcMNclCD.css"
        ],
        "wasm": [],
        "lazy": []
      }
    },
    "tabulator": {
      "name": "Tabulator",
      "react": false,
      "jsKB": 127.3,
      "cssKB": 5.6,
      "otherKB": 0,
      "totalKB": 132.9,
      "reactKB": 0,
      "libKB": 132.9,
      "harnessKB": 23.4,
      "wasmKB": 0,
      "lazyKB": 0,
      "raw": {
        "jsKB": 519.5,
        "cssKB": 33.9,
        "wasmKB": 0,
        "totalKB": 553.3
      },
      "loc": 89,
      "files": {
        "js": [
          "assets/tabulator-DYwTKw3A.js",
          "assets/mount-BSR13t4U.js",
          "assets/theme-T6DuPqEQ.js"
        ],
        "css": [
          "assets/tabulator-DjkDjhrC.css",
          "assets/theme-IcMNclCD.css"
        ],
        "wasm": [],
        "lazy": []
      }
    },
    "aggrid": {
      "name": "AG Grid Community",
      "react": false,
      "jsKB": 326.2,
      "cssKB": 1.6,
      "otherKB": 0,
      "totalKB": 327.8,
      "reactKB": 0,
      "libKB": 327.8,
      "harnessKB": 23.4,
      "wasmKB": 0,
      "lazyKB": 0,
      "raw": {
        "jsKB": 1160,
        "cssKB": 4.6,
        "wasmKB": 0,
        "totalKB": 1164.6
      },
      "loc": 62,
      "files": {
        "js": [
          "assets/aggrid-Bh1yhrzZ.js",
          "assets/mount-BSR13t4U.js",
          "assets/theme-T6DuPqEQ.js"
        ],
        "css": [
          "assets/theme-IcMNclCD.css"
        ],
        "wasm": [],
        "lazy": []
      }
    },
    "tanstack": {
      "name": "TanStack Table",
      "react": true,
      "jsKB": 103.3,
      "cssKB": 1.6,
      "otherKB": 0,
      "totalKB": 104.8,
      "reactKB": 60.3,
      "libKB": 44.5,
      "harnessKB": 23.4,
      "wasmKB": 0,
      "lazyKB": 0,
      "raw": {
        "jsKB": 326.1,
        "cssKB": 4.6,
        "wasmKB": 0,
        "totalKB": 330.7
      },
      "loc": 166,
      "files": {
        "js": [
          "assets/tanstack-DhDwuYta.js",
          "assets/react-host-ZosbJhVN.js",
          "assets/react-Bk1giA63.js",
          "assets/mount-BSR13t4U.js",
          "assets/theme-T6DuPqEQ.js"
        ],
        "css": [
          "assets/theme-IcMNclCD.css"
        ],
        "wasm": [],
        "lazy": []
      }
    },
    "glide": {
      "name": "Glide Data Grid",
      "react": true,
      "jsKB": 184.9,
      "cssKB": 3.8,
      "otherKB": 0,
      "totalKB": 188.7,
      "reactKB": 60.3,
      "libKB": 128.4,
      "harnessKB": 23.4,
      "wasmKB": 0,
      "lazyKB": 8.1,
      "raw": {
        "jsKB": 562.5,
        "cssKB": 17.3,
        "wasmKB": 0,
        "totalKB": 579.8
      },
      "loc": 148,
      "files": {
        "js": [
          "assets/glide-B_N44EHz.js",
          "assets/react-host-ZosbJhVN.js",
          "assets/react-Bk1giA63.js",
          "assets/mount-BSR13t4U.js",
          "assets/theme-T6DuPqEQ.js"
        ],
        "css": [
          "assets/glide-Bhzk72UY.css",
          "assets/theme-IcMNclCD.css"
        ],
        "wasm": [],
        "lazy": [
          "assets/number-overlay-editor-C31Q48oq.js",
          "assets/data-grid-overlay-editor-acf1JMDg.js"
        ]
      }
    },
    "perspective": {
      "name": "Perspective",
      "react": false,
      "jsKB": 90.7,
      "cssKB": 31.9,
      "otherKB": 0,
      "totalKB": 122.6,
      "reactKB": 0,
      "libKB": 122.6,
      "harnessKB": 23.4,
      "wasmKB": 3935.1,
      "lazyKB": 0,
      "raw": {
        "jsKB": 326.3,
        "cssKB": 188.9,
        "wasmKB": 3976.7,
        "totalKB": 515.2
      },
      "loc": 76,
      "files": {
        "js": [
          "assets/perspective-3u5K-kdy.js",
          "assets/mount-BSR13t4U.js",
          "assets/theme-T6DuPqEQ.js"
        ],
        "css": [
          "assets/perspective-Bvvqywk8.css",
          "assets/theme-IcMNclCD.css"
        ],
        "wasm": [
          "assets/perspective-server-tZ9A--Pa.wasm",
          "assets/perspective-viewer-hxG-2zKX.wasm"
        ],
        "lazy": []
      }
    }
  }
}