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
+90
View File
@@ -0,0 +1,90 @@
.home-view {
justify-content: flex-start;
gap: var(--nebula-spacing-xl);
padding-left: 0;
}
.home-hero {
display: grid;
gap: var(--nebula-spacing-xs);
padding-left: var(--nebula-spacing-xl);
}
.home-hero .muted {
margin: 0;
text-transform: uppercase;
letter-spacing: 0.14em;
font-size: 14px;
font-weight: 600;
opacity: 0.72;
}
.home-hero .view-title {
font-size: clamp(32px, 3.2vw, 44px);
font-weight: 700;
letter-spacing: -0.02em;
}
.tile-rail {
display: flex;
gap: var(--nebula-spacing-lg);
overflow-x: auto;
overflow-y: hidden;
padding: 10px var(--nebula-spacing-xl) 18px;
scroll-behavior: smooth;
scrollbar-width: none;
transform: translate3d(var(--home-parallax-x, 0px), 0, 0);
transition: transform var(--nebula-duration-slow) var(--nebula-ease-console);
}
.tile-rail::-webkit-scrollbar {
display: none;
}
.dashboard-tile {
flex: 0 0 clamp(280px, 22vw, 340px);
min-height: clamp(200px, 18vh, 240px);
position: relative;
overflow: visible;
}
.dashboard-tile.tile-large {
flex: 0 0 clamp(360px, 28vw, 440px);
min-height: clamp(240px, 22vh, 300px);
}
.tile-content {
display: flex;
flex-direction: column;
justify-content: space-between;
height: 100%;
gap: var(--nebula-spacing-md);
position: relative;
z-index: 2;
}
.tile-text {
display: flex;
flex-direction: column;
gap: 4px;
}
.tile-accent-bar {
position: absolute;
left: 0;
bottom: 0;
right: 0;
height: 4px;
background: linear-gradient(90deg, var(--nebula-color-accent), transparent);
opacity: 0;
transform: scaleX(0);
transform-origin: left center;
transition:
opacity var(--nebula-duration-nav) var(--nebula-ease-console),
transform var(--nebula-duration-nav) var(--nebula-ease-console);
}
.dashboard-tile.is-focused .tile-accent-bar {
opacity: 1;
transform: scaleX(1);
}