The Home page is the first screen a visitor sees after pressing START on the gate screen. It opens with the developer’s name rendered in large pixel typography, a one-liner bio in arcade-cyan, and two key components — a HighScoreTable that surfaces career stats as arcade high-score entries, and a PixelSprite that animates across the bottom of the viewport like a character between stages. The combined effect communicates personality and at-a-glance credibility before the visitor has scrolled a single pixel.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/apursley2012/press-start/llms.txt
Use this file to discover all available pages before exploring further.
Route
/ (root)
Layout
The Home component (H in the bundle) renders a single full-height centered column:
- Hero heading — developer name in Press Start 2P font with a neon-green stroke and magenta drop shadow, plus a subtle gradient overlay for a CRT bloom effect.
- Tagline — two lines in VT323 font:
"Software developer. Player one."and"Currently grinding side quests."in arcade-muted. - HighScoreTable — positioned below the hero text; pulls from a static data array inside
HighScoreTable.js. - PixelSprite — rendered after the table; walks across the bottom of the section.
HighScoreTable data
The table maps short arcade-style codes to human-readable labels and numeric values. The data is defined insidecomponents/HighScoreTable.js (not in main.js), but the rendered scores match this shape:
Changing score entries
Opencomponents/HighScoreTable.js and update the values in that array. Each entry needs:
| Field | Type | Notes |
|---|---|---|
code | string | 3–4 uppercase chars; appears in left column |
label | string | Full description; appears on hover or inline |
value | number | Rendered right-aligned with zero-padding |
PixelSprite
ThePixelSprite component renders a small pixel-art character and translates it across the x-axis using a CSS animation. There is no data to configure — the sprite dimensions and animation speed are controlled by CSS custom properties inside components/PixelSprite.js.
To change the walk cycle speed, update the --sprite-duration CSS variable in that file. To swap the sprite art, replace the pixel grid or <canvas> definition in the component.
IntersectionObserver trigger
The HighScoreTable uses anIntersectionObserver to kick off its count-up animation the first time the table enters the viewport. This means the numbers tick up from zero even if the visitor scrolls down before the page finishes loading. The observer disconnects after the first intersection so the animation plays only once per page load.
The
threshold: 0.2 value means the animation fires when 20 % of the table is visible. Lower the threshold if the table sits near the fold on small screens and the animation never triggers.Customising the hero text
The heading text"DEV NAME" and the tagline are hardcoded in the H component in main.js. Replace those string literals to set the real name and bio line:
Related components
- HighScoreTable — full API reference for the score table, including animation timing props.
- PixelSprite — documentation for the walking sprite animation and customisation options.