Files
the-nexus-fork/manifest.json
kimi e76b3eee89 feat: PWA manifest + service worker for offline and install support
Add full Progressive Web App support to The Nexus:
- manifest.json: Web app manifest with Nexus branding, icons, and PWA config
- sw.js: Service worker with cache-first strategy for local assets and
  stale-while-revalidate for CDN resources (Three.js, fonts)
- offline.html: Styled offline fallback page with auto-reconnect
- icons/: SVG icons (standard + maskable) with crystalline Nexus design
- index.html: Add manifest link, theme colors, Apple PWA meta tags,
  and service worker registration script

Features:
- Works offline after first visit
- Installable to home screen on mobile and desktop
- Graceful degradation when offline
- Auto-refresh when connection restored

Fixes #14
2026-03-23 23:52:07 -04:00

62 lines
1.4 KiB
JSON

{
"name": "The Nexus",
"short_name": "Nexus",
"description": "Timmy's sovereign 3D world — a Three.js environment serving as the central hub for all portals",
"start_url": "/",
"display": "standalone",
"display_override": ["fullscreen", "minimal-ui"],
"orientation": "any",
"background_color": "#0a1628",
"theme_color": "#4af0c0",
"categories": ["entertainment", "games"],
"lang": "en",
"dir": "ltr",
"scope": "/",
"icons": [
{
"src": "icons/nexus-icon.svg",
"sizes": "any",
"type": "image/svg+xml",
"purpose": "any"
},
{
"src": "icons/nexus-maskable.svg",
"sizes": "any",
"type": "image/svg+xml",
"purpose": "maskable"
}
],
"screenshots": [
{
"src": "screenshots/nexus-wide.png",
"sizes": "1280x720",
"type": "image/png",
"form_factor": "wide",
"label": "The Nexus 3D environment"
},
{
"src": "screenshots/nexus-narrow.png",
"sizes": "750x1334",
"type": "image/png",
"form_factor": "narrow",
"label": "The Nexus on mobile"
}
],
"shortcuts": [
{
"name": "Enter Nexus",
"short_name": "Enter",
"description": "Jump directly into the Nexus world",
"url": "/?action=enter",
"icons": [
{
"src": "icons/nexus-icon.svg",
"sizes": "any"
}
]
}
],
"related_applications": [],
"prefer_related_applications": false
}