Made the tolerance trait separable from the integrator itself

This commit is contained in:
connor committed 2026-09-30 13:48:20 -04:00
1 parent 812b5adaf9
commit da479a378e
10 files changed
+548 -46

No files matched your search

+24 -6
View File
@@ -58,6 +58,23 @@ Each feature below links to a detailed implementation plan in the `features/` di
- **Dependencies**: None
- **Effort**: Small
### API Ergonomics
- [x] **[Tolerances Trait](features/40-tolerances-trait.md)** ✅ COMPLETED
- Move `a_tol` / `a_tol_full` / `r_tol` off the inherent impls into a trait, and
add getters, so a generic `S` can set and read them
- Raised by `astrokit`, which declared its own copy as a workaround
- **Dependencies**: None
- **Effort**: Small
- **Status**: All four integrators implement `Tolerances`; no call site changed
- [ ] **[Runtime Integrator Selection](features/41-runtime-integrator-selection.md)**
- Structural facts move from associated constants to `&self` methods, so an
enum can dispatch and an integrator can be chosen at runtime or named in a
config file
- **Dependencies**: None (pairs with Tolerances Trait)
- **Effort**: Medium
### Callbacks
- [ ] **[Discrete Callbacks](features/05-discrete-callbacks.md)**
@@ -336,17 +353,18 @@ Each algorithm implementation should include:
## Progress Tracking
Total Features: 38
- Tier 1: 8 features (4/8 complete) ✅
- Tier 2: 12 features (0/12 complete)
- Tier 3: 18 features (0/18 complete)
Total Features: 41
- Tier 1: 10 features (5/10 complete) ✅
- Tier 2: 11 features (0/11 complete)
- Tier 3: 20 features (0/20 complete)
**Overall Progress: 10.5% (4/38 features complete)**
**Overall Progress: 12.2% (5/41 features complete)**
### Completed Features
1. ✅ BS3 (Bogacki-Shampine 3/2) - Tier 1 (2025-10-23)
2. ✅ Vern7 (Verner 7th order) - Tier 1 (2025-10-24)
3. ✅ PID Controller - Tier 1 (2025-10-24)
4. ✅ Rosenbrock23 - Tier 1 (2025-10-24)
5. ✅ Tolerances Trait - Tier 1 (2026-09-30)
Last updated: 2025-10-24
Last updated: 2026-09-30