Hi @ahiemstra and @akselmo, and Andy Betts if he reads here.
I have a design question for Union, and it comes from an unusual place, so a little context first.
Ocean describes elevation the way every flat desktop does: a ladder of shadows, drawn in 2D. We built a Plasma desktop where elevation is real. Every element sits on one of three planes, sunk, screen or popped, and the depth is drawn for real:
- On a normal 2D screen, a popped element gets a little larger and moves slightly up and left, like an object coming closer. Its text and its click area follow it, so nothing becomes a dead zone.
- On a stereo screen (a 3D TV, an anaglyph monitor with paper glasses, a headset), the same element gets the same small scale plus the two eyes’ disparity, so it is physically in front of the screen.
One value per element, the same on every screen, and the user sets how far “popped” goes. Background windows flatten into a pile of sheets, the way papers look on a desk.
The rules are short: GitHub - Sparky-OS/sparky-stereo-os: Sparky Stereo OS 9 "Mashtabba", based on Debian 14 "Forky": the stereo 3D edition of SparkyLinux, KDE Plasma only. · GitHub
I know “3D on the desktop” sounds like the 2010 television fad. This is not that. Nothing is forced and nothing jumps out at you; it is elevation, done for real. The compositor side is a one-page design: everything hands KWin one stereo format, and each screen gets the output it needs, including plain 2D.
The question: where would a depth value belong in Union’s CSS? I picture it next to the shadow: three values (sunk, screen, popped) plus inherit, which Ocean’s elevation ladder maps onto. Union would declare the plane; the compositor draws it for whatever screen is attached. Is that the right place, or does it belong somewhere else in Union’s model?
Who a stereo desktop is for: it goes far beyond games
- Science and research: molecules, anatomy, geology and seismic data, microscopy, through the stereo modes FreeCAD, ParaView and VTK-based tools already have, which today need a workstation card to use.
- Engineering and mapping: circuit boards in KiCad, terrain in GRASS GIS, meshes in Netgen, models in OpenSCAD, plots in Octave and Matplotlib; all of these already run in stereo on our stack.
- Education: KAlgebra’s 3D graphs, Kalzium’s molecules, and teaching material that needs depth to be understood.
- Digital twins: cities, plants and islands represented in depth.
- Medicine and training: surgery practice, anatomy, industrial training and design review.
- Heritage and tourism: museums, archaeology and places people cannot travel to; accessibility for those whose bodies cannot take them there.
- Photography and art: stereo photos (MPO, JPS), painting a stereo pair in Krita, editing in Kdenlive with a 3D preview.
- Media: 3D films and documentaries, broadcast archives, recording and streaming in stereo, and remote desktops that keep their depth.
- Installations with ageing stereo hardware: science centres, theme parks and simulators whose playback machines need a maintained system.
- And games and VR.
Why it matters for Plasma itself: Valve ships Plasma as SteamOS’s desktop, and its hardware now includes a headset. A Plasma whose elevation is real depth is a Plasma that works in a headset without a separate interface.
Our Desktop Cube design shows where that leads: GitHub - Sparky-OS/sparky-stereo-os: Sparky Stereo OS 9 "Mashtabba", based on Debian 14 "Forky": the stereo 3D edition of SparkyLinux, KDE Plasma only. · GitHub
What exists today:
- KWin running stereo on real displays, with photos: sparky-stereo-os/docs/first-runs/kwin-2026-10-01/README.md at main · Sparky-OS/sparky-stereo-os · GitHub
- The KWin discussion: https://invent.kde.org/plasma/kwin/-/work_items/324
- The Wayland protocol discussion: Making sure you're not a bot!
- My KDE forks (KWin, KScreen, libkscreen, Haruna, Dragon, Kdenlive, Spectacle, KImageFormats, plasma-wayland-protocols): https://invent.kde.org/danielcamposramos
All of this ships first in Sparky Stereo OS, an upcoming edition of SparkyLinux. For Union and Ocean, I would rather ask before building anything.
In the open: I direct this work and verify every result myself, with AI as an assistant; the evidence is in the links.
Daniel