git clone https://github.com/Codeptor/glyph.git
cd glyph
pnpm install
pnpm dev- TypeScript strict mode
- ESLint flat config (
eslint.config.js) - Tailwind CSS v4 with shadcn/ui components
- Concise, imperative messages:
fix: controls scroll,feat: add CRT bloom - Scoped prefixes when relevant:
fix(engine):,feat(ui): - Small, revertible commits
See AGENTS.md for detailed architecture docs.
Engine code lives in src/engine/ — pure TypeScript, no React dependencies.
UI code lives in src/components/ — React + shadcn/ui.
State lives in src/store/ — Zustand.
- Create
src/engine/styles/yourStyle.tsimplementing theRenderFntype fromstyles/types.ts - Register it in
src/engine/styles/index.ts - Add the type to
ArtStyleunion insrc/types/index.ts - Add UI controls in
src/components/ControlsPanel.tsx
- Define a
DiffusionKernelinsrc/engine/dither.ts(see existing ones for pattern) - Add to
DITHER_FUNCTIONSrecord - Add the type to
DitherAlgorithmunion insrc/types/index.ts - Add to UI dropdown in
src/components/ControlsPanel.tsx