swayfx-mosaic/docs/ROADMAP.md

2.1 KiB

Roadmap

STEP20A — compositor foundation

Status: implemented.

  • identify exact SwayFX baseline;
  • native Mosaic layout enum/parser;
  • workspace-local state;
  • real tiled containers;
  • insertion/removal/focus invariants;
  • IPC exposure;
  • isolated build and headless tests;
  • package staging without replacing SwayFX.

See STEP20A.md.

STEP20B — first scrollable row

Status: experimental implementation present in the development tree.

  • single logical row wider than the viewport;
  • workspace-local standard ↔ Mosaic toggle;
  • logical scroll_x;
  • scene translation;
  • focus visibility;
  • headless rendering/IPC validation;
  • package patch export.

See STEP20B.md.

STEP20C — viewport correctness

Planned.

  • robust clipping at workspace/output boundaries;
  • multi-output validation;
  • resize/output migration tests;
  • pointer/hit-testing validation;
  • camera animation without transaction divergence.

STEP20D — multi-row Spatial Canvas

Planned.

  • multiple native rows;
  • active-row navigation;
  • row-local scroll/focus memory;
  • move/reorder within a row;
  • move containers between rows;
  • deterministic reflow.

Target interaction model:

Super + arrows          navigation
Super + Ctrl + ...      reorder/modify within row
Super + Shift + Up/Down move between rows

Exact bindings remain subject to validation before they become permanent.

STEP20E — Session V2 persistence

Planned.

Persist and restore:

  • Mosaic layout state;
  • ordered rows;
  • active row;
  • scroll positions;
  • row focus;
  • stable window identities.

The compositor remains the runtime source of truth.

STEP20F — QuickShell integration

Planned.

  • expose Mosaic state visually;
  • adapt workspace overview;
  • optional layout state indication;
  • no duplicate Mosaic state in QML.

STEP20G — packaging and daily use

Planned.

  • final Arch package;
  • dedicated desktop/session entry if useful;
  • standard SwayFX fallback preserved;
  • update/rebase procedure proven against a newer upstream SwayFX release;
  • documentation for installation, rollback and troubleshooting.