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.
翻译准备中
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证正在加载完整 README。 以下为已保存的摘录。
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.查看完整 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.