Rename multi-segment functions to two-concept names; polish docstrings
Naming pass: rename functions whose third+ segment is redundant or implementation-detail, sticking to the codebase's preferred ``noun_verb`` / ``verb_noun`` two-concept idiom. Renames are atomic across definitions, callers, and tests. is_penned_position → is_penned modulate_speed_near_sheep → modulate_speed mecanum_kinematics_step → mecanum_step policy_forward_mean → forward_mean Two-concept patterns like ``velocity_to_wheels`` / ``detections_from_scan`` / ``make_strombom_predictor`` are left alone — they're idiomatic converters / factories that read as a single concept, and the longer form aids grep-ability. Docstring polish: * ``herding/config.py`` header drops the "previously lived as a module-level literal" historical framing — we ship as a single thing, so the refactor anecdote no longer earns its keep. The usage examples now mention both ``HERDING_WEBOTS`` and ``HERDING_MEC_WEBOTS`` presets. 126 pytest cases still pass. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
+12
-12
@@ -5,7 +5,7 @@ import math
|
||||
from herding.world.geometry import (
|
||||
FIELD_X, FIELD_Y, GATE_X, GATE_Y, MAX_SHEEP, PEN_ENTRY, PEN_X, PEN_Y,
|
||||
distance_to_pen_entry, in_field, in_gate_corridor, in_pen,
|
||||
is_penned_position,
|
||||
is_penned,
|
||||
)
|
||||
|
||||
|
||||
@@ -44,23 +44,23 @@ def test_in_gate_corridor():
|
||||
assert not in_gate_corridor(5.0, -18.0)
|
||||
|
||||
|
||||
def test_is_penned_position_latches_below_gate():
|
||||
def test_is_penned_latches_below_gate():
|
||||
# In the gate column and south of the gate plane → penned.
|
||||
assert is_penned_position(11.5, -15.0)
|
||||
assert is_penned_position(10.5, -18.0)
|
||||
assert is_penned_position(12.5, -22.0)
|
||||
assert is_penned(11.5, -15.0)
|
||||
assert is_penned(10.5, -18.0)
|
||||
assert is_penned(12.5, -22.0)
|
||||
# Above the gate plane → not yet.
|
||||
assert not is_penned_position(11.5, -14.9)
|
||||
assert not is_penned(11.5, -14.9)
|
||||
# Outside the gate column → not penned even if south.
|
||||
assert not is_penned_position(0.0, -16.0)
|
||||
assert not is_penned_position(14.0, -16.0)
|
||||
assert not is_penned(0.0, -16.0)
|
||||
assert not is_penned(14.0, -16.0)
|
||||
|
||||
|
||||
def test_is_penned_position_latch_margin():
|
||||
def test_is_penned_latch_margin():
|
||||
# Slight tolerance on the gate column.
|
||||
assert is_penned_position(9.9, -15.5)
|
||||
assert is_penned_position(13.1, -15.5)
|
||||
assert not is_penned_position(9.7, -15.5)
|
||||
assert is_penned(9.9, -15.5)
|
||||
assert is_penned(13.1, -15.5)
|
||||
assert not is_penned(9.7, -15.5)
|
||||
|
||||
|
||||
def test_distance_to_pen_entry():
|
||||
|
||||
Reference in New Issue
Block a user