A custom shader draws a shape or response that is difficult to express with the library's built-in components. It is like adding a personal way to mix paint for a halo that ready-made shapes cannot quite produce.
The upstream README's `Halo` example passes a `name`, `props` with defaults and transforms, and pixel-drawing `paint` to `defineShader`. Its `wgsl` body calculates pixel distance from a center and radius, then `<CustomShader src={Halo}>` mounts the definition in a scene.
This demo combines the bundled `Circle` and `Ring` components to show a halo-like result. Custom code requires understanding and maintaining WGSL and shader inputs, so first check whether a combination of existing components already gives the needed look.
When to use
Use it for a branded effect with unique pixel math, a pattern that built-ins cannot express, or a shader component you will reuse. Avoid custom code when adjusting existing components is enough or nobody can maintain the GPU code.