Skip to content

Render CSS path() clip geometry - #509

Merged
wieslawsoltes merged 1 commit into
mainfrom
feature/css-path-clip-504
Sep 18, 2026
Merged

wieslawsoltes merged 1 commit into
mainfrom
feature/css-path-clip-504

Conversation

@wieslawsoltes

Copy link
Copy Markdown
Collaborator

Problem

Unchanged Code OSS uses clip-path: path(...), but WebScene retained scenes only projected inset, circle, ellipse, and polygon geometry. Valid path clips therefore reached computed style without affecting pixels.

Change

  • parse one bounded quoted SVG path with optional evenodd/nonzero
  • retain border-box-relative coordinates and fill rule in the existing kind-12 ABI
  • project the same command through Skia and Flutter
  • compare path text plus visual metadata during scene equality
  • fail closed on malformed/unparseable paths
  • add native, Skia, and browser-contract regressions and explicit release gates

This is the provider slice of #504. Same-document url(#clip) resolution remains the consumer slice, so #504 stays open.

Validation

git diff --check passed. The authored native/backend/browser tests were not executed under the current implementation-throughput directive; the skipped gates are recorded in docs/validation/css-path-clip-20260919.md.

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