Add Nebula Shell v0 prototype and redesign

Introduce a working v0 Nebula Shell prototype (Tauri frontend) and redesign docs. Adds a complete frontend under src/ (views: home, lock, library, settings, overlays), core adapters (input, nav, passkey, router, state), global styles and shell guidelines, and view-specific HTML/CSS/JS. Update README with prototype notes, install/run/build instructions and controller testing tips. Update package.json to add dev/build scripts and add @nebulaproject/core as a dependency. Also include a detailed REDESIGN_DOCUMENTATION.md describing the Xbox-inspired horizontal dashboard, component patterns, and developer notes.
This commit is contained in:
2026-02-15 22:52:35 +13:00
parent 0102d06bba
commit 89eedf5522
31 changed files with 9242 additions and 42 deletions
+103 -3
View File
@@ -1,5 +1,106 @@
# Nebula OS v0 Windows-first Development Plan
## Nebula Shell Prototype (Current)
This repository now includes a working v0 Nebula Shell prototype in the Tauri frontend (`src/`) with:
- Lock Screen with controller/keyboard PIN keypad (`1234` for v0)
- Home dashboard tile grid (Library, Settings, Power)
- Settings split-pane stub (category list + content panel)
- Library stub view with controller back behavior
- Start/Menu power overlay that traps focus and closes with Back
- Unified input actions (`up/down/left/right/accept/back/menu`) from keyboard + gamepad
### Dashboard refresh (Xbox-inspired Nebula)
The shell now uses a premium horizontal dashboard language inspired by console UI patterns:
- Left-aligned horizontal app tile rail (Library, Settings, Power)
- Dynamic nebula background stack (gradient, starfield, fog, vignette)
- Shared top bar with reactive accent line and profile/time status
- Layered tile focus states (scale, cyan glow, ripple, elevation)
- Smooth page/focus transitions with cubic-bezier motion curves
- Immersive lock screen with large clock/date and input-revealed PIN panel
- Settings redesign with top category rail + card-based content panel
Animation and component architecture notes are in [src/styles/shell-guidelines.md](src/styles/shell-guidelines.md).
### Install
```bash
npm install
```
### Run (Windows dev)
```bash
npm run dev
```
### Build
```bash
npm run build
```
### Controller testing notes (Windows)
- Connect an Xbox-compatible controller before launching dev mode.
- Navigation: D-pad or left stick.
- Actions: `A` = Accept, `B` = Back, `Start` = Menu.
- Keyboard mirror for development: arrow keys, Enter, Escape/Backspace.
### Nebula Core integration status
`@nebulaproject/core` is installed and used through runtime adapters in:
- `src/core/input.js`
- `src/core/nav.js`
- `src/core/state.js`
If Nebula Core exports are available, the shell uses them for input/navigation/glyphs/theme.
If not, local fallback adapters keep the shell fully functional.
### Local Nebula Core development (Windows-safe)
Current npm package `@nebulaproject/core@0.1.3` re-exports internal `@nebula/*` packages that are not published, so local linking is recommended for active core development.
1. Clone Nebula Core monorepo next to this repo.
2. Build Nebula Core packages.
3. Link from the core repo and consume in this repo:
```bash
# In Nebula-Core repo
npm link
# In Nebula-OS repo
npm link @nebulaproject/core
```
Alternative (more deterministic): use `file:` dependency in `package.json`:
```json
{
"dependencies": {
"@nebulaproject/core": "file:../Nebula-Core/packages/core"
}
}
```
Then run:
```bash
npm install
```
### Linux VM build (high-level)
- Install Rust, Node.js, and Tauri Linux prerequisites in the VM.
- Clone this repo in Linux VM.
- Run `npm install`.
- Run `npm run dev` for integration checks in Linux session.
- Run `npm run build` to produce Linux artifacts.
## Vision
Nebula OS is a **controller-first, open source operating system experience** built on Linux.
@@ -14,7 +115,7 @@ It is an independent UI layer that:
* Acts as the primary **controller-first shell** for the OS
* Provides a unified Home experience for **games, apps, and media**
* Ships with core Nebula apps such as **Nebula Browser**
* Integrates first-install Nebula apps such as **Nebula Browser** and **Nebula Launcher**
* Exposes **system settings** through controller-friendly panels
* Manages game libraries directly (Steam, GOG, Epic, and others)
@@ -78,7 +179,6 @@ Game UI Mode contains:
* Lock screen with controller PIN entry
* Nebula Home dashboard
* Nebula Browser
* Nebula Library
* Controller-friendly Settings
* Power and session controls
@@ -147,7 +247,7 @@ It is the primary interface in Game UI Mode and should feel like a console dashb
Nebula Shell responsibilities:
* Home dashboard (games, apps, recent activity)
* App launcher for Nebula apps (Nebula Browser, Nebula Library, Settings)
* App launcher for integrated Nebula apps (Nebula Browser, Nebula Launcher, Nebula Library, Settings)
* System navigation (network, audio, display, storage, accounts)
* Power menu and session switching (Game UI ↔ Desktop)
* Notifications and downloads (later)