Skip to content

feat(native): ease the mix between two gradient stops - #51

Closed
mateo-m wants to merge 48 commits into
remorses:mainfrom
mateo-m:feat/eased-gradients
Closed

feat(native): ease the mix between two gradient stops#51
mateo-m wants to merge 48 commits into
remorses:mainfrom
mateo-m:feat/eased-gradients

Conversation

@mateo-m

@mateo-m mateo-m commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

Contains #50.

What this adds

An <easing-function> between two colour stops bends the mix, following the CSSWG proposal in csswg-drafts issue 1332: linear-gradient(to top, black, ease-in-out, transparent). ease, ease-in, ease-out, ease-in-out and cubic-bezier() are read.

On this branch the easing paints as the GPUI colour hint whose curve crosses one half at the same place. That matches the true curve at both ends and at the midpoint. The next branch bumps the zed pin and solves the curve per fragment in the shader, which replaces the approximation. An explicit hint in the css wins over the easing.

What I ran and saw

  • cargo test at this branch: 294 passed, 0 failed. Unit tests cover the half-point search and the explicit-hint priority.
  • The react suite at this branch: 415 passed, 0 failed, and that includes "eases the mix between two gradient stops".
  • The demo gradients page shows the eased fall-off next to the straight one.

What I did not verify

  • Windows and Linux. Every run above was on macOS. CI builds the other targets.

Moved from the fork

This PR was mateo-m#2.

The branch merged its parent branch after that one merged upstream main at 028f70a.

The history was rewritten once after the first push. It dropped the commits that reworded AGENTS.md, and the zed pin moved to the rewritten mateo-m/zed branches. No code changed in that rewrite.

On the merged head cargo check and tsc pass. The full suites ran at the bottom and at the top of the stack.

Stacked on #50. The diff here includes #50.

The zed submodule points at the mateo-m/zed fork until remorses/zed#5, #6 and #7 merge. Then a follow-up commit restores .gitmodules to remorses/zed on the gpuix branch and pins the merged commit. The same GPUI stack is also open upstream as zed-industries/zed#63771, #63772 and #63773.

mateo-m added 30 commits August 25, 2026 16:59
@mateo-m mateo-m closed this Sep 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant