"""#73 implementation comment -- retry until the road internet cooperates.""" import base64, json, subprocess, urllib.request BASE="https://gitea.mysticmachines.com/api/v1/repos/VWE/BT411" o=subprocess.run(["git","credential","fill"],input="protocol=https\nhost=gitea.mysticmachines.com\n\n", capture_output=True,text=True,cwd=r"C:\git\bt411") c=dict(l.split("=",1) for l in o.stdout.strip().splitlines() if "=" in l) A="Basic "+base64.b64encode((c["username"]+":"+c["password"]).encode()).decode() BODY = """**FIX LANDED 2026-07-30** (`8a99972`, build 4.11.628) -- aimed fire now strikes the part under the crosshair. Staying open for field confirmation. Implementation of the recovered model: at render-tree build, each segment's draw geometry + its authored `PrimaryDamageZone` (carried per segment in the skeleton stream) are recorded; the pick ray-tests the per-segment bounding spheres on the live posed skeleton. Selection is **specificity-first** -- among pierced spheres the smallest radius wins -- because the torso mesh's sphere (r~4.1) envelops the whole mech and defeats both nearest-entry and normalized-distance rules (measured). Limb spheres nest inside it; smallest-pierced picks the most specific part on the aim line, the per-part semantic of the pod's mesh intersection. The winner's zone dispatches as a REAL aimed zone (`MECH_TARGET_SUBIDX` -> `SendDamageMessage`); the whole-mech box + zone -1 lottery survives only as the fallback (no tree, wrecked, structure occlusion). Bursts 2+ still re-lottery per the recovered handler -- authentic. **Bench, the same sweep that exposed the bug:** aiming left = **36/41 hits on `jointlshoulder`'s zone** (a 6-way lottery spray before). The MadCat's authored map: shoulders 2/9, guns 6/17, hip 1, six leg zones, torso 0. **Field protocol -- the exact night-6 test:** stationary mechs, short range, fire ONLY at one arm. The paper doll should now damage THAT arm, deterministically (crits on it will still roll probabilistically per the #80 curve). Known approximations to watch: sphere bounds (not triangles), and a shot grazing the torso's silhouette edge credits the torso where the pod would have missed into air. Diag for any weirdness: `BT_PICK_LOG` -> `[segpick]` (the mech's segment->zone map at spawn) + `[pickwin]` (zone/score per pick; score ~0 = threading a part's core, ~1 = envelope graze).""" marker=BODY.strip().splitlines()[0][:60] req=urllib.request.Request(BASE+"/issues/73/comments"); req.add_header("Authorization",A) for cm in json.load(urllib.request.urlopen(req, timeout=30)): if marker in cm.get("body",""): print("already posted"); raise SystemExit d=json.dumps({"body":BODY}).encode() req=urllib.request.Request(BASE+"/issues/73/comments",data=d,method="POST") req.add_header("Authorization",A); req.add_header("Content-Type","application/json") json.load(urllib.request.urlopen(req, timeout=30)); print("commented on #73")