S4.8 — Resolution exposed in the bindings

Intent

Only RealVector, SO2 and SO3 expose a resolution setter in either binding, so SE2/SE3/compound users cannot follow the 0.9.0 migration note ("set the fraction to 0.005"). Python exposes no interpolate or segment length at all. Expose resolution fully so users can tune spaces and so user motion validators (S4.7) can work at the space's resolution without re-implementing its maths.

Decisions (grilling Q15)

Current gaps (as of c558556)

Space Py setter Py length Py interpolate JS setter JS length JS interpolate
RealVector yes no no yes (old name) yes yes
SO2 yes no no yes (old name) yes yes
SO3 yes no no yes (old name) yes yes
SE2 no no no no yes yes
SE3 no no no no yes yes
Compound no no no no yes yes

Acceptance criteria

Notes

Cut candidates if the sprint runs short: interpolate and valid_segment_count (keep the setter — the migration note depends on it). Both can be added later without breaking anyone.

Source

Agreed in the senior-engineer grilling 2026-10-08 (decisions: repo docs/planning/adr/0003-motion-validation.md; glossary: CONTEXT.md). Regeneration spec: oxmpl - sprint-005. Line references are as of origin/main c558556 (2026-10-08), before E3. E3 renames things (rand Rng→RngExt, PyO3 with_gil→attach, edition 2024), so re-grep before trusting a line number.