{
  "generatedAt": "2026-09-05T13:33:17.881Z",
  "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/frontmatter-BYBBUU76.js",
      "assets/mount-BFImwXEx.js",
      "assets/theme-CVlCVgpp.js",
      "assets/theme-OPyTaIG2.css"
    ],
    "rawKB": 76.3,
    "gzipKB": 25
  },
  "demos": {
    "baseline": {
      "name": "Plain <table>",
      "react": false,
      "jsKB": 24.4,
      "cssKB": 1.7,
      "otherKB": 0,
      "totalKB": 26.1,
      "reactKB": 0,
      "libKB": 26.1,
      "harnessKB": 25,
      "wasmKB": 0,
      "lazyKB": 0,
      "raw": {
        "jsKB": 72.9,
        "cssKB": 5.1,
        "wasmKB": 0,
        "totalKB": 78
      },
      "loc": 34,
      "files": {
        "js": [
          "assets/baseline-Bpc5VqjC.js",
          "assets/frontmatter-BYBBUU76.js",
          "assets/mount-BFImwXEx.js",
          "assets/theme-CVlCVgpp.js"
        ],
        "css": [
          "assets/theme-OPyTaIG2.css"
        ],
        "wasm": [],
        "lazy": []
      }
    },
    "observable": {
      "name": "Observable Inputs",
      "react": false,
      "jsKB": 30,
      "cssKB": 1.7,
      "otherKB": 0,
      "totalKB": 31.7,
      "reactKB": 0,
      "libKB": 31.7,
      "harnessKB": 25,
      "wasmKB": 0,
      "lazyKB": 0,
      "raw": {
        "jsKB": 87,
        "cssKB": 5.1,
        "wasmKB": 0,
        "totalKB": 92.1
      },
      "loc": 32,
      "files": {
        "js": [
          "assets/observable-DZTYytxK.js",
          "assets/frontmatter-BYBBUU76.js",
          "assets/mount-BFImwXEx.js",
          "assets/theme-CVlCVgpp.js"
        ],
        "css": [
          "assets/theme-OPyTaIG2.css"
        ],
        "wasm": [],
        "lazy": []
      }
    },
    "tabulator": {
      "name": "Tabulator",
      "react": false,
      "jsKB": 128.9,
      "cssKB": 5.7,
      "otherKB": 0,
      "totalKB": 134.6,
      "reactKB": 0,
      "libKB": 134.6,
      "harnessKB": 25,
      "wasmKB": 0,
      "lazyKB": 0,
      "raw": {
        "jsKB": 523.6,
        "cssKB": 34.4,
        "wasmKB": 0,
        "totalKB": 558
      },
      "loc": 69,
      "files": {
        "js": [
          "assets/tabulator-C2lS1XfP.js",
          "assets/frontmatter-BYBBUU76.js",
          "assets/mount-BFImwXEx.js",
          "assets/theme-CVlCVgpp.js"
        ],
        "css": [
          "assets/tabulator-DjkDjhrC.css",
          "assets/theme-OPyTaIG2.css"
        ],
        "wasm": [],
        "lazy": []
      }
    },
    "aggrid": {
      "name": "AG Grid Community",
      "react": false,
      "jsKB": 327.8,
      "cssKB": 1.7,
      "otherKB": 0,
      "totalKB": 329.5,
      "reactKB": 0,
      "libKB": 329.5,
      "harnessKB": 25,
      "wasmKB": 0,
      "lazyKB": 0,
      "raw": {
        "jsKB": 1164.2,
        "cssKB": 5.1,
        "wasmKB": 0,
        "totalKB": 1169.2
      },
      "loc": 39,
      "files": {
        "js": [
          "assets/aggrid-BJ4LVmsv.js",
          "assets/frontmatter-BYBBUU76.js",
          "assets/mount-BFImwXEx.js",
          "assets/theme-CVlCVgpp.js"
        ],
        "css": [
          "assets/theme-OPyTaIG2.css"
        ],
        "wasm": [],
        "lazy": []
      }
    },
    "tanstack": {
      "name": "TanStack Table",
      "react": true,
      "jsKB": 104.9,
      "cssKB": 1.7,
      "otherKB": 0,
      "totalKB": 106.6,
      "reactKB": 60.3,
      "libKB": 46.3,
      "harnessKB": 25,
      "wasmKB": 0,
      "lazyKB": 0,
      "raw": {
        "jsKB": 330.4,
        "cssKB": 5.1,
        "wasmKB": 0,
        "totalKB": 335.4
      },
      "loc": 146,
      "files": {
        "js": [
          "assets/tanstack-ByPZk4fN.js",
          "assets/frontmatter-BYBBUU76.js",
          "assets/Table-DonZ9grR.js",
          "assets/react-DNTIaZct.js",
          "assets/react-host-BFBb6EjG.js",
          "assets/mount-BFImwXEx.js",
          "assets/theme-CVlCVgpp.js"
        ],
        "css": [
          "assets/theme-OPyTaIG2.css"
        ],
        "wasm": [],
        "lazy": []
      }
    },
    "glide": {
      "name": "Glide Data Grid",
      "react": true,
      "jsKB": 186.5,
      "cssKB": 3.9,
      "otherKB": 0,
      "totalKB": 190.4,
      "reactKB": 60.3,
      "libKB": 130.1,
      "harnessKB": 25,
      "wasmKB": 0,
      "lazyKB": 8.1,
      "raw": {
        "jsKB": 566.8,
        "cssKB": 17.8,
        "wasmKB": 0,
        "totalKB": 584.6
      },
      "loc": 123,
      "files": {
        "js": [
          "assets/glide-BozQplfE.js",
          "assets/frontmatter-BYBBUU76.js",
          "assets/react-host-BFBb6EjG.js",
          "assets/react-DNTIaZct.js",
          "assets/mount-BFImwXEx.js",
          "assets/theme-CVlCVgpp.js"
        ],
        "css": [
          "assets/glide-Bhzk72UY.css",
          "assets/theme-OPyTaIG2.css"
        ],
        "wasm": [],
        "lazy": [
          "assets/number-overlay-editor-WCpQQavM.js",
          "assets/data-grid-overlay-editor-DGTA2C-t.js"
        ]
      }
    },
    "perspective": {
      "name": "Perspective",
      "react": false,
      "jsKB": 92.3,
      "cssKB": 32,
      "otherKB": 0,
      "totalKB": 124.3,
      "reactKB": 0,
      "libKB": 124.3,
      "harnessKB": 25,
      "wasmKB": 3935.1,
      "lazyKB": 0,
      "raw": {
        "jsKB": 330.5,
        "cssKB": 189.4,
        "wasmKB": 3976.7,
        "totalKB": 519.9
      },
      "loc": 48,
      "files": {
        "js": [
          "assets/perspective-C2APuIyS.js",
          "assets/mount-BFImwXEx.js",
          "assets/theme-CVlCVgpp.js",
          "assets/frontmatter-BYBBUU76.js"
        ],
        "css": [
          "assets/perspective-Bvvqywk8.css",
          "assets/theme-OPyTaIG2.css"
        ],
        "wasm": [
          "assets/perspective-server-tZ9A--Pa.wasm",
          "assets/perspective-viewer-hxG-2zKX.wasm"
        ],
        "lazy": []
      }
    }
  }
}