{
  "schemaVersion": 1,
  "title": "OptiPacker single-layer packing experiment",
  "model": "jev-1.13.0",
  "scope": {
    "parts": "Identical parts represented by occupied square cells.",
    "placement": "One 10 mm-thick layer on a 10 mm placement lattice.",
    "rotations": "In-plane quarter turns; the half-turn fixture permits only 0 and 180 degrees.",
    "clearance": "Square-buffer part clearance and wall margins declared per fixture.",
    "utilization": "Occupied part volume divided by the full single-layer container volume.",
    "upperBound": "Minimum of requested quantity and usable area divided by part area. Clearance and tileability can make this bound unattainable.",
    "playback": "The robot animation replays completed layouts. Playback speed is separate from solver runtime.",
    "application": "Mesh footprint extraction, mixed parts, vertical packing and loading-path constraints require separate integration."
  },
  "methods": {
    "grid": {
      "description": "Uniform bounding-box grid using the production grid-count helper."
    },
    "geometry": {
      "description": "Shape-aware geometric beam search from the wider-search controls.",
      "beamWidth": 8,
      "branchLimit": 8
    },
    "jev": {
      "description": "First recorded Jev-guided beam-selection trial.",
      "beamWidth": 4,
      "branchLimit": 8,
      "repeat": 1
    }
  },
  "runtimeScope": "Recorded runtime includes placement generation, search and final layout validation. Jev runtime includes network latency. Geometric measurements follow an excluded warmup run.",
  "sourceNote": "Public fixture definitions and result fields derived from the final experiment and follow-up wider geometric controls. The controls were added after observing the original asymmetric-L gain.",
  "sources": [
    {
      "path": "tasks/experiments/jev-packing-final/results.json",
      "contents": "Fixtures, grid results, first Jev trial per fixture, and Jev runtime means and packed counts across three trials."
    },
    {
      "path": "tasks/experiments/jev-packing-controls/results.json",
      "contents": "Geometric ranking results with beam width 8 and branch limit 8."
    }
  ],
  "fixtures": [
    {
      "cellMm": 10,
      "thicknessMm": 10,
      "gapCells": 0,
      "wallCells": 0,
      "rotations": [
        0,
        90,
        180,
        270
      ],
      "id": "l-small",
      "shape": [
        "#.",
        "##"
      ],
      "widthCells": 6,
      "heightCells": 4,
      "requested": 8
    },
    {
      "cellMm": 10,
      "thicknessMm": 10,
      "gapCells": 0,
      "wallCells": 0,
      "rotations": [
        0,
        90,
        180,
        270
      ],
      "id": "l-thin",
      "shape": [
        "#..",
        "#..",
        "###"
      ],
      "widthCells": 6,
      "heightCells": 5,
      "requested": 6
    },
    {
      "cellMm": 10,
      "thicknessMm": 10,
      "gapCells": 0,
      "wallCells": 0,
      "rotations": [
        0,
        90,
        180,
        270
      ],
      "id": "l-asymmetric",
      "shape": [
        "#...",
        "#...",
        "####"
      ],
      "widthCells": 8,
      "heightCells": 6,
      "requested": 8
    },
    {
      "cellMm": 10,
      "thicknessMm": 10,
      "gapCells": 0,
      "wallCells": 0,
      "rotations": [
        0,
        180
      ],
      "id": "l-half-turns",
      "shape": [
        "#..",
        "#..",
        "###"
      ],
      "widthCells": 7,
      "heightCells": 5,
      "requested": 7
    },
    {
      "cellMm": 10,
      "thicknessMm": 10,
      "gapCells": 1,
      "wallCells": 1,
      "rotations": [
        0,
        90,
        180,
        270
      ],
      "id": "l-clearance",
      "shape": [
        "#.",
        "##"
      ],
      "widthCells": 9,
      "heightCells": 8,
      "requested": 8
    },
    {
      "cellMm": 10,
      "thicknessMm": 10,
      "gapCells": 0,
      "wallCells": 0,
      "rotations": [
        0,
        90,
        180,
        270
      ],
      "id": "rectangle-control",
      "shape": [
        "##",
        "##"
      ],
      "widthCells": 6,
      "heightCells": 4,
      "requested": 6
    }
  ],
  "recordings": [
    {
      "fixtureId": "l-small",
      "grid": {
        "fixtureId": "l-small",
        "method": "grid",
        "repeat": 0,
        "packed": 6,
        "areaUpperBound": 8,
        "utilization": 0.75,
        "runtimeMs": 0.25960000000000605,
        "expandedLayouts": 0,
        "valid": true,
        "poses": [
          {
            "xMm": 0,
            "yMm": 0,
            "rotation": 0
          },
          {
            "xMm": 20,
            "yMm": 0,
            "rotation": 0
          },
          {
            "xMm": 40,
            "yMm": 0,
            "rotation": 0
          },
          {
            "xMm": 0,
            "yMm": 20,
            "rotation": 0
          },
          {
            "xMm": 20,
            "yMm": 20,
            "rotation": 0
          },
          {
            "xMm": 40,
            "yMm": 20,
            "rotation": 0
          }
        ]
      },
      "geometry": {
        "fixtureId": "l-small",
        "method": "geometry",
        "repeat": 1,
        "packed": 8,
        "areaUpperBound": 8,
        "utilization": 1,
        "runtimeMs": 9.388599999999997,
        "expandedLayouts": 1191,
        "valid": true,
        "poses": [
          {
            "xMm": 40,
            "yMm": 0,
            "rotation": 180
          },
          {
            "xMm": 30,
            "yMm": 0,
            "rotation": 0
          },
          {
            "xMm": 10,
            "yMm": 0,
            "rotation": 180
          },
          {
            "xMm": 40,
            "yMm": 20,
            "rotation": 180
          },
          {
            "xMm": 30,
            "yMm": 20,
            "rotation": 0
          },
          {
            "xMm": 10,
            "yMm": 20,
            "rotation": 180
          },
          {
            "xMm": 0,
            "yMm": 20,
            "rotation": 0
          },
          {
            "xMm": 0,
            "yMm": 0,
            "rotation": 0
          }
        ]
      },
      "jev": {
        "fixtureId": "l-small",
        "method": "jev",
        "repeat": 1,
        "packed": 8,
        "areaUpperBound": 8,
        "utilization": 1,
        "runtimeMs": 2441.7699000000002,
        "expandedLayouts": 696,
        "valid": true,
        "poses": [
          {
            "xMm": 0,
            "yMm": 20,
            "rotation": 0
          },
          {
            "xMm": 0,
            "yMm": 0,
            "rotation": 90
          },
          {
            "xMm": 10,
            "yMm": 10,
            "rotation": 0
          },
          {
            "xMm": 20,
            "yMm": 20,
            "rotation": 270
          },
          {
            "xMm": 20,
            "yMm": 0,
            "rotation": 90
          },
          {
            "xMm": 30,
            "yMm": 10,
            "rotation": 180
          },
          {
            "xMm": 40,
            "yMm": 20,
            "rotation": 270
          },
          {
            "xMm": 40,
            "yMm": 0,
            "rotation": 180
          }
        ]
      },
      "jevMeanRuntimeMs": 2375.4809,
      "jevPackedTrials": [
        8,
        8,
        8
      ]
    },
    {
      "fixtureId": "l-thin",
      "grid": {
        "fixtureId": "l-thin",
        "method": "grid",
        "repeat": 0,
        "packed": 2,
        "areaUpperBound": 6,
        "utilization": 0.3333333333333333,
        "runtimeMs": 0.12450000000001182,
        "expandedLayouts": 0,
        "valid": true,
        "poses": [
          {
            "xMm": 0,
            "yMm": 0,
            "rotation": 0
          },
          {
            "xMm": 30,
            "yMm": 0,
            "rotation": 0
          }
        ]
      },
      "geometry": {
        "fixtureId": "l-thin",
        "method": "geometry",
        "repeat": 1,
        "packed": 5,
        "areaUpperBound": 6,
        "utilization": 0.8333333333333334,
        "runtimeMs": 2.5490000000000066,
        "expandedLayouts": 398,
        "valid": true,
        "poses": [
          {
            "xMm": 30,
            "yMm": 0,
            "rotation": 180
          },
          {
            "xMm": 0,
            "yMm": 0,
            "rotation": 90
          },
          {
            "xMm": 0,
            "yMm": 20,
            "rotation": 270
          },
          {
            "xMm": 10,
            "yMm": 10,
            "rotation": 90
          },
          {
            "xMm": 30,
            "yMm": 20,
            "rotation": 0
          }
        ]
      },
      "jev": {
        "fixtureId": "l-thin",
        "method": "jev",
        "repeat": 1,
        "packed": 5,
        "areaUpperBound": 6,
        "utilization": 0.8333333333333334,
        "runtimeMs": 1132.9766,
        "expandedLayouts": 267,
        "valid": true,
        "poses": [
          {
            "xMm": 0,
            "yMm": 0,
            "rotation": 90
          },
          {
            "xMm": 10,
            "yMm": 10,
            "rotation": 90
          },
          {
            "xMm": 30,
            "yMm": 0,
            "rotation": 180
          },
          {
            "xMm": 0,
            "yMm": 20,
            "rotation": 270
          },
          {
            "xMm": 30,
            "yMm": 20,
            "rotation": 0
          }
        ]
      },
      "jevMeanRuntimeMs": 1165.4285666666667,
      "jevPackedTrials": [
        5,
        5,
        5
      ]
    },
    {
      "fixtureId": "l-asymmetric",
      "grid": {
        "fixtureId": "l-asymmetric",
        "method": "grid",
        "repeat": 0,
        "packed": 4,
        "areaUpperBound": 8,
        "utilization": 0.5,
        "runtimeMs": 0.07780000000002474,
        "expandedLayouts": 0,
        "valid": true,
        "poses": [
          {
            "xMm": 0,
            "yMm": 0,
            "rotation": 0
          },
          {
            "xMm": 40,
            "yMm": 0,
            "rotation": 0
          },
          {
            "xMm": 0,
            "yMm": 30,
            "rotation": 0
          },
          {
            "xMm": 40,
            "yMm": 30,
            "rotation": 0
          }
        ]
      },
      "geometry": {
        "fixtureId": "l-asymmetric",
        "method": "geometry",
        "repeat": 1,
        "packed": 7,
        "areaUpperBound": 8,
        "utilization": 0.875,
        "runtimeMs": 11.729499999999973,
        "expandedLayouts": 975,
        "valid": true,
        "poses": [
          {
            "xMm": 10,
            "yMm": 30,
            "rotation": 0
          },
          {
            "xMm": 0,
            "yMm": 20,
            "rotation": 90
          },
          {
            "xMm": 50,
            "yMm": 20,
            "rotation": 270
          },
          {
            "xMm": 50,
            "yMm": 0,
            "rotation": 90
          },
          {
            "xMm": 0,
            "yMm": 0,
            "rotation": 180
          },
          {
            "xMm": 20,
            "yMm": 0,
            "rotation": 270
          },
          {
            "xMm": 40,
            "yMm": 10,
            "rotation": 270
          }
        ]
      },
      "jev": {
        "fixtureId": "l-asymmetric",
        "method": "jev",
        "repeat": 1,
        "packed": 7,
        "areaUpperBound": 8,
        "utilization": 0.875,
        "runtimeMs": 1766.2028000000005,
        "expandedLayouts": 593,
        "valid": true,
        "poses": [
          {
            "xMm": 50,
            "yMm": 20,
            "rotation": 270
          },
          {
            "xMm": 10,
            "yMm": 30,
            "rotation": 0
          },
          {
            "xMm": 0,
            "yMm": 20,
            "rotation": 90
          },
          {
            "xMm": 50,
            "yMm": 0,
            "rotation": 90
          },
          {
            "xMm": 40,
            "yMm": 10,
            "rotation": 270
          },
          {
            "xMm": 20,
            "yMm": 0,
            "rotation": 270
          },
          {
            "xMm": 0,
            "yMm": 0,
            "rotation": 180
          }
        ]
      },
      "jevMeanRuntimeMs": 1850.859266666667,
      "jevPackedTrials": [
        7,
        7,
        7
      ]
    },
    {
      "fixtureId": "l-half-turns",
      "grid": {
        "fixtureId": "l-half-turns",
        "method": "grid",
        "repeat": 0,
        "packed": 2,
        "areaUpperBound": 7,
        "utilization": 0.2857142857142857,
        "runtimeMs": 0.03649999999998954,
        "expandedLayouts": 0,
        "valid": true,
        "poses": [
          {
            "xMm": 0,
            "yMm": 0,
            "rotation": 0
          },
          {
            "xMm": 30,
            "yMm": 0,
            "rotation": 0
          }
        ]
      },
      "geometry": {
        "fixtureId": "l-half-turns",
        "method": "geometry",
        "repeat": 1,
        "packed": 6,
        "areaUpperBound": 7,
        "utilization": 0.8571428571428571,
        "runtimeMs": 2.3781999999999925,
        "expandedLayouts": 360,
        "valid": true,
        "poses": [
          {
            "xMm": 0,
            "yMm": 0,
            "rotation": 180
          },
          {
            "xMm": 40,
            "yMm": 0,
            "rotation": 180
          },
          {
            "xMm": 30,
            "yMm": 10,
            "rotation": 180
          },
          {
            "xMm": 0,
            "yMm": 20,
            "rotation": 0
          },
          {
            "xMm": 40,
            "yMm": 20,
            "rotation": 0
          },
          {
            "xMm": 10,
            "yMm": 10,
            "rotation": 0
          }
        ]
      },
      "jev": {
        "fixtureId": "l-half-turns",
        "method": "jev",
        "repeat": 1,
        "packed": 6,
        "areaUpperBound": 7,
        "utilization": 0.8571428571428571,
        "runtimeMs": 1740.3251,
        "expandedLayouts": 222,
        "valid": true,
        "poses": [
          {
            "xMm": 40,
            "yMm": 20,
            "rotation": 0
          },
          {
            "xMm": 0,
            "yMm": 20,
            "rotation": 0
          },
          {
            "xMm": 40,
            "yMm": 0,
            "rotation": 180
          },
          {
            "xMm": 10,
            "yMm": 10,
            "rotation": 0
          },
          {
            "xMm": 0,
            "yMm": 0,
            "rotation": 180
          },
          {
            "xMm": 30,
            "yMm": 10,
            "rotation": 180
          }
        ]
      },
      "jevMeanRuntimeMs": 1534.9675666666674,
      "jevPackedTrials": [
        6,
        6,
        6
      ]
    },
    {
      "fixtureId": "l-clearance",
      "grid": {
        "fixtureId": "l-clearance",
        "method": "grid",
        "repeat": 0,
        "packed": 4,
        "areaUpperBound": 8,
        "utilization": 0.16666666666666666,
        "runtimeMs": 0.05259999999998399,
        "expandedLayouts": 0,
        "valid": true,
        "poses": [
          {
            "xMm": 10,
            "yMm": 10,
            "rotation": 0
          },
          {
            "xMm": 40,
            "yMm": 10,
            "rotation": 0
          },
          {
            "xMm": 10,
            "yMm": 40,
            "rotation": 0
          },
          {
            "xMm": 40,
            "yMm": 40,
            "rotation": 0
          }
        ]
      },
      "geometry": {
        "fixtureId": "l-clearance",
        "method": "geometry",
        "repeat": 1,
        "packed": 6,
        "areaUpperBound": 8,
        "utilization": 0.25,
        "runtimeMs": 26.112300000000005,
        "expandedLayouts": 1760,
        "valid": true,
        "poses": [
          {
            "xMm": 60,
            "yMm": 50,
            "rotation": 270
          },
          {
            "xMm": 10,
            "yMm": 10,
            "rotation": 90
          },
          {
            "xMm": 10,
            "yMm": 40,
            "rotation": 90
          },
          {
            "xMm": 30,
            "yMm": 50,
            "rotation": 270
          },
          {
            "xMm": 40,
            "yMm": 10,
            "rotation": 90
          },
          {
            "xMm": 60,
            "yMm": 20,
            "rotation": 270
          }
        ]
      },
      "jev": {
        "fixtureId": "l-clearance",
        "method": "jev",
        "repeat": 1,
        "packed": 6,
        "areaUpperBound": 8,
        "utilization": 0.25,
        "runtimeMs": 1607.5512999999992,
        "expandedLayouts": 959,
        "valid": true,
        "poses": [
          {
            "xMm": 10,
            "yMm": 10,
            "rotation": 0
          },
          {
            "xMm": 40,
            "yMm": 10,
            "rotation": 90
          },
          {
            "xMm": 60,
            "yMm": 20,
            "rotation": 270
          },
          {
            "xMm": 10,
            "yMm": 40,
            "rotation": 90
          },
          {
            "xMm": 30,
            "yMm": 50,
            "rotation": 270
          },
          {
            "xMm": 60,
            "yMm": 50,
            "rotation": 90
          }
        ]
      },
      "jevMeanRuntimeMs": 1582.0584666666666,
      "jevPackedTrials": [
        6,
        6,
        6
      ]
    },
    {
      "fixtureId": "rectangle-control",
      "grid": {
        "fixtureId": "rectangle-control",
        "method": "grid",
        "repeat": 0,
        "packed": 6,
        "areaUpperBound": 6,
        "utilization": 1,
        "runtimeMs": 0.0741999999999905,
        "expandedLayouts": 0,
        "valid": true,
        "poses": [
          {
            "xMm": 0,
            "yMm": 0,
            "rotation": 0
          },
          {
            "xMm": 20,
            "yMm": 0,
            "rotation": 0
          },
          {
            "xMm": 40,
            "yMm": 0,
            "rotation": 0
          },
          {
            "xMm": 0,
            "yMm": 20,
            "rotation": 0
          },
          {
            "xMm": 20,
            "yMm": 20,
            "rotation": 0
          },
          {
            "xMm": 40,
            "yMm": 20,
            "rotation": 0
          }
        ]
      },
      "geometry": {
        "fixtureId": "rectangle-control",
        "method": "geometry",
        "repeat": 1,
        "packed": 6,
        "areaUpperBound": 6,
        "utilization": 1,
        "runtimeMs": 1.0488000000000284,
        "expandedLayouts": 220,
        "valid": true,
        "poses": [
          {
            "xMm": 20,
            "yMm": 20,
            "rotation": 0
          },
          {
            "xMm": 40,
            "yMm": 20,
            "rotation": 0
          },
          {
            "xMm": 40,
            "yMm": 0,
            "rotation": 0
          },
          {
            "xMm": 0,
            "yMm": 20,
            "rotation": 0
          },
          {
            "xMm": 0,
            "yMm": 0,
            "rotation": 0
          },
          {
            "xMm": 20,
            "yMm": 0,
            "rotation": 0
          }
        ]
      },
      "jev": {
        "fixtureId": "rectangle-control",
        "method": "jev",
        "repeat": 1,
        "packed": 6,
        "areaUpperBound": 6,
        "utilization": 1,
        "runtimeMs": 1490.1891000000014,
        "expandedLayouts": 118,
        "valid": true,
        "poses": [
          {
            "xMm": 20,
            "yMm": 0,
            "rotation": 0
          },
          {
            "xMm": 0,
            "yMm": 0,
            "rotation": 0
          },
          {
            "xMm": 40,
            "yMm": 0,
            "rotation": 0
          },
          {
            "xMm": 0,
            "yMm": 20,
            "rotation": 0
          },
          {
            "xMm": 40,
            "yMm": 20,
            "rotation": 0
          },
          {
            "xMm": 20,
            "yMm": 20,
            "rotation": 0
          }
        ]
      },
      "jevMeanRuntimeMs": 1415.6604666666674,
      "jevPackedTrials": [
        6,
        6,
        6
      ]
    }
  ]
}
