Skip to content

Fix NEST/AGenBio trough reservoir well geometry#1045

Merged
BioCam merged 1 commit into
PyLabRobot:mainfrom
BioCam:fix-troughplate-well-geometry
May 18, 2026
Merged

Fix NEST/AGenBio trough reservoir well geometry#1045
BioCam merged 1 commit into
PyLabRobot:mainfrom
BioCam:fix-troughplate-well-geometry

Conversation

@BioCam
Copy link
Copy Markdown
Collaborator

@BioCam BioCam commented May 18, 2026

Summary

Corrects resource-definition geometry bugs in the NEST and AGenBio single-/multi-trough reservoirs, surfaced while reviewing the 3D geometry preview in #1042. Scoped to one focused PR; no public API change.

  • nest_1_troughplate_185000uL_Vbwell_size_x/well_size_y were transposed relative to the plate body (127.76 × 85.48), so the single well was effectively rotated 90° and overhung the trough (preview bbox 127.76 × 113.92). Swapped to match the body and the working nest_8/nest_12 convention (well is now 108 × 72, inside the body).
  • nest_1 / nest_8 / nest_12_troughplate_* — added cross_section_type=CrossSectionType.RECTANGLE; these rectangular troughs were defaulting to CIRCLE, so they were modelled/rendered as round.
  • AGenBio_1_troughplate_190000uL_Fl / _100000uL_Fl — extended well size_z so the cavity reaches the plate rim (well top now flush with plate top); pinned max_volume to the catalogued spec (190 mL / 100 mL) so the now-taller box doesn't overstate capacity; added the missing compute_volume_from_height to the 100000 def (mirrors the 190000 sibling).
  • Added concise one-line docstrings + cat. no.: provenance to all five defs.

Test plan

  • make format / make format-check — clean
  • make lint (ruff) — All checks passed
  • make typecheck (mypy --check-untyped-defs) — no issues, 488 files
  • pytest pylabrobot/resources — 197 passed, 27 subtests
  • make docs-check (-W) — build succeeded
  • Instantiation: each well now fits within the plate footprint; AGenBio well tops are flush with the plate rim; volume round-trips correctly

🤖 Generated with Claude Code

Definition bugs surfaced by the 3D geometry preview (PR PyLabRobot#1042); these are
corrections to the resource definitions themselves, scoped to one PR.

- nest_1_troughplate_185000uL_Vb: well_size_x/well_size_y were transposed
  vs the plate body (127.76 x 85.48), so the single well was rotated 90 deg
  and overhung the trough; swapped to match the body and the working
  nest_8/nest_12 convention.
- nest_1/nest_8/nest_12_troughplate_*: add cross_section_type=RECTANGLE
  (defaulted to CIRCLE, so rectangular troughs were modelled/rendered round).
- AGenBio_1_troughplate_{190000,100000}uL_Fl: extend well size_z so the
  cavity reaches the plate rim; pin max_volume to the catalogued spec
  (190/100 mL) so the now-taller box does not overstate capacity; add the
  missing compute_volume_from_height to the 100000 def (mirrors the 190000
  sibling).
- Add concise one-line docstrings + `cat. no.:` provenance to all five.

No public API change; geometry and volume models are now correct.
ruff/format/mypy/pytest(resources)/docs(-W) all green.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@BioCam BioCam merged commit 265a5c3 into PyLabRobot:main May 18, 2026
21 checks passed
@BioCam BioCam deleted the fix-troughplate-well-geometry branch May 18, 2026 10:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant