{
  "experiment": "A46 signed direction residual",
  "protocol": {
    "source": "/home/jiachen/TRELLIS/experiments/nonorthogonal_gpt_orthoview/outputs/data_survey/vggt_spatial_adapter/support_guidance_a42_component_aware_cleanup/analysis.json",
    "cases": [
      "gso_002_input4",
      "gso_008_input4"
    ],
    "selection_uses_gt": false,
    "retrospective_validation_uses_gt": true,
    "method": "Use the same A45 conflict-local activity and visible hard-lock, but replace nearest-patch vector attraction with signed displacement along carrier vertex normals.",
    "motivation_from_a45": "A45 proved locality but still worsened GT; A46 tests whether removing tangential patch attraction and keeping only signed normal direction helps.",
    "gt_samples": 20000
  },
  "case_rows": [
    {
      "case_id": "gso_002_input4",
      "benchmark_id": "gso_002",
      "source": "trellis2_raw",
      "carrier_mesh": "/home/jiachen/TRELLIS/experiments/nonorthogonal_gpt_orthoview/outputs/data_survey/vggt_spatial_adapter/support_guidance_a42_component_aware_cleanup/gso_002_input4/mesh_lock_r018_patch030_b024_visible_prior_trellis2_raw.obj",
      "gt_mesh": "/home/jiachen/TRELLIS/experiments/nonorthogonal_gpt_orthoview/outputs/data_survey/rendered_benchmark_v0/_extracted_gso/Ecoforms_Plant_Container_QP_Turquoise/meshes/model.obj",
      "projection_asset": "trellis2_vggt_assets/a46/gso_002_input4_projection.png",
      "variant_rows": [
        {
          "variant": "carrier_control",
          "output_obj": "/home/jiachen/TRELLIS/experiments/nonorthogonal_gpt_orthoview/outputs/data_survey/vggt_spatial_adapter/support_guidance_a46_signed_direction_residual/gso_002_input4/mesh_carrier_control.obj",
          "stats": {
            "vertices": 23296,
            "faces": 46644,
            "watertight": true,
            "winding_consistent": true,
            "boundary_edges": 0,
            "nonmanifold_edges": 0,
            "components": 1,
            "largest_component_face_ratio": 1.0,
            "euler_number": -26
          },
          "gt": {
            "pred_mesh": "/home/jiachen/TRELLIS/experiments/nonorthogonal_gpt_orthoview/outputs/data_survey/vggt_spatial_adapter/support_guidance_a46_signed_direction_residual/gso_002_input4/mesh_carrier_control.obj",
            "gt_mesh": "/home/jiachen/TRELLIS/experiments/nonorthogonal_gpt_orthoview/outputs/data_survey/rendered_benchmark_v0/_extracted_gso/Ecoforms_Plant_Container_QP_Turquoise/meshes/model.obj",
            "chamfer_mean": 0.045689923200642496,
            "chamfer_median": 0.026524888075772392,
            "chamfer_p95": 0.16363315306970466,
            "hausdorff_approx": 0.25307617071818556,
            "pred_to_gt_mean": 0.04685228600709619,
            "gt_to_pred_mean": 0.04452756039418881,
            "bbox_diag_ratio": 10.942450119559062,
            "surface_area_ratio": 128.55161987390363,
            "volume_ratio_abs": 2014.4923855838758,
            "topology": {
              "vertices": 23296,
              "faces": 46644,
              "watertight": true,
              "winding_consistent": true,
              "boundary_edges": 0,
              "nonmanifold_edges": 0,
              "components": 1,
              "euler_number": -26
            },
            "precision_1pct": 0.21555,
            "recall_1pct": 0.2286,
            "fscore_1pct": 0.22188328267477203,
            "precision_2pct": 0.3822,
            "recall_2pct": 0.47275,
            "fscore_2pct": 0.4226798058365986,
            "precision_5pct": 0.6563,
            "recall_5pct": 0.7305,
            "fscore_5pct": 0.6914149841361408,
            "precision_10pct": 0.8739,
            "recall_10pct": 0.85795,
            "fscore_10pct": 0.8658515518087593
          },
          "visible_p95": 0.03346112793034755,
          "visible_coverage_5pct": 1.0,
          "patch_p95": 0.037899097382669535,
          "patch_coverage_5pct": 0.999625,
          "conflict_p95": 0.03539360614513954,
          "conflict_coverage_5pct": 0.9991666666666666,
          "projection_meta": {
            "active_vertex_ratio": 0.0,
            "hard_locked_vertex_ratio": 0.0,
            "conflict_band_vertex_ratio": 0.0,
            "mean_signed_step_active": null,
            "p95_abs_signed_step_active": null,
            "outward_active_ratio": null,
            "mean_patch_tangential_residual_active": null,
            "mean_move": 0.0,
            "p95_move": 0.0
          },
          "config": {
            "mode": "none",
            "alpha": 0.0,
            "max_step": 0.0,
            "smooth_iters": 0
          }
        },
        {
          "variant": "normal_signed_soft",
          "output_obj": "/home/jiachen/TRELLIS/experiments/nonorthogonal_gpt_orthoview/outputs/data_survey/vggt_spatial_adapter/support_guidance_a46_signed_direction_residual/gso_002_input4/mesh_normal_signed_soft.obj",
          "stats": {
            "vertices": 23296,
            "faces": 46644,
            "watertight": true,
            "winding_consistent": true,
            "boundary_edges": 0,
            "nonmanifold_edges": 0,
            "components": 1,
            "largest_component_face_ratio": 1.0,
            "euler_number": -26
          },
          "gt": {
            "pred_mesh": "/home/jiachen/TRELLIS/experiments/nonorthogonal_gpt_orthoview/outputs/data_survey/vggt_spatial_adapter/support_guidance_a46_signed_direction_residual/gso_002_input4/mesh_normal_signed_soft.obj",
            "gt_mesh": "/home/jiachen/TRELLIS/experiments/nonorthogonal_gpt_orthoview/outputs/data_survey/rendered_benchmark_v0/_extracted_gso/Ecoforms_Plant_Container_QP_Turquoise/meshes/model.obj",
            "chamfer_mean": 0.04560162034689667,
            "chamfer_median": 0.027771348740066232,
            "chamfer_p95": 0.15922869850016025,
            "hausdorff_approx": 0.2523802155381578,
            "pred_to_gt_mean": 0.046956597278711314,
            "gt_to_pred_mean": 0.04424664341508202,
            "bbox_diag_ratio": 10.88892936053841,
            "surface_area_ratio": 131.50667095104995,
            "volume_ratio_abs": 1871.995960570429,
            "topology": {
              "vertices": 23296,
              "faces": 46644,
              "watertight": true,
              "winding_consistent": true,
              "boundary_edges": 0,
              "nonmanifold_edges": 0,
              "components": 1,
              "euler_number": -26
            },
            "precision_1pct": 0.21235,
            "recall_1pct": 0.23165,
            "fscore_1pct": 0.2215805292792793,
            "precision_2pct": 0.37695,
            "recall_2pct": 0.4587,
            "fscore_2pct": 0.41382627894453416,
            "precision_5pct": 0.6478,
            "recall_5pct": 0.72685,
            "fscore_5pct": 0.6850520932601026,
            "precision_10pct": 0.8774,
            "recall_10pct": 0.8618,
            "fscore_10pct": 0.869530036798528
          },
          "visible_p95": 0.03200267087829095,
          "visible_coverage_5pct": 1.0,
          "patch_p95": 0.03574259542305429,
          "patch_coverage_5pct": 0.9999583333333333,
          "conflict_p95": 0.03142229629326501,
          "conflict_coverage_5pct": 0.9953333333333333,
          "projection_meta": {
            "active_vertex_ratio": 0.18380837912087913,
            "hard_locked_vertex_ratio": 0.7231284340659341,
            "conflict_band_vertex_ratio": 0.47445913461538464,
            "mean_signed_step_active": -0.00894078428576772,
            "p95_abs_signed_step_active": 0.012,
            "outward_active_ratio": 0.0609528257823447,
            "mean_patch_tangential_residual_active": 0.014477055584302961,
            "mean_move": 0.0018500890201630354,
            "p95_move": 0.010470727128780593
          },
          "config": {
            "mode": "normal_signed",
            "alpha": 0.35,
            "max_step": 0.012,
            "smooth_iters": 0
          }
        },
        {
          "variant": "normal_signed_strong",
          "output_obj": "/home/jiachen/TRELLIS/experiments/nonorthogonal_gpt_orthoview/outputs/data_survey/vggt_spatial_adapter/support_guidance_a46_signed_direction_residual/gso_002_input4/mesh_normal_signed_strong.obj",
          "stats": {
            "vertices": 23296,
            "faces": 46644,
            "watertight": true,
            "winding_consistent": true,
            "boundary_edges": 0,
            "nonmanifold_edges": 0,
            "components": 1,
            "largest_component_face_ratio": 1.0,
            "euler_number": -26
          },
          "gt": {
            "pred_mesh": "/home/jiachen/TRELLIS/experiments/nonorthogonal_gpt_orthoview/outputs/data_survey/vggt_spatial_adapter/support_guidance_a46_signed_direction_residual/gso_002_input4/mesh_normal_signed_strong.obj",
            "gt_mesh": "/home/jiachen/TRELLIS/experiments/nonorthogonal_gpt_orthoview/outputs/data_survey/rendered_benchmark_v0/_extracted_gso/Ecoforms_Plant_Container_QP_Turquoise/meshes/model.obj",
            "chamfer_mean": 0.0452974018826035,
            "chamfer_median": 0.02772305037700974,
            "chamfer_p95": 0.15979615362701433,
            "hausdorff_approx": 0.2503898958199265,
            "pred_to_gt_mean": 0.04638817326262278,
            "gt_to_pred_mean": 0.044206630502584214,
            "bbox_diag_ratio": 10.882281837856652,
            "surface_area_ratio": 134.6920492893934,
            "volume_ratio_abs": 1796.8138373787347,
            "topology": {
              "vertices": 23296,
              "faces": 46644,
              "watertight": true,
              "winding_consistent": true,
              "boundary_edges": 0,
              "nonmanifold_edges": 0,
              "components": 1,
              "euler_number": -26
            },
            "precision_1pct": 0.2232,
            "recall_1pct": 0.2371,
            "fscore_1pct": 0.22994012600477948,
            "precision_2pct": 0.38545,
            "recall_2pct": 0.45345,
            "fscore_2pct": 0.41669401001311246,
            "precision_5pct": 0.6586,
            "recall_5pct": 0.7243,
            "fscore_5pct": 0.6898893340082436,
            "precision_10pct": 0.87705,
            "recall_10pct": 0.86245,
            "fscore_10pct": 0.869688729519977
          },
          "visible_p95": 0.031164439894288812,
          "visible_coverage_5pct": 1.0,
          "patch_p95": 0.03517982941189793,
          "patch_coverage_5pct": 0.999625,
          "conflict_p95": 0.029733975431710465,
          "conflict_coverage_5pct": 0.9973888888888889,
          "projection_meta": {
            "active_vertex_ratio": 0.18380837912087913,
            "hard_locked_vertex_ratio": 0.7231284340659341,
            "conflict_band_vertex_ratio": 0.47445913461538464,
            "mean_signed_step_active": -0.013693191657895266,
            "p95_abs_signed_step_active": 0.016,
            "outward_active_ratio": 0.0609528257823447,
            "mean_patch_tangential_residual_active": 0.014477055584302961,
            "mean_move": 0.002804405391034908,
            "p95_move": 0.016
          },
          "config": {
            "mode": "normal_signed",
            "alpha": 0.55,
            "max_step": 0.016,
            "smooth_iters": 0
          }
        },
        {
          "variant": "normal_outward_only",
          "output_obj": "/home/jiachen/TRELLIS/experiments/nonorthogonal_gpt_orthoview/outputs/data_survey/vggt_spatial_adapter/support_guidance_a46_signed_direction_residual/gso_002_input4/mesh_normal_outward_only.obj",
          "stats": {
            "vertices": 23296,
            "faces": 46644,
            "watertight": true,
            "winding_consistent": true,
            "boundary_edges": 0,
            "nonmanifold_edges": 0,
            "components": 1,
            "largest_component_face_ratio": 1.0,
            "euler_number": -26
          },
          "gt": {
            "pred_mesh": "/home/jiachen/TRELLIS/experiments/nonorthogonal_gpt_orthoview/outputs/data_survey/vggt_spatial_adapter/support_guidance_a46_signed_direction_residual/gso_002_input4/mesh_normal_outward_only.obj",
            "gt_mesh": "/home/jiachen/TRELLIS/experiments/nonorthogonal_gpt_orthoview/outputs/data_survey/rendered_benchmark_v0/_extracted_gso/Ecoforms_Plant_Container_QP_Turquoise/meshes/model.obj",
            "chamfer_mean": 0.0456209414907917,
            "chamfer_median": 0.026799352498364758,
            "chamfer_p95": 0.16231772465845562,
            "hausdorff_approx": 0.25361891302808964,
            "pred_to_gt_mean": 0.046785318848493435,
            "gt_to_pred_mean": 0.04445656413308997,
            "bbox_diag_ratio": 10.942450119559062,
            "surface_area_ratio": 129.48202272086957,
            "volume_ratio_abs": 2024.7060854691406,
            "topology": {
              "vertices": 23296,
              "faces": 46644,
              "watertight": true,
              "winding_consistent": true,
              "boundary_edges": 0,
              "nonmanifold_edges": 0,
              "components": 1,
              "euler_number": -26
            },
            "precision_1pct": 0.2164,
            "recall_1pct": 0.23085,
            "fscore_1pct": 0.2233915707098938,
            "precision_2pct": 0.3816,
            "recall_2pct": 0.47215,
            "fscore_2pct": 0.4220730658857979,
            "precision_5pct": 0.65355,
            "recall_5pct": 0.7301,
            "fscore_5pct": 0.6897074476926969,
            "precision_10pct": 0.8756,
            "recall_10pct": 0.85825,
            "fscore_10pct": 0.8668381924618623
          },
          "visible_p95": 0.03349849985754657,
          "visible_coverage_5pct": 1.0,
          "patch_p95": 0.03811181105709331,
          "patch_coverage_5pct": 0.9995,
          "conflict_p95": 0.0349459544628291,
          "conflict_coverage_5pct": 0.9998333333333334,
          "projection_meta": {
            "active_vertex_ratio": 0.18380837912087913,
            "hard_locked_vertex_ratio": 0.7231284340659341,
            "conflict_band_vertex_ratio": 0.47445913461538464,
            "mean_signed_step_active": 0.0007820155663757208,
            "p95_abs_signed_step_active": 0.0065761370235712475,
            "outward_active_ratio": 0.0609528257823447,
            "mean_patch_tangential_residual_active": 0.014477055584302961,
            "mean_move": 0.0001437410137028175,
            "p95_move": 0.0
          },
          "config": {
            "mode": "normal_outward_only",
            "alpha": 0.55,
            "max_step": 0.016,
            "smooth_iters": 0
          }
        },
        {
          "variant": "normal_inward_only",
          "output_obj": "/home/jiachen/TRELLIS/experiments/nonorthogonal_gpt_orthoview/outputs/data_survey/vggt_spatial_adapter/support_guidance_a46_signed_direction_residual/gso_002_input4/mesh_normal_inward_only.obj",
          "stats": {
            "vertices": 23296,
            "faces": 46644,
            "watertight": true,
            "winding_consistent": true,
            "boundary_edges": 0,
            "nonmanifold_edges": 0,
            "components": 1,
            "largest_component_face_ratio": 1.0,
            "euler_number": -26
          },
          "gt": {
            "pred_mesh": "/home/jiachen/TRELLIS/experiments/nonorthogonal_gpt_orthoview/outputs/data_survey/vggt_spatial_adapter/support_guidance_a46_signed_direction_residual/gso_002_input4/mesh_normal_inward_only.obj",
            "gt_mesh": "/home/jiachen/TRELLIS/experiments/nonorthogonal_gpt_orthoview/outputs/data_survey/rendered_benchmark_v0/_extracted_gso/Ecoforms_Plant_Container_QP_Turquoise/meshes/model.obj",
            "chamfer_mean": 0.04544394719250676,
            "chamfer_median": 0.02788796975627205,
            "chamfer_p95": 0.15977391899615012,
            "hausdorff_approx": 0.2507198009914366,
            "pred_to_gt_mean": 0.04668193486380278,
            "gt_to_pred_mean": 0.04420595952121074,
            "bbox_diag_ratio": 10.882281837856652,
            "surface_area_ratio": 133.62419719697937,
            "volume_ratio_abs": 1786.660095725721,
            "topology": {
              "vertices": 23296,
              "faces": 46644,
              "watertight": true,
              "winding_consistent": true,
              "boundary_edges": 0,
              "nonmanifold_edges": 0,
              "components": 1,
              "euler_number": -26
            },
            "precision_1pct": 0.22075,
            "recall_1pct": 0.23635,
            "fscore_1pct": 0.2282838000437541,
            "precision_2pct": 0.38505,
            "recall_2pct": 0.45355,
            "fscore_2pct": 0.41650233126639635,
            "precision_5pct": 0.6532,
            "recall_5pct": 0.72545,
            "fscore_5pct": 0.6874318209842963,
            "precision_10pct": 0.87515,
            "recall_10pct": 0.86265,
            "fscore_10pct": 0.8688550437334561
          },
          "visible_p95": 0.0309447530838125,
          "visible_coverage_5pct": 1.0,
          "patch_p95": 0.03505363733560608,
          "patch_coverage_5pct": 1.0,
          "conflict_p95": 0.03099975672365166,
          "conflict_coverage_5pct": 0.9945,
          "projection_meta": {
            "active_vertex_ratio": 0.18380837912087913,
            "hard_locked_vertex_ratio": 0.7231284340659341,
            "conflict_band_vertex_ratio": 0.47445913461538464,
            "mean_signed_step_active": -0.01447520722427099,
            "p95_abs_signed_step_active": 0.016,
            "outward_active_ratio": 0.0609528257823447,
            "mean_patch_tangential_residual_active": 0.014477055584302961,
            "mean_move": 0.0026606643773320897,
            "p95_move": 0.016
          },
          "config": {
            "mode": "normal_inward_only",
            "alpha": 0.55,
            "max_step": 0.016,
            "smooth_iters": 0
          }
        },
        {
          "variant": "normal_signed_smooth",
          "output_obj": "/home/jiachen/TRELLIS/experiments/nonorthogonal_gpt_orthoview/outputs/data_survey/vggt_spatial_adapter/support_guidance_a46_signed_direction_residual/gso_002_input4/mesh_normal_signed_smooth.obj",
          "stats": {
            "vertices": 23296,
            "faces": 46644,
            "watertight": true,
            "winding_consistent": true,
            "boundary_edges": 0,
            "nonmanifold_edges": 0,
            "components": 1,
            "largest_component_face_ratio": 1.0,
            "euler_number": -26
          },
          "gt": {
            "pred_mesh": "/home/jiachen/TRELLIS/experiments/nonorthogonal_gpt_orthoview/outputs/data_survey/vggt_spatial_adapter/support_guidance_a46_signed_direction_residual/gso_002_input4/mesh_normal_signed_smooth.obj",
            "gt_mesh": "/home/jiachen/TRELLIS/experiments/nonorthogonal_gpt_orthoview/outputs/data_survey/rendered_benchmark_v0/_extracted_gso/Ecoforms_Plant_Container_QP_Turquoise/meshes/model.obj",
            "chamfer_mean": 0.04543952347211111,
            "chamfer_median": 0.027620897766454235,
            "chamfer_p95": 0.15999254601829382,
            "hausdorff_approx": 0.2518505927086526,
            "pred_to_gt_mean": 0.04660639202621207,
            "gt_to_pred_mean": 0.04427265491801015,
            "bbox_diag_ratio": 10.887636877010332,
            "surface_area_ratio": 130.77229950556324,
            "volume_ratio_abs": 1854.6046824001146,
            "topology": {
              "vertices": 23296,
              "faces": 46644,
              "watertight": true,
              "winding_consistent": true,
              "boundary_edges": 0,
              "nonmanifold_edges": 0,
              "components": 1,
              "euler_number": -26
            },
            "precision_1pct": 0.21935,
            "recall_1pct": 0.2355,
            "fscore_1pct": 0.22713828734747718,
            "precision_2pct": 0.38355,
            "recall_2pct": 0.45675,
            "fscore_2pct": 0.41696171010353444,
            "precision_5pct": 0.65365,
            "recall_5pct": 0.72525,
            "fscore_5pct": 0.687591068968018,
            "precision_10pct": 0.8783,
            "recall_10pct": 0.86215,
            "fscore_10pct": 0.870150070384096
          },
          "visible_p95": 0.031753780310490164,
          "visible_coverage_5pct": 1.0,
          "patch_p95": 0.0359279622886966,
          "patch_coverage_5pct": 0.999375,
          "conflict_p95": 0.03174254000222179,
          "conflict_coverage_5pct": 0.9954444444444445,
          "projection_meta": {
            "active_vertex_ratio": 0.18380837912087913,
            "hard_locked_vertex_ratio": 0.7231284340659341,
            "conflict_band_vertex_ratio": 0.47445913461538464,
            "mean_signed_step_active": -0.010130130712208842,
            "p95_abs_signed_step_active": 0.012,
            "outward_active_ratio": 0.0609528257823447,
            "mean_patch_tangential_residual_active": 0.014477055584302961,
            "mean_move": 0.0020760890625608204,
            "p95_move": 0.011966545290034963
          },
          "config": {
            "mode": "normal_signed",
            "alpha": 0.4,
            "max_step": 0.012,
            "smooth_iters": 1
          }
        }
      ],
      "best_gt_variant": "normal_signed_strong",
      "best_signed_proxy_variant": "normal_signed_strong"
    },
    {
      "case_id": "gso_008_input4",
      "benchmark_id": "gso_008",
      "source": "trellis2_raw",
      "carrier_mesh": "/home/jiachen/TRELLIS/experiments/nonorthogonal_gpt_orthoview/outputs/data_survey/vggt_spatial_adapter/support_guidance_a42_component_aware_cleanup/gso_008_input4/mesh_lock_r018_patch030_b024_visible_prior_trellis2_raw.obj",
      "gt_mesh": "/home/jiachen/TRELLIS/experiments/nonorthogonal_gpt_orthoview/outputs/data_survey/rendered_benchmark_v0/_extracted_gso/Ecoforms_Quadra_Saucer_SQ1_Avocado/meshes/model.obj",
      "projection_asset": "trellis2_vggt_assets/a46/gso_008_input4_projection.png",
      "variant_rows": [
        {
          "variant": "carrier_control",
          "output_obj": "/home/jiachen/TRELLIS/experiments/nonorthogonal_gpt_orthoview/outputs/data_survey/vggt_spatial_adapter/support_guidance_a46_signed_direction_residual/gso_008_input4/mesh_carrier_control.obj",
          "stats": {
            "vertices": 5136,
            "faces": 10276,
            "watertight": true,
            "winding_consistent": true,
            "boundary_edges": 0,
            "nonmanifold_edges": 0,
            "components": 1,
            "largest_component_face_ratio": 1.0,
            "euler_number": -2
          },
          "gt": {
            "pred_mesh": "/home/jiachen/TRELLIS/experiments/nonorthogonal_gpt_orthoview/outputs/data_survey/vggt_spatial_adapter/support_guidance_a46_signed_direction_residual/gso_008_input4/mesh_carrier_control.obj",
            "gt_mesh": "/home/jiachen/TRELLIS/experiments/nonorthogonal_gpt_orthoview/outputs/data_survey/rendered_benchmark_v0/_extracted_gso/Ecoforms_Quadra_Saucer_SQ1_Avocado/meshes/model.obj",
            "chamfer_mean": 0.13147036511973625,
            "chamfer_median": 0.13338430104976928,
            "chamfer_p95": 0.26155787835153677,
            "hausdorff_approx": 0.32212480153358136,
            "pred_to_gt_mean": 0.11376668426035819,
            "gt_to_pred_mean": 0.14917404597911435,
            "bbox_diag_ratio": 9.926494293617178,
            "surface_area_ratio": 75.2438146301863,
            "volume_ratio_abs": 1348.691491726939,
            "topology": {
              "vertices": 5136,
              "faces": 10276,
              "watertight": true,
              "winding_consistent": true,
              "boundary_edges": 0,
              "nonmanifold_edges": 0,
              "components": 1,
              "euler_number": -2
            },
            "precision_1pct": 0.0595,
            "recall_1pct": 0.04585,
            "fscore_1pct": 0.0517906976744186,
            "precision_2pct": 0.1063,
            "recall_2pct": 0.098,
            "fscore_2pct": 0.10198139990210475,
            "precision_5pct": 0.21775,
            "recall_5pct": 0.20875,
            "fscore_5pct": 0.21315504103165298,
            "precision_10pct": 0.43315,
            "recall_10pct": 0.35105,
            "fscore_10pct": 0.38780236546799285
          },
          "visible_p95": 0.03130868951638211,
          "visible_coverage_5pct": 0.9972083333333334,
          "patch_p95": 0.03276198534613434,
          "patch_coverage_5pct": 1.0,
          "conflict_p95": 0.039532354601089774,
          "conflict_coverage_5pct": 0.9836666666666667,
          "projection_meta": {
            "active_vertex_ratio": 0.0,
            "hard_locked_vertex_ratio": 0.0,
            "conflict_band_vertex_ratio": 0.0,
            "mean_signed_step_active": null,
            "p95_abs_signed_step_active": null,
            "outward_active_ratio": null,
            "mean_patch_tangential_residual_active": null,
            "mean_move": 0.0,
            "p95_move": 0.0
          },
          "config": {
            "mode": "none",
            "alpha": 0.0,
            "max_step": 0.0,
            "smooth_iters": 0
          }
        },
        {
          "variant": "normal_signed_soft",
          "output_obj": "/home/jiachen/TRELLIS/experiments/nonorthogonal_gpt_orthoview/outputs/data_survey/vggt_spatial_adapter/support_guidance_a46_signed_direction_residual/gso_008_input4/mesh_normal_signed_soft.obj",
          "stats": {
            "vertices": 5136,
            "faces": 10276,
            "watertight": true,
            "winding_consistent": true,
            "boundary_edges": 0,
            "nonmanifold_edges": 0,
            "components": 1,
            "largest_component_face_ratio": 1.0,
            "euler_number": -2
          },
          "gt": {
            "pred_mesh": "/home/jiachen/TRELLIS/experiments/nonorthogonal_gpt_orthoview/outputs/data_survey/vggt_spatial_adapter/support_guidance_a46_signed_direction_residual/gso_008_input4/mesh_normal_signed_soft.obj",
            "gt_mesh": "/home/jiachen/TRELLIS/experiments/nonorthogonal_gpt_orthoview/outputs/data_survey/rendered_benchmark_v0/_extracted_gso/Ecoforms_Quadra_Saucer_SQ1_Avocado/meshes/model.obj",
            "chamfer_mean": 0.13378273487299086,
            "chamfer_median": 0.1359263536442566,
            "chamfer_p95": 0.2675990195343675,
            "hausdorff_approx": 0.33123028529060344,
            "pred_to_gt_mean": 0.11405778040852438,
            "gt_to_pred_mean": 0.15350768933745734,
            "bbox_diag_ratio": 9.810688258007913,
            "surface_area_ratio": 70.58940041511234,
            "volume_ratio_abs": 1024.161379772768,
            "topology": {
              "vertices": 5136,
              "faces": 10276,
              "watertight": true,
              "winding_consistent": true,
              "boundary_edges": 0,
              "nonmanifold_edges": 0,
              "components": 1,
              "euler_number": -2
            },
            "precision_1pct": 0.05755,
            "recall_1pct": 0.0422,
            "fscore_1pct": 0.04869393483709273,
            "precision_2pct": 0.10375,
            "recall_2pct": 0.088,
            "fscore_2pct": 0.09522816166883964,
            "precision_5pct": 0.2237,
            "recall_5pct": 0.18985,
            "fscore_5pct": 0.2053896505863862,
            "precision_10pct": 0.43335,
            "recall_10pct": 0.3341,
            "fscore_10pct": 0.3773072773470585
          },
          "visible_p95": 0.0282947758386185,
          "visible_coverage_5pct": 0.9972083333333334,
          "patch_p95": 0.030213311292146817,
          "patch_coverage_5pct": 1.0,
          "conflict_p95": 0.03365273793979039,
          "conflict_coverage_5pct": 0.9746111111111111,
          "projection_meta": {
            "active_vertex_ratio": 0.6843847352024922,
            "hard_locked_vertex_ratio": 0.31366822429906543,
            "conflict_band_vertex_ratio": 0.9172507788161994,
            "mean_signed_step_active": -0.00987048382886997,
            "p95_abs_signed_step_active": 0.010973149862018848,
            "outward_active_ratio": 0.008534850640113799,
            "mean_patch_tangential_residual_active": 0.007407654479013769,
            "mean_move": 0.006864689458466148,
            "p95_move": 0.01071871327382332
          },
          "config": {
            "mode": "normal_signed",
            "alpha": 0.35,
            "max_step": 0.012,
            "smooth_iters": 0
          }
        },
        {
          "variant": "normal_signed_strong",
          "output_obj": "/home/jiachen/TRELLIS/experiments/nonorthogonal_gpt_orthoview/outputs/data_survey/vggt_spatial_adapter/support_guidance_a46_signed_direction_residual/gso_008_input4/mesh_normal_signed_strong.obj",
          "stats": {
            "vertices": 5136,
            "faces": 10276,
            "watertight": true,
            "winding_consistent": true,
            "boundary_edges": 0,
            "nonmanifold_edges": 0,
            "components": 1,
            "largest_component_face_ratio": 1.0,
            "euler_number": -2
          },
          "gt": {
            "pred_mesh": "/home/jiachen/TRELLIS/experiments/nonorthogonal_gpt_orthoview/outputs/data_survey/vggt_spatial_adapter/support_guidance_a46_signed_direction_residual/gso_008_input4/mesh_normal_signed_strong.obj",
            "gt_mesh": "/home/jiachen/TRELLIS/experiments/nonorthogonal_gpt_orthoview/outputs/data_survey/rendered_benchmark_v0/_extracted_gso/Ecoforms_Quadra_Saucer_SQ1_Avocado/meshes/model.obj",
            "chamfer_mean": 0.1342502974740159,
            "chamfer_median": 0.1358628890597453,
            "chamfer_p95": 0.27008300265465046,
            "hausdorff_approx": 0.3364976554922426,
            "pred_to_gt_mean": 0.11328431651586451,
            "gt_to_pred_mean": 0.1552162784321673,
            "bbox_diag_ratio": 9.782507876387132,
            "surface_area_ratio": 69.7013634779525,
            "volume_ratio_abs": 866.6883301931489,
            "topology": {
              "vertices": 5136,
              "faces": 10276,
              "watertight": true,
              "winding_consistent": true,
              "boundary_edges": 0,
              "nonmanifold_edges": 0,
              "components": 1,
              "euler_number": -2
            },
            "precision_1pct": 0.05965,
            "recall_1pct": 0.04385,
            "fscore_1pct": 0.05054400966183575,
            "precision_2pct": 0.10265,
            "recall_2pct": 0.08185,
            "fscore_2pct": 0.09107753387533876,
            "precision_5pct": 0.2193,
            "recall_5pct": 0.18105,
            "fscore_5pct": 0.19834777070063692,
            "precision_10pct": 0.44065,
            "recall_10pct": 0.3282,
            "fscore_10pct": 0.37620167783052605
          },
          "visible_p95": 0.026955013749178247,
          "visible_coverage_5pct": 0.9972083333333334,
          "patch_p95": 0.02986680669706733,
          "patch_coverage_5pct": 1.0,
          "conflict_p95": 0.03338088122190379,
          "conflict_coverage_5pct": 0.9711111111111111,
          "projection_meta": {
            "active_vertex_ratio": 0.6843847352024922,
            "hard_locked_vertex_ratio": 0.31366822429906543,
            "conflict_band_vertex_ratio": 0.9172507788161994,
            "mean_signed_step_active": -0.01522173563138977,
            "p95_abs_signed_step_active": 0.016,
            "outward_active_ratio": 0.008534850640113799,
            "mean_patch_tangential_residual_active": 0.007407654479013769,
            "mean_move": 0.010573775719378101,
            "p95_move": 0.016000000000000004
          },
          "config": {
            "mode": "normal_signed",
            "alpha": 0.55,
            "max_step": 0.016,
            "smooth_iters": 0
          }
        },
        {
          "variant": "normal_outward_only",
          "output_obj": "/home/jiachen/TRELLIS/experiments/nonorthogonal_gpt_orthoview/outputs/data_survey/vggt_spatial_adapter/support_guidance_a46_signed_direction_residual/gso_008_input4/mesh_normal_outward_only.obj",
          "stats": {
            "vertices": 5136,
            "faces": 10276,
            "watertight": true,
            "winding_consistent": true,
            "boundary_edges": 0,
            "nonmanifold_edges": 0,
            "components": 1,
            "largest_component_face_ratio": 1.0,
            "euler_number": -2
          },
          "gt": {
            "pred_mesh": "/home/jiachen/TRELLIS/experiments/nonorthogonal_gpt_orthoview/outputs/data_survey/vggt_spatial_adapter/support_guidance_a46_signed_direction_residual/gso_008_input4/mesh_normal_outward_only.obj",
            "gt_mesh": "/home/jiachen/TRELLIS/experiments/nonorthogonal_gpt_orthoview/outputs/data_survey/rendered_benchmark_v0/_extracted_gso/Ecoforms_Quadra_Saucer_SQ1_Avocado/meshes/model.obj",
            "chamfer_mean": 0.13168476481620373,
            "chamfer_median": 0.1333873031678117,
            "chamfer_p95": 0.26195476909713766,
            "hausdorff_approx": 0.32227825954250516,
            "pred_to_gt_mean": 0.11415241063356327,
            "gt_to_pred_mean": 0.1492171189988442,
            "bbox_diag_ratio": 9.926494293617178,
            "surface_area_ratio": 75.69326056876346,
            "volume_ratio_abs": 1352.7616942664258,
            "topology": {
              "vertices": 5136,
              "faces": 10276,
              "watertight": true,
              "winding_consistent": true,
              "boundary_edges": 0,
              "nonmanifold_edges": 0,
              "components": 1,
              "euler_number": -2
            },
            "precision_1pct": 0.0556,
            "recall_1pct": 0.04505,
            "fscore_1pct": 0.049772081470442125,
            "precision_2pct": 0.1028,
            "recall_2pct": 0.09835,
            "fscore_2pct": 0.1005257767834949,
            "precision_5pct": 0.21365,
            "recall_5pct": 0.20855,
            "fscore_5pct": 0.21106919706300334,
            "precision_10pct": 0.43025,
            "recall_10pct": 0.35105,
            "fscore_10pct": 0.3866357673108921
          },
          "visible_p95": 0.03134182565972341,
          "visible_coverage_5pct": 0.9972083333333334,
          "patch_p95": 0.03296026977647936,
          "patch_coverage_5pct": 1.0,
          "conflict_p95": 0.03945484598887976,
          "conflict_coverage_5pct": 0.9835,
          "projection_meta": {
            "active_vertex_ratio": 0.6843847352024922,
            "hard_locked_vertex_ratio": 0.31366822429906543,
            "conflict_band_vertex_ratio": 0.9172507788161994,
            "mean_signed_step_active": 0.00011415524187637163,
            "p95_abs_signed_step_active": 0.0,
            "outward_active_ratio": 0.008534850640113799,
            "mean_patch_tangential_residual_active": 0.007407654479013769,
            "mean_move": 7.812610498353704e-05,
            "p95_move": 0.0
          },
          "config": {
            "mode": "normal_outward_only",
            "alpha": 0.55,
            "max_step": 0.016,
            "smooth_iters": 0
          }
        },
        {
          "variant": "normal_inward_only",
          "output_obj": "/home/jiachen/TRELLIS/experiments/nonorthogonal_gpt_orthoview/outputs/data_survey/vggt_spatial_adapter/support_guidance_a46_signed_direction_residual/gso_008_input4/mesh_normal_inward_only.obj",
          "stats": {
            "vertices": 5136,
            "faces": 10276,
            "watertight": true,
            "winding_consistent": true,
            "boundary_edges": 0,
            "nonmanifold_edges": 0,
            "components": 1,
            "largest_component_face_ratio": 1.0,
            "euler_number": -2
          },
          "gt": {
            "pred_mesh": "/home/jiachen/TRELLIS/experiments/nonorthogonal_gpt_orthoview/outputs/data_survey/vggt_spatial_adapter/support_guidance_a46_signed_direction_residual/gso_008_input4/mesh_normal_inward_only.obj",
            "gt_mesh": "/home/jiachen/TRELLIS/experiments/nonorthogonal_gpt_orthoview/outputs/data_survey/rendered_benchmark_v0/_extracted_gso/Ecoforms_Quadra_Saucer_SQ1_Avocado/meshes/model.obj",
            "chamfer_mean": 0.1349114608904283,
            "chamfer_median": 0.1370700325247386,
            "chamfer_p95": 0.27097463057679166,
            "hausdorff_approx": 0.33650425909513654,
            "pred_to_gt_mean": 0.11458380903405013,
            "gt_to_pred_mean": 0.15523911274680646,
            "bbox_diag_ratio": 9.782507876387132,
            "surface_area_ratio": 69.221527596832,
            "volume_ratio_abs": 862.8263550064372,
            "topology": {
              "vertices": 5136,
              "faces": 10276,
              "watertight": true,
              "winding_consistent": true,
              "boundary_edges": 0,
              "nonmanifold_edges": 0,
              "components": 1,
              "euler_number": -2
            },
            "precision_1pct": 0.0565,
            "recall_1pct": 0.04315,
            "fscore_1pct": 0.04893075765178124,
            "precision_2pct": 0.09885,
            "recall_2pct": 0.08125,
            "fscore_2pct": 0.08919003331482511,
            "precision_5pct": 0.2172,
            "recall_5pct": 0.18055,
            "fscore_5pct": 0.19718647391577626,
            "precision_10pct": 0.4321,
            "recall_10pct": 0.32805,
            "fscore_10pct": 0.3729537722817865
          },
          "visible_p95": 0.02694734085866988,
          "visible_coverage_5pct": 0.9972083333333334,
          "patch_p95": 0.029775236942313515,
          "patch_coverage_5pct": 1.0,
          "conflict_p95": 0.03504589905132476,
          "conflict_coverage_5pct": 0.9697222222222223,
          "projection_meta": {
            "active_vertex_ratio": 0.6843847352024922,
            "hard_locked_vertex_ratio": 0.31366822429906543,
            "conflict_band_vertex_ratio": 0.9172507788161994,
            "mean_signed_step_active": -0.015335890873266141,
            "p95_abs_signed_step_active": 0.016,
            "outward_active_ratio": 0.008534850640113799,
            "mean_patch_tangential_residual_active": 0.007407654479013769,
            "mean_move": 0.010495649614394566,
            "p95_move": 0.016000000000000004
          },
          "config": {
            "mode": "normal_inward_only",
            "alpha": 0.55,
            "max_step": 0.016,
            "smooth_iters": 0
          }
        },
        {
          "variant": "normal_signed_smooth",
          "output_obj": "/home/jiachen/TRELLIS/experiments/nonorthogonal_gpt_orthoview/outputs/data_survey/vggt_spatial_adapter/support_guidance_a46_signed_direction_residual/gso_008_input4/mesh_normal_signed_smooth.obj",
          "stats": {
            "vertices": 5136,
            "faces": 10276,
            "watertight": true,
            "winding_consistent": true,
            "boundary_edges": 0,
            "nonmanifold_edges": 0,
            "components": 1,
            "largest_component_face_ratio": 1.0,
            "euler_number": -2
          },
          "gt": {
            "pred_mesh": "/home/jiachen/TRELLIS/experiments/nonorthogonal_gpt_orthoview/outputs/data_survey/vggt_spatial_adapter/support_guidance_a46_signed_direction_residual/gso_008_input4/mesh_normal_signed_smooth.obj",
            "gt_mesh": "/home/jiachen/TRELLIS/experiments/nonorthogonal_gpt_orthoview/outputs/data_survey/rendered_benchmark_v0/_extracted_gso/Ecoforms_Quadra_Saucer_SQ1_Avocado/meshes/model.obj",
            "chamfer_mean": 0.13385534293497425,
            "chamfer_median": 0.13587802170545812,
            "chamfer_p95": 0.26798691380421347,
            "hausdorff_approx": 0.33308055610949616,
            "pred_to_gt_mean": 0.11357802354657179,
            "gt_to_pred_mean": 0.1541326623233767,
            "bbox_diag_ratio": 9.800582404182952,
            "surface_area_ratio": 69.01923834457908,
            "volume_ratio_abs": 983.4933054052045,
            "topology": {
              "vertices": 5136,
              "faces": 10276,
              "watertight": true,
              "winding_consistent": true,
              "boundary_edges": 0,
              "nonmanifold_edges": 0,
              "components": 1,
              "euler_number": -2
            },
            "precision_1pct": 0.05795,
            "recall_1pct": 0.04275,
            "fscore_1pct": 0.04920283018867924,
            "precision_2pct": 0.10005,
            "recall_2pct": 0.08575,
            "fscore_2pct": 0.09234970398277718,
            "precision_5pct": 0.2179,
            "recall_5pct": 0.1872,
            "fscore_5pct": 0.20138671932856084,
            "precision_10pct": 0.4357,
            "recall_10pct": 0.3319,
            "fscore_10pct": 0.37678173527879105
          },
          "visible_p95": 0.028184108757716323,
          "visible_coverage_5pct": 0.9972083333333334,
          "patch_p95": 0.030076847907439034,
          "patch_coverage_5pct": 1.0,
          "conflict_p95": 0.03327215756416177,
          "conflict_coverage_5pct": 0.9741111111111111,
          "projection_meta": {
            "active_vertex_ratio": 0.6843847352024922,
            "hard_locked_vertex_ratio": 0.31366822429906543,
            "conflict_band_vertex_ratio": 0.9172507788161994,
            "mean_signed_step_active": -0.011218519953542977,
            "p95_abs_signed_step_active": 0.012,
            "outward_active_ratio": 0.008534850640113799,
            "mean_patch_tangential_residual_active": 0.007407654479013769,
            "mean_move": 0.007793545822834648,
            "p95_move": 0.012000000000000002
          },
          "config": {
            "mode": "normal_signed",
            "alpha": 0.4,
            "max_step": 0.012,
            "smooth_iters": 1
          }
        }
      ],
      "best_gt_variant": "carrier_control",
      "best_signed_proxy_variant": "normal_signed_smooth"
    }
  ],
  "aggregate": {
    "carrier_control": {
      "cases": 2,
      "mean_chamfer": 0.08858014416018938,
      "mean_fscore_5pct": 0.45228501258389686,
      "watertight_rate": 1.0,
      "mean_boundary_edges": 0,
      "mean_nonmanifold_edges": 0,
      "mean_components": 1,
      "mean_faces": 28460,
      "mean_visible_p95": 0.03238490872336483,
      "mean_conflict_p95": 0.03746298037311466,
      "mean_patch_p95": 0.03533054136440193,
      "mean_active_vertex_ratio": 0.0,
      "mean_hard_locked_vertex_ratio": 0.0,
      "mean_outward_active_ratio": 0.0,
      "mean_p95_move": 0.0
    },
    "normal_inward_only": {
      "cases": 2,
      "mean_chamfer": 0.09017770404146752,
      "mean_fscore_5pct": 0.4423091474500363,
      "watertight_rate": 1.0,
      "mean_boundary_edges": 0,
      "mean_nonmanifold_edges": 0,
      "mean_components": 1,
      "mean_faces": 28460,
      "mean_visible_p95": 0.028946046971241188,
      "mean_conflict_p95": 0.03302282788748821,
      "mean_patch_p95": 0.0324144371389598,
      "mean_active_vertex_ratio": 0.43409655716168566,
      "mean_hard_locked_vertex_ratio": 0.5183983291824997,
      "mean_outward_active_ratio": 0.03474383821122925,
      "mean_p95_move": 0.016
    },
    "normal_outward_only": {
      "cases": 2,
      "mean_chamfer": 0.08865285315349772,
      "mean_fscore_5pct": 0.4503883223778501,
      "watertight_rate": 1.0,
      "mean_boundary_edges": 0,
      "mean_nonmanifold_edges": 0,
      "mean_components": 1,
      "mean_faces": 28460,
      "mean_visible_p95": 0.03242016275863499,
      "mean_conflict_p95": 0.03720040022585443,
      "mean_patch_p95": 0.03553604041678633,
      "mean_active_vertex_ratio": 0.43409655716168566,
      "mean_hard_locked_vertex_ratio": 0.5183983291824997,
      "mean_outward_active_ratio": 0.03474383821122925,
      "mean_p95_move": 0.0
    },
    "normal_signed_smooth": {
      "cases": 2,
      "mean_chamfer": 0.08964743320354268,
      "mean_fscore_5pct": 0.4444888941482894,
      "watertight_rate": 1.0,
      "mean_boundary_edges": 0,
      "mean_nonmanifold_edges": 0,
      "mean_components": 1,
      "mean_faces": 28460,
      "mean_visible_p95": 0.029968944534103245,
      "mean_conflict_p95": 0.03250734878319178,
      "mean_patch_p95": 0.033002405098067816,
      "mean_active_vertex_ratio": 0.43409655716168566,
      "mean_hard_locked_vertex_ratio": 0.5183983291824997,
      "mean_outward_active_ratio": 0.03474383821122925,
      "mean_p95_move": 0.011983272645017484
    },
    "normal_signed_soft": {
      "cases": 2,
      "mean_chamfer": 0.08969217760994376,
      "mean_fscore_5pct": 0.44522087192324444,
      "watertight_rate": 1.0,
      "mean_boundary_edges": 0,
      "mean_nonmanifold_edges": 0,
      "mean_components": 1,
      "mean_faces": 28460,
      "mean_visible_p95": 0.030148723358454727,
      "mean_conflict_p95": 0.032537517116527706,
      "mean_patch_p95": 0.03297795335760055,
      "mean_active_vertex_ratio": 0.43409655716168566,
      "mean_hard_locked_vertex_ratio": 0.5183983291824997,
      "mean_outward_active_ratio": 0.03474383821122925,
      "mean_p95_move": 0.010594720201301956
    },
    "normal_signed_strong": {
      "cases": 2,
      "mean_chamfer": 0.0897738496783097,
      "mean_fscore_5pct": 0.44411855235444025,
      "watertight_rate": 1.0,
      "mean_boundary_edges": 0,
      "mean_nonmanifold_edges": 0,
      "mean_components": 1,
      "mean_faces": 28460,
      "mean_visible_p95": 0.02905972682173353,
      "mean_conflict_p95": 0.03155742832680713,
      "mean_patch_p95": 0.03252331805448263,
      "mean_active_vertex_ratio": 0.43409655716168566,
      "mean_hard_locked_vertex_ratio": 0.5183983291824997,
      "mean_outward_active_ratio": 0.03474383821122925,
      "mean_p95_move": 0.016
    }
  },
  "conclusion": {
    "status": "signed_direction_diagnostic",
    "summary": "Best non-control variant normal_outward_only has Chamfer=0.08865285315349772 vs carrier=0.08858014416018938. This isolates direction correctness from locality."
  }
}