# pmndrs/lamina

🍰 An extensible, layer based shader material for ThreeJS

Repository: https://github.com/pmndrs/lamina
Canonical: https://ross.abutalabs.com/products/lamina
Language: TypeScript
License: MIT
License Family: permissive
Topics: threejs, shaders, layers
Archived: true
Last push: 2025-06-22T09:20:23+00:00

## Health v2 (maintenance only)
Score: 10/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 28, release rhythm 35, longevity 100
- inputs: {"age_days": 1676, "days_push": 437, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: no_releases, archived
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1106, forks 54 (observed 2026-08-28T04:03:36.528102+00:00)

## What it is
Lamina is a TypeScript library providing an extensible, layer-based shader material system for ThreeJS, letting developers declaratively stack and blend visual effects on 3D materials. It integrates well with React Three Fiber and was inspired by Spline's layer material approach.

## Use cases
- create layered gradient materials for 3D objects in ThreeJS
- stack and blend shader effects declaratively in react-three-fiber
- build stylized 3D web scenes without writing raw GLSL
- compose depth, noise, and color layers on meshes
- prototype complex materials for WebGL visualizations

## When to avoid
- starting a new project — the repo is archived and unmaintained since April 2023
- you need reliable, performant custom shaders — the author recommends THREE-CustomShaderMaterial (CSM) instead
- production apps requiring ongoing support or bug fixes
- use cases needing a well-maintained shader abstraction layer

## Facets
- artifact type: library
- maturity: abandoned
- function: graphics, plugin-system
- domain: graphics, web-development
- platform: browser
- tags: threejs, shaders, webgl, materials, react-three-fiber, layer-based, game-development, web-server, javascript, typescript

## Member repositories
- pmndrs/lamina (main) score 10

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:03:36.528102+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T06:44:15.989022+00:00, confidence not recorded.
  - readme: https://github.com/pmndrs/lamina (fetched 2026-08-28T04:03:36.528102+00:00, sha b0f31a580e31)
  - registry_npm: https://registry.npmjs.org/lamina (fetched 2026-08-29T12:47:37.257980+00:00, sha cce3897ae09d)
- Data as of 2026-08-30T08:39:29.467469+00:00.
