diff --git a/.gitignore b/.gitignore index 37eeaa7a..a21532cc 100644 --- a/.gitignore +++ b/.gitignore @@ -36,3 +36,4 @@ cpp/bindings/pipelines-src .dolt/ *.db .beads-credential-key +.kiro \ No newline at end of file diff --git a/CONTINUITY.md b/CONTINUITY.md new file mode 100644 index 00000000..fbca1dd3 --- /dev/null +++ b/CONTINUITY.md @@ -0,0 +1,51 @@ +# Snapshot +- 2026-08-26 [USER] Recreate `logo.png` as a reproducible TikZ logo, generating PDF and SVG; exact raster aspect ratio is not required. +- 2026-08-26 [USER] Remove all visible H1 headings from the docs landing page. + +# Done (recent) +- 2026-08-26 [CODE] Superseded the unavailable Material helper class with native `

`, removing the visible `evalio` heading. +- 2026-08-26 [CODE] Suppressed Material's injected “About” heading with an accessible, visually hidden landing-page H1. +- 2026-08-26 [CODE] Moved the README tagline into the centered logo block while preserving its emphasized acronym. +- 2026-08-26 [CODE] Centered both docs logo image display modes and the immediately adjacent tagline paragraph. +- 2026-08-26 [CODE] Centered the README logo with GitHub-compatible alignment and the docs logo with `margin-inline: auto`. +- 2026-08-26 [CODE] Added adaptive logos to `README.md` via `` and to the docs landing page via Material palette-aware CSS. +- 2026-08-26 [CODE] Replaced the same-color IMU `\shade` with `\fill[ink]`, preventing dvisvgm from dropping the center rectangle. +- 2026-08-26 [CODE] Added a `\darklogo` compile flag; `just logo` now builds dark-ink `logo.*` and light-ink `logo-dark.*` assets. +- 2026-08-26 [CODE] Added `just logo`, generating `docs/assets/logo.pdf` and `docs/assets/logo.svg` and removing LaTeX auxiliary files. +- 2026-08-26 [CODE] Replaced white marker/body strokes with true geometric gaps: calculated ring arcs, clipped IMU pins, and an inset chip body. +- 2026-08-26 [CODE] Added a 1pt white outline to the central IMU body and regenerated both vector outputs. +- 2026-08-26 [CODE] Superseded the segmented-ring experiment: restored the ring and IMU pins, with white outlines on orange returns. +- 2026-08-26 [CODE] Replaced shaded lidar returns with flat orange discs and redrew the IMU using slimmer pins and explicit axis geometry. +- 2026-08-26 [CODE] Added `logo.tex`, a tightly cropped standalone TikZ recreation of the lidar ring, returns, IMU glyph, and wordmark. +- 2026-08-26 [TOOL] LuaLaTeX generated `logo.pdf`; dvisvgm generated portable `logo.svg` with an embedded WOFF2 wordmark font; rendered preview verified. +- 2026-08-25 [CODE] Migrated docs to Zensical: dev deps swapped for `zensical` + mike fork; `mkdocs-gen-files` replaced by `scripts/gen_docs.py`; CI builds via `zensical build`. Site verified locally (tables, KaTeX, admonitions, mkdocstrings, version selector). +- 2026-08-25 [CODE] Zensical quirk: pipe table needs a blank line before it; generator writes `intro\n\n` to satisfy it. +- 2026-08-25 [CODE] Generator lives outside `docs_dir` (`scripts/`) so Zensical doesn't publish it into `site/`. + +# Working set +- `justfile` +- `README.md` +- `docs/index.md` +- `docs/css/tweaks.css` +- `docs/assets/logo.tex` +- `docs/assets/logo.pdf` +- `docs/assets/logo.svg` +- `docs/assets/logo-dark.pdf` +- `docs/assets/logo-dark.svg` + +# Receipts +- 2026-08-26 [TOOL] `uv run mkdocs build --strict` passed; homepage contains `

evalio

` and no injected “About” H1. +- 2026-08-26 [TOOL] `uv run mkdocs build --strict` passed; built homepage has only `

evalio

` and no “About” H1. +- 2026-08-26 [TOOL] `uv run mkdocs build --strict` passed; generated CSS includes image auto margins and centered adjacent-paragraph styling. +- 2026-08-26 [TOOL] `uv run mkdocs build --strict` passed after centering; generated `tweaks.css` contains the auto-margin rule. +- 2026-08-26 [TOOL] `uv run mkdocs build --strict` passed; built index references both SVGs, palette CSS is published, and both assets are present in `site/assets/`. +- 2026-08-26 [TOOL] Rebuilt both variants; SVGs now contain the rounded IMU body in `#181e24`/`#f5f7fa` and render correctly on light/dark backgrounds. +- 2026-08-26 [TOOL] Both PDF/SVG variants validated and rendered correctly on white and `#10151B` backgrounds; SVG ink colors are `#181e24` and `#f5f7fa`. +- 2026-08-26 [TOOL] `just logo` completed; both docs assets validate, SVG contains no white paint, and `docs/assets/` contains no auxiliary files. +- 2026-08-26 [TOOL] Rebuilt PDF/SVG, confirmed `logo.svg` contains no white paint, and previewed the transparent gaps on white and purple backgrounds. +- 2026-08-26 [TOOL] Previewed the outlined IMU body; LuaLaTeX and dvisvgm completed successfully. +- 2026-08-26 [TOOL] Rebuilt and previewed restored geometry with 2pt white outlines on orange lidar returns; PDF/SVG conversion succeeded. +- 2026-08-26 [TOOL] Rebuilt and previewed PDF/SVG with transparent marker spacing; no background-colored halo is baked into either asset. +- 2026-08-26 [TOOL] Rebuilt PDF/SVG after the glyph refinement; raster preview confirms clean flat markers and non-overlapping coordinate axes. +- 2026-08-26 [TOOL] `logo.pdf` is one 497.975x136.885 pt vector page; `logo.svg` converted successfully with dvisvgm 3.2.1. +- 2026-08-25 [TOOL] Zensical documentation confirms `mkdocs.yml`, KaTeX, mkdocstrings, and versioned docs compatibility; `mkdocs-gen-files` issue #8 is open. diff --git a/README.md b/README.md index b4876076..f414947c 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,21 @@ -## evalio - -evalio is a tool for **Eval**uating **L**idar-**I**nertial **O**dometry. +
+ + + + evalio + +
+ + + + +

evalio is a tool for Evaluating Lidar-Inertial Odometry.

