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.
Abrí y editá archivos de Adobe Illustrator (.ai) en el navegador.
Translation pending
DesignTypeScript · CSSGitHub @goncalveslucasvOnlineOwner 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
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗An Adobe Illustrator-style vector editor for the web, built with Next.js + React, that opens, edits and saves .ai files right in the browser (the file never leaves your computer).
npm install
npm run dev # http://localhost:3000
Open an .ai file with Archivo › Abrir… (⌘O) or by dropping it on the window.
.ai files by reading Illustrator's native data with ai-file (Rust/WebAssembly codecs, in a Web Worker): real layers and sublayers, artboard names, text with its typeface and Illustrator's exact glyph positions, gradients with per-stop opacity, and embedded images (repeated copies are deduplicated). A 650 MB file opens in about 3.5 s, versus about 7.5 s through its PDF rendition, and the UI stays responsive meanwhile. Legacy PostScript .ai files open too..ai (⌘S): a multi-page PDF with layers that Illustrator opens as a PDF-compatible file. The active artboard can also be exported as PDF, SVG and PNG (300 ppi).Objeto › Vectorizar imagen… turns the selected image (or the reference photo) into editable shapes, right in the browser:
It's deterministic: the same image always gives the same result. The algorithm lives in src/lib/vectorize/.
Claude can use Freestrator through the freestrator-mcp MCP server, which runs on your computer:
.ai.With Claude › Conectar con Claude…, the web editor (including the one deployed at https://freestrator.vercel.app) syncs live with the Claude session. See mcp/README.md.
| Module | Role |
|---|---|
src/lib/native/ | Native reading: worker.ts decompresses (zstd/zlib in WebAssembly) and parses the native stream with ai-file off the main thread; convert.ts maps Illustrator's model (art space, y up) to the scene, splits the content by artboard and encodes images (PNG in Rust when they have alpha, JPEG otherwise). |
src/lib/importer.ts | Tries native reading first. Without native data, loads the .ai with pdf.js and interprets its operator list (save/restore, CTM, clips, transparency groups, soft masks, shadings, images, text) to build an editable scene tree. It then simplifies the tree (drops redundant clips, turns "clip + shading" into a gradient-filled shape, flattens empty groups). |
src/lib/types.ts | Scene model: layers › per-artboard sublayers › groups / paths / images / text. All geometry is in document space (pt, y down). |
src/lib/render.tsx | SVG rendering of the scene, shared by the canvas and the SVG/PNG export. |
src/lib/store.ts, ops.ts, actions.ts | State (zustand + immer, history that merges continuous changes), tree operations and editor commands. |
src/components/ | UI: canvas with tools and handles, toolbar, properties, layers and artboards panels, menus. |
src/lib/exportPdf.ts | Writes the PDF/.ai with pdf-lib: hand-written content streams, shadings, luminosity masks, transparency groups, embedded fonts (TJ with the original positions) and layers as optional content. |