How pcmdk369/waterix works
Waterix is a browser-based image and video editor for removing unwanted marks and adding text or logo watermarks. Users upload media, select a removal or watermark workflow, configure the edit, submit it for server-side processing, monitor a job, then compare and download the result. Image removal uses a painted or drawn mask; video removal uses a target region. The sampled server code confirms job tracking and image/video watermark processing; some route details and unsampled subsystem wiring are not shown, so uncertain links are omitted.
Main entry points: App.tsx App workflow · server.ts Express API · watermarkProcessor.ts Watermark rendering · ImageEditor.tsx Image removal
Components 18
Editing interface
- App workflow
src/App.tsx - Media upload
src/components/UploadZone.tsx - Image removal
src/components/ImageEditor.tsx - Video removal
src/components/VideoEditor.tsx - Watermark setup
src/components/AddWatermarkEditor.tsx - Job progress
src/components/ProcessingView.tsx - Compare and download
src/components/ResultView.tsx - Privacy and terms
src/components/PrivacyPage.tsx - Terms page
src/components/TermsPage.tsx
Job API
- Express API
server.ts
Media processing
- Image inpainting
server/inpainting.ts - Video processing
server/videoProcessor.ts - Watermark rendering
server/watermarkProcessor.ts
Temporary job state
- Job registry and files
server/jobStore.ts
Other components
- Editor
- Image engine
- FFmpeg tools
- Uploaded media
Connections 30
- Editor → Media upload: selects media
- Media upload → App workflow: reports selection
- App workflow → Image removal: opens image edit
- App workflow → Video removal: opens video edit
- App workflow → Watermark setup: opens watermark setup
- App workflow → Privacy and terms: shows privacy
- App workflow → Terms page: shows terms
- Editor → Image removal: marks image region
- Editor → Video removal: marks video region
- Editor → Watermark setup: configures watermark
- Image removal → App workflow: submits removal
- Video removal → App workflow: submits removal
- Watermark setup → App workflow: submits watermark
- App workflow → Express API: uploads and requests jobs
- Express API → Job registry and files: creates and updates
- Express API → Image inpainting: processes image removal
- Express API → Video processing: reads video metadata
- Express API → Watermark rendering: renders watermark
- Image inpainting → Image engine: reads and writes pixels
- Watermark rendering → Image engine: renders image layers
- Video processing → FFmpeg tools: probes and processes video
- Watermark rendering → Video processing: reads video metadata
- Watermark rendering → FFmpeg tools: composites video
- Uploaded media → Express API: uploaded for processing
- App workflow → Express API: polls job status
- Express API → App workflow: returns job state
- App workflow → Job progress: shows processing state
- App workflow → Compare and download: shows completed job
- Compare and download → Express API: downloads result
- App workflow → Express API: deletes temporary job