From 29aab0e189ad075f456def8851cc45d99fe78f87 Mon Sep 17 00:00:00 2001 From: Punch Date: Wed, 3 Jun 2026 13:14:16 +0000 Subject: [PATCH 1/2] Clamp baseline geometry to build volume, cover load point Z --- agents/baseline/agent.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/agents/baseline/agent.py b/agents/baseline/agent.py index c7e0cc9..9c5a396 100644 --- a/agents/baseline/agent.py +++ b/agents/baseline/agent.py @@ -29,15 +29,19 @@ def generate(spec: dict, llm: LLMClient) -> bytes: # noqa: ARG001 constraints = spec["constraints"] bolt_pattern = constraints["bolt_pattern_mm"] bolt_d = constraints["bolt_diameter_clearance_mm"] + bv = constraints["build_volume_mm"] # [x, y, z] limits + load_pt = constraints["load_point_mm"] by_coords = [p[0] for p in bolt_pattern] bz_coords = [p[1] for p in bolt_pattern] - plate_y = max(by_coords) + 20.0 - plate_z = max(bz_coords) + 20.0 + # Clamp to build volume so the bracket always fits + plate_y = min(max(by_coords) + 20.0, bv[1]) + plate_z = min(max(bz_coords) + 20.0, bv[2]) plate_thickness = 10.0 - shelf_length = constraints["load_point_mm"][0] + 15.0 - shelf_thickness = 12.0 + # Shelf must reach the load point in X and cover its Z coordinate + shelf_length = min(load_pt[0] + 15.0, bv[0]) + shelf_thickness = min(max(15.0, load_pt[2] + 10.0), bv[2]) shelf_z = plate_z # Mounting plate From df509dbe0ddaec0e97d8ccb65e124291298d09a1 Mon Sep 17 00:00:00 2001 From: Punch Date: Wed, 3 Jun 2026 13:19:35 +0000 Subject: [PATCH 2/2] Leave 2mm margin from build volume boundary in baseline --- agents/baseline/agent.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/agents/baseline/agent.py b/agents/baseline/agent.py index 9c5a396..687c7b2 100644 --- a/agents/baseline/agent.py +++ b/agents/baseline/agent.py @@ -34,14 +34,14 @@ def generate(spec: dict, llm: LLMClient) -> bytes: # noqa: ARG001 by_coords = [p[0] for p in bolt_pattern] bz_coords = [p[1] for p in bolt_pattern] - # Clamp to build volume so the bracket always fits - plate_y = min(max(by_coords) + 20.0, bv[1]) - plate_z = min(max(bz_coords) + 20.0, bv[2]) + # Clamp to build volume — leave 2mm margin to avoid floating-point boundary failures + plate_y = min(max(by_coords) + 20.0, bv[1] - 2.0) + plate_z = min(max(bz_coords) + 20.0, bv[2] - 2.0) plate_thickness = 10.0 # Shelf must reach the load point in X and cover its Z coordinate - shelf_length = min(load_pt[0] + 15.0, bv[0]) - shelf_thickness = min(max(15.0, load_pt[2] + 10.0), bv[2]) + shelf_length = min(load_pt[0] + 15.0, bv[0] - 2.0) + shelf_thickness = min(max(15.0, load_pt[2] + 10.0), bv[2] - 2.0) shelf_z = plate_z # Mounting plate