AVAL is a web-only format and runtime for short prerendered animation with continuous partial loops, user-defined states, authored triggers, and host-owned fallback markup.

Stars

775

7-day growth

No data

Forks

40

Open issues

1

License

MIT

Last updated

2026-07-15

Why it is worth attention

It introduces a deterministic state graph to replace video seeking, enabling efficient looped interactivity and SSR-safe embedding in modern web applications.

Who it is for

  • Web developers building interactive UI animations
  • Animation tooling and framework authors
  • Performance-conscious frontend engineers
  • Designers creating micro-interactions

Use cases

  • Implementing hover and focus transitions without manual seek logic
  • Building stateful loading, success, or error animations with minimal code
  • Serving accessible animations with fallback for reduced motion or unsupported codecs
  • Embedding deterministic animations inside SSR frameworks without layout shift

Strengths

  • Deterministic latest-wins state engine ensures predictable animation routes
  • SSR-safe custom element with explicit registration and no unwanted side effects
  • Capability-probed fallback to host-owned markup when WebCodecs/WebGL/AVC are unsupported
  • Continuous decoder timeline avoids seeking, offering seamless looping transitions

Considerations

  • Early technical preview – format and APIs may change without notice
  • Requires external FFmpeg/FFprobe and libx264 for compilation; no bundled codecs
  • Currently limited to AVC (H.264); H.265, AV1, VP9, and Safari support are planned but not yet available

README quick start

AVAL

AVAL is a web-only format and runtime for short prerendered animation with continuous partial loops, user-defined states, authored triggers, bounded transitions, packed transparency, and host-owned fallback markup.

The central idea is simple: encode independently decodable motion units and a small deterministic state graph in one .avl asset. The browser keeps a decoder timeline moving forward across a loop instead of seeking a video file at every seam. Hover, focus, application state, reversals, portals, finite bodies, and held states are graph routes rather than hand-timed media seeks.

It's an early technical preview, so things will be changing fast and will get into a more stable shape within the next couple of weeks.

Five-minute start

npm install @pixel-point/aval-element@1.0.0
npm install --save-dev @pixel-point/aval-compiler@1.0.0
npx avl init my-motion
cd my-motion
npm install
npm run dev

Here npx avl resolves the avl executable from the compiler package installed on the preceding line.

Open the printed loopback URL. That generated starter includes its frames, project, fallback markup, exact package dependencies, and watch workflow. The following is illustrative integration markup for a package-aware web build after you publish or copy a compiled asset into your application:




  

// motion.js, resolved by your package-aware web build
import { defineAvalElement } from "@pixel-point/aval-element";
defineAvalElement();

A one-state asset loops with no seeking code. Multi-state assets keep their own names and triggers; applications can set any authored state:

const motion = document.querySelector("aval-player");
await motion?.setState("success");

Local end-user playground

To check the consumer experience from this repository with a real interactive asset, run:

npm install
npm run playground

Open the printed loopback URL. The permanent example uses workspace packages, includes its compiled asset and fallback image, and does not require FFmpeg at runtime. Hover, focus, or use the toggle to move between its authored states.

The element package is SSR-safe. Its root exports an explicit definition helper; the opt-in @pixel-point/aval-element/auto entry is the only automatic registration side effect.

What is included

  • @pixel-point/aval-graph: deterministic lates

Description

A new open-source format for interactive video on the web, with a built-in state machine, frame-accurate transitions, and packed-alpha transparency.

Related repositories

Similar projects matched by category, topics, and programming language.

openclaw
Featured
openclaw GitHub avatar

openclaw

OpenClaw is a self-hosted personal AI assistant that runs on your own devices and integrates with over 25 messaging channels, featuring voice support, a live canvas, and multi-agent routing.

AI & Machine Learning
383,088
TanStack
Featured
TanStack GitHub avatar

router

TanStack Router is a type-safe, data-driven React router with built-in caching, prefetching, and nested layouts, while TanStack Start extends it into a full-stack SSR framework.

Web Development
14,802
mereyabdenbekuly-ctrl
Featured
mereyabdenbekuly-ctrl GitHub avatar

clodex-ide

Clodex is an open-source, local-first agentic IDE that combines persistent AI tasks, code, terminal, browser, Git, models, memory, and governed execution in one Electron workspace, currently in technical preview.

Developer ToolsDesktop Apps
813