CTBase.jl — Ecosystem Foundation
CTBase.jl is the foundational package of the control-toolbox ecosystem. It provides the base layer shared by all packages: common types, structured exceptions, description management, extension infrastructure, and developer tools.
Qualified access
CTBase exports no symbols at the package level. Every public symbol is accessed via its full qualified path, e.g. CTBase.Exceptions.IncorrectArgument or CTBase.Descriptions.add. This makes the origin of every symbol explicit at every call site and prevents namespace collisions between packages.
Downstream packages (e.g. OptimalControl.jl) may re-export selected symbols for convenience.
DeepWiki offers an interactive, AI-generated overview of this codebase. Answers may be inaccurate — use this reference documentation as the source of truth.
Submodule overview
| Submodule | Role |
|---|---|
CTBase.Core | Fundamental numeric type alias (ctNumber) and internal display helpers |
CTBase.Descriptions | Symbolic description tuples: catalogue management, pattern completion, similarity search |
CTBase.Exceptions | Typed exception hierarchy with rich context fields |
CTBase.DevTools | Developer tools with tag-based dispatch for run_tests, postprocess_coverage, and automatic_reference_documentation |
CTBase.Unicode | Unicode subscript/superscript helpers for display |
User Guides
Getting Started — installation, mental model, 5-minute walkthrough.
Descriptions — catalogue API, pattern matching, error handling.
Exceptions — exception hierarchy, choosing the right type, best practices.
Test Runner — modular test infrastructure with
CTBase.DevTools.run_tests.Coverage — post-processing coverage artifacts with
CTBase.postprocess_coverage.API Documentation — auto-generating per-module API pages.
To browse the complete API, see the API Reference section in the left sidebar.