Skip to content

@frapx/core

internal engine You don’t install this directly — it comes in as a dependency of an fx-* package.

The shared WebGL runtime host underneath every fx-* effect runtime — @frapx/fx-canvas, @frapx/fx-passes and @frapx/fx-particles: canvas setup, context management and restore, the animation loop and clocks, resize handling, the accessibility gate model (pause offscreen / hidden / reduced-motion) and captureFrame().

It also holds the GL building blocks those runtimes share: program and uniform helpers, texture loading, render targets with float formats, createBlitter(), uniform bindings and keyframes(). What a runtime draws — a fragment shader, a pass graph, a particle simulation — lives in the fx-* package built on top of it.

@frapx/core was extracted so multiple effect runtimes can share the same lifecycle host instead of reimplementing canvas setup, pause/resume gating and frame capture each time. @frapx/fx-canvas, @frapx/fx-passes and @frapx/fx-particles all build on it, so the manual clock, fixed resolution and captureFrame() behave the same way in each.

Not directly. Install the fx-* package you need — @frapx/core comes along as its dependency automatically. Its API may still shift between 0.x minor versions.

For anyone building a new fx-* package on top of it, the package README lists the exported building blocks.