# pixel-point/aval

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

Repository: https://github.com/pixel-point/aval
Canonical: https://ross.abutalabs.com/products/aval
Homepage: https://pixelpoint.io/aval
Language: TypeScript
License: MIT
License Family: permissive
Last push: 2026-08-04T15:21:45+00:00

## Health v2 (maintenance only)
Score: 56/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 96, release rhythm 35, longevity 3
- inputs: {"age_days": 51, "days_push": 29, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: no_releases, young
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1376, forks 80 (observed 2026-08-28T04:04:33.263685+00:00)

## What it is
AVAL is an open-source format and runtime for interactive, prerendered video on the web, bundling multiple codec renditions (AV1, VP9, H.265, H.264) with an embedded state machine for frame-accurate transitions. It decodes via WebCodecs and renders with WebGL2, supporting packed-alpha transparency and seekless looping.

## Use cases
- embed interactive prerendered animations on a website
- add transparent looping motion graphics to web pages
- build state-driven video transitions in the browser
- serve codec-appropriate video with automatic fallback ladder
- replace Lottie/GIF animations with frame-accurate video
- composite alpha-channel video without a WASM runtime

## When to choose
- you need frame-accurate, state-machine-driven interactive video in the browser
- you want packed-alpha transparency with prerendered motion
- you want deterministic codec selection across AV1/VP9/H.265/H.264
- you prefer WebCodecs/WebGL2 over WASM-based players

## When to avoid
- you need broad legacy browser support without WebCodecs
- you want the format to auto-manage fallback content - AVAL requires the app to own error handling
- you need live/streaming video rather than short prerendered loops
- you need a mature, widely adopted format - this is a technical preview

## Facets
- artifact type: library
- maturity: experimental
- function: video-processing, animation, graphics, state-management, web-framework
- domain: web-development, frontend, graphics, media
- platform: browser
- tags: interactive-video, webcodecs, webgl2, motion-graphics, codec-bundle, alpha-transparency, state-machine, prerendered-animation, video, web-server, nodejs, typescript

## Member repositories
- pixel-point/aval (main) score 56

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:04:33.263685+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T04:40:31.448269+00:00, confidence not recorded.
  - readme: https://github.com/pixel-point/aval (fetched 2026-08-28T04:04:33.263685+00:00, sha 6701e32dbcd9)
  - homepage: https://pixelpoint.io/aval (fetched 2026-08-29T11:57:00.072706+00:00, sha 235eaf370df4)
- Data as of 2026-08-30T08:39:29.467469+00:00.
