Skip to content

Add immutable named frame, pose and parameter snapshots - #27

Merged
Jepson2k merged 8 commits into
mainfrom
feat/named-setup-data
Sep 18, 2026
Merged

Jepson2k merged 8 commits into
mainfrom
feat/named-setup-data

Conversation

@Jepson2k

@Jepson2k Jepson2k commented Sep 7, 2026

Copy link
Copy Markdown
Owner

Define a fixture once, teach poses relative to it, and resolve those poses to ordinary WRF targets. Updating the fixture produces a new snapshot whose descendant poses move together; already loaded snapshots keep their values.

Adds immutable frames, poses and scalar parameters, hierarchical frame resolution, conversion of observed poses for teaching, and a versioned JSON-compatible representation. Translations use millimetres and rotations use degrees with the native robot intrinsic XYZ convention (Rx · Ry · Rz). Cycles, missing references, invalid rigid transforms, non-finite values and deletion of referenced frames are refused. Storage and robot I/O remain with the host.

Stacked on #26. The companion Commander #50 on feat/named-setup-data provides persistence, teaching controls and explicit Python loading/export. It uses the same connected client and native preview paths as existing numeric commands.

Validation: all 152 contract tests passed, with 4 existing skips. The new workflows cover shared-pose relocation, translation and rotation, hierarchy, teaching round trips, singular orientations, snapshot independence and invalid references. The mixed-axis regression failed before the correction and now passes. Source type checks and pre-commit hooks passed; CI is rerunning on the updated head.

Jepson2k and others added 7 commits September 7, 2026 00:58
resolve() raised a bare KeyError for a name that is not in the snapshot,
while every other missing reference in the module raises ValueError -- so a
caller following the documented contract did not catch a mistyped pose
name, and the message said nothing about what was wrong with it.

from_dict is annotated for any Mapping but tested for dict, so a read-only
view of a perfectly good document was refused as an unsupported version,
sending the caller to look at the version field.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@Jepson2k
Jepson2k marked this pull request as ready for review September 17, 2026 22:33
@Jepson2k
Jepson2k changed the base branch from feat/skill-runtime to main September 18, 2026 01:49
@Jepson2k
Jepson2k merged commit 1968b73 into main Sep 18, 2026
26 checks passed
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.

2 participants