2.1 KiB
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.