The About page turns a standard bio section into an interactive solar-system metaphor. A stylised planet rendered with CSS radial gradients and a subtle box-shadow glow occupies the left half of the screen. Three coloured orbital buttons circle the sphere at 120° intervals; clicking one rotates the planet toward that “sector” and simultaneously swaps the content in the glass panel on the right, using Framer Motion’sDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/apursley2012/cosmic-developer/llms.txt
Use this file to discover all available pages before exploring further.
AnimatePresence for smooth enter/exit transitions.
Visual Overview
The page layout is a two-column composition (stacked on mobile):| Column | Contents |
|---|---|
| Left — Planet panel | Rotating CSS sphere + three orbital navigation buttons |
| Right — Data panel | Glass-morphism card with TeletypeText header + animated sector content |
The Planet
The planet is a<div> styled as a circle with:
- A radial gradient producing a lit/shadow hemisphere effect.
- A
box-shadowwith aurora color spread to create an atmospheric glow. - A Framer Motion
springanimation onrotatethat fires whenever the active sector changes.
o * 120 * Math.PI / 180) at a radius of 40% of the planet div. Each button has a distinct accent color that matches its sector:
- Sector 01 — aurora-teal (
bg-aurora-teal) - Sector 02 — aurora-magenta (
bg-aurora-magenta) - Sector 03 — aurora-violet (
bg-aurora-violet)
The Data Panel
The right-side glass panel renders whichever sector is currently active.AnimatePresence wraps the content block so that the outgoing sector slides and fades out while the incoming sector slides in from the opposite direction.
Data Sectors
The three biographical sectors and their content are defined in theI array in the xt component:
id (not a number), a title displayed as the panel heading, a content string rendered as a paragraph, and a color Tailwind class applied to the indicator dot.
Sector Reference Table
| Sector | id | Title | Accent Color |
|---|---|---|---|
| 01 | 'core' | Core Directives | bg-aurora-teal |
| 02 | 'history' | Formation | bg-aurora-magenta |
| 03 | 'future' | Trajectory | bg-aurora-violet |
Planet Rotation Logic
When the user selects a sector, the planet’s spring animation targets a newrotate angle derived from the sector index (0, 1, or 2):
stiffness: 50 and damping: 20 values produce a natural overshoot-and-settle motion. Increase stiffness for a snappier rotation or raise damping to eliminate the overshoot entirely.
AnimatePresence Panel Transitions
The sector content inside the right glass panel usesAnimatePresence so the old content fades and slides out before the new content slides in:
y: 20 → 0 on enter, y: 0 → -20 on exit), giving a smooth upward-reveal feel as sectors change.
Sector Navigation Buttons
Below the glass panel, three text buttons let users switch sectors without clicking the orbital dots:TeletypeText Configuration
Customization
- Edit sector content — Locate the
sectorsarray in thextcomponent source and update thecontentstring for each entry with your own biographical copy. - Rename sector titles — Change
'Core Directives','Formation', and'Trajectory'to labels that better reflect your story (e.g.,'Philosophy','Background','Goals'). - Change accent colors — Each sector has a
colorkey mapped to a Tailwind background class. Replacebg-aurora-teal,bg-aurora-magenta, andbg-aurora-violetwith any color defined in yourtailwind.config.js. - Add a fourth sector — Duplicate one entry in the
sectorsarray, assign it a new stringid,title,content, andcolor. Add a corresponding orbital button; space all four buttons at 90° intervals by changing the rotation multiplier from120to90. - Adjust spring physics — Tune
stiffness(snap speed) anddamping(oscillation) in thetransitionobject to change the feel of the planet rotation. - Change the teletype line — Update the
textprop onTeletypeTextto set your own scanning message.
The planet’s 3D illusion is achieved purely with CSS — no WebGL or Three.js required. The sphere is a
border-radius: 50% div with a background: radial-gradient(...) and a coloured box-shadow. To make the planet appear larger on desktop, increase its width and height values and the orbital button radius (d variable, currently 40) proportionally.