Conversation
# Conflicts: # waldo_commander/components/named_setup.py
…n their own binding Settings substituted the first variant for a tool the controller carries without one, so every TCP edit was refused as belonging to a different variant; sync_tool ignored variant-only changes made by another client; a transform applied from the Setup panel never reached the Settings inputs, so the next nudge pushed the stale six values over it. The Setup panel's TCP dirty signature included editor state (observed binding, samples, taught orientation), which either aborted every save after a connection drop or rewrote a loaded calibration under whatever tool was fitted. The displayed values now carry the binding they were read, solved or loaded with, and only value edits mark the section dirty. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…-calibration # Conflicts: # waldo_commander/services/path_preview_client.py
The pivot fit and orientation teaching are Commander's calibration routine, so they live beside the acquisition helpers in the service module instead of in the interface layer. Every backend applies and reads a full user TCP transform, so the offset-only paths are gone. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01N8zt66KjkzgZLtQuSfJd9r
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01N8zt66KjkzgZLtQuSfJd9r
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds Setup → TCP for pivot-position calibration, separate orientation teaching, named saved measurements, and explicit confirmed application. Four or more stationary captures determine position; users teach axes against WRF or a named frame separately. Saved entries retain their tool/variant binding and measurement details. Saving setup does not configure the robot or edit Python.
The pivot solve and orientation teaching live in the Commander service module beside the acquisition helpers: they are this panel's calibration routine, not an interface contract. Every backend applies a full transform, so the offset-only settings paths are gone.
The six-axis settings and scene adopt the controller's confirmed transform. Reopening the page preserves that transform, and tool changes during initialization are handled without mixing readings. Preview uses the same full correction; the tool's physical mesh remains attached to its registered link. Public status now follows externally selected tool variants.
Validation: 12 simulated setup/settings/calibration workflows pass, including calibration/teaching/save/apply, controller and local FK agreement, isolated preview, page reload, wrong-tool refusal, settings and named setup tests. The populated panel was inspected in Chromium using Raspberry Pi hardware WebGL. The native PAR6 app workflow passes with the calibration controls and native/local FK agreement. Pre-commit passes.
Depends on #52 and companion waldoctl/PAROL6/PAR6 PRs on
feat/tcp-calibration. Release waldoctl v0.15.0, then PAROL6 v0.9.0 / PAR6 v0.4.0, before consuming the new dependency pins. This draft does not merge or publish releases.Companion PRs: waldoctl, PAROL6, PAR6.
Settings groups controls by task and places detailed help and advanced fields behind concise controls. TCP calibration separates measuring, saving and controller application. Browser checks cover both backends at desktop and laptop sizes, including 125% zoom.
Screenshots — revised interface, PAROL6 and PAR6
Captured in Chromium on September 10 from the combined feature stack; shared panels may include later PRs. PAROL6 uses fake serial; PAR6 uses
par6d --sim.PAROL6 — saved TCP calibration with measurement details.
PAR6 — saved TCP calibration with measurement details.
PAROL6 — compact Settings at a 1366 × 768 viewport.
PAR6 — compact Settings at a 1366 × 768 viewport.