惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

酷 壳 – CoolShell
酷 壳 – CoolShell
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
T
Tailwind CSS Blog
有赞技术团队
有赞技术团队
爱范儿
爱范儿
Engineering at Meta
Engineering at Meta
J
Java Code Geeks
雷峰网
雷峰网
WordPress大学
WordPress大学
L
LangChain Blog
D
DataBreaches.Net
The GitHub Blog
The GitHub Blog
博客园 - 三生石上(FineUI控件)
Microsoft Security Blog
Microsoft Security Blog
P
Proofpoint News Feed
腾讯CDC
GbyAI
GbyAI
罗磊的独立博客
Blog — PlanetScale
Blog — PlanetScale
月光博客
月光博客
F
Fortinet All Blogs
Y
Y Combinator Blog
V
V2EX
A
About on SuperTechFans

Echo JS

GitHub - aboviq/supapower: A sync engine for Supabase and a local PGlite instance - inspired by PowerSync. billboard.js 4.1.0: Live resizing, configurable subchart, React subpath & CSP-safe worker From 1,256ms to 96ms: Fixing INP in a Massive React Dropdown GitHub - evoluteur/cymatics: Play a frequency and watch the sand settle into its Chladni figure, computed from the wave equation. Memdeklaro - The Basics of Decentralized Identity (DID) and Self-Sovereign Identity (SSI) How Railmid Works GitHub - evoluteur/platonic-solids: Turn the five Platonic solids in 3D, show their duals, read their measurements, and print the nets to fold your own. Sharing Application State in a URL GitHub - evoluteur/sacred-geometry: Sacred Geometry Generator: draw, tune, and export Vesica Piscis, Seed of Life, Flower of Life, Metatron's Cube, and the Golden Spiral as SVG Best of Self-Sovereign Identity: Digitalcourage, World Passport and Memdeklaro Reads Are Subscriptions - Migrating from Zustand to Coaction GitHub - evoluteur/binaural-beats: Simple web page to play binaural beats for sleep, meditation, relaxation, and focus: Delta, Theta, Alpha, Beta, and Gamma brainwave frequencies, with an optional pink or brown noise bed. toast-queue — Accessible, customizable toast notifications Building a High-Performance Data Grid in React, Vue, and Svelte I built a flight recorder for AI sessions React Authentication With JWT, Zustand, and Axios | JavaScript Tools Blog My idempotency library had one job. A dropped connection made it run the payment twice. "half-open" twice is not the same state: the bug that shaped breakwater 1.0 GitHub - evoluteur/evolutility-server-node: Framework for building REST APIs for CRUD with models rather than code (using Node.js, Express, and PostgreSQL). React Router v8 in Action: Lazy Loading and Nested Routes One $ for every environment | Xec My test suite had 100% coverage. Mutation testing still found real bugs. The type-safe data layer for Kysely | Kysera What JavaScript Obfuscation in the AI Era | JavaScript Tools Blog Using Mongoose Studio with Apache Cassandra via Data API GitHub - trekhleb/yesbrainer: 🧠 A council of AI models for the decisions that aren't no-brainers — they answer in parallel, debate to consensus, or get judged to a verdict. Browser-only, open source, bring your own keys (BYOK), no backend. Node.js has plenty of circuit breakers. So why did I build another one? My Redis library said the write succeeded. Redis was down. GitHub - Techthos/gadget: Prebuilt, interactive HTML widgets for MCP Apps in Go — data tables and forms, self-contained in a single binary, host-themed, spec-compliant.
GitHub - evoluteur/mandala-maker: Draw a mandala with mir...
2026-09-20 · via Echo JS

Draw a mandala right in your browser. Whatever you draw is repeated around the center and mirrored, so a few loose strokes become a symmetric design. Save it as a PNG or as an SVG. No sign-up and no libraries.

Mandala Maker

What it does

Press and drag on the drawing area with a mouse, a finger or a pen. Each stroke is repeated in every fold, and, if Mirror each fold is on, flipped inside each fold too, which is what gives a mandala its petal look.

  • Folds: from 2 to 24 repeats around the center (12 by default).
  • Brush: size and opacity, in a color you pick from a palette, or in rainbow rings that change color with the distance from the center, or in a color that cycles from stroke to stroke.
  • Background: dark, light, midnight or black, and an optional guide overlay that shows the fold lines.
  • Undo, redo and clear, and Surprise me for a random starting design.
  • Save PNG (2048 pixels square) or Save SVG (vector, so it prints at any size). Both can have a transparent background.

Your strokes and settings are kept in the browser's local storage, so reloading the page picks up where you left off.

How it is built

The pages are plain HTML, CSS and JavaScript, with no dependencies and no build step. Just open index.html. It is also a small installable web app: add it to your home screen or desktop and it works offline.

  • Strokes are stored in normalized coordinates, so the drawing stays the same when the window is resized.
  • The canvas is redrawn from the stroke list, with an offscreen cache for speed. The SVG export writes each stroke once and repeats it with use elements.
  • The app logic is in js/mandala.js.
  • Three color themes (dark, light and blue) are shared with my other projects.

Mandala-Maker is open source at GitHub with MIT license.

Encourage this project by becoming a sponsor.

You may also be interested in my other projects Sacred-Geometry (demo), Platonic-Solids (demo) and Archimedean-Solids (demo).

Copyright (c) 2026 Olivier Giulieri.