mirror of
https://github.com/wiltodelta/remove-ai-watermarks.git
synced 2026-08-09 23:50:40 +02:00
Every code-referencing claim in the docs, the README and the rules files was checked against src/, and each finding was re-derived independently before it was applied. 35 held, 5 were false positives. Two of them were code, not text. `InvisibleOptions` promises in its docstring to mirror `InvisibleEngine`, and two defaults had silently stopped: `max_resolution=None` reached `_target_size`'s `max_resolution > 0` and raised `TypeError` on every library call that left the options alone, and `cpu_offload=True` made a library run slower than the identical CLI run. Both are fixed, and `TestInvisibleOptionsMirrorTheEngine` compares the two signatures field by field rather than pinning the two values that happen to be known. A companion assertion in `TestTargetSize` reads the engine's own declared default, so a drift on the engine side -- which the mirror check alone would accept, because both sides would still agree -- fails too. The user-facing docs: README called `invisible` GPU-optional where it raises without CUDA, and gave the image `metadata` command `video metadata`'s output rule, promising the source survives a command that overwrites it. Yuanbao was missing from the supported-mark list. `veo` was listed among the video policies that require a run anchor, though its row sets no `anchor_iou`. `known-limitations` called ControlNet the default profile and contradicted itself ninety lines below. An unescaped pipe truncated the `hailuo` table row. The `dev` extra, the CI shape, ffmpeg's role, the sdist boundary and the strength-curve range were corrected, and `remove_all`/`remove_batch`, the pill gate, `erase --keep-metadata` and `all`'s CUDA failure mode were documented. Research notes that described removed modules, extras and flags in the present tense now say so once in the page banner instead of sentence by sentence, which covers the whole page rather than the lines that happened to be noticed, and one fixture is referred to by role rather than by name. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2.4 KiB
2.4 KiB
Documentation
This documentation is split by purpose. Start with the user guides if you want to run the tool. Use the maintainer references only when changing the code.
User guides
| Page | Use it when |
|---|---|
| Installation | You need the CLI, an optional model backend, or a development environment. |
| CLI guide | You want a command for an image, video metadata or visible marks, a directory, or a specific watermark type. |
| Python API | You want to call the package from Python. |
| Supported signals | You need to know which visible marks, metadata formats, and invisible signals are covered. |
| Known limitations | You need the quality, device, format, or verification boundaries. |
| Scope, safety, and legal notes | You need the intended use and legal context. |
Maintainer references
| Page | Purpose |
|---|---|
| Module internals | Current architecture, invariants, and regression guards by module. |
| Development | Environment setup, dependency recovery, CI behavior, and fixture policy. |
| Code provenance | Required notices for licensed derivative work. |
| Verification plan | Verification methods, completed measurements, and remaining validation gaps. |
| Release and distribution | PyPI, Homebrew, Hugging Face Space, and release workflow. |
| Watermarking landscape | Vendor signals and detection approaches. |
| SynthID technical reference | Mechanism, detector access, robustness, and implications for this project. |
Research archive
These pages record experiments and the evidence behind past decisions. They are not command references and may describe prototypes that were later removed. The current behavior is defined by the code, tests, README, and user guides.