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.
Projects Page
The Projects page (/projects) is accessed via the navigation label “Logged Sightings”. It uses the ConstellationLayout component to render each project as a glowing star node on an interactive star-map canvas. Nodes are connected by thin constellation lines according to a connections adjacency list, and clicking a node expands a detail card.
ConstellationLayout Component
ConstellationLayout (components/aurora/ConstellationLayout.js) accepts a single projects prop — an array of project objects — and renders them onto an SVG/canvas layer. Key behaviours:
- Star nodes are sized proportionally to the
magnitudefield. - Constellation lines are drawn between any two nodes whose IDs appear in each other’s
connectionsarray. - Coordinate system uses
xandyas percentage values of the container dimensions (0–100), so layout is fully responsive. - Hover state brightens the node glow and shows the project title.
- Click state opens an overlay card with the full description and tech stack.
Coordinate System
{ x: 20, y: 30 } sits 20% from the left edge and 30% from the top of the container.
Project Data
The full project array used by the page:Data Shape Reference
| Field | Type | Description |
|---|---|---|
id | string | Unique identifier (e.g. 'p1'). Used as the key in the connections adjacency list. |
title | string | Project name displayed on hover and in the detail card. |
description | string | Short description shown in the expanded detail panel. |
tech | string[] | Technology tags rendered as pill badges in the detail card. |
x | number | Horizontal position as a percentage of the container width (0–100). |
y | number | Vertical position as a percentage of the container height (0–100). |
magnitude | number | Controls the rendered star radius. Higher = larger, brighter node. Typical range: 1.0–2.0. |
connections | string[] | Array of other project id values. A line is drawn between each connected pair. |
Constellation Connections
The connections between the five demo projects form two overlapping triangles:Connections are undirected. If
p1.connections includes 'p2', you do not need to add 'p1' to p2.connections — the component checks both arrays when drawing lines.Adding a New Project
Open ConstellationLayout.js
The data array is near the top of
components/aurora/ConstellationLayout.js.Append a new object
Add a new entry to the array with a unique
id, coordinates, and optionally list existing IDs in connections to link it to neighbours.Choose coordinates thoughtfully
Avoid placing nodes too close together (within ~10 units) to prevent label overlap on smaller viewports.