remotion-to-hyperframes: Easing.cubic is mapped to power3 (quartic); cubic is power2
维护者通常 1 天内回复
评估
- 难度
- 1/5
- 预计耗时
- 1 小时以内
- 新手友好度
- 88/100
- Issue 类型
- 文档
- 描述清晰度
- 描述清楚
- 活跃度
- 活跃
- 技术栈
- typescript
调研方向
阅读 skills/remotion-to-hyperframes/references/timing.md,尤其是第 92–94 行以及第 135 行和第 144 行的详细示例。按照 issue 中的说明,修正三次缓动函数的映射以及 poly(N) 的指数映射;完成标准是表格和示例始终与所述 GSAP 多项式一致。
由索引模型根据 Issue 内容生成。
描述
Skill: skills/remotion-to-hyperframes/references/timing.md
The easing table maps Remotion's cubic easing to GSAP power3. GSAP's powerN eases have exponent N+1:
| GSAP ease | polynomial |
|---|---|
power1 |
quad |
power2 |
cubic |
power3 |
quart |
power4 |
quint |
So a ported Easing.out(Easing.cubic) runs as a quartic ease-out.
Affected lines (current main):
- L92:
Easing.out(Easing.cubic)→ease: "power3.out". It should bepower2.out. - L93:
Easing.inOut(Easing.cubic)→ease: "power3.inOut". It should bepower2.inOut. - L94:
Easing.out(Easing.poly(N))→power<N>.out. It should bepower<N-1>.out(poly 2 = quad →power1, 3 = cubic →power2, 4 = quart →power3, 5 = quint →power4). - L135 / L144: the worked example uses
power3.outand says it "matches1 - (1-t)^3exactly". That curve ispower2.out.
Check with GSAP 3.15.0 at t = 0.5:
| ease | value at t = 0.5 |
|---|---|
power2.out |
0.875000 |
power3.out |
0.937500 |
cubic 1 - (1-t)^3 |
0.875000 |
quart 1 - (1-t)^4 |
0.937500 |
Impact we saw: a counter tween ported with power3.out led its cubic original by up to about 0.27 s over a 2.6 s tween. An SSIM check per frame mostly doesn't catch it, because the error is timing: every frame looks plausible, it is just early.
Suggested fix:
- Change the two cubic rows and the worked example to
power2. - Change the
poly(N)row topower<N-1>.
(L72, overshootClamping → power3.out, is marked "not validated" and may be a deliberate approximation, so I've left it out.)
We found this while testing motion libraries for frame-exact rendering. HyperFrames itself was frame-exact in every test we ran. Thanks for building it.
- 主要语言
- TypeScript
- 星标
- 54.1k
- 派生
- 4.9k
- 平均合并
- 8 小时 39 分钟
- 30 天内合并 PR
- 736
环境准备
这个项目没有提供开发容器、Dockerfile 或贡献指南,环境需要你自己搭建:先看它的 README,通用步骤见我们的新手贡献指南。
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
heygen-com/hyperframes 的其他 Issue
-
`hyperframes docs examples` lists templates that don't exist可能已有人在做 @Muhtasim-Munif-Fahim 于 3 天前认领。 未关闭bug difficulty/easy help wanted triage/ready
难度 2/5 1-3 小时 新手友好度 82/100
heygen-com/hyperframes#5393 · 1 条评论 ·
维护者通常 1 天内回复
-
lint: add tests for three caption rules that have none可能已有人在做 关联的 PR 仍在进行中或已合并。 未关闭difficulty/easy enhancement help wanted triage/ready
难度 2/5 1-3 小时 新手友好度 85/100
heygen-com/hyperframes#5388 · 1 条评论 ·
维护者通常 1 天内回复
-
gcp-cloud-run image pins Chrome 148, which drops `background-clip: text` glyphs inside layered children; the CLI's Chrome 152 paints them可能已有人在做 @user-github-me 于 5 天前认领。 未关闭bug difficulty/medium triage/ready
难度 1/5 1 小时以内 新手友好度 84/100
heygen-com/hyperframes#5117 ·
维护者通常 1 天内回复
-
Docs: clarify that "Enable auto-update" is only available in the Claude Code terminal (CLI) /plugin UI可能已有人在做 @rumi7911 于 7 天前认领。 未关闭difficulty/easy documentation triage/ready
难度 2/5 1-3 小时 新手友好度 85/100
heygen-com/hyperframes#5027 ·
维护者通常 1 天内回复
-
fix(producer): propagate useGpu to HDR layered streaming encoder可能已有人在做 @Monster-GM 于 9 天前认领。 未关闭bug difficulty/easy triage/ready
难度 2/5 1-3 小时 新手友好度 87/100
heygen-com/hyperframes#5002 ·
维护者通常 1 天内回复
查看 heygen-com/hyperframes 的全部 Issue
相似的 Issue
-
Contrib indemnité de départ à la retraite : faire le pont avec le simulateur sur la page générique未关闭P1
难度 2/5 1-3 小时 新手友好度 62/100
SocialGouv/code-du-travail-numerique#7561 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 85/100
kubernetes-sigs/headlamp#7950 ·
维护者通常 3 天内回复
-
README for cli可能已有人在做 @Janvi-kapoor 今天认领。 未关闭OSCI'26
难度 2/5 1-3 小时 新手友好度 70/100
GauravKarakoti/SecureFlow#1308 · 1 条评论 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 74/100
维护者通常 1 天内回复
-
documentation
难度 2/5 1-3 小时 新手友好度 62/100
vitest-dev/vitest#11577 ·
维护者通常 1 天内回复