Skip to content

Conversation

@jamesnw
Copy link
Collaborator

@jamesnw jamesnw commented Oct 8, 2024

This adds an SVG catchall. It started similar to the JavaScript initial support feature- #1670, but ended up being most of the feature set, as SVG has not had much active implementation recently. The spec leads the implementation significantly, which has led to lots of partial implementation.

I also added well as a context-fill-stroke for the only newish feature that seemed to warrant a feature.

I also added a draft with ~175 SVG-related keys that are deprecated.

@github-actions github-actions bot added the feature definition Creating or defining new features or groups of features. label Oct 8, 2024
@autonome
Copy link
Contributor

autonome commented Oct 9, 2024

Do you plan break this up into smaller features or leave as one big one?

@jamesnw
Copy link
Collaborator Author

jamesnw commented Oct 9, 2024

Do you plan break this up into smaller features or leave as one big one?

My plan is to leave as one big one, and as the need arises, break off smaller pieces. For instance, if SVG starts getting attention from implementers and new features start getting added, we may want to split things out.

@ddbeck
Copy link
Collaborator

ddbeck commented Oct 9, 2024

I couldn't figure out why there was no headline status in svg.dist.yml (no comment with ⬇️). For some reason, this feature is not producing any status at all and is also not failing the build (this should fail the schema validation). I'm investigating.

@jamesnw
Copy link
Collaborator Author

jamesnw commented Oct 9, 2024

I couldn't figure out why there was no headline status in svg.dist.yml (no comment with ⬇️). For some reason, this feature is not producing any status at all and is also not failing the build (this should fail the schema validation). I'm investigating.

I had status.compat_features set instead of status.compute_from.

Copy link
Collaborator

@ddbeck ddbeck left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Two suggestions here. Provisionally approved, though another round of review might be needed depending on your take on my question about a caniuse correspondence.

features/svg.yml Outdated
Comment on lines 533 to 631
- svg.elements.feBlend
- svg.elements.feBlend.in
- svg.elements.feBlend.in2
- svg.elements.feBlend.mode
- svg.elements.feColorMatrix
- svg.elements.feColorMatrix.in
- svg.elements.feColorMatrix.type
- svg.elements.feColorMatrix.values
- svg.elements.feComponentTransfer
- svg.elements.feComponentTransfer.in
- svg.elements.feComposite
- svg.elements.feComposite.in
- svg.elements.feComposite.in2
- svg.elements.feComposite.k1
- svg.elements.feComposite.k2
- svg.elements.feComposite.k3
- svg.elements.feComposite.k4
- svg.elements.feComposite.operator
- svg.elements.feComposite.operator.lighter_value
- svg.elements.feConvolveMatrix
- svg.elements.feConvolveMatrix.bias
- svg.elements.feConvolveMatrix.divisor
- svg.elements.feConvolveMatrix.edgeMode
- svg.elements.feConvolveMatrix.in
- svg.elements.feConvolveMatrix.kernelMatrix
- svg.elements.feConvolveMatrix.kernelUnitLength
- svg.elements.feConvolveMatrix.order
- svg.elements.feConvolveMatrix.preserveAlpha
- svg.elements.feConvolveMatrix.targetX
- svg.elements.feConvolveMatrix.targetY
- svg.elements.feDiffuseLighting
- svg.elements.feDiffuseLighting.diffuseConstant
- svg.elements.feDiffuseLighting.in
- svg.elements.feDiffuseLighting.kernelUnitLength
- svg.elements.feDiffuseLighting.surfaceScale
- svg.elements.feDisplacementMap
- svg.elements.feDisplacementMap.in
- svg.elements.feDisplacementMap.in2
- svg.elements.feDisplacementMap.scale
- svg.elements.feDisplacementMap.xChannelSelector
- svg.elements.feDisplacementMap.yChannelSelector
- svg.elements.feDistantLight
- svg.elements.feDistantLight.azimuth
- svg.elements.feDistantLight.elevation
- svg.elements.feDropShadow
- svg.elements.feDropShadow.dx
- svg.elements.feDropShadow.dy
- svg.elements.feDropShadow.in
- svg.elements.feDropShadow.stdDeviation
- svg.elements.feFlood
- svg.elements.feFlood.flood-color
- svg.elements.feFlood.flood-opacity
- svg.elements.feFuncA
- svg.elements.feFuncB
- svg.elements.feFuncG
- svg.elements.feFuncR
- svg.elements.feGaussianBlur
- svg.elements.feGaussianBlur.in
- svg.elements.feGaussianBlur.stdDeviation
- svg.elements.feImage
- svg.elements.feImage.href
- svg.elements.feImage.preserveAspectRatio
- svg.elements.feMerge
- svg.elements.feMergeNode
- svg.elements.feMergeNode.in
- svg.elements.feMorphology
- svg.elements.feMorphology.in
- svg.elements.feMorphology.operator
- svg.elements.feMorphology.radius
- svg.elements.feOffset
- svg.elements.feOffset.dx
- svg.elements.feOffset.dy
- svg.elements.feOffset.in
- svg.elements.fePointLight
- svg.elements.fePointLight.x
- svg.elements.fePointLight.y
- svg.elements.fePointLight.z
- svg.elements.feSpecularLighting
- svg.elements.feSpecularLighting.in
- svg.elements.feSpecularLighting.specularConstant
- svg.elements.feSpecularLighting.specularExponent
- svg.elements.feSpecularLighting.surfaceScale
- svg.elements.feSpotLight
- svg.elements.feSpotLight.limitingConeAngle
- svg.elements.feSpotLight.pointsAtX
- svg.elements.feSpotLight.pointsAtY
- svg.elements.feSpotLight.pointsAtZ
- svg.elements.feSpotLight.specularExponent
- svg.elements.feSpotLight.x
- svg.elements.feSpotLight.y
- svg.elements.feSpotLight.z
- svg.elements.feTile
- svg.elements.feTile.in
- svg.elements.feTurbulence
- svg.elements.feTurbulence.baseFrequency
- svg.elements.feTurbulence.numOctaves
- svg.elements.feTurbulence.seed
- svg.elements.feTurbulence.stitchTiles
- svg.elements.feTurbulence.type
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Caniuse has a feature SVG filters https://caniuse.com/svg-filters (these lines plus the corresponding API stuff above).

It's a fairly old feature on caniuse (it was added no later than 2012), so if you think it's sufficiently historic to ignore for now that's fine, but I wanted to raise the possibility now, just in case.

Copy link
Collaborator Author

@jamesnw jamesnw Oct 15, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I like this idea, and seeing as it comprises 1/3rd of the keys, it seems like a reasonable split.

@jamesnw jamesnw requested a review from ddbeck October 15, 2024 14:49
Copy link
Collaborator

@ddbeck ddbeck left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's go! 🚀

@ddbeck ddbeck merged commit fd4b467 into web-platform-dx:main Oct 15, 2024
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feature definition Creating or defining new features or groups of features.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants