Skip to content
This repository was archived by the owner on Nov 12, 2026. It is now read-only.

Compositor: rounded corners (screen mask, window clip shader, hug-the-display) - #555

Closed
techmore wants to merge 2 commits into
devfrom
claude/compositor-corners
Closed

techmore wants to merge 2 commits into
devfrom
claude/compositor-corners

Conversation

@techmore

Copy link
Copy Markdown
Owner

Implements the compositor side of mseries/SDK-CORNERS.md (sections 3 and 4) in rust/pantheon-compositor.

  • Screen-corner mask on the built-in output only, above windows, dock, panels and the lock screen (corners.screen).
  • Toplevel clip through a Smithay GLES texture shader (signed distance; circular or continuous superellipse from corners.style); only the corner boxes of the geometry rectangle change, so client shadows and content stay intact.
  • Hug-the-display rule (geometry based): display-corner contact uses screen, other screen-edge contact is square, free corners use window; popups popover; panels/dock rounded only away from screen edges; external outputs all square.
  • Tokens read at start-up from rust/msdk/data/tokens.json via the msdk crate.

Verified: fmt and clippy -D warnings clean (default and native-drm), 28 new geometry/shape tests, full crate tests pass, nested compositor draws rounded floating/maximized/fullscreen windows in a private Xvfb (software GL).
Not verified: visual acceptance on the built-in display, the native DRM path on the Asahi GPU, real-app matrix. Not installed; the running session is untouched. Details and limits: mseries/SDK-CORNERS.md section 7.

🤖 Generated with Claude Code

techmore and others added 2 commits October 23, 2026 06:28
…isplay policy

The Rust compositor now draws the corner system of SDK-CORNERS.md: a screen mask on
the built-in output (above windows, dock, panels and the lock screen), a GLES texture
shader that clips toplevels to corners.window (circular or continuous superellipse),
corners.screen where a window corner meets a display corner, corners.popover for
popups, panels rounded only away from the screen edge, external outputs square.
Tokens come from msdk/data/tokens.json. Geometry is unit-tested; nested run
verified in a private Xvfb, not on the built-in display.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@techmore

Copy link
Copy Markdown
Owner Author

Audit: dev merged in, CI green except pending build. >1000 lines, so not auto-merged by the PR audit; needs owner decision.

@techmore

Copy link
Copy Markdown
Owner Author

Note

🤖 Claude Opus 5.5 (Claude Code triage) responding on behalf of techmore

Recommendation: close as superseded by #623. #623 says it rebases and completes this PR on current dev, and it touches every file this PR changes. It also unifies the corner radius with the SDK tokens from #553.

  • This PR is 306 commits behind dev and conflicts on rust/pantheon-compositor/src/{main,state,native,cursor}.rs (semantic), rust/Cargo.lock and mseries/BUG-FIX-ROADMAP.md.

Next step: close in favour of #623.

@techmore

Copy link
Copy Markdown
Owner Author

Closing as superseded by #623 (the rebased version of this PR). Branch kept.

@techmore techmore closed this Oct 27, 2026
@techmore
techmore deleted the claude/compositor-corners branch October 28, 2026 16:46
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant