# Lathe Riso

A peça 3D de revolução do lathe-object impressa ao vivo em duas tintas de risografia: gira, orbita no arrasto e sai do registro onde o cursor passa.

- Nome no registry: `lathe-riso`
- Tipo: componente
- Dependências npm: three@^0.170.0
- Demo: https://ui.visantlabs.com/c/lathe-riso
- Categorias: efeitos, 3d, webgl, shader, riso, produto, impressao

## Quando usar

- Use quando: Hero com objeto 3D (fruta, frasco, pote) que precisa de cara de impresso, em duas tintas, arrastável
- Evite quando: Foto estática em riso: shader-riso; produto em 3D sem efeito: lathe-object

## Instalar

```bash
npx shadcn@latest add @visant/lathe-riso
```

## Usar

```tsx
<LatheRiso />
```

## API

### LatheRiso

- `aria-label?: string = "Objeto em 3D impresso em risografia, arraste para girar"` — Descrição para leitor de tela.
- `autoRotate?: boolean = true` — Gira sozinho enquanto ninguém arrasta. Ignorado com movimento reduzido.
- `body?: string = "var(--muted-foreground)"` — Cor do corpo da peça antes da tinta (só o valor tonal conta).
- `cell?: number = 4` — Tamanho da célula de tinta, em px.
- `colors?: string[]` — Paradas do riso: papel, primeira tinta e segunda tinta. Qualquer cor CSS ou token. Padrão: `--background`, `--brand` e a marca escurecida.
- `detail?: string = "var(--foreground)"` — Cor das varetas antes da tinta.
- `interactive?: boolean = true` — O cursor puxa a folha: perto dele as tintas escorregam do registro.
- `misregistration?: number = 35` — Quanto as duas tintas saem do registro.
- `mode?: "grain" | "halftone" | "bayer" = "grain"` — Como a tinta assenta: grão de riso, ponto de retícula ou Bayer.
- `paper?: number = 40` — Textura do papel.
- `profile?: LatheProfile` — Meia silhueta, de baixo para cima: `[raio, altura]`. Feche no eixo (`x = 0`) nas pontas.
- `sticks?: boolean | LatheSticks` — Varetas de difusor saindo do topo. Ausente = só o objeto.
