[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-93342":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":16,"stars7d":17,"stars30d":17,"stars90d":16,"forks30d":16,"starsTrendScore":18,"compositeScore":19,"rankGlobal":10,"rankLanguage":10,"license":20,"archived":21,"fork":21,"defaultBranch":22,"hasWiki":21,"hasPages":21,"topics":23,"createdAt":10,"pushedAt":10,"updatedAt":24,"readmeContent":25,"aiSummary":26,"trendingCount":16,"starSnapshotCount":16,"syncStatus":27,"lastSyncTime":28,"discoverSource":29},93342,"aval","pixel-point\u002Faval","pixel-point","A new open-source format for interactive video on the web, with a built-in state machine, frame-accurate transitions, and packed-alpha transparency.","https:\u002F\u002Fpixelpoint.io\u002Faval",null,"TypeScript",1229,66,3,1,0,272,35,83.48,"MIT License",false,"main",[],"2026-07-22 04:02:08","# AVAL\n\nAVAL is a web format and runtime for short prerendered motion with continuous\nloops, named application states, authored triggers, bounded transitions,\nreversals, and packed transparency.\n\nOne logical animation is published as a codec bundle. Each codec gets its own\nAVAL 1.0 file—AV1, VP9, H.265\u002FHEVC, or H.264—and the browser selects the first\nordered `\u003Csource>` with a supported rendition. The state graph and authored\ntiming are identical in every file.\n\n## Five-minute start\n\n```sh\nnpm install @pixel-point\u002Faval-element@1.0.0\nnpm install --save-dev @pixel-point\u002Faval-compiler@1.0.0\nnpx avl init my-motion\ncd my-motion\nnpm install\nnpm run dev\n```\n\nHere `npx avl` resolves the `avl` executable from the compiler package\ninstalled on the preceding line. The generated starter contains its RGBA\nframes, project 1.0 file, four ordered encoding policies, fallback markup, and\nwatch workflow.\n\nFor a normal build, the compiler publishes a directory rather than a single\noutput file:\n\n```sh\nnpx avl compile motion.json --out dist\u002Fmotion\n```\n\n```text\ndist\u002Fmotion\u002F\n  av1.avl\n  vp9.avl\n  h265.avl\n  h264.avl\n  build.json\n```\n\n## Browser integration\n\nUse literal direct-child sources in preference order. The exact codec strings\ncome from `build.json`; the values below are illustrative.\n\n```html\n\u003Caval-player width=\"320\" height=\"320\">\n  \u003Csource\n    src=\"\u002Fmotion\u002Fav1.avl\"\n    type='application\u002Fvnd.aval; codecs=\"av01.0.00M.10.0.110.01.01.01.0\"'\n  >\n  \u003Csource\n    src=\"\u002Fmotion\u002Fvp9.avl\"\n    type='application\u002Fvnd.aval; codecs=\"vp09.00.10.08.01.01.01.01.00\"'\n  >\n  \u003Csource\n    src=\"\u002Fmotion\u002Fh265.avl\"\n    type='application\u002Fvnd.aval; codecs=\"hvc1.1.6.L93.B0\"'\n  >\n  \u003Csource\n    src=\"\u002Fmotion\u002Fh264.avl\"\n    type='application\u002Fvnd.aval; codecs=\"avc1.640028\"'\n  >\n  \u003Cimg slot=\"fallback\" src=\"\u002Fmotion.png\" alt=\"\">\n\u003C\u002Faval-player>\n\n\u003Cscript type=\"module\" src=\"\u002Fmotion.js\">\u003C\u002Fscript>\n```\n\n```js\n\u002F\u002F motion.js, resolved by a package-aware web build\nimport { defineAvalElement } from \"@pixel-point\u002Faval-element\";\ndefineAvalElement();\n```\n\nThe `\u003Caval-player>` host does not carry `src`; URLs belong to each codec\ncandidate. If no candidate is supported, the author-owned fallback remains\nvisible. Applications can select any authored state without media seeking\ncode:\n\n```js\nconst motion = document.querySelector(\"aval-player\");\nawait motion?.setState(\"success\");\n```\n\n## Codec and compression model\n\nA project has an ordered, codec-major `encodings` array. Each codec owns its\nrendition ladder and constant-quality CRF settings. H.264 and H.265 expose\ncompression presets; VP9 exposes `deadline` and `cpuUsed`; AV1 exposes\n`bitDepth`, `cpuUsed`, `tiles`, `rowMt`, and `threads`. Slower modes such as\n`veryslow`, VP9 `best`, and AV1 `cpuUsed: 0` are supported.\n\nEncoding has no default wall-clock media timeout. Builds that need a deadline\ncan opt in with `--media-timeout-ms`. The compiler records sanitized tool\ninvocations, exact MIME codec strings, per-file hashes, and copyable source\nmarkup in `build.json`.\n\nThe compiler uses caller-installed FFmpeg and FFprobe with the requested\n`libx264`, `libx265`, `libvpx-vp9`, and `libaom-av1` encoders. It bundles and\ndownloads no native codec tool. Codec, patent, source-media, and distribution\nobligations remain the publisher's responsibility.\n\n## Packages\n\n- `@pixel-point\u002Faval-graph`: deterministic state and route engine.\n- `@pixel-point\u002Faval-format`: strict AVAL wire 1.0 parser, validator, and writer.\n- `@pixel-point\u002Faval-compiler`: project 1.0 authoring API and bundle compiler.\n- `@pixel-point\u002Faval-player-web`: bounded loader, codec probing, decoder\n  scheduling, renderer, and page resource management.\n- `@pixel-point\u002Faval-element`: markup-first public browser component.\n\nThe element package is SSR-safe. Its root exports explicit registration;\n`@pixel-point\u002Faval-element\u002Fauto` is the opt-in automatic-registration entry.\n\n## Develop and verify\n\nNode.js 22.12.0 or newer is required.\n\n```sh\nnpm ci --ignore-scripts\nnpm run typecheck\nnpm run test:unit\nnpm run build\nnpm run test:browser:reference\n```\n\nBrowser animation is capability-probed in authored source order. Unsupported\ncodec candidates fall through to the next `\u003Csource>`; when none can run, the\nelement keeps its optional host-owned fallback slot visible.\n\n## TODO\n\n- React dedicated component and API.  \n- More browser tests.  \n- Render some cool stuff in 3D for the demo instead of that AI-generated loop that I was not able to make look the way I wanted to actually showcase the uninterruptible animation.\n- Runtime bundle size optimization\n\n## Documentation\n\n- [Quick start](docs\u002Fquick-start.md)\n- [States and triggers](docs\u002Fstates-and-triggers.md)\n- [Element API](docs\u002Felement-api.md)\n- [Compiler](docs\u002Fcompiler.md)\n- [Project schema 1.0](docs\u002Fproject\u002F1.0.md)\n- [Wire format 1.0](docs\u002Fformat\u002F1.0.md)\n- [Preparing video and authoring states](docs\u002Fcompiler\u002Fauthoring-video-and-states.md)\n- [Network and integrity](docs\u002Fnetwork-and-integrity.md)\n- [Accessibility and reduced motion](docs\u002Faccessibility-and-motion.md)\n- [Performance and budgets](docs\u002Fperformance-and-budgets.md)\n- [Browser support](docs\u002Fbrowser-support.md)\n- [Versioning](docs\u002Fversioning.md)\n- [Security policy](SECURITY.md)\n","AVAL 是一种面向 Web 的开源交互式视频格式，专为短时长、可循环的预渲染动画设计。它内置状态机支持命名应用状态、 authored 触发器、帧级精确过渡、双向播放及打包 Alpha 透明度。通过多编解码器（AV1\u002FVP9\u002FH.265\u002FH.264）并行发布与浏览器自动协商机制，确保跨设备兼容性；开发者可通过 declarative HTML 标签和 JavaScript API 控制状态切换，无需手动 seek。适用于 UI 动效、加载指示器、交互动画组件等对精度、交互性与性能有较高要求的 Web 场景。",2,"2026-07-17 02:30:03","CREATED_QUERY"]