Documentation Index
Fetch the complete documentation index at: https://mintlify.com/apursley2012/observatory/llms.txt
Use this file to discover all available pages before exploring further.
StarMapIndex renders an article index as an astronomical star chart. Each article is a glowing dot placed at an (x, y) percentage coordinate on a grid-lined canvas. The grid carries α (ascension) and δ (declination) axis labels to reinforce the star-chart metaphor. Hovering a star reveals a floating card with the article’s title, topic tag, magnitude reading, and exact coordinates.
Visual appearance
The component renders a600px tall container with a space-900/40 background, a white/10 border, and overflow: hidden. A CSS grid overlay at 10% opacity provides the coordinate grid background:
ASCENSION (α)— bottom right, horizontalDECLINATION (δ)— top left, rotated 90° (vertical)
transform: translate(-50%, -50%). It contains:
- A blurred glow halo (2×3× the star size via
filter: blur(4px)) that becomes visible on hover - A solid dot in white (resting) or
aurora-turquoise(hovered), sized at4 + magnitude × 2.5pixels
Star sizing
| Magnitude | Dot diameter |
|---|---|
| 1 | 6.5 px |
| 2 | 9.0 px |
| 3 | 11.5 px |
| 4 | 14.0 px |
| 5 | 16.5 px |
Hover tooltip
Hovering a star sets it as the active article, triggering anAnimatePresence swap. The tooltip card enters from y: 20 with opacity: 0 and rests at y: 0, opacity: 1. It is positioned at bottom-8 left-8 and grows to w-96 on medium screens.
The card displays:
- Topic tag — a small
aurora-tealmonospace pill (top left) - Magnitude —
MAG: {magnitude}.0in slate monospace (top right) - Title — large display font heading
- Coordinates —
Coordinates: {x.toFixed(1)}α, {y.toFixed(1)}δin monospace
"Hover over a celestial body to read the entry…") is shown with AnimatePresence when no star is active.
Animations
| Effect | Implementation |
|---|---|
| Star entry | m.button spring animation scale(0), opacity(0) → scale(1), opacity(1), 1s |
| Glow on hover | CSS transition-all duration-300 on opacity and scale of the blur halo |
| Tooltip enter/exit | m.div opacity + y(20), AnimatePresence |
Where it’s used
StarMapIndex is the sole interactive element on the /articles route:
Data shape
The articles array is defined incomponents/aurora/StarMapIndex.js. Each entry corresponds to one star on the map.
Unique identifier for the article. Used as the React key.
Full article title displayed as the heading in the hover tooltip card.
Category or tag label shown as a pill badge in the tooltip. Examples:
'Language', 'Performance', 'Design', 'Architecture', 'Backend', 'Tooling'.Integer from
1 to 5. Controls the rendered star size (4 + magnitude × 2.5 px diameter). Use higher magnitudes for longer, more important, or more recent articles.Horizontal position as a percentage of the container width (
0–100). Maps to left: x%.Vertical position as a percentage of the container height (
0–100). Maps to top: y%.How to customize
Layout tips
- Keep
xandybetween5and92to prevent stars from clipping the container edge. - Avoid placing two stars closer than ~8% on both axes — they will appear to merge and their tooltips will overlap.
- Scatter magnitudes across the range to create a natural-looking star density variation.
- The tooltip card is anchored to the bottom-left — for stars in the lower-left quadrant, consider adjusting the tooltip position in the source to avoid the card clipping off-screen.