Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .bumpversion.cfg
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[bumpversion]
current_version = 0.0.2
current_version = 0.0.3
commit = true
tag = false
tag_name = v{new_version}
Expand Down
9 changes: 7 additions & 2 deletions .claude/CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,15 +54,20 @@ and every module's behavior. Consult the relevant spec before extending a
module; if implementation forces a contract change, the spec is updated in
the same change and its `semver` bumped.

Reproduced defect evidence, measurements, source locations, and
implementation material live in `.claude/findings/` — never in a spec.

- [mathToolsArchitecture.md](specs/mathToolsArchitecture.md) — umbrella:
layering, package layout, dependency policy, shared conventions, error
semantics
- [templateConformance.md](specs/templateConformance.md) — template
migration: packaging, Makefile/CI parity, rename, governance docs
- [templateConformance.md](specs/templateConformance.md) — packaging,
dependency resolvability, CI install parity, governance artifacts
- [precisionTimeMath.md](specs/precisionTimeMath.md) — `PrecisionTimeInterval`,
`PrecisionTimestamp`
- [spatialMath.md](specs/spatialMath.md) — `Position`, `Quaternion`,
`SpatialPose`
- [sphericalGeometry.md](specs/sphericalGeometry.md) — unit-sphere arcs and
small circles, transforms, the `orient` bearing convention
- [waveformCore.md](specs/waveformCore.md) — `Waveform1D` + aggregate
waveform containers
- [waveformDsp.md](specs/waveformDsp.md) — DSP families, scipy mapping,
Expand Down
30 changes: 30 additions & 0 deletions .claude/archive/math-tools-port.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
---
version: 1.0
type: retrospective
name: math-tools-port
purpose: Concise record of the completed py-MathTools template migration and Swift math capability port
scope: project
status: complete
last_updated: 2026-09-24
semver: 0.0.1
author: Nicholas Bergantz
---

# Math Tools Port Retrospective

## Goal

Bring py-MathTools onto the py-foundationTools template conventions and implement the Swift `FoundationMathTypes` capability set as the Tier-3 Python math layer.

## Outcome

The 57 implementation and corrective-action chunks completed the precision-time, spatial, waveform, DSP, polynomial, and online trajectory generation surfaces. The final recorded gate passed Ruff, strict mypy, and 1,550 tests. The original chunk-by-chunk plans and resolution notes remain available in Git history, principally commits `24582be` and `6002a9a`.

## Preserved Decisions

- `Position` and `SpatialPose` arithmetic may return base types for subclasses. No in-repository subclasses existed; revisit only when subclass preservation is required.
- `SpatialPose.inverse` and `UnivariatePolynomial.derivative` remain methods. Changing them to properties would be a breaking cosmetic change.
- Behavioral test coverage for spherical geometry and `math_plot_helpers` was deferred from the original port. Current spherical defects and required outcomes are tracked separately in the active findings and specifications.
- `WaveformPaddingStrategy`, `WaveformFilterCoefficients`, `WaveformFrequencyRange`, and `WaveformSpectrogramScaling` remain public support types without current DSP consumers. Whether to remove them or add consuming APIs requires a separate contract decision.
- `SpectralMixin.spectrogram` retains the legacy SciPy implementation despite the DSP specification naming `ShortTimeFFT`; migration would be a behavioral change.
- The uncalled `_time_none_smooth` online trajectory generation path remains because the Swift source also retains it.
195 changes: 0 additions & 195 deletions .claude/archive/math-tools-port/00-overview.md

This file was deleted.

Loading
Loading