Files
andrew befed8ff96 Add Qt/QML desktop shell and Nebula.UI
Introduce a new production desktop shell at `shells/desktop/shell` built with C++20, Qt Quick/QML, and LayerShellQt, including top bar, launcher, desktop surfaces, shell state, and mock app data. Add the shared `packages/nebula-ui` QML module (theme, controls, focus, icons) and wire it into the shell build.

Retire the old GTK/WebKit native host by removing `shells/desktop/native`, move the React shell UI to `shells/desktop/prototype-react` as an archived design reference, and update root/compositor/session documentation to reflect the new Linux-only production architecture and temporary Sway role.
2026-08-26 16:34:40 +12:00
..

Nebula Desktop UI — prototype (archived)

DESIGN REFERENCE ONLY
NOT THE PRODUCTION NEBULA SHELL

This directory is the original React + Vite desktop chrome. It remains only as a visual and behavioural reference while the Qt Quick/QML shell catches up.

Do not add production functionality here.

The production Nebula Desktop shell is:

shells/desktop/shell
C++20 + Qt 6 + Qt Quick/QML + LayerShellQt

This prototype must not be launched as the OS shell. It does not talk to Wayland layer-shell, and it is not wired to Nebula Core.

What this is for

  • comparing layout, colour, spacing, and motion against shells/desktop/shell
  • checking launcher search, mock launch, and top-bar treatment
  • discarding this tree later, once Qt parity is accepted

Surfaces (browser preview only)

URL Renders
/?surface=preview (default) Combined mockup
/?surface=desktop Background only
/?surface=topbar Top bar only
/?surface=launcher Launcher only

Preview on a development machine

npm install
npm run dev
npm run lint
npm run build

Oxlint applies to this JavaScript prototype only. It is not used for the Qt shell.