Skip to content

Latest commit

 

History

History
53 lines (40 loc) · 1.68 KB

File metadata and controls

53 lines (40 loc) · 1.68 KB

Development

How to run Meshly locally, build it, and contribute. For what Meshly is, see the README.

Prerequisites

Setup

npm install

Scripts

Command What it does
npm run dev Start the Vite dev server with hot reload
npm run build Type-check and build for production to dist
npm run preview Serve the production build locally
npm run lint Run ESLint over the project

Tech stack

  • React 18 + TypeScript (strict mode)
  • Vite for dev/build
  • Tailwind CSS for styling (design tokens in tailwind.config.js)
  • lucide-react for icons
  • html-to-image for PNG export

Project layout

src/
  lib/gradientEngine.ts   OKLab mesh renderer (buildMesh, base tone, bleed, blur)
  lib/serialize.ts        share-link + autosave codec (schema v2)
  lib/storage.ts          localStorage autosave
  lib/presets.ts          restrained preset library
  hooks/                  useHistory (undo/redo), useAppShortcuts, useNotifications
  components/             Header, GradientCanvas, Sidebar, ExportModal, HelpModal
  components/sidebar/      Mesh / Grade / Frame / Motion tab panels
  types/gradient.ts       shared state types

Contributing

Contributions are welcome. Please open an issue to discuss significant changes before submitting a pull request. Keep changes focused, run npm run lint before opening a PR, and match the existing code style (React function components, TypeScript strict mode, Tailwind CSS).