feat: 完善一级关系编辑 UI 与视图体验

This commit is contained in:
2026-08-06 18:15:14 +08:00
parent 57d75541c3
commit eef9efcc1e
29 changed files with 3907 additions and 178 deletions
+4
View File
@@ -121,6 +121,8 @@ def _run_endpoint_case(role: str, target_delta: float, tolerance: float) -> None
if plan.get("resize_strategy") != "local-edge-endpoint-deform":
raise SystemExit(f"{role} endpoint should use local-edge-endpoint-deform, got {plan.get('resize_strategy')}")
result = model.move_edge_endpoint(edge_id, role, target_point)
if "First-level topology check" not in result:
raise SystemExit(f"{role} endpoint result should include first-level topology check: {result}")
after = model.stats()
matched_edge, endpoint_error, length_error = _nearest_expected_edge(model, target_start, target_end)
if after.solids != before.solids:
@@ -155,6 +157,8 @@ def _run_center_case(center_delta: tuple[float, float, float], tolerance: float)
if plan.get("resize_strategy") != "local-edge-center-deform":
raise SystemExit(f"center move should use local-edge-center-deform, got {plan.get('resize_strategy')}")
result = model.move_edge_center(edge_id, target_center)
if "First-level topology check" not in result:
raise SystemExit(f"center move result should include first-level topology check: {result}")
after = model.stats()
matched_edge, endpoint_error, length_error = _nearest_expected_edge(model, target_start, target_end)
if after.solids != before.solids: