Unreleased
In progressAdded
- CI coverage floors for ng test --coverage (statements 70%, branches 65%, functions 70%, lines 70%) with a json-summary artifact
- Checked-in coverage-baseline/ json-summary floor and CI job-summary comparison so reviewers can compare PRs without running tests locally
- Featured project UA 571-C (live WASM console + GitHub) on the home showcase and terminal projects command
- /changelog page (lazy, prerendered) rendering this file in Kinetic Grid style, with command palette + footer links
- Scroll-depth indicator: max explored percent in the footer and command palette (reuses the existing progress-bar listener)
Changed
- Replaced Space Grotesk and Inter with IBM Plex Sans across the site, including the loading and offline experiences.
- Shell loading spinner is a sharp Kinetic Grid square (was circular) and pauses when prefers-reduced-motion is set.
Fixed
- Lazy route navigations (colophon, changelog, 404) show an in-outlet loading state instead of a blank content pane
- Lazy-route loading hides the previous page instead of stacking the spinner above it
- Route loading indicator is gated to loadComponent path changes (fragment/query-only jumps no longer flash it)
- Command palette empty state uses translated copy (EN/ES)
- Opening the mobile menu moves keyboard focus into the menu and restores it to the toggle on close
- Translation API failures show a polite "Showing offline translations" notice while keeping the static fallback
- Header and command palette Home/About/Connect/Projects links now go to /#section when those ids are not on the current page (e.g. /changelog, /colophon)
- Restored floating positioning on the back-to-top button (fixed bottom-6 right-6 z-40)
- Skip-to-social-links now goes to /#social-links when that id is not on the current page
- Skip links become visible on keyboard focus (focus-within:not-sr-only on the skip-nav wrapper)