+
+
Specifically, it provides a common interface for connecting LIO datasets and LIO pipelines. This allows for easy addition of new datasets and pipelines, as well as a common location to evaluate them making benchmarks significantly easier to run. It features, - No ROS dependency! (though it can still load rosbag datasets using the wonderful [rosbags](https://ternaris.gitlab.io/rosbags/) package) +- 8 compiled in LIO pipelines and 12 configured datasets. - Easy to add new datasets and pipelines, see the [example](https://github.com/contagon/evalio-example) - Unified representation of lidar scan, e.g. row (scan-line) major order, stamped at the start of the scan, point stamps are relative from the start of the scan. - Download and manage datasets via the CLI interface diff --git a/docs/assets/logo-dark.pdf b/docs/assets/logo-dark.pdf new file mode 100644 index 00000000..517f7402 Binary files /dev/null and b/docs/assets/logo-dark.pdf differ diff --git a/docs/assets/logo-dark.svg b/docs/assets/logo-dark.svg new file mode 100644 index 00000000..d0f9f9ea --- /dev/null +++ b/docs/assets/logo-dark.svg @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +evalio + + \ No newline at end of file diff --git a/docs/assets/logo.pdf b/docs/assets/logo.pdf new file mode 100644 index 00000000..edcd2d9d Binary files /dev/null and b/docs/assets/logo.pdf differ diff --git a/docs/assets/logo.svg b/docs/assets/logo.svg new file mode 100644 index 00000000..a0ab2ffb --- /dev/null +++ b/docs/assets/logo.svg @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +evalio + + \ No newline at end of file diff --git a/docs/assets/logo.tex b/docs/assets/logo.tex new file mode 100644 index 00000000..f708ccfa --- /dev/null +++ b/docs/assets/logo.tex @@ -0,0 +1,44 @@ +% Define \darklogo before input to use light ink on dark backgrounds. +\documentclass[tikz,border=3pt]{standalone} + +\usepackage{fontspec} + +\ifdefined\darklogo + \definecolor{ink}{HTML}{F5F7FA} +\else + \definecolor{ink}{HTML}{181E24} +\fi +\definecolor{highlight}{HTML}{FDB827} +\setmainfont{TeX Gyre Adventor} + +\begin{document} +\begin{tikzpicture}[line cap=round,line join=round] + % Lidar ring and returns + % The 10-degree arc gaps replace the old 1.5pt white marker strokes. + \foreach \angle in {0,45,...,315} { + \draw[ink,line width=5pt] + ({\angle+10}:2.05) arc[start angle={\angle+10},end angle={\angle+35},radius=2.05]; + \fill[highlight] (\angle:2.05) circle[radius=.2186]; + } + + % IMU chip and pins + \foreach \angle in {45,135,225,315} { + \draw[ink,line width=8pt] (\angle:.67) -- (\angle:.94); + } + \fill[ink,rounded corners=6pt] + (-.74,-.70) rectangle (.74,.70); + + % Coordinate frame + \draw[highlight,line width=4pt] (-.15,-.15) -- (-.15,.39); + \fill[highlight] (-.15,.57) -- (-.29,.36) -- (-.01,.36) -- cycle; + \draw[highlight,line width=4pt] (-.15,-.15) -- (.39,-.15); + \fill[highlight] (.57,-.15) -- (.36,-.01) -- (.36,-.29) -- cycle; + \fill[ink] (-.15,-.15) circle[radius=.20]; + \draw[highlight,line width=4pt] (-.15,-.15) circle[radius=.17]; + \fill[highlight] (-.15,-.15) circle[radius=.052]; + + % Wordmark + \node[anchor=west,inner sep=0,text=ink,font=\fontsize{116}{116}\selectfont] + at (3.25,-.02) {evalio}; +\end{tikzpicture} +\end{document} diff --git a/docs/css/tweaks.css b/docs/css/tweaks.css index cc5d58a8..b9725738 100644 --- a/docs/css/tweaks.css +++ b/docs/css/tweaks.css @@ -1,3 +1,29 @@ +.evalio-logo { + max-width: 42rem; + margin-inline: auto; + text-align: center; +} + +.evalio-logo img { + margin-inline: auto; +} + +.evalio-logo + p { + text-align: center; +} + +.evalio-logo__dark { + display: none; +} + +[data-md-color-scheme="slate"] .evalio-logo__light { + display: none; +} + +[data-md-color-scheme="slate"] .evalio-logo__dark { + display: block; +} + @media screen and (min-width: 76.25em) { /* remove top level header */ @@ -10,4 +36,4 @@ .md-nav__item--section>.md-nav__link[for] { color: var(--md-default-fg-color--lighter) !important; } -} \ No newline at end of file +} diff --git a/docs/index.md b/docs/index.md index a3a9f8cc..881fa8dc 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,4 +1,9 @@ -# evalio +

evalio

+ + evalio is a tool for **Eval**uating **L**idar-**I**nertial **O**dometry. @@ -12,4 +17,4 @@ Specifically, it provides a common interface for using LIO datasets and LIO pipe - Run pipelines via the CLI interface and yaml config files - Compute statistics for resulting trajectory runs -Checkout [quickstart](quickstart.md) for a quick overview of the package. Additionally, evalio eases a number of common tasks, check out the examples for some common use cases. \ No newline at end of file +Checkout [quickstart](quickstart.md) for a quick overview of the package. Additionally, evalio eases a number of common tasks, check out the examples for some common use cases. diff --git a/justfile b/justfile index 429e7774..5eb902be 100644 --- a/justfile +++ b/justfile @@ -6,6 +6,14 @@ pybuild: stubs: cp -r .venv/lib/python3.12/site-packages/evalio/_cpp python/evalio +logo: + mkdir -p docs/assets + lualatex -interaction=nonstopmode -halt-on-error -output-directory=docs/assets docs/assets/logo.tex + lualatex -interaction=nonstopmode -halt-on-error -jobname=logo-dark -output-directory=docs/assets '\def\darklogo{1}\input{docs/assets/logo.tex}' + dvisvgm --pdf --font-format=woff2 --output=docs/assets/logo.svg docs/assets/logo.pdf + dvisvgm --pdf --font-format=woff2 --output=docs/assets/logo-dark.svg docs/assets/logo-dark.pdf + rm docs/assets/logo.aux docs/assets/logo.log docs/assets/logo-dark.aux docs/assets/logo-dark.log + bump-minor: uv run bump-my-version bump minor git push --tags