Stratax Roadmap
Developer notes for planned Stratax features.
Purpose
Tracks the expected build-out of the library from core infrastructure through containers, generic operations, numerical features, bindings, and documentation.
Phases
Phase 1: Core Infrastructure
Phase 2: Containers
Phase 3: Generic Operators
- Slicing
- Logical operators
- Bitwise operators
- Broadcasting
Phase 4: Shape Operations
Phase 5: Linear Algebra
Phase 6: Input and Output
Phase 7: Python Bindings
- Static typing stubs
- Bitwise operator bindings
- Single public Python stub
- Package import smoke test in CI
Phase 7.5: C++ Public Facade
- Top-level public aliases for common array types
- Top-level public aliases for common algorithms
- Module-style aliases for creation, conversions, reductions, transforms, slicing, arrays, and errors
- Dedicated future namespaces for linear algebra, random, statistics, FFT, and I/O
Phase 8: Testing and CI
- Documentation deploy workflow
- Documentation check workflow
- Cross-platform build matrix
- Release/package smoke test
- Markdown link check in CI
Phase 9: Documentation and Examples
- Developer docs for implemented core files
- Developer docs for implemented containers
- Developer docs for implemented ops
- Developer docs for printing
- Resolve Doxygen warnings
- Complete generated C++ API reference coverage
Later Phases
Validation Notes
- The roadmap describes intended scope, not guaranteed current behavior.
- Checked items should have tests before they are treated as complete.
- Validation is implemented at the core level; broader validation enhancements may still be pending.
- Placeholder headers are intentionally not marked complete until they expose real behavior.
- Empty and zero-dimension shape behavior is tested for implemented containers and ops.
Implementation Notes
- Complete core and container correctness before expanding into larger numerical features.
- Generic operators should work across all containers before specialized algorithms are added.
- Shape operations should preserve storage invariants and document ownership behavior where it affects users.
- Optimization work should come after correctness tests and baseline behavior are stable.
- Current slicing and reshape APIs return owning results; view types are future work.
Future Work
- Broadcasting
- Views and slices
- Type promotion rules
- Sparse arrays
- GPU backend
- Automatic differentiation
- FFT
- Symbolic mathematics