// the find
pissang/claygl
A WebGL graphic library for building scalable Web3D applications
ClayGL is a WebGL rendering library built around a scene graph with PBR materials, deferred shading, and a graph-based post-processing pipeline. It is best known as the rendering backbone of ECharts GL. If you need a lower-level alternative to Three.js for data visualization or custom 3D web tooling, this is roughly the tier it operates at.
The deferred rendering pipeline is a real differentiator — most WebGL libraries for the web skip it entirely, so ClayGL handles scenes with many dynamic lights without the forward-rendering fan-out problem. The compositor graph (JSON-defined post-processing chains) is well thought out and lets you wire together SSAO, SSR, bloom, and DOF as a declarative pipeline rather than hand-rolling framebuffer passes. Tree-shaking to 22k gzipped for a minimal bundle is a concrete, verified claim backed by the modular source structure. The FBX-to-glTF Python converter is a pragmatic addition — studios exporting from Maya or Max will hit this early.
The project is effectively unmaintained for active development: the last meaningful work appears to be years old, with only minor pushes since. WebGL 2 features are patchily supported and WebGPU is not on the roadmap, so adopters are locked into a WebGL 1/2 world with no migration path. The API documentation at docs.claygl.xyz is sparse and the example HTML files are the real documentation, which is fine until you need to understand the shader chunk system or the compositor graph format. No TypeScript rewrite — the included `index.d.ts` is hand-maintained and incomplete, so in a TypeScript project you will constantly fight the type system.