Files
mech-ai/runtime/current-standard-flow/13-sw-bottom-multiview-before-align/bottom-view-signature.json
T
2026-07-17 17:45:56 +08:00

269 lines
5.9 KiB
JSON

{
"scope": "bottom_view_candidate",
"coordinate_policy": "relative_origin_from_leftmost_vertical_line_top_point",
"primitive_counts": {
"line": 3,
"circle": 0,
"arc": 0,
"spline": 0,
"total": 3
},
"line_direction_counts": {
"horizontal": 2,
"vertical": 1,
"diagonal": 0,
"unknown": 0
},
"relative_line_coordinates": {
"ok": true,
"origin_rule": "leftmost_vertical_line_top_point",
"origin": {
"x": 45.99011440710511,
"y": 218.64921037477686,
"source_handles": [
"195"
],
"line": {
"start": [
45.99011440710511,
168.64921037477686
],
"end": [
45.99011440710511,
218.64921037477686
],
"length": 50,
"angle_deg": 90
}
},
"line_count": 4,
"bucket_size": 1,
"relative_midpoints": [
{
"index": 3,
"source_handles": [
"195"
],
"x": 0,
"y": -25,
"x_bucket": 0,
"y_bucket": -25,
"midpoint_key": "X0|Y-25"
},
{
"index": 4,
"source_handles": [
"196"
],
"x": 0,
"y": -75,
"x_bucket": 0,
"y_bucket": -75,
"midpoint_key": "X0|Y-75"
},
{
"index": 1,
"source_handles": [
"163"
],
"x": 3.5000000000000036,
"y": 0,
"x_bucket": 4,
"y_bucket": 0,
"midpoint_key": "X4|Y0"
},
{
"index": 2,
"source_handles": [
"166"
],
"x": 3.5000000000000036,
"y": -99.99999999999999,
"x_bucket": 4,
"y_bucket": -100,
"midpoint_key": "X4|Y-100"
}
],
"relative_midpoint_histogram": {
"x0|y-25": 1,
"x0|y-75": 1,
"x4|y-100": 1,
"x4|y0": 1
},
"lines": [
{
"index": 3,
"source_handles": [
"195"
],
"direction_class": "vertical",
"angle_deg": 90,
"length": 50,
"length_bucket": 50,
"relative_start": [
0,
-50
],
"relative_end": [
0,
0
],
"relative_midpoint": [
0,
-25
],
"relative_mid_x": 0,
"relative_mid_y": -25,
"relative_mid_x_bucket": 0,
"relative_mid_y_bucket": -25,
"midpoint_key": "X0|Y-25",
"feature_key": "vertical|L50|X0|Y-25"
},
{
"index": 4,
"source_handles": [
"196"
],
"direction_class": "vertical",
"angle_deg": 90,
"length": 49.999999999999986,
"length_bucket": 50,
"relative_start": [
0,
-99.99999999999999
],
"relative_end": [
0,
-50
],
"relative_midpoint": [
0,
-75
],
"relative_mid_x": 0,
"relative_mid_y": -75,
"relative_mid_x_bucket": 0,
"relative_mid_y_bucket": -75,
"midpoint_key": "X0|Y-75",
"feature_key": "vertical|L50|X0|Y-75"
},
{
"index": 1,
"source_handles": [
"163"
],
"direction_class": "horizontal",
"angle_deg": 0,
"length": 7.000000000000007,
"length_bucket": 7,
"relative_start": [
7.000000000000007,
0
],
"relative_end": [
0,
0
],
"relative_midpoint": [
3.5000000000000036,
0
],
"relative_mid_x": 3.5000000000000036,
"relative_mid_y": 0,
"relative_mid_x_bucket": 4,
"relative_mid_y_bucket": 0,
"midpoint_key": "X4|Y0",
"feature_key": "horizontal|L7|X4|Y0"
},
{
"index": 2,
"source_handles": [
"166"
],
"direction_class": "horizontal",
"angle_deg": 0,
"length": 7.000000000000007,
"length_bucket": 7,
"relative_start": [
0,
-99.99999999999999
],
"relative_end": [
7.000000000000007,
-99.99999999999999
],
"relative_midpoint": [
3.5000000000000036,
-99.99999999999999
],
"relative_mid_x": 3.5000000000000036,
"relative_mid_y": -99.99999999999999,
"relative_mid_x_bucket": 4,
"relative_mid_y_bucket": -100,
"midpoint_key": "X4|Y-100",
"feature_key": "horizontal|L7|X4|Y-100"
}
],
"feature_histogram": {
"horizontal|l7|x4|y-100": 1,
"horizontal|l7|x4|y0": 1,
"vertical|l50|x0|y-25": 1,
"vertical|l50|x0|y-75": 1
}
},
"line_length_histogram": {
"7": 2,
"100": 1
},
"line_length_stats": {
"count": 3,
"min": 7.000000000000007,
"max": 99.99999999999999,
"sum": 114,
"avg": 38
},
"circle_radius_histogram": {},
"circle_radius_stats": {
"count": 0
},
"arc_radius_histogram": {},
"arc_radius_stats": {
"count": 0
},
"arc_sweep_angle_histogram": {},
"arc_length_histogram": {},
"matching_primary_fields": [
"kind",
"length",
"radius",
"diameter",
"arc_length",
"sweep_angle",
"direction_class",
"angle_deg",
"relative_start",
"relative_end",
"relative_midpoint"
],
"matching_excluded_primary_fields": [
"start",
"end",
"center",
"absolute_start",
"absolute_end"
],
"normalization_summary": {
"scope": "bottom_view_candidate",
"raw_geometry_count": 4,
"normalized_primitive_count": 4,
"normalized_line_count": 4,
"merged_line_count": 3,
"overlap_group_count": 0,
"angle_tolerance_deg": 1,
"collinear_distance_tolerance": 0.05,
"gap_tolerance": 0.05,
"merge_policy": "strong_only_same_style_collinear_interval_union"
},
"source_handle_count": 4,
"raw_geometry_count": 4
}