Thanks Swarup for investigating this, it's exciting
The DevTools bug you pointed to ( 
<https://bugzilla.mozilla.org/show_bug.cgi?id=1841237>
https://bugzilla.mozilla.org/show_bug.cgi?id=1841239) covers adding an 
editor for `path()`, so sebo filed another one that will be specific to 
`shape()`: https://bugzilla.mozilla.org/show_bug.cgi?id=2006301

On Thursday, December 11, 2025 at 9:21:00 PM UTC+1 Swarup Ukil wrote:

> *Summary*:
>
> The CSS shape() function allows authors to define responsive custom shapes 
> for CSS properties that accept basic-shapes (i.e. clip-path and 
> offset-path). Notably, shape() is similar to path(); per spec, shape() can 
> be thought of as a superset to path(), where any path() can be converted 
> into a shape(). Particularly, the shape() function uses a set of commands 
> that correspond to equivalent path() commands. For example the following 
> path() and shape() commands are equivalent:
>
>    - 
>    
>    path("M 15 15 H 25 V -15 Z")
>    - 
>    
>    shape(from 15px 15px, hline to 25px, vline to -15px, close)
>    
> The merit of shape() is that while path() reuses SVG path syntax to 
> describe a wide range of arbitrary shapes, it equally inherits the 
> limitations of SVG’s such as only allowing the px unit. Comparatively, 
> shape() can achieve similar results while utilizing more standard CSS 
> syntax, allowing the full range of CSS functionality, such as additional 
> units (i.e. % or vw) and math functions. Example of additional robustness 
> shape() provides over path(): 
> https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Properties/clip-path#shape_versus_path_functions
> .
>
> *The meta bug shape()*: 
> https://bugzilla.mozilla.org/show_bug.cgi?id=1910328
> *Bug to turn on by default*: 
> https://bugzilla.mozilla.org/show_bug.cgi?id=1982941
> *Specification*: https://drafts.csswg.org/css-shapes-1/#shape-function
>
> *Platform coverage*: All.
> *Preference*: 
> <https://searchfox.org/mozilla-central/source/modules/libpref/init/StaticPrefList.yaml#8340>
> layout.css.basic-shape-shape.enabled 
> <https://searchfox.org/firefox-main/source/modules/libpref/init/StaticPrefList.yaml#10103>,
>  
> enabled by default on Nightly.
> *DevTools bug*: <https://bugzilla.mozilla.org/show_bug.cgi?id=1841237>
> https://bugzilla.mozilla.org/show_bug.cgi?id=1841239
> *Link to standards-positions discussion*: 
> https://github.com/mozilla/standards-positions/issues/1153
>
> *Other browsers*:
>
>    - 
>    
>    Blink 135 – shipped: 
>    
> https://groups.google.com/a/chromium.org/g/blink-dev/c/AliA6N9kaxo/m/YIlLj-0iAgAJ
>     
>    - 
>    
>    WebKit 18.4 – shipped: ​​
>    https://webkit.org/blog/16574/webkit-features-in-safari-18-4/
>    
> *web-platform-tests*: motion and css-masking use shape():
>
>    1. 
>    
>    css/css-shapes/shape-functions/shape-function-*.html
>    2. 
>    
>    css/css-masking/clip-path/clip-path-shape-[001-011].html
>    3. 
>    
>    
>    
> css/css-masking/animations/clip-path-interpolation-shape-control-points.html
>    4. 
>    
>    css/css-masking/clip-path/clip-path-shape-hline-vline-keywords.html
>    5. 
>    
>    css/css-masking/clip-path/animations/clip-path-shape-*.html
>    6. 
>    
>    motion/animation/offset-path-interpolation-008.html
>    7. 
>    
>    css/motion/parsing/offset-path-shape-*.html
>    
> As of firefox 148, we intend to turn shape() on by default on all 
> platforms. It has been developed behind the 
> layout.css.basic-shape-shape.enabled 
> <https://searchfox.org/firefox-main/source/modules/libpref/init/StaticPrefList.yaml#10103>
>  
> preference. Status in other browsers mentioned above.
> Best,
> Swarup

-- 
You received this message because you are subscribed to the Google Groups 
"[email protected]" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion visit 
https://groups.google.com/a/mozilla.org/d/msgid/dev-platform/6d4e9434-7a42-4a63-b33c-24439cc11a94n%40mozilla.org.

Reply via email to