API coverage and verification¶
Scope and declaration coverage¶
Machine-readable coverage maps every audited core source declaration to a topic page. It contains 268 entries: functions, classes, public methods, constructors/operators and Python 3 division aliases. None of those declarations is deliberately omitted. Declarations and aliases are counted separately; coverage does not mean every possible invalid input is specified or every method has its own example. Parameter/ownership prerequisites shared by a group apply to each row; explicit exceptions override those group descriptions.
Seven exposed buffers/type aliases are additionally documented: common.GLfloat and the six vector reference lists. Public instance fields are explained on their class topic pages. Core has nine nonempty mathematical modules plus an empty initializer. Retained reexports are covered by legacy interfaces.
Excluded from the public-core count: private underscore helpers (except wrapper
special methods), incidental imported math/six/ctypes/random/etc dependencies,
source-tree launcher/examples/benchmark/doc tools, and retired E07 names. The
private historical _bezier_legacy import path remains explicitly documented.
These exclusions do not conceal a missing public declaration. __all__ lists
in shims are export metadata, covered on the legacy page, not algorithms.
| Core module | Declarations |
|---|---|
gem.bezier |
12 |
gem.common |
12 |
gem.legendre |
6 |
gem.matrix |
57 |
gem.plane |
15 |
gem.quaternion |
65 |
gem.ray |
7 |
gem.spherical_harmonics |
18 |
gem.vector |
76 |
268 declarations comprise 112 functions, 9 classes, 143 methods and 4 division aliases.
Repeatable checks¶
python tools/check_architecture_docs.py --examples --getting-started --api-reference
python -m pytest -q
For isolated installed-wheel verification, run the checker with the fresh
installation's interpreter from outside the source tree, passing its actual
site-packages directory to --package-root (see
installation verification). This mode checks
runtime signatures, constant values and reexport object identity in addition to
executing snippets. The static pass matches AST source/catalog and coverage maps,
checks Markdown links/anchors and verifies protected files against the audited base.
Examples use independent known answers/tolerances and meaningful mutation checks, not floating-point byte identity. Coverage is a maintainability check, not a semantic proof: source, independent regression tests and installed examples were reviewed together. Remaining ambiguities are documented decisions.
Executed evidence¶
The verification record records full-suite counts, commands, builds, installed import paths and checker results. This phase does not change mathematics, tests, benchmarks, runtime dependencies, packaging or license. Wheel/sdist verification does not imply these new Markdown pages are shipped under the unchanged distribution manifest.
Full pytest: 2,249 passed, zero failures, expected failures or skips. Installed wheel and independently installed sdist: 29 snippets passed, including 16 new API examples and 13 existing examples; 313 internal links, 268 declarations, seven buffers/type aliases and reexport identities checked. Builds and the original Phase 4A checker passed. Missing coverage and a changed documented signature were independently rejected by the checker.
Only CPython 3.12/Linux was executed. No new Python-version/platform support, general invalid-input policy or release-stability claim follows from these checks. See index and compatibility.