Skip to content

Latest commit

 

History

History
40 lines (34 loc) · 2.01 KB

File metadata and controls

40 lines (34 loc) · 2.01 KB

PixelateR Web GUI — Usage

This doc explains how to build and run the browser GUI, what features are available, and known limitations.

Build

  • Prereqs: Rust toolchain, wasm-pack, and a static file server (or Vite).
  • Build WASM:
    • cd PixelateR/wasm
    • wasm-pack build --target web --release
  • Place the generated pkg/ in PixelateR/web/:
    • cp -r pkg ../web/

Run

  • Rust server (recommended):
    • Build: cargo run -p pixelater_web_serve -- --root PixelateR/web --port 8080
    • Open: http://localhost:8080
  • Alternatives:
    • miniserve PixelateR/web -p 8080 (after cargo install miniserve)
    • Vite or any static server if you prefer a different dev setup

Features

  • Image: open an image, live preview with adjustable controls, export PNG.
  • Palettes: Auto (count), Predefined, Custom (HEX swatches). Presets and Randomize.
  • Dithering: none, naive, bayer, floyd, atkinson. Strength for Naive/Bayer.
  • Filters: SVD toggle (native builds), CLAHE strength, HSV saturation/value multipliers.
  • Edge overlay: enable, intensity, and color.
  • Preview: workerized off-main-thread, progressive preview with adjustable scale.
  • Video: open a file, play/pause/seek; preview processed frames. Export experimental WebM via MediaRecorder.
  • Sequence: palette refit policy across frames, keyframe interval, scene sensitivity; simple histogram-based keyframe detection in preview.
  • Webcam: start live camera, preview and capture frame to the image workflow.

Notes & Limitations

  • MediaRecorder export is real-time and browser-dependent. For precise control, a frame-accurate pipeline is planned.
  • SVD is feature-gated for WASM; the WASM build uses a non-SVD path.
  • Performance depends on preview scale and device; use a higher preview scale for faster updates.

Troubleshooting

  • If pixelater_wasm.js fails to load, confirm web/pkg/ exists and is served at /pkg/.
  • If webcam fails, check browser permissions and HTTPS requirement on some platforms.
  • For large videos, reduce preview scale or pause playback during export.