diff --git a/packages/core/pattern.mjs b/packages/core/pattern.mjs index 4f0d35769..28d61ba8d 100644 --- a/packages/core/pattern.mjs +++ b/packages/core/pattern.mjs @@ -2774,6 +2774,29 @@ export function stepalt(...groups) { return result; } +export const stepearly = register( + 'stepearly', + function (t, pat) { + if (!pat._steps) { + return pat; + } + return pat._late(Fraction(t).div(pat._steps)); + }, + true, + false, + (x) => x.stepJoin(), +); + +export const steplate = register( + 'steplate', + function (t, pat) { + return pat._stepearly(Fraction(0).sub(t)); + }, + true, + false, + (x) => x.stepJoin(), +); + /** * *Experimental* *