Ok. Please update this thread once that's done. On Thu, Oct 29, 2026 at 5:28 AM 'Steve Becker' via blink-dev < [email protected]> wrote:
> > Out of curiosity, how are the ellptical arc path commands converted to > M, L, C and Z? The spec doesn't say anything about the necessary > approximation. > > I filed a SVG spec issue <https://github.com/w3c/svgwg/issues/1227>for > this omission. I'll follow up with a spec PR soon. The WPTs cover path > normalization > <https://wpt.fyi/results/svg/path/interfaces/getPathData-normalize.html?label=experimental&label=master&aligned>, > which both Firefox and Chromium pass. In Chromium, > SVGPathNormalizer::EmitSegment() > <https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/core/svg/svg_path_parser.cc;drc=689c4fe9f23645596a2c5cfba414cad67fd5d7c9;l=145> > decomposes the arc to a cubic bezier using this note in the SVG spec > <https://www.w3.org/TR/SVG/implnote.html#ArcConversionEndpointToCenter>. > > On Monday, October 26, 2026 at 3:54:53 PM UTC-7 Stephen Chenney wrote: > >> On Wed, Oct 21, 2026 at 12:43 PM Chromestatus < >> [email protected]> wrote: >> >>> *Contact emails* >>> [email protected], [email protected] >>> >>> *Explainer* >>> >>> https://github.com/MicrosoftEdge/MSEdgeExplainers/blob/main/SVG/SVGPathDataAPI/explainer.md >>> >>> *Specification* >>> https://w3c.github.io/svgwg/specs/paths/#InterfaceSVGPathData >>> >>> *Design docs* >>> >>> >>> https://docs.google.com/document/d/1uCVUqYGKgsCCu7LEtEdO3Yuea-MT-I2XsU6Eoe3mlQI/edit?usp=sharing >>> >>> *Summary* >>> Adds structured JavaScript access to SVG path data through three methods >>> on SVGPathElement: getPathData() reads the path as an array of {type, >>> values} objects containing each segment's command and numeric parameters. >>> setPathData() updates the path from such an array, getPathSegmentAtLength() >>> returns the segment at a specified distance along the path. These methods >>> let developers inspect, edit, and construct paths without manually parsing >>> or serializing the d attribute. The optional getPathData({normalize: true}) >>> setting simplifies path data to absolute move, line, cubic Bézier, and >>> close commands (M, L, C, and Z). All three APIs operate on the base value >>> of the d attribute, not CSS-computed or animated values. >> >> >> Out of curiosity, how are the ellptical arc path commands converted to M, >> L, C and Z? The spec doesn't say anything about the necessary approximation. >> >> >>> *Blink component* >>> Blink>SVG >>> <https://issues.chromium.org/issues?q=customfield1222907:%22Blink%3ESVG%22> >>> >>> *Web Feature ID* >>> *No information provided* >>> >>> *Motivation* >>> In Chromium, inspecting or modifying individual SVG path segments >>> requires parsing and serializing the d attribute string, often using >>> third-party libraries. This makes tasks such as path animation, >>> hit-testing, and programmatic path construction unnecessarily complex and >>> error-prone. The previous SVGPathSegList API was removed in Chromium 48 >>> because of its complex live mutation model, numerous factory methods, and >>> underspecified edge cases. Developers have since relied on polyfills to >>> restore structured access. Implementing the SVG Working Group’s replacement >>> API provides a simpler, standardized way to read and modify path segments >>> without custom string parsing or polyfills. >>> >>> *Initial public proposal* >>> *No information provided* >>> >>> *TAG review* >>> https://github.com/w3ctag/design-reviews/issues/1292 >>> >>> *TAG review status* >>> Pending >>> >>> *Goals for experimentation* >>> >>> >>> *Risks* >>> >>> >>> *Interoperability and Compatibility* >>> Low risk. The feature adds new methods to SVGPathElement that developers >>> can feature-detect before use. Representatives from Chromium, Firefox, >>> WebKit, and the web developer community contributed to the API design >>> through the SVG Working Group. >>> >>> *Gecko*: Shipped/Shipping ( >>> https://bugzilla.mozilla.org/show_bug.cgi?id=1934525) Firefox 137 >>> shipped the feature in April 2025. >>> >>> *WebKit*: No signal ( >>> https://github.com/WebKit/standards-positions/issues/731) >>> >>> *Web developers*: Positive (https://issues.chromium.org/issues/40441025) 45 >>> users upvoted this Chromium issue. A widely used polyfill exists: >>> https://github.com/jarek-foksa/path-data-polyfill >>> >>> *Other signals*: >>> >>> *WebView application risks* >>> >>> Does this intent deprecate or change behavior of existing APIs, such >>> that it has potentially high risk for Android WebView-based applications? >>> None. The feature adds new methods to SVGPathElement that developers can >>> feature-detect before use. >>> >>> >>> *Debuggability* >>> *No information provided* >>> >>> *Will this feature be supported on all six Blink platforms (Windows, >>> Mac, Linux, ChromeOS, Android, and Android WebView)?* >>> Yes >>> >>> *Is this feature fully tested by web-platform-tests >>> <https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>?* >>> Yes >>> >>> https://wpt.fyi/results/svg/path/interfaces?label=experimental&label=master&aligned >>> >>> *Flag name on about://flags* >>> *No information provided* >>> >>> *Finch feature name* >>> SVGPathDataAPI >>> >>> *Rollout plan* >>> Will ship enabled for all users >>> >>> *Requires code in //chrome?* >>> False >>> >>> *Tracking bug* >>> https://issues.chromium.org/issues/40441025 >>> >>> *Measurement* >>> Use counters include: - SVGPathElementGetPathData - >>> SVGPathElementSetPathData -SVGPathElementGetPathSegmentAtLength >>> >>> *Availability expectation* >>> The feature is available in Chromium and Firefox for the foreseeable >>> future. Microsoft proposed this feature as a focus area for Interop 2027: >>> https://github.com/web-platform-tests/interop/issues/1469, which if >>> accepted, could help extend support to additional browsers. >>> >>> *Adoption expectation* >>> The feature replaces a popular polyfill that developers use today with >>> thousands of downloads per week. The Chromium issue has 45 votes. >>> Developers have made inquiries, asking when it will become available. >>> >>> *Adoption plan* >>> MDN already documents this feature. Given the existing developer >>> interest, the feature's adoption should grow organically. >>> >>> *Non-OSS dependencies* >>> >>> Does the feature depend on any code or APIs outside the Chromium open >>> source repository and its open-source dependencies to function? >>> None. >>> >>> *Estimated milestones* >>> Shipping on desktop 159 >>> Shipping on Android 159 >>> Shipping on WebView 159 >>> >>> *Anticipated spec changes* >>> >>> Open questions about a feature may be a source of future web compat or >>> interop issues. Please list open issues (e.g. links to known github issues >>> in the project for the feature specification) whose resolution may >>> introduce web compat/interop risk (e.g., changing to naming or structure of >>> the API in a non-backward-compatible way). >>> None. Representatives from Chromium, Firefox, WebKit, and the web >>> developer community contributed to the API design through the W3C SVG WG. >>> >>> *Link to entry on the Chrome Platform Status* >>> https://chromestatus.com/feature/4787972240179200?gate=4660848254648320 >>> >>> *Links to previous Intent discussions* >>> Intent to Prototype: >>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/KUXP153MB161031AEB43220B1ADB9B41AC1112%40KUXP153MB1610.APCP153.PROD.OUTLOOK.COM >>> >>> >>> This intent message was generated by Chrome Platform Status >>> <https://chromestatus.com>. >>> >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "blink-dev" 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/chromium.org/d/msgid/blink-dev/6ad8eba6.a6e82b8f.de7e0.01e9.GAE%40google.com >>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/6ad8eba6.a6e82b8f.de7e0.01e9.GAE%40google.com?utm_medium=email&utm_source=footer> >>> . >>> >> -- > You received this message because you are subscribed to the Google Groups > "blink-dev" 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/chromium.org/d/msgid/blink-dev/5f8b55e3-9671-4f54-b56d-8ebe4981eb94n%40chromium.org > <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/5f8b55e3-9671-4f54-b56d-8ebe4981eb94n%40chromium.org?utm_medium=email&utm_source=footer> > . > -- You received this message because you are subscribed to the Google Groups "blink-dev" 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/chromium.org/d/msgid/blink-dev/CAOMQ%2Bw9pp19wfPdgLQzcNZYcLJa%2Ba%3DPGU3cNu8vyNVgddrg4Sg%40mail.gmail.com.
