Skip to content

jodonnell24/ditherd

Repository files navigation

ditherd

ditherd is a browser-based binary raster synthesizer for oscilloscope-inspired interference patterns, harmonic traces, and animated GIF export.

Features

  • Eight synthesis modes with mode-aware scientific controls
  • CPU safety governor for heavy modes and randomized states
  • Dedicated mobile route (/mobile/) with touch-first layout
  • PNG and GIF export (client-side)
  • Shareable links that encode current state
  • Guide and support overlays

Local Run

python3 -m http.server 8000

Open http://localhost:8000.

Mobile route: http://localhost:8000/mobile/.

Routing behavior:

  • Mobile devices on / auto-redirect to /mobile/
  • Desktop users on /mobile/ auto-redirect back to /
  • Use /?desktop=1 to force desktop view on phones

Verify

npm run check

The smoke check validates required static files, local HTML references, and public configuration values.

Configure Support Links

Support and feedback links are configured in launch-config.js:

  • tipPrimary: Stripe donation/payment link
  • tipKofi: optional Ko-fi profile
  • feedback: email or hosted feedback form
  • roadmap: public project notes route

tipPrimary currently points to the live Stripe support link. If it is empty, the support modal keeps the tip action disabled.

Updating Links

  1. Edit launch-config.js.
  2. Reload the local page.
  3. Click Support and confirm the links open correctly.

Keyboard

  • R randomize
  • P preset cycle
  • [ and ] mode step
  • G export GIF
  • L copy share link
  • H open guide
  • T open support
  • Space pause/resume

Deploy

ditherd is a static site. Serve the repository root from Cloudflare Pages, Vercel, Netlify, or any static host.

  • Cloudflare/Netlify headers are defined in _headers.
  • Vercel headers are defined in vercel.json.
  • Production domains: ditherd.com and www.ditherd.com.

Security Notes

  • CSP is configured for:
    • local scripts (main.js)
    • cdnjs GIF library
    • Google Fonts
  • Inline JS handlers are removed to keep CSP strict.
  • Additional docs:
    • SECURITY.md
    • .well-known/security.txt

Branding Assets

  • favicon.svg
  • icon.svg
  • og-card.png
  • og-card.svg
  • brand-assets/
  • site.webmanifest
  • robots.txt
  • sitemap.xml

Social Preview

  • index.html includes Open Graph and Twitter card tags.
  • og-card.png is prewired to https://ditherd.com/og-card.png.
  • If previews look stale after deploy, purge cache for updated files in Cloudflare.

Support Hooks

Support links are loaded from launch-config.js:

  • tipPrimary
  • tipKofi
  • feedback
  • roadmap

Update those URLs when donation, feedback, or project-notes destinations change.

About

Browser-based binary raster synthesizer for oscilloscope-inspired interference patterns and GIF export.

Topics

Resources

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors