Audience: PhD-level researchers in theoretical physics, mathematics, and CS. Goal: keep a sober, professional tone while adding clear visual anchors and navigational affordances. All assets below are generated and committed under docs/assets/ and can be used immediately.
-
Site branding
- Set logo and favicon to
docs/assets/logo-dmfe.svg(wired inmkdocs.yml). - Keep palette as-is to match Material defaults; logo uses harmonious indigo/blue gradient.
- Set logo and favicon to
-
Home hero and diagrams
- Embed method pipeline and architecture SVGs on the homepage:
docs/assets/diagram-method.svgdocs/assets/diagram-architecture.svg
- Both are vector, light/dark friendly, and sized responsively by the theme.
- Embed method pipeline and architecture SVGs on the homepage:
-
Gentle iconography for expert scanning
- Use Material icon shortcodes sparingly in markdown (not inside raw HTML):
:material-cpu-64-bit:,:material-nvidia:,:material-function:. Avoid overuse; keep to headings or callouts.
- Use Material icon shortcodes sparingly in markdown (not inside raw HTML):
-
Callouts for key claims
- Use admonitions to highlight guarantees and caveats, for example:
!!! note "Stability switching"One-liner on RK54 → SSPRK104 with thresholds.
- Use admonitions to highlight guarantees and caveats, for example:
-
Insert small module badges in Concepts pages (optional):
- EOMs:
:material-function: - Interpolation grids:
:material-grid: - Sparsification:
:material-content-cut: - Convolution:
:material-chart-bell-curve:
- EOMs:
-
Add a compact figure to
docs/concepts/interpolation-grids.md(already present:docs/assets/interpolation-grid-diagram.svg). Add a caption explaining node layout and causal triangle. -
Add a “Try it” panel on
usage.mdwith a minimal parameter set and expected outputs.
-
Visuals
- Add a small sparkline-style plot of typical aging observable trajectories (C(t,t'), R(t,t')). For now, we can generate neutral SVG polylines approximating decays; later swap with vetted figures.
-
Theming refinements
- Consider Material features to aid long pages:
navigation.indexes,toc.integrate. - Keep typography to system fonts to avoid external fetches.
- Consider Material features to aid long pages:
-
Logo/Favicon
- Done:
mkdocs.ymlsetslogo:andfavicon:toassets/icons/icon-dmfe-contrast.svg.
- Done:
-
Homepage
- Done: Hero block and figures in
docs/index.md.
- Done: Hero block and figures in
-
Concepts
- Action: Insert icon badges and figure references in:
docs/concepts/interpolation-grids.md(usesassets/interpolation-grid-diagram.svg).docs/concepts/architecture.md(referenceassets/diagram-architecture.svg).
- Action: Insert icon badges and figure references in:
-
Usage
- Action: Add a
!!! examplecallout with a minimal run and expected files.
- Action: Add a
-
Optional next visuals I can generate on request
- A compact SVG emphasizing causal triangle geometry with sample nodes.
- Minimalistic plots of C(t,t') and R(t,t') as stylized contours or line cuts.
- Docs build locally without extra dependencies beyond MkDocs + Material.
- Homepage shows the new logo, pipeline, and architecture figures; readable in light/dark modes.
- No JS bundling or theme overrides required; SVGs scale and include alt text.
- All generated assets are vector-only, with neutral colors suitable for scientific audiences.
- When you supply real figures, we can swap them without altering structure or captions.
Goal: bring the documentation to a “research toolkit” standard that is comprehensive, reproducible, and maintainable. The focus is on API completeness, versioning, reproducible examples, and support materials.
- Publish a navigable API reference generated from the source (headers) and ship it on the site.
- Provide versioned documentation with a visible version switcher and per-release snapshots.
- Add a “Cite” page and repository citation metadata (DOI-backed) to enable proper academic referencing.
- Create a compact, executable examples gallery using notebooks with cloud execution badges.
- Centralize troubleshooting with an FAQ page; add a performance/benchmarking guide.
- Offer a complete CLI reference (flags, defaults, examples) under Reference.
- Surface changelog and roadmap within the site navigation.
- Add community/support and API stability/deprecation policy pages.
- Improve Doxygen signal (grouping, brief docs, diagrams) and harden the docs CI pipeline.
- API reference
- Ensure
docs/gen_api.shruns Doxygen and Doxybook2 to generate markdown intodocs/reference/api/. - CI: install Doxybook2 and keep Graphviz/Doxygen (update
.github/workflows/docs.yml). - MkDocs: include the generated
reference/api/in navigation (avoid excluding it) and add a landing page.
- Essential pages (create stubs if content is short initially)
docs/howto/faq.md: common installation/runtime issues and fixes.docs/concepts/performance.md: CPU/GPU tuning, memory limits, profiling tips, scaling notes.docs/reference/changelog.md: link through to repositoryCHANGELOG.md.docs/dev/api-stability.md: what is stable/experimental; deprecation policy.docs/community/support.md: how to get help, file issues, security contact.
- Navigation updates
- Add the above pages under appropriate groups (How-to, Concepts, Reference, Developer).
- Keep URLs stable; use human-readable titles.
Acceptance criteria (Phase 1)
- Docs CI installs Doxybook2 and builds the API pages without warnings;
mkdocs build --strictpasses. - Site navigation exposes “C++ API” under Reference; pages render with search working.
- FAQ, Performance, Changelog, API Stability, and Support pages exist and are reachable.
- Executable examples gallery
- Add minimal notebooks demonstrating: first run (CPU-only small grid), reading outputs, basic plotting.
- Add Binder/Colab badges; provide
requirements.txtorenvironment.ymlfor reproducibility. - Include or generate a tiny example dataset to keep runtime under a minute.
- Citation and repository metadata
- Add
docs/concepts/citation.mdwith canonical references and BibTeX. - Add
CITATION.cffto the repo root; integrate releases with a DOI provider (e.g., via GitHub + archiving service). - Surface “Cite” in the site navigation/footer.
Acceptance criteria (Phase 2)
- Example notebooks open and run end-to-end on CPU with provided data; badges work.
CITATION.cffis present; the site has a “Cite” page and links to DOI for tagged releases.
- Versioning workflow
- Adopt
mikefor versioned MkDocs deployments (keeplatest+stable+ per-release versions). - Add a version switcher in the theme configuration.
- Update release workflow to publish docs for tags/branches through
mike.
- Backfill and housekeeping
- Publish at least the current release and
latestdevelopment docs. - Document the policy for which versions are maintained.
Acceptance criteria (Phase 3)
- Docs site shows a version selector; visiting a tagged version shows frozen content.
- Release CI pushes versioned docs automatically on tags.
- CI hardening
- Add link checking (e.g., a fast link checker) and spell/style linters (markdownlint/codespell) in a separate job.
- Fail on missing anchors or unresolved xrefs; keep strict builds.
- API documentation quality
- Introduce Doxygen groups/namespaces and brief descriptions for public headers.
- Enable Graphviz diagrams in Doxygen; ensure headers compile for docs (standalone includes).
- Add a “doc debt” label to track missing or outdated API comments.
- CLI reference
- Create
docs/reference/cli.mdlisting all flags and defaults with examples. - Optional automation: generate from
--helpoutput during release builds; otherwise, maintain manually.
- Benchmarks and performance notes
- Add small, deterministic benchmarks with instructions to reproduce (CPU-only baseline).
- Document expected ranges to help users sanity-check runs.
- Community and governance
- Add maintainers/ownership table (site page) and issue triage guidance.
- Document security/reporting process; link from Support.
- Assign page owners (API, Tutorials, Reference, Concepts) in a short table within
docs/dev/release.mdor the Support page. - Create tracking issues for each phase, with checklists mirroring the acceptance criteria above.
- GPU-only examples can complicate execution in hosted environments; prefer CPU-only notebooks with small grids.
- Large API surfaces can generate noisy docs; focus on public headers first and hide internal/private symbols.
- Versioned docs add CI complexity; keep
latest+ one stable version initially.