{ "layout_id": "research.sc.s2016", "version": "0.1", "units": "meters", "boundary": [ [ 10.55, -0.1 ], [ 11.1, 2.9 ], [ 10.9, 2.95 ], [ 11.1, 4.15 ], [ 11.3, 4.1 ], [ 11.8, 7.2 ], [ 9.15, 7.2 ], [ 9.15, 6.6 ], [ 8.555, 6.57 ], [ 8.544, 7.142 ], [ 6.927, 7.163 ], [ 6.927, 6.568 ], [ 6.158, 6.569 ], [ 6.168, 7.194 ], [ 5.76, 7.195 ], [ 5.724, 6.297 ], [ 3.985, 6.264 ], [ 3.65, 7.15 ], [ 3.65, 7.25 ], [ 4.3, 7.25 ], [ 4.35, 8.8 ], [ 3.65, 8.75 ], [ 3.65, 8.9 ], [ 4.5, 8.95 ], [ 4.5, 11.1 ], [ 4.35, 11.1 ], [ 4.6, 11.9 ], [ -1.1, 11.9 ], [ -1.15, 7.35 ], [ 0.15, 7.35 ], [ 0.15, 7.1 ], [ -0.65, 7.15 ], [ -0.65, 2.8 ], [ 0.15, 2.8 ], [ 0.15, 2.65 ], [ -1.55, 2.7 ], [ -1.586, 1.284 ], [ 0.0, 1.35 ], [ 0.0, -0.05 ], [ 0.107, -0.035 ], [ 0.098, -0.385 ], [ 1.192, -0.37 ], [ 1.194, -0.051 ], [ 1.489, -0.055 ], [ 1.523, 0.658 ], [ 1.667, 0.669 ], [ 1.66, -0.05 ] ], "obstacles": [ { "id": "obs_1", "polygon": [ [ 9.467, 0.041568 ], [ 9.467, -0.093909 ], [ 8.262, -0.087132 ], [ 8.262, 0.415 ], [ 9.455168, 0.415 ], [ 9.462, 0.727 ], [ 10.295, 0.709 ], [ 10.28, 0.024 ] ] }, { "id": "obs_2", "polygon": [ [ 6.804, 0.662 ], [ 8.052, 0.662 ], [ 8.052, -0.085951 ], [ 6.804, -0.078931 ] ] }, { "id": "obs_3", "polygon": [ [ 4.4, 0.0 ], [ 2.65, 0.0 ], [ 2.65, 1.0 ], [ 4.4, 1.0 ], [ 4.4, 1.009 ], [ 5.667, 1.009 ], [ 5.667, 1.096 ], [ 6.067, 1.096 ], [ 6.067, 0.196 ], [ 5.75, 0.196 ], [ 5.75, 0.009 ], [ 4.4, 0.009 ] ] }, { "id": "obs_4", "polygon": [ [ 2.353, 0.373 ], [ 1.705, 0.373 ], [ 1.705, 0.973 ], [ 2.353, 0.973 ] ] }, { "id": "obs_5", "polygon": [ [ 6.239, 2.873 ], [ 8.162, 2.873 ], [ 8.162, 2.17 ], [ 6.239, 2.17 ] ] }, { "id": "obs_6", "polygon": [ [ 3.254, 2.92 ], [ 5.244, 2.92 ], [ 5.244, 2.13 ], [ 3.254, 2.13 ] ] }, { "id": "obs_7", "polygon": [ [ 10.332, 3.044 ], [ 10.424, 3.66 ], [ 10.868, 3.593 ], [ 10.776, 2.977 ] ] }, { "id": "obs_8", "polygon": [ [ -0.65, 2.8 ], [ -0.65, 3.9 ], [ -0.088, 3.9 ], [ -0.088, 2.8 ] ] }, { "id": "obs_9", "polygon": [ [ 1.296, 4.581 ], [ 2.02, 4.581 ], [ 2.02, 2.558 ], [ 1.296, 2.558 ] ] }, { "id": "obs_10", "polygon": [ [ 10.469, 3.836 ], [ 10.545, 4.239 ], [ 11.084, 4.14 ], [ 11.008, 3.737 ] ] }, { "id": "obs_11", "polygon": [ [ 3.516, 4.434 ], [ 5.224, 4.434 ], [ 5.224, 3.774 ], [ 3.516, 3.774 ] ] }, { "id": "obs_12", "polygon": [ [ 6.243, 4.5 ], [ 8.126, 4.5 ], [ 8.126, 3.721 ], [ 6.243, 3.721 ] ] }, { "id": "obs_13", "polygon": [ [ 0.1, 7.1 ], [ 0.05, 3.95 ], [ -0.65, 3.961185 ], [ -0.65, 7.111984 ] ] }, { "id": "obs_14", "polygon": [ [ 3.2, 6.201212 ], [ 3.2, 7.2 ], [ 3.65, 7.2 ], [ 3.65, 7.15 ], [ 3.9, 6.488806 ], [ 3.9, 6.214673 ], [ 5.789, 6.251 ], [ 5.8, 5.65 ], [ 3.9, 5.613462 ], [ 3.9, 5.6 ], [ 3.2, 5.6 ], [ 3.189, 6.201 ] ] }, { "id": "obs_15", "polygon": [ [ 9.222, 7.205 ], [ 11.459, 7.2 ], [ 11.459, 6.5 ], [ 9.25, 6.5 ], [ 9.25, 6.35 ], [ 8.8, 6.35 ], [ 8.8, 6.65 ], [ 9.222, 6.65 ] ] }, { "id": "obs_16", "polygon": [ [ 3.77, 7.353 ], [ 3.77, 8.758571 ], [ 4.35, 8.8 ], [ 4.303323, 7.353 ] ] }, { "id": "obs_17", "polygon": [ [ 1.468, 10.216 ], [ 2.2, 10.216 ], [ 2.2, 6.969 ], [ 1.468, 6.969 ] ] }, { "id": "obs_18", "polygon": [ [ -0.111, 10.35 ], [ -0.111, 7.5 ], [ -1.061, 7.5 ], [ -1.061, 10.35 ] ] }, { "id": "obs_19", "polygon": [ [ 3.65, 8.9 ], [ 3.65, 8.879685 ], [ 3.524, 8.88 ], [ 3.526, 10.107 ], [ 4.326, 10.105 ], [ 4.3241, 8.939653 ] ] }, { "id": "obs_20", "polygon": [ [ 4.35, 11.1 ], [ 4.35, 10.568 ], [ 3.55, 10.568 ], [ 3.55, 11.418 ], [ 4.35, 11.418 ] ] }, { "id": "obs_21", "polygon": [ [ -0.123, 11.85 ], [ -0.123, 10.4 ], [ -1.023, 10.4 ], [ -1.023, 11.85 ] ] }, { "id": "obs_22", "polygon": [ [ 3.282, 11.182 ], [ 2.658, 11.181 ], [ 2.657, 11.803 ], [ 3.281, 11.804 ] ] }, { "id": "obs_23", "polygon": [ [ 2.528, 11.414 ], [ 0.59, 11.392 ], [ 0.584, 11.841 ], [ 2.522, 11.863 ] ] } ], "exits": [ { "id": "exit_1", "polygon": [ [ 6.7, 6.247 ], [ 6.717848, 6.568272 ], [ 6.916948, 6.568013 ], [ 6.927, 6.568 ], [ 6.927, 7.147 ], [ 8.159, 7.147 ], [ 8.544, 7.142 ], [ 8.555, 6.57 ], [ 8.633708, 6.573968 ], [ 8.65, 6.297 ] ] }, { "id": "exit_2", "polygon": [ [ 1.161, 0.218 ], [ 1.161, -0.336 ], [ 0.09926, -0.336 ], [ 0.107, -0.035 ], [ 0.093658, -0.03687 ], [ 0.106, 0.215 ] ] }, { "id": "exit_3", "polygon": [ [ -1.51, 2.65 ], [ -0.56, 2.65 ], [ -0.324, 1.358 ], [ -1.51, 1.4 ] ] }, { "id": "exit_4", "polygon": [ [ 11.037, 6.529 ], [ 11.6699, 6.393379 ], [ 11.396847, 4.70045 ], [ 10.7, 4.8 ] ] }, { "id": "exit_5", "polygon": [ [ 10.256, 2.5 ], [ 10.990746, 2.304068 ], [ 10.661044, 0.505697 ], [ 9.877, 0.65 ] ] }, { "id": "exit_6", "polygon": [ [ 5.75, 6.25 ], [ 5.75, 6.945556 ], [ 5.755157, 7.074196 ], [ 5.758196, 7.15 ], [ 6.167296, 7.15 ], [ 6.158, 6.569 ], [ 6.25, 6.56888 ], [ 6.25, 6.25 ] ] } ], "metadata": { "source_layout_id": "research.sc.s2016", "source_version": 2, "source_layout_api_version": 1, "conversion_note": "Converted from Standard internal layout schema; retail-specific semantics removed.", "cleanup": { "merge_gap_m": 0.75, "boundary_clearance_m": 0.1, "min_area_m2": 0.02, "regularization": "auto", "inflation_limit": 1.2, "notes": [ "Obstacle geometry clipped to boundary.", "Interior obstacles merged when gap <= merge_gap.", "Boundary-adjacent obstacles merged conservatively (touch/intersect only).", "Merged obstacle families optionally regularized to simpler benchmark-friendly polygons." ], "merge_report": [ { "output_id": "obs_1", "source_ids": [ "obs_1" ], "regularization": "exact_union", "area_before": 1.174086, "area_after": 1.174086, "inflation": 1.0, "vertex_count_before": 8, "vertex_count_after": 8 }, { "output_id": "obs_2", "source_ids": [ "obs_2" ], "regularization": "bbox", "area_before": 0.929062, "area_after": 0.929062, "inflation": 1.0, "vertex_count_before": 7, "vertex_count_after": 4 }, { "output_id": "obs_3", "source_ids": [ "obs_3" ], "regularization": "bbox", "area_before": 3.392521, "area_after": 3.745032, "inflation": 1.103908, "vertex_count_before": 12, "vertex_count_after": 4 }, { "output_id": "obs_4", "source_ids": [ "obs_4" ], "regularization": "exact_union", "area_before": 0.3888, "area_after": 0.3888, "inflation": 1.0, "vertex_count_before": 4, "vertex_count_after": 4 }, { "output_id": "obs_5", "source_ids": [ "obs_5" ], "regularization": "bbox", "area_before": 1.364041, "area_after": 1.5721, "inflation": 1.152532, "vertex_count_before": 16, "vertex_count_after": 4 }, { "output_id": "obs_6", "source_ids": [ "obs_6", "obs_7" ], "regularization": "exact_union", "area_before": 0.2088, "area_after": 0.2088, "inflation": 1.0, "vertex_count_before": 4, "vertex_count_after": 4 }, { "output_id": "obs_7", "source_ids": [ "obs_6", "obs_7" ], "regularization": "bbox", "area_before": 1.036855, "area_after": 1.125503, "inflation": 1.085498, "vertex_count_before": 12, "vertex_count_after": 4 }, { "output_id": "obs_8", "source_ids": [ "obs_8", "obs_11" ], "regularization": "exact_union", "area_before": 0.260225, "area_after": 0.260225, "inflation": 1.0, "vertex_count_before": 4, "vertex_count_after": 4 }, { "output_id": "obs_9", "source_ids": [ "obs_8", "obs_11" ], "regularization": "bbox", "area_before": 1.021323, "area_after": 1.077216, "inflation": 1.054727, "vertex_count_before": 10, "vertex_count_after": 4 }, { "output_id": "obs_10", "source_ids": [ "obs_9" ], "regularization": "exact_union", "area_before": 0.279668, "area_after": 0.279668, "inflation": 1.0, "vertex_count_before": 4, "vertex_count_after": 4 }, { "output_id": "obs_11", "source_ids": [ "obs_10" ], "regularization": "exact_union", "area_before": 0.6182, "area_after": 0.6182, "inflation": 1.0, "vertex_count_before": 4, "vertex_count_after": 4 }, { "output_id": "obs_12", "source_ids": [ "obs_12" ], "regularization": "exact_union", "area_before": 0.224741, "area_after": 0.224741, "inflation": 1.0, "vertex_count_before": 4, "vertex_count_after": 4 }, { "output_id": "obs_13", "source_ids": [ "obs_13", "obs_15" ], "regularization": "exact_union", "area_before": 0.6466, "area_after": 0.6466, "inflation": 1.0, "vertex_count_before": 8, "vertex_count_after": 8 }, { "output_id": "obs_14", "source_ids": [ "obs_13", "obs_15" ], "regularization": "exact_union", "area_before": 0.429546, "area_after": 0.429546, "inflation": 1.0, "vertex_count_before": 8, "vertex_count_after": 8 }, { "output_id": "obs_15", "source_ids": [ "obs_14" ], "regularization": "bbox", "area_before": 1.324894, "area_after": 1.466857, "inflation": 1.10715, "vertex_count_before": 16, "vertex_count_after": 4 }, { "output_id": "obs_16", "source_ids": [ "obs_16" ], "regularization": "exact_union", "area_before": 2.284329, "area_after": 2.284329, "inflation": 1.0, "vertex_count_before": 4, "vertex_count_after": 4 }, { "output_id": "obs_17", "source_ids": [ "obs_17" ], "regularization": "exact_union", "area_before": 2.167152, "area_after": 2.167152, "inflation": 1.0, "vertex_count_before": 12, "vertex_count_after": 12 }, { "output_id": "obs_18", "source_ids": [ "obs_18" ], "regularization": "exact_union", "area_before": 0.527352, "area_after": 0.527352, "inflation": 1.0, "vertex_count_before": 10, "vertex_count_after": 10 }, { "output_id": "obs_19", "source_ids": [ "obs_19" ], "regularization": "exact_union", "area_before": 0.77, "area_after": 0.77, "inflation": 1.0, "vertex_count_before": 4, "vertex_count_after": 4 }, { "output_id": "obs_20", "source_ids": [ "obs_20" ], "regularization": "exact_union", "area_before": 0.35, "area_after": 0.35, "inflation": 1.0, "vertex_count_before": 4, "vertex_count_after": 4 }, { "output_id": "obs_21", "source_ids": [ "obs_21" ], "regularization": "exact_union", "area_before": 0.793474, "area_after": 0.793474, "inflation": 1.0, "vertex_count_before": 4, "vertex_count_after": 4 }, { "output_id": "obs_22", "source_ids": [ "obs_22" ], "regularization": "bbox", "area_before": 2.353359, "area_after": 2.376804, "inflation": 1.009962, "vertex_count_before": 14, "vertex_count_after": 4 }, { "output_id": "obs_23", "source_ids": [ "obs_23" ], "regularization": "exact_union", "area_before": 2.7075, "area_after": 2.7075, "inflation": 1.0, "vertex_count_before": 4, "vertex_count_after": 4 }, { "output_id": "obs_24", "source_ids": [ "obs_24" ], "regularization": "exact_union", "area_before": 0.953979, "area_after": 0.953979, "inflation": 1.0, "vertex_count_before": 6, "vertex_count_after": 6 }, { "output_id": "obs_25", "source_ids": [ "obs_25" ], "regularization": "exact_union", "area_before": 0.68, "area_after": 0.68, "inflation": 1.0, "vertex_count_before": 5, "vertex_count_after": 5 }, { "output_id": "obs_26", "source_ids": [ "obs_26" ], "regularization": "exact_union", "area_before": 1.305, "area_after": 1.305, "inflation": 1.0, "vertex_count_before": 4, "vertex_count_after": 4 }, { "output_id": "obs_27", "source_ids": [ "obs_27" ], "regularization": "exact_union", "area_before": 0.388129, "area_after": 0.388129, "inflation": 1.0, "vertex_count_before": 4, "vertex_count_after": 4 }, { "output_id": "obs_28", "source_ids": [ "obs_28" ], "regularization": "exact_union", "area_before": 0.870294, "area_after": 0.870294, "inflation": 1.0, "vertex_count_before": 4, "vertex_count_after": 4 } ] }, "manual_family_collapse": { "default_mode": "bbox", "families": [ { "ids": [ "obs_8", "obs_11" ], "mode": "bbox" }, { "ids": [ "obs_13", "obs_15" ], "mode": "bbox" }, { "ids": [ "obs_5", "obs_6" ], "mode": "bbox" }, { "ids": [ "obs_18", "obs_19", "obs_20" ], "mode": "bbox" } ], "report": [ { "output_id": "collapsed_1", "source_ids": [ "obs_8", "obs_11" ], "mode": "bbox", "input_area_sum": 1.337441, "output_area": 1.464652, "inflation": 1.095115 }, { "output_id": "collapsed_2", "source_ids": [ "obs_13", "obs_15" ], "mode": "bbox", "input_area_sum": 1.076146, "output_area": 1.12728, "inflation": 1.047516 }, { "output_id": "collapsed_3", "source_ids": [ "obs_5", "obs_6" ], "mode": "bbox", "input_area_sum": 1.334303, "output_area": 1.351869, "inflation": 1.013165 }, { "output_id": "collapsed_4", "source_ids": [ "obs_18", "obs_19", "obs_20" ], "mode": "bbox", "input_area_sum": 1.647352, "output_area": 2.047062, "inflation": 1.242638 } ] }, "manual_concave_replacements": { "obs_3": { "source_ids": [ "obs_12", "obs_11", "obs_10" ], "mode": "single_concave_union" }, "obs_15": { "source_ids": [ "obs_43", "obs_42", "obs_44", "obs_50" ], "mode": "single_manual_concave_polygon", "polygon": [ [ 9.222, 7.205 ], [ 11.459, 7.2 ], [ 11.459, 6.5 ], [ 9.25, 6.5 ], [ 9.25, 6.35 ], [ 8.8, 6.35 ], [ 8.8, 6.65 ], [ 9.222, 6.65 ] ] } } } }