[css-values] Clarification on what the second `<easing-function>` in first clause in calc-interpolate do?
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 72/100
- Issue type
- Documentation
- Clarity
- Mostly clear
- Activity status
- Quiet
- Tech stack
- css
- Domain
- documentation
Research direction
Read the calc-interpolate() grammar and the CSS Values 5 sections on “easing-function”, “by easing-function”, and “Defining the Interpolation Map” linked in the issue. Compare the two first-clause productions with their documented roles. Done means the specification clearly identifies the second easing-function, potentially using distinct aliases as proposed.
Written by the indexing model from the issue text.
Description
The calc-interpolate() grammar is currently:
<calc-interpolate()> = calc-interpolate(
[
<progress-source> && [ by <easing-function> ]?
&& <easing-function>?
] ,
<input-position>{1,2} : <calc-sum> ,
[ <easing-function>? , <input-position>{1,2} : <calc-sum> ]#? )
In that first clause:
[
<progress-source> && [ by <easing-function> ]?
&& <easing-function>?
] ,
There are two <easing-function> productions.
The first one, with a by prefix, is defined in 7.1.1.1. Easing Interpolation Progress: the by <easing-function> argument , and "It applies the specified easing function to the “timeline” of progress as a whole by modifying the interpolation progress before it’s applied to".
The second one, however, I am not 100% clear on.
I think it is the <easing-function> that https://drafts.csswg.org/css-values-5/#valdef-calc-interpolate-easing-function describes as "appearing in the first argument" and therefore "specifies the “default” easing function to be used between each stop.", but since it that is the "7.1.2. Defining the Interpolation Map" I am not completely confident.
This could maybe be made a bit clearer if the various arguments were aliased. Perhaps something like:
<timeline-easing-function> = <easing-function>
<default-easing-function> = <easing-function>
<surrounding-stops-easing-function> = <easing-function>
<calc-interpolate()> = calc-interpolate(
[
<progress-source> && [ by <timeline-easing-function> ]?
&& <default-easing-function>?
] ,
<input-position>{1,2} : <calc-sum> ,
[ <surrounding-stops-easing-function>? , <input-position>{1,2} : <calc-sum> ]#? )
- Dominant language
- Bikeshed
- Stars
- 4.9k
- Forks
- 816
- Avg merge
- 2d 18h
- Merged PRs (30d)
- 24
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from w3c/csswg-drafts
-
Agenda+ css-sizing-4 css-values-5
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
w3c/csswg-drafts#14502 · 1 reaction ·
-
css-values-5 editorial Needs Edits
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
w3c/csswg-drafts#14498 · 2 comments ·
-
css-overflow-4 topic: line-clamp
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
w3c/csswg-drafts#14485 · 1 comment ·
-
Administrative Tracker css-values-4
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
w3c/csswg-drafts#14482 · 4 comments · 1 reaction ·
-
css-values-5 Needs Edits
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
w3c/csswg-drafts#14466 ·
All issues in w3c/csswg-drafts
Similar issues
-
user-reported
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
Kong/developer.konghq.com#7316 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
HarperFast/skills#96 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
infinispan/infinispan#18150 ·
-
bug triage:deciding
Difficulty 1/5 Under an hour Newbie friendliness 88/100
open-telemetry/otel-arrow#4132 ·
-
Ecosystem: ClawMetry — the Qwen Code reader is now free and open source (follow-up to #9294 / #9338) Opencategory/integration priority/P3 scope/documentation status/ready-for-human type/feature-request
Difficulty 1/5 Under an hour Newbie friendliness 84/100