{
  "native_source": "https://github.com/thereprocase/peg/tree/ac8b9440c4c4ff17418d5cb09575456b4157a3cd/bench/source/gridfinity_generator_v1",
  "dependency": {
    "name": "manifold-3d",
    "version": "3.2.1",
    "license": "Apache-2.0",
    "archive": "https://registry.npmjs.org/manifold-3d/-/manifold-3d-3.2.1.tgz",
    "integrity": "sha512-yC+zpML+IZPCtOTzowfIDCc3s31Qr8oCmfMIDnOVOhwjuzh89F+hlQ74BmU6cGHnySH+M6Ry5FnoEfW94Um2vQ==",
    "install_scripts_executed": false
  },
  "assets": {
    "README.md": "31d66d3a0af649ea6c7bc19e18563dc16d9b59104035add32d68128db9997f42",
    "app.js": "98566dda7898aef27db2055a12e3d5c8433ba370ecb5d61f6fd0ebf5e5d9fdb4",
    "backplate-angles.png": "c2bfba4d938cec178a1a98fd56d66b89617ecf94989a327cc96dbca04e1e84bd",
    "backplate-default.png": "3596952c6b5153f71561429619f767b1b4dd58f41086ba57bfb48955bb3a7221",
    "backplate-heights.png": "7fb1453dd6a308f0f4b33ce4e0c6629ed80f5ab57ff9a9df1df6de2244b5f378",
    "bed-placement.js": "3f7669d1efd48316d048c98b5d2ec01c1cd9cb615878b43817a0940e911fe1f4",
    "board-sources.json": "30406558277a06970f62daf8d4c991d6cc421692a0dc49d1019e94563e0f8a6f",
    "boards.js": "b3d4fae38cce3ab1cd20e0ae2bb2e6ab11e4d0a727d06137fbc730070dc2c73a",
    "checks/array-limits.json": "96a82ca2dc0de720eb755339715b7067ec22225cdeae683c8c9c5e29a5c313d1",
    "checks/backcheck.json": "faee2df0d9eff1465087ec5f5c75b991a194d15e37fbe9bc94766e1c5a1bca2b",
    "checks/base-types-browser.json": "c07fa27a09dfdfe0db1d1d455b3789ff8595bf02870df12686f4ed633c3d0ff1",
    "checks/base-types-exports.json": "d3adcb5abb3fec1e2be3c86d76ed123a6e821d370245cdd8a8391ffc85d52d49",
    "checks/base-types.json": "27fd880f945e12b1124d2ae1bb4632d8bcd4bc77d0012a4b16541f430e71c45e",
    "checks/bed-viewer.json": "f7f123a91695c628171d09f1f86c10c4acf672fb791fd776274b5d35e3554f5a",
    "checks/board-array-stress.json": "a91cfec8abe54969e660ebde1da78775dcf09e20192f4bc9f3d5570c7b45a2db",
    "checks/board-browser.json": "4cbfbc77e729991b590d346176419659df35843f00c2d73cb59dc6893390f8d4",
    "checks/board-original-nominal.json": "ac1f0e1c02d825cfa762e45da402bf87846b4e0bfdb083320232d41404ceae80",
    "checks/board-systems.json": "d4ec581623da5047b8d9326272d0cc65ac0d9fe1f8c92dfacfc10139969b7640",
    "checks/bolted-boards.json": "9533a012bdf071e9400baf8eb058d55884affeefd4727b80b09ffcefc77afbd4",
    "checks/browser.json": "a4883e91af16eb4840fae38d8d00dbc97db172b7297cf1eda75b38259bd7e3a3",
    "checks/diagonal-3mf.json": "101da177f4a628095e7a5ab4d8d74143f1e713ab9edf3746681ab70bb11fe1e9",
    "checks/diagonal-browser.json": "676d1610a968c163c422cbfa32cf9ec793e112fe77e56493f3f10a07d78ba342",
    "checks/diagonal-placement.json": "2a913edacb42aea0e7d11de5f55f4074acaec490bfc9d70e4c5bbdb9c4b063d0",
    "checks/exported-stl.json": "fe9f06897ba0be8394054f20a82ceca3b28e18370b9ee26b4c07ed477733293f",
    "checks/layout-revisions.json": "0083a8af5d25b485824a35b0bce904df48db75c36636fea3cde1975dff4f1903",
    "checks/modifier-readback.json": "d8f315e0eae5a7bba4b5e3e5d69d4c6efe307cd9007c50979e1d22f5bad8b8a8",
    "checks/native-comparison.json": "71c59da4dcca6e706f6f2191e6890925482b2fd9d2502af8bcb7f9a634433393",
    "checks/peg-fit-browser.json": "1f35d2f3d52a25515eb1716ca9449d133db5fb3e22ea241e9d95a94b0ce3ea6a",
    "checks/peg-fit-native.json": "cc5240236152e13dc8dbb474bd5692f08c9ccc480bf7e988b8eeb601bba5ffcb",
    "checks/peg-fit-nominal.json": "ac1f0e1c02d825cfa762e45da402bf87846b4e0bfdb083320232d41404ceae80",
    "checks/peg-fit.json": "5e25286990e21a27cdade5341b85928223c130d2bb813ac7434c1d4545c9c18e",
    "checks/placement.json": "5c73c91b66fe57a17bfb550b1b2c038193dcf953511026adbbb3dd848b7973ea",
    "checks/reinforcement-audit.json": "418f91e8ad54ec2214e3c6be61642a3e39480bfac9d009a58cd251440be0fb0c",
    "checks/reinforcement-browser.json": "edda3bb62020e5d11d8e9bc05ecab0d98723b3b543e1361e94978a07581384f7",
    "checks/reinforcement.json": "e3a9f3fe792afefe20b1e7fe7e474076dbb4005fc939e520422bb48a0d38a877",
    "checks/round-boards.json": "6754a9d9c345e9bde9dd7941bbb2ca478e3fa47b2e233a358a4ee9c21fb929ba",
    "checks/settings-browser.json": "3b53120c32cfc9f63908161c9e2a3e5aecd0eea9dc7a7860622eaa84e827eebd",
    "checks/six-3mf-placement.json": "310269b2ffb0492f3b74739d513ae992add32c7eb344b87c16b7d5ebfc91c18f",
    "checks/six-step-readback.json": "b240a74ddca8ac886134716d20110d022dfba2d57e189481f8350112ea4e4669",
    "checks/step-readback.json": "572990e74a776fbcf77cc161ac06bbfe892866ed0cbfa95d5ed84f6b321c65ba",
    "checks/viewer-helpers.json": "68f6a9359d952143fc0d69227c4353b2bade9d9ae8f8065eee313bf20a29ed04",
    "checks/width-search-controls.json": "ee23a14d784772e73539c8816a720a5bc4e28793b86f79333d75904af81a0bd8",
    "downloads/peg-fit-source.zip": "cd1891f8f055d0fc66bcbffc48704fa3795978d5772e4300d759a71a8b7a8422",
    "downloads/seat-fit-ring.stl": "f2af80f55e9ecf1adff3ccfa9cdccf091ce67ac1a1a600102cabcc639831cd05",
    "export-worker.js": "e0ed21814c200f5ddee131dda73790de7df1e3e81f35afb426608084f14b70cc",
    "fit-inputs.json": "7b55fdbea9d77a0bc809bbaaab180626f93a1af945594d984e2eb0350d79e0db",
    "frame-plan.png": "ba6d9128b9bca0b941160d62692c5898d54fbd4d26dfe760b055e9c10eb8e685",
    "front-underside.png": "fe0a4ca22e9edc2d3119c9a17f84b62cc9401905b4dd4f0f2c96d3178d18c21d",
    "generator-angles.png": "44b723edfb7432cd977fe2cd520627c9d35865f17929cc393d2ebe9f0a46fffc",
    "index.html": "7dfe009bc487b59ca80719bdd72aa472213f490f7e81c90941300a675bd3f4ca",
    "inputs.json": "768033e23879b586f23603185972fb93c5ce6b17b31ccb721672951d15ca27e3",
    "kernel.js": "8eaa67315bb8ac5fe0f235c7e93d68d4999d0d6ef85d57f83cb82eb71559b981",
    "neighbor-spacing.js": "104250827c16a4866b026abff26965c20d6672f91706369b06f439e118e9af9b",
    "peg-fit-coupon.png": "66c1adc2ca363ff2066d74d2cea4f410559f527e48121c0397353630ff745c71",
    "peg-fit.js": "a8c3cbf1ce418f15f6da940ef615fe678e30d51083ec0f16e19a33e7d66e27d5",
    "reinforcement.js": "b0325bc50c9d98773be29ad092f480516583b56d141d0e8c461f1ed5161cb5ae",
    "reinforcement.png": "28231eb8cf49e034fc6d7dd2ff7ac3c8112a43ec78eeca40a3b68e2234641e04",
    "round-board-coupons.png": "a1a518a7564c8f58b31acf95e4ebf04204e47db0b8c2e3cfd4118c0938a87256",
    "screw-board-mounts.png": "f28c53b8fc6698cbb1ac48e05c4c8d5f51f9488adbe6d29630b7abce7cdb0e27",
    "search-width-worker.js": "fd222681e021138e1e78e5fb7b062219d1178333e5f150187c7e945f325c9daa",
    "seat-fit-ring.png": "0ff7b48f704c6f31796d9fee12eeb6dee690fa14898f94747cd4220b83a1c0a2",
    "shelves.png": "1b00082f2cc3557180b1f15c1e832863d0cc495ec9bb52997b614e91d5311ba3",
    "skadis-shelf.png": "b4f1112ce8ea537e5668c00aa05239e3e5740ba3d28050e19ca17ce956196839",
    "solid-exports.js": "0be8e00d34e9710584b53899689ade851e9b3712954f28415de291c269a18696",
    "sources/round/LICENSE": "fcf06f213f25db874ab440e80901c3f1715b6c89d4b499e5dc772886c779a9b2",
    "sources/round/pegboard-hook.scad": "198168195eb9d69272236abec464706e09ac78caebd587f691866d4535f23118",
    "sources/skadis/LICENSE": "5099642050615da09e2977c56682595d05eb1361c8762b47efb62dbfe684a8e0",
    "sources/skadis/ikea-skadis.scad": "f2a76b33adc69f701a73fa4090886b39b2fed13906f22d9701549a36410f54d6",
    "style.css": "5a78400c6b9c2a339771c8816eda26bf729adb90eda4e1e5e55b0744e0b180c9",
    "vendor/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4",
    "vendor/manifold.js": "9392f8e3b7f9d3cae83c0e7c5a17acaaf017230b8931b3739fb21ea4c852a0b5",
    "vendor/manifold.wasm": "6579d59e4fa4a57b72431c5d35583ef0c6ee0e610ec110d237debb4e85457bce",
    "worker.js": "ceeed6b556ce4f9db822ac01a3cbb99a70d252fb26dfc54e094b69cbee42a4dc",
    "checks/runtime-1.json": "aa4cbbb3f142249102fbfe4decbb23c72a6b3bd7c681006f1d0f150c84a910ae",
    "checks/runtime-2.json": "c5fbd237cf66052a4f87308e3d4769edc2a00bc6cee4c6774b1922b08728d2d2",
    "checks/runtime-3.json": "4d9811750f63b05396c19ef313d16ddb35eccb9061de443b9a201e7cca008eee",
    "checks/six-base-types-offset.json": "2eca1b0728f519c143a119fb35646e04d9e359a94a7c92339aef2a67b2ee8562",
    "checks/six-base-types-remaining.json": "e5217bcc22b58de672e3e73a4ff31cb1f351875af0f2c4b92bbbb3f78608237f",
    "checks/six-base-types-exports.json": "fcb15912c44dbedc7c16277fc3ff06e2b8b0f4afcc04eee66b3134e89ee1eb44",
    "checks/weighted-step-completeness.json": "6cc692f7c8b922243d6768a4cec330f48d9778709d29333d4779f46dbd82a915",
    "checks/rectangle-fit.json": "d07070c09812fdd802728537aa195b78b15a8be14d1434f1f47164040f78e18b",
    "base-options.js": "8e749bfb56abdc4e5ea8140e1fe09bea9356faba59a756b385a58f9b4860e661",
    "width-cache.js": "ce25613452409896f33c00f05e9a4739d380fe777c273acec1f2940cb4050b9c",
    "width-precomputed.json": "d2a048d8e7ff330a9dc0c738ef72baf27749b5858f1259941e24d2eb822dafff",
    "checks/base-controls.json": "33fb9810a0d1592db3d27470efa699ede019fe76fc4a809d611db5cc0130050d",
    "checks/base-controls-browser.json": "bf49a576dc819b738f7fa5bada8e8f4e574c3d7190eb3277a645f2df2befdc77",
    "checks/width-cache.json": "c0efa7a73b0f42aea296e6bbdbf283d491eeb164182b0a71d3005b9f2e4895ca",
    "checks/magnet-fit.json": "bee6d5a6f2e89644e96b44b52f11041c6b0886f5b54b789502d283f8ab96478a",
    "checks/magnet-fit-browser.json": "77f08999b73b6f1b629cf598445eb704c932b018442eea1feefbd384f2d84bf5"
  },
  "revision": "magnet-fit-2",
  "peg_fit_source": "downloads/peg-fit-source.zip",
  "peg_fit_checks": [
    "checks/peg-fit.json",
    "checks/peg-fit-native.json",
    "checks/peg-fit-browser.json",
    "checks/peg-fit-nominal.json"
  ],
  "board_sources": "board-sources.json",
  "current_checks": "checks/layout-revisions.json",
  "mount_layout": "all usable holes across width and mounting height",
  "sharedAssets": {
    "/gridfinity-common/settings-link.js": "b72eecb434694f63afe3b979a20f21166f0cabd5f8ff8bc6fa12f6b331925496"
  },
  "base_types": {
    "official_set": "https://thangs.com/designer/ZackFreedman/3d-model/Gridfinity%20Baseplates-60925",
    "types": [
      "frame",
      "weighted"
    ],
    "scope": "Shelf adaptations of the original Frame and Weighted baseplates; physical hardware fit and load untested",
    "dimensional_reference": "https://github.com/kennetek/gridfinity-rebuilt-openscad/tree/910e22d8607fd7f5f51ad5e5cbc5287a76810bfd",
    "checks": [
      "checks/base-types.json",
      "checks/base-types-browser.json",
      "checks/base-types-exports.json"
    ],
    "frame_regression": "Three representative current-frame meshes were byte-identical to pre-change vertices and triangles"
  },
  "runtime": {
    "revision": "runtime-3",
    "sharedModule": "../gridfinity-common/generator-runtime.js",
    "changes": [
      "demand-driven visible rendering",
      "worker progress and wall times",
      "stale reply suppression",
      "export cancel retains generated meshes",
      "pagehide terminates workers",
      "startup controls gated on attached handlers"
    ],
    "geometry": "Unchanged Manifold operations, faceted STEP normalization, STL precision and export checks. Drawer kernel adds progress callbacks only.",
    "notApplicable": [
      "OCCT destructor and allocator changes",
      "OCCT pthread validation overlap",
      "native source certificates",
      "OCCT STEP writer and reader optimizations"
    ],
    "checks": [
      "scripts/gridfinity/check-runtime-worker.mjs",
      "scripts/gridfinity/check-runtime-geometry.mjs",
      "scripts/gridfinity/check-generator-runtime.mjs"
    ],
    "evidence": "checks/runtime-3.json",
    "outcomes": "running, success, error or cancelled; terminal wall time belongs to that operation"
  },
  "workspaceLayout": {
    "version": "workspace-1",
    "date": "2026-10-21",
    "geometryChanges": false,
    "sharedAssets": {
      "/gridfinity-common/workspace-layout.css": "481791a565a4a8f2769857010b510031eb066997a6ed7b2caef9345201334848",
      "/gridfinity-common/workspace-layout.js": "d204884f6c358c1f190348cd1666cf9769afb6757f0a54d4025a680b908cf58a"
    }
  },
  "sixBaseStyles": {
    "build": "female-bases-2",
    "styles": [
      "frame",
      "plain",
      "magnets",
      "screws",
      "both",
      "weighted"
    ],
    "origin": "Frame and Weighted adapt the original baseplate types. Four floor/hardware variants use the same socket profile; not four additional official designs.",
    "validation": [
      "checks/six-base-types-offset.json",
      "checks/six-base-types-remaining.json",
      "checks/six-base-types-exports.json",
      "checks/weighted-step-completeness.json"
    ]
  },
  "baseControls": {
    "revision": "base-controls-1",
    "floor": [
      "open",
      "closed"
    ],
    "independentHardware": [
      "magnets",
      "screws"
    ],
    "ballastRequires": "closed",
    "combinations": 12,
    "legacyGeometryPreserved": true,
    "validation": [
      "checks/base-controls.json",
      "checks/base-controls-browser.json"
    ]
  },
  "widthCache": {
    "revision": "magnet-fit-2",
    "precomputed": "width-precomputed.json",
    "profile": "default original board, one row, zero tilt; all base combinations and all three magnet fits",
    "maximumPrecomputedColumns": 11,
    "completedResultCacheEntries": 32,
    "validation": "checks/width-cache.json"
  },
  "magnetFit": {
    "revision": "magnet-fit-2",
    "default": "snug",
    "magnetNominalMM": [
      6,
      2
    ],
    "presets": {
      "snug": {
        "label": "Snug glue",
        "diameterMM": 6.2
      },
      "glue": {
        "label": "Official",
        "diameterMM": 6.5
      },
      "press": {
        "label": "Friction",
        "diameterMM": 6.0
      }
    },
    "pocketDepthMM": 2.4,
    "qualification": "Snug glue matches stacking box dimensions and owner-reported fit. Friction retention depends on printing tolerances."
  }
}
