{
  "kind": "metre2-vector-tool-library",
  "version": 1,
  "name": "Metre2 Takeoff Studio Tool Library",
  "createdAt": "2026-10-31T07:50:59.047Z",
  "tools": [
    {
      "id": "83b6aa9f-12eb-46c2-86de-b7756b8d4016",
      "label": "Skirting",
      "markupType": "length",
      "color": "#7048e8",
      "width": 3,
      "opacity": 1,
      "fillOpacity": 0.22,
      "lineStyle": "solid",
      "trade": "Unassigned",
      "packageName": "Default",
      "category": "length",
      "tag": "",
      "tag2": "",
      "status": "draft",
      "subject": "Skirting",
      "depth": 0,
      "rate": 0,
      "isDeduction": false,
      "assemblies": [
        {
          "id": "32d085fd-d12b-48b6-a573-5ac820dc410d",
          "name": "Skirting",
          "variables": [
            {
              "name": "Doors",
              "value": 0
            },
            {
              "name": "DoorWidth",
              "value": 0.9
            },
            {
              "name": "BoardLength",
              "value": 4.2
            }
          ],
          "items": [
            {
              "id": "1356d4d4-6a46-4214-a898-a5c7175c36f5",
              "description": "MDF skirting board",
              "unit": "m",
              "formula": "max(0, Length - Doors * DoorWidth)",
              "waste": 10,
              "roundUp": false,
              "rate": 0
            },
            {
              "id": "eca3f8aa-3815-4ba4-81cb-e797eff4322f",
              "description": "Skirting lengths",
              "unit": "nr",
              "formula": "max(0, Length - Doors * DoorWidth) / BoardLength",
              "waste": 10,
              "roundUp": true,
              "rate": 0
            },
            {
              "id": "3b74d26f-5ef9-4140-8345-08d8ff514d4e",
              "description": "Decoration to skirting",
              "unit": "m",
              "formula": "max(0, Length - Doors * DoorWidth)",
              "waste": 0,
              "roundUp": false,
              "rate": 0
            }
          ]
        }
      ]
    },
    {
      "id": "72d6db49-178c-403c-b70f-17b992e5009f",
      "label": "Block wall",
      "markupType": "length",
      "color": "#e8590c",
      "width": 7,
      "opacity": 1,
      "fillOpacity": 0.22,
      "lineStyle": "solid",
      "trade": "Unassigned",
      "packageName": "Default",
      "category": "length",
      "tag": "",
      "tag2": "",
      "status": "draft",
      "subject": "Block wall",
      "depth": 0,
      "rate": 0,
      "isDeduction": false,
      "assemblies": [
        {
          "id": "9266060a-129c-4c00-b457-0edf7d96f06a",
          "name": "Block wall",
          "variables": [
            {
              "name": "Height",
              "value": 2.4
            },
            {
              "name": "BlocksPerM2",
              "value": 10
            }
          ],
          "items": [
            {
              "id": "998c973d-6707-4061-8ac5-0d4deb6bd96b",
              "description": "100mm dense concrete blockwork",
              "unit": "m2",
              "formula": "Length * Height",
              "waste": 0,
              "roundUp": false,
              "rate": 0
            },
            {
              "id": "c9e50a82-fe96-4c49-8695-6ae04db0f756",
              "description": "Blocks",
              "unit": "nr",
              "formula": "Length * Height * BlocksPerM2",
              "waste": 5,
              "roundUp": true,
              "rate": 0
            },
            {
              "id": "669b66a7-6fe3-4034-835a-cec6d27d2b52",
              "description": "Mortar",
              "unit": "m3",
              "formula": "Length * Height * 0.01",
              "waste": 10,
              "roundUp": false,
              "rate": 0
            },
            {
              "id": "1e726991-2db9-451c-bad5-4a639ff2b40d",
              "description": "Wall ties / reinforcement every 3rd course",
              "unit": "m",
              "formula": "Length * ceil(Height / 0.675)",
              "waste": 5,
              "roundUp": false,
              "rate": 0
            }
          ]
        }
      ]
    },
    {
      "id": "ef6f582f-d81e-4dce-8ad3-1a7756fe14a9",
      "label": "Concrete slab",
      "markupType": "area",
      "color": "#1f4fe0",
      "width": 2,
      "opacity": 1,
      "fillOpacity": 0.22,
      "lineStyle": "solid",
      "trade": "Unassigned",
      "packageName": "Default",
      "category": "area",
      "tag": "",
      "tag2": "",
      "status": "draft",
      "subject": "Concrete slab",
      "depth": 0,
      "rate": 0,
      "isDeduction": false,
      "assemblies": [
        {
          "id": "a182f460-b3e7-41fe-b4e7-bbe6497e5575",
          "name": "Concrete slab",
          "variables": [
            {
              "name": "Thickness",
              "value": 0.15
            },
            {
              "name": "MeshLap",
              "value": 0.1
            }
          ],
          "items": [
            {
              "id": "9a64339c-a5da-4b96-843c-3bab833654aa",
              "description": "In-situ concrete C32/40 in slab",
              "unit": "m3",
              "formula": "Area * Thickness",
              "waste": 5,
              "roundUp": false,
              "rate": 0
            },
            {
              "id": "df3f7dc1-c982-45f8-979f-06e4f7b5b9cf",
              "description": "A393 mesh reinforcement",
              "unit": "m2",
              "formula": "Area * (1 + MeshLap)",
              "waste": 0,
              "roundUp": false,
              "rate": 0
            },
            {
              "id": "cb9e57f1-c3f8-4d0c-b858-1e89f2ce9608",
              "description": "1200 gauge DPM",
              "unit": "m2",
              "formula": "Area",
              "waste": 10,
              "roundUp": false,
              "rate": 0
            },
            {
              "id": "57dbf8b3-3eef-43bf-8f84-713866aa6122",
              "description": "Edge formwork",
              "unit": "m",
              "formula": "Perimeter",
              "waste": 0,
              "roundUp": false,
              "rate": 0
            }
          ]
        }
      ]
    },
    {
      "id": "67669225-b505-4f01-99ae-93965a8d1e71",
      "label": "Stud partition",
      "markupType": "length",
      "color": "#d6336c",
      "width": 6,
      "opacity": 1,
      "fillOpacity": 0.22,
      "lineStyle": "solid",
      "trade": "Unassigned",
      "packageName": "Default",
      "category": "length",
      "tag": "",
      "tag2": "",
      "status": "draft",
      "subject": "Stud partition",
      "depth": 0,
      "rate": 0,
      "isDeduction": false,
      "assemblies": [
        {
          "id": "d7726b6d-35ab-420a-b725-fae25d6efdab",
          "name": "Stud partition",
          "variables": [
            {
              "name": "Height",
              "value": 2.4
            },
            {
              "name": "Spacing",
              "value": 0.6
            },
            {
              "name": "SheetWidth",
              "value": 1.2
            },
            {
              "name": "SheetHeight",
              "value": 2.4
            },
            {
              "name": "Sides",
              "value": 2
            }
          ],
          "items": [
            {
              "id": "68c38aed-d8ab-413e-a4a5-46cc6ad103d8",
              "description": "12.5mm plasterboard sheets",
              "unit": "nr",
              "formula": "Length * Height * Sides / (SheetWidth * SheetHeight)",
              "waste": 10,
              "roundUp": true,
              "rate": 0
            },
            {
              "id": "2ca42937-731c-4fee-aa95-bc3ba00ae202",
              "description": "Metal studs at centres",
              "unit": "nr",
              "formula": "ceil(Length / Spacing) + 1",
              "waste": 0,
              "roundUp": false,
              "rate": 0
            },
            {
              "id": "6305ccca-8959-4965-934b-e985be6dc5f1",
              "description": "Head and floor track",
              "unit": "m",
              "formula": "Length * 2",
              "waste": 5,
              "roundUp": false,
              "rate": 0
            },
            {
              "id": "737cbc8e-e3e1-4429-a1d5-04ed08573eb8",
              "description": "Drywall screws (approx. 30 per m2 per side)",
              "unit": "nr",
              "formula": "Length * Height * Sides * 30",
              "waste": 10,
              "roundUp": true,
              "rate": 0
            },
            {
              "id": "db9534a1-f397-44f4-9415-d7ebf0685911",
              "description": "Joint tape",
              "unit": "m",
              "formula": "Length * Height * Sides * 1.6",
              "waste": 10,
              "roundUp": false,
              "rate": 0
            },
            {
              "id": "6e9498f8-cb69-4b34-8079-6df5ed8df1cf",
              "description": "Labour",
              "unit": "hr",
              "formula": "Length * Height * 0.45",
              "waste": 0,
              "roundUp": false,
              "rate": 0
            }
          ]
        }
      ]
    }
  ]
}