Skip to content

Current status

Repository version: 1.2.0. This is the first stable 1.2 release. The 13 @aelionsdk/* packages publish under the npm latest tag. The npm badge and registry are authoritative for what is currently published.

This release keeps the rc.2–rc.5 work and additionally:

  • incremental compile reuses already-frozen IR subtrees and caches track fingerprints by object identity;
  • preview bypass hands the decoded VideoFrame over uncopied (RenderIrFrameResult.bitmap is ImageBitmap | VideoFrame; read width/height from the result);
  • PCM window-cache hits skip decoder and operation admission;
  • audio PCM decode sessions are reused across sequential fills;
  • pause disconnects the worklet without flushing the ring;
  • the preview clears after the last visual clip ends;
  • items that own markers can be split.

This candidate keeps the rc.2–rc.4 work and additionally:

  • pooled WebGL2 render targets and one context across render-scale changes;
  • preview compositor bypass when the decoded source already matches the frame;
  • preview maxDimension downscale at the provider boundary (export stays full resolution);
  • shared LRU raster cache for text, generators and shapes.

This candidate keeps the rc.2 remediations and rc.3 preview-runtime fixes, and additionally:

  • text/caption background plates, with inflated ink boxes and raster targets;
  • optional transient media requests so thumbnails and filmstrips bypass the persistent playback decoder;
  • interactive commits that admit caller-supplied values at the transaction boundary instead of re-cloning the whole Project;
  • playback that follows the clock, skips recoverable queue-full errors, and still rejects a superseded or disposed seek.

This candidate keeps the rc.2 contract remediations and additionally:

  • pixel-space Y-up preview transforms, with a dedicated text visual shader;
  • still images using a synthetic SampleIndex instead of the container indexer;
  • Vite 7 worker/worklet URLs that must not be rewritten to /@fs/@aelion…;
  • historyGroup forwarded into command edit options;
  • Aelion Studio moved into its own nested repository.

The rc.2 source fixes issues found in the post-publication audit of 1.1/1.2:

  • distinct immutable Project v1.0 and v1.2 schema identities with safe legacy migration;
  • image-sequence Render IR, preview and export execution;
  • atomic and duration-preserving subtitle import/export checks;
  • correct Bézier endpoint-handle semantics and signed rate envelopes;
  • bounded whole-buffer proxies plus a streaming/range-reader encoder contract;
  • honest audio-energy analysis and codec capability-descriptor naming;
  • release-synchronized device-matrix validation in regular CI.

See the 1.1 audit and 1.2 audit for item-level status.

The repository gates cover Project admission/validation, transactions and restart replay; media index/seek/decode; Render IR and deterministic golden composition; player/audio; local/resumable export; package installation and browser consumers; cancellation, cleanup and resource budgets; security inputs; performance scenarios; documentation and artifact reproducibility.

Evidence is generated by scripts under reports/baseline; reports are not hand-edited to change a result. Release evidence is valid only for the source manifest to which it is bound.

  • Physical Safari/iOS/Android and broad OS/GPU/driver matrices remain uncertified.
  • Local color execution is RGBA8 SDR; HDR/PQ/HLG/10-bit do not silently degrade.
  • There is no executable built-in WASM codec fallback.
  • ASS/SSA subtitles and pixel-based video scene detection are not implemented.
  • The proxy workflow still requires a host encoder.
  • WebGPU lacks complete WebGL2 multi-pass parity and physical-device certification.
  • Long page-independent rendering and 24-hour physical-device soak evidence are not delivered.
  • After 1.2.0, public API changes follow SemVer, CHANGELOG, and the documented deprecation window.
Terminal window
corepack pnpm install --frozen-lockfile
corepack pnpm run ci
corepack pnpm test:browser
corepack pnpm test:browser:firefox
corepack pnpm test:browser:webkit
corepack pnpm test:browser:mobile
corepack pnpm test:golden
corepack pnpm test:security
corepack pnpm test:soak
corepack pnpm test:pack
corepack pnpm release:dry-run
corepack pnpm release:reproducibility