atagen

monolith

public
Star0
Watch0

Commit e44abf08e08d

tarball

atagen <boss@atagen.co>2026-10-19 07:54 UTC

3 files changed+3-3
design: correct three stale claims

parked.md said xdg dialogs tile although xdg::floats floats them, review-notes.md counted item 1 as closed without the role-based commit routing, and plan.md promised presentation feedback on DRM that only the nested host side has.
Modified file: design/parked.md+1 additions−1 deletions
@@ -12,5 +12,5 @@ Issues found while building, with the milestone that owns them.
1212
1313 - wlr-foreign-toplevel minimize requests are ignored, since tags have no minimized state.
1414 - X11 windows do not raise in X stacking order on focus, which only matters for overlapping floating X windows.
15-- Dialogs from xdg toplevels with a parent tile like any window. X11 dialogs, transients and fixed-size windows float.
15+- Dialogs from xdg toplevels with a parent float, as do X11 dialogs, transients and fixed-size windows. Portal file choosers arrive with no parent and still tile.
1616 - Some programs open an X connection just to probe, vkcube among them, which starts Xwayland lazily even though they draw through Wayland.
Modified file: design/plan.md+1 additions−1 deletions
@@ -22,7 +22,7 @@ The hard logic lives in crates with no smithay dependency, so it compiles fast a
2222
2323 ## Backends
2424
25-- **Nested** runs inside another Wayland compositor and is supported for the life of the project, not just during early development. It renders into dmabufs and attaches them to a host `wl_surface` through linux-dmabuf, so nested and DRM share one render-to-dmabuf path and both get presentation feedback. smithay's winit backend is EGL/GLES-only, so it is not used.
25+- **Nested** runs inside another Wayland compositor and is supported for the life of the project, not just during early development. It renders into dmabufs and attaches them to a host `wl_surface` through linux-dmabuf, so nested and DRM share one render-to-dmabuf path. Nested paces from the host's wp_presentation feedback, DRM from page-flip events, and clients get no wp_presentation from either yet. smithay's winit backend is EGL/GLES-only, so it is not used.
2626 - **DRM** on bare metal from M5.
2727 - **Headless** for `testkit`.
2828
Modified file: design/review-notes.md+1 additions−1 deletions
@@ -116,7 +116,7 @@ Gaps, by value:
116116
117117 ## Proposed order
118118
119-Done as of 2026-10-17: 1 (State split, see state-split.md), 2 (frame path in frame.rs, pruning once per dispatch), 3 (snapshots gated on Dirty::snapshot, identity cached per window). CLEAR and close-window from item 4 went in along the way. 4 (dedup) and 5 (file moves) are done too. From 5, `now_ns`, `gaps` and `xkb_config` stay in state.rs. The ghost texture moved to `Wm::last_frames`. 6 and 7 are done as well. Two parts were left out on purpose. Snapshot diffing stays untested as a pure function, because its bugs so far were in the publishers and scripts/smoke.nu catches those end to end. The comment pass removed nothing, since density is under 10% outside module docs and existing comments are vetted.
119+Done as of 2026-10-17: 1 (State split, see state-split.md, though the routing of commit by surface role proposed under section 1 never landed), 2 (frame path in frame.rs, pruning once per dispatch), 3 (snapshots gated on Dirty::snapshot, identity cached per window). CLEAR and close-window from item 4 went in along the way. 4 (dedup) and 5 (file moves) are done too. From 5, `now_ns`, `gaps` and `xkb_config` stay in state.rs. The ghost texture moved to `Wm::last_frames`. 6 and 7 are done as well. Two parts were left out on purpose. Snapshot diffing stays untested as a pure function, because its bugs so far were in the publishers and scripts/smoke.nu catches those end to end. The comment pass removed nothing, since density is under 10% outside module docs and existing comments are vetted.
120120
121121
122122 1. **Split `State`** into protocol globals, the backend enum, the window model with per-window records, subsystems and input. This unlocks most of the rest.