Materializr
Open-source parametric 3D CAD for makers — constraint sketches, solid modeling, threads, SVG & text engraving, STL/STEP export. Android, iPad, Linux, Mac, Windows. Vibe coded.
Static web app for algorithmic image filters, gradients and colour palettes — deterministic Go core compiled to WASM, Svelte 5 shell.
DesignHTML · GoGitHub @BGLuisOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Loading the full README. The saved excerpt is shown below.
BitBrush Estúdio web 100% estático de filtros de imagem, gradientes e paletas algorítmicos — núcleo Go compilado para WebAssembly, shell Svelte 5. BitBrush é uma aplicação web totalmente estática para gerar filtros de imagem, gradientes e paletas de cores algorítmicos. Todo efeito é código determinístico — sem modelos de ML, sem dados pré-treinados, sem serviços externos de imagem. Essa restrição é um princípio de produto: limita as dependências e garante que qualquer resultado possa ser reproduzido apenas a partir de seus parâmetros.Read the full README ↗
🇧🇷 Português · 🇺🇸 English
BitBrush é uma aplicação web totalmente estática para gerar filtros de imagem, gradientes e paletas de cores algorítmicos. Todo efeito é código determinístico — sem modelos de ML, sem dados pré-treinados, sem serviços externos de imagem. Essa restrição é um princípio de produto: limita as dependências e garante que qualquer resultado possa ser reproduzido apenas a partir de seus parâmetros.
O projeto é dividido em três camadas estritamente separadas:
internal/ (Go puro): toda a matemática de filtros, gradientes e
paletas. Roda e é testado com go test em qualquer sistema operacional.cmd/wasm/: o único ponto que importa syscall/js. Registra funções
nomeadas em globalThis e faz o marshalling dos dados na fronteira JS ↔ WASM.web/src/ (Svelte 5 + TypeScript + Vite): controles, I/O de canvas
e estado na URL. Nenhuma matemática de imagem — tudo é delegado ao núcleo Go.O que dá para fazer:
truchet (azulejos de Truchet multi-escala), harmonograph
(figura de senoides amortecidas), attractor (De Jong / Clifford / Svensson), contours
(mapa topográfico animado), flowfield (traços de tinta sumi em campo de fluxo), lsystem
(turtle graphics de L-system) e flame (fractal flames / IFS).linear-gradient(… in oklch …) nativo.Seed e Time explícitos (anima e é reproduzível).Determinismo: qualquer coisa estocástica recebe um parâmetro inteiro seed explícito (sem
time.Now(), sem rand não-semeado) e todo o estado das ferramentas é codificável na URL — um
resultado é sempre compartilhável e reproduzível.
O projeto nasceu de uma ideia que surgiu enquanto eu navegava no X (Twitter) e via vários projetos que geravam padrões geométricos e fractais, além de um gerador de gradientes animado. Foi criado também como um experimento para o uso de WebAssembly, já que eu nunca tinha mexido com essa tecnologia até então.
go.mod; usado no alvo GOOS=js GOARCH=wasm)Makefilegit clone https://github.com/BGLuis/bitbrush.git
cd bitbrush
cd web && npm install && cd ..
make dev
Sem o make, os passos equivalentes são:
# 1. compila o núcleo Go para WebAssembly e copia o wasm_exec.js
GOOS=js GOARCH=wasm go build -o web/public/main.wasm ./cmd/wasm
cp "$(go env GOROOT)/lib/wasm/wasm_exec.js" web/public/ # Go <= 1.23: misc/wasm/wasm_exec.js
# 2. inicia o servidor de desenvolvimento
cd web && npm run dev
web/dist/:make build
| Comando | O que faz |
|---|---|
make wasm | Compila cmd/wasm para web/public/main.wasm e copia o wasm_exec.js |
make dev | make wasm + npm run dev (servidor de desenvolvimento) |
make build | make wasm + npm run build → saída estática em web/dist/ |
make test | go test ./internal/... |
make check | go vet + gofmt -l . + svelte-check |
make clean | Remove artefatos de build e node_modules |
Distribuído sob a licença MIT. Veja LICENSE para mais informações.