Roadmap
Where morphicons is heading — hardening and new capabilities, interleaved. No dates: things ship when they feel right.
Shipped
Universal morphing core — v1.0
Any stroke icon morphs into any other: optimal rotation in closed form, spring physics, zero dependencies. DOM and React drivers included.
morphicons.com
The interactive Studio: every pair, every library, scrubbable mid-flight.
React, Vue and Svelte drivers
morphicons/reactmorphicons/vuemorphicons/svelte:MorphIconexperience: SSR first paint, accessibility includedReact, Vue and Svelte lifecycle hardening
One documented contract for the three drivers — icons that arrive late, explicit mode precedence, clean re-entry — pinned by real client-mount tests.
React Native driver
morphicons/react-native: the DOM-free core beyond the browser — the sameMorphIconover react-native-svg, same lifecycle contract, reduced motion from the OS settingComponent showcase
The icon swaps that show up most in real shadcn/ui apps, as copy-paste components: pick the library, framework, spring and stroke.
Reduced motion, as an explicit policy
reducedMotion: "never" | "user" | "always"on the driver and all four bindings, live at runtime. Motion becomes a product decision instead of a silent global override.Format adapters: markup in, CSS masks out
morphicons/adapters:svgToIconparses the SVG an Iconify-style pipeline ships,maskTargetmorphs mask-styled elements in place (double-buffered so Safari repaints). One opt-in entry, each adapter tree-shakes alone, pinned by per-export size gates.Canvas adapter
canvasTarget: any canvas or 2D context as a morph target via Path2D. The icon becomes pixels you own: GPU textures, chart sprites, favicons, OffscreenCanvas. 0.5 KB gzip on top of the driver.Adapter showcase
The showcase grew tabs: core, mask and canvas. The canvas tab runs a Mapbox map whose pins morph through interaction states, and a streaming chart whose trend icon rides the data.
Up next
Adapter ergonomics
useTargetso React lifecycles stop hand-rolling destroy/dispose,elementToIconto read the icon an element already renders, and a viewBox parameter across the pipeline for off-grid packs.Bulletproof inputs
Clear errors at every public boundary, malformed paths, invalid springs, mismatched sample sizes.
Planned
SVG Doctor
Paste any SVG: a compatibility verdict, a live morph preview and ready-to-use code.
Shareable Studio
The full morph state, pair, spring, progress, serialized in the URL.
Exploring
Custom Animation Studio
A timeline editor for choreographies beyond the automatic morph, shipped as a separate package.
Type that morphs
Regular fonts are filled outlines, off limits by design. But monoline fonts (Hershey, single-stroke plotter faces) are pure centerlines: exactly the core's contract. Digits first, a counter whose 3 bends into 8; then a
textToIconadapter for single-line fonts.