Reading map: honour reduced-motion for the orbit; give /knoebels a real nav link
Two follow-ups on yesterday's hero. The `prefers-reduced-motion` branch only skipped the trace *animation* — the scene kept orbiting continuously, which is precisely what a reader who asked for reduced motion is asking not to get, on the homepage no less. The cloud now holds still; it still renders in full. /knoebels was reachable only from the homepage crowd strip, and that strip is hidden whenever the park API is unreachable — so an API outage made the page unreachable from anywhere on the site. It gets a sidebar entry, the same way /notebooks does, since neither is a vault note that buildNavTree could carry. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -181,6 +181,22 @@ const pageUrl = new URL(Astro.url.pathname, Astro.site);
|
|||||||
</div>
|
</div>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
{/* Standalone pages — not vault notes, so buildNavTree cannot carry them.
|
||||||
|
/knoebels in particular is otherwise reachable only from the homepage
|
||||||
|
strip, which is hidden whenever the park API is unreachable. */}
|
||||||
|
<div class="sidebar-section">
|
||||||
|
<p class="sidebar-title">elsewhere</p>
|
||||||
|
<ul class="nav-tree">
|
||||||
|
<li>
|
||||||
|
<a
|
||||||
|
href="/knoebels"
|
||||||
|
aria-current={navPath === '/knoebels' ? 'page' : undefined}
|
||||||
|
>
|
||||||
|
Knoebels park map
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
</aside>
|
</aside>
|
||||||
{
|
{
|
||||||
showToc && (
|
showToc && (
|
||||||
|
|||||||
@@ -306,7 +306,10 @@ export function build(container, data) {
|
|||||||
const dt = Math.min((now - last) / 1000, 0.05);
|
const dt = Math.min((now - last) / 1000, 0.05);
|
||||||
last = now;
|
last = now;
|
||||||
|
|
||||||
if (!paused) world.rotation.y += ORBIT_RATE * dt;
|
// `reduced` stops the orbit outright, not just the trace draw. This sits on a public
|
||||||
|
// homepage, and a continuously rotating scene is exactly what a reader who asked for
|
||||||
|
// reduced motion is asking not to get. The cloud still renders — it just holds still.
|
||||||
|
if (!paused && !reduced) world.rotation.y += ORBIT_RATE * dt;
|
||||||
|
|
||||||
elapsed += dt;
|
elapsed += dt;
|
||||||
const cycle = DRAW_SECONDS + HOLD_SECONDS;
|
const cycle = DRAW_SECONDS + HOLD_SECONDS;
|
||||||
|
|||||||
Reference in New Issue
Block a user