Skip to content

Faceted background

In review
Live · web

Signature surface: the one canonical faceted field (no controls)

Streaming

Nockerl · session

Faceted background

Content stays fully legible on the field. The facets are a low-contrast tonal grain, never a glow.

One codified look, composed from the shipped NockerlFacetedBackground primitive (the same field as the app-shell, the sidebar, and empty-state): a canvas per-facet tone-wave, the mesh built once per size and re-tinted every frame. Color is token-only, so it themes; changing the signature is a one-place design-system change that propagates to every app.

// Web: React, consuming @dizyx/nockerl-tokens. (Web is the laggard platform;
// this is the canonical API the published @dizyx/nockerl-react package exposes.
// It re-implements the native field on a token-colored <canvas>.)
import { NockerlFacetedBackground } from '@dizyx/nockerl-react';
export function SessionStage() {
return (
<NockerlFacetedBackground>
<h1>Faceted background</h1>
<p>Content renders on the field and stays fully legible.</p>
</NockerlFacetedBackground>
);
}
PropTypeDefaultDescription
reducedbooleanfalseWhen true, freezes to a single composed static frame (prefers-reduced-motion). Resolved by the consumer; not a user-facing control.
barebooleanfalseBARE mode: render just the full-bleed facet field with NO surface chrome (no border, radius, shadow, or 16:9 aspect). Use it for a full-bleed app-shell / stage background. The default is the bordered card-radius signature surface. The MESH + tone-wave are identical either way (one implementation); bare only drops the chrome. Positioned absolute inset:0, so the parent must be positioned.
childrenReact.ReactNodeChildren render ON the surface (proving legibility over the live mesh).

Also accepts the native <div> attributes (e.g. onClick, disabled, id, aria-*, data-*), forwarded straight through, plus a forwarded ref.