Thanks for your interest! The goal is to keep the code approachable and the UI fast.
- Node.js 20.19+ (Vite 7 will warn if older)
git clone https://github.com/Oslonline/steinberg-image.git
cd steinberg-image
npm install
npm run dev- Branch:
feat/short-topic,fix/issue-123,docs/readme - Conventional-ish prefixes (
feat:,fix:,refactor:,docs:) encouraged.
| Command | What |
|---|---|
| npm run dev | Dev server |
| npm run build | Type-check + production build |
| npm run preview | Preview dist |
| npm run lint | ESLint |
- Implement logic (extend
PatternDraweror new util). Keep pure; input raw RGBA. - Register metadata in
src/utils/algorithmInfo.ts(uniqueid). - If user-selectable: update
patternMetainPatternDrawerexport. - Make sure it handle settings like invert or serpentine if not disable them following our existing logic for it.
- Confirm explorer page renders new example.
- Provide: overview, 2–3 characteristics, artifacts, usage, kernel/matrix if applicable.
Edit src/utils/palettes.ts. Keep palette lists historically accurate & concise.
- Tailwind ordering handled by Prettier plugin
- Prefer descriptive names over long comments
- Avoid heavy dependencies; keep client-only
- Reuse buffers where possible
- Typed arrays for math (already used)
- Test large widths (~2000px) before PR if performance related
-
npm run lintpasses -
npm run buildsucceeds - Explorer loads (no runtime errors)
- Metadata updated for new/changed algorithms
- Docs adjusted if behavior changed
Provide reproduction steps, browser + OS, and (if visual) a small screenshot.
Images never leave browser. If any external leak/regression is found, open issue with security label.
MIT – contributions licensed under same.
Thanks!