From hyperframes
Adapts Web Animations API for HyperFrames to enable seekable element.animate() motions, currentTime seeking, document.getAnimations(), and deterministic native browser animations.
npx claudepluginhub ilderaj/agent-plugin-marketplace --plugin codex--hyperframesThis skill uses the workspace's default tool permissions.
HyperFrames can seek Web Animations API animations through its `waapi` runtime adapter. WAAPI is useful when you want native browser keyframes with JavaScript-created timing and no GSAP dependency.
Provides CSS animation adapter patterns for HyperFrames, enabling deterministic seeking of keyframes, animation-delay timing, fill-mode, play-state, and CSS-only motion during preview and rendering.
Provides GSAP animation reference tailored for HyperFrames, covering core tweens (to/from/fromTo/set), easing, stagger, defaults, timelines (positioning, labels, nesting, playback), and performance (transforms, will-change, quickTo). Activate when writing GSAP in HyperFrames.
Creates complex, high-performance web animations using Anime.js for DOM, CSS, SVGs, timelines, staggering, and interactive UI elements like landing pages and kinetic effects.
Share bugs, ideas, or general feedback.
HyperFrames can seek Web Animations API animations through its waapi runtime adapter. WAAPI is useful when you want native browser keyframes with JavaScript-created timing and no GSAP dependency.
element.animate(...) with finite duration and iterations.fill: "both" so seeked states persist.The adapter calls document.getAnimations(), sets each animation's currentTime to HyperFrames time in milliseconds, then pauses it.
<div id="orb" class="clip orb" data-start="2" data-duration="3" data-track-index="2"></div>
<script>
const orb = document.getElementById("orb");
const animation = orb.animate(
[
{ transform: "translate3d(-160px, 0, 0) scale(0.8)", opacity: 0 },
{ transform: "translate3d(0, 0, 0) scale(1)", opacity: 1, offset: 0.35 },
{ transform: "translate3d(120px, 0, 0) scale(1.08)", opacity: 1 },
],
{
duration: 3000,
delay: 2000,
easing: "cubic-bezier(0.2, 0, 0, 1)",
fill: "both",
iterations: 1,
},
);
animation.pause();
</script>
document.querySelectorAll(".token").forEach((token, index) => {
const animation = token.animate(
[
{ transform: "translateY(24px)", opacity: 0 },
{ transform: "translateY(0)", opacity: 1 },
],
{
duration: 620,
delay: index * 80,
easing: "cubic-bezier(0.2, 0, 0, 1)",
fill: "both",
iterations: 1,
},
);
animation.pause();
});
iterations.animation.finished to mutate render-critical DOM.requestAnimationFrame, timers, or performance.now().delay or create the animation on an element whose visibility is controlled by HyperFrames timing.After editing a WAAPI composition:
npx hyperframes lint
npx hyperframes validate
packages/core/src/runtime/adapters/waapi.ts.Animation.currentTime: https://developer.mozilla.org/en-US/docs/Web/API/Animation/currentTime