Overview of Liqvid core and plugin packages
liqvid. Specialized functionality is split into plugins for recording and replaying specific user interactions.website·Indexed 33 days ago
https://liqvidjs.orgA library for producing interactive tutorials and liquid videos. It features a core Playback engine, a GUI Player interface, and a CLI for serving previews and rendering videos to mp4/webm. The ecosystem includes components for <Video> and <Audio>, hooks for React, and integrations for KaTeX, MathJax, and React Three Fiber.
liqvid. Specialized functionality is split into plugins for recording and replaying specific user interactions.@lqv/codebooth, @lqv/codemirror, and @lqv/cursor.MediaElement is a proposed abstract interface for general-purpose imperative animation, patterned after HTMLMediaElement. It allows animations to be synced to a source of truth by subscribing to the timeupdate event and reading the .currentTime property.
SyntheticMediaElement is a concrete implementation of this interface intended for library authors. Unlike HTMLMediaElement, it is not tied to the DOM, making it suitable for non-DOM environments (e.g., Node.js) or for orchestrating complex animations (e.g., THREE.js scenes) that aren't tied to a single <audio> or <video> element.
The @lqv/codebooth package provides a GUI for interactive coding tutorials. It is built on top of @lqv/codemirror. It is designed for flexibility, providing individual components to build a custom UI or presets for common use cases.
Critical Constraint: This package currently does not work in React Strict Mode.
The liqvid CLI provides the following primary utilities for project mastering:
liqvid audio: Join, convert, and transcribe audio.liqvid build: Bundle a project for deployment.liqvid render: Render content to static video.liqvid serve: Run a preview server for a video.liqvid thumbs: Generate thumbnails.Keymap class handles keyboard shortcuts and is available as a standalone package @liqvid/keymap. While you can create multiple instances, a Keymap instance is typically attached to and accessed via the Player object.The Liqvid ecosystem splits functionality into two primary namespaces: @lqv/* and @liqvid.
@lqv/*: These packages are designed to be framework-agnostic and compatible with other frameworks to avoid framework-specific fragmentation in the interactive video space.@liqvid: Contains specific implementations, some of which are commercial.@liqvid/gsap package provides integration support for using the GSAP (GreenSock Animation Platform) library within Liqvid videos.