docs: remove edge_threshold parameter from example workflow to align with new automatic edge thresholding feature docs(README): simplify and condense VACE Annotator Scribble documentation for clarity and ease of use docs: add help-page style documentation for VACEScribbleAnnotator node to improve user guidance and usability feat(annotator_models): add ContourInference and VendorResidualBlock classes for enhanced model architecture feat(annotator_models): implement postprocess_vendor_scribble_output function for vendor-specific output processing fix(annotator_models): update load_scribble_model to handle vendor state dicts and improve model loading logic refactor(preprocess_scribble_input): add normalize_mode parameter for flexible input normalization options fix(_quantile_threshold): improve scale handling for user-defined thresholds in quantile calculations refactor(vace_scribble_annotator.py): remove edge_threshold parameter and use a default constant for edge detection to simplify the code feat(vace_scribble_annotator.py): add support for vendor-specific postprocessing of scribble output to enhance functionality
27 lines
1.8 KiB
Markdown
27 lines
1.8 KiB
Markdown
# Vendoring Notes
|
||
|
||
This repository vendors a minimal subset of the VACE-Annotators project (Apache-2.0) so ComfyUI users can run the scribble annotator without installing the full upstream repo.
|
||
|
||
## Vendored Components
|
||
|
||
| File | Description | Upstream Source |
|
||
| --- | --- | --- |
|
||
| `nodes/vace_annotators/annotator_models/scribble.py` | ResNet generator architecture plus preprocessing/postprocessing helpers. As of this update it also vendors the official `ContourInference` graph to mirror upstream behavior. | Derived from the `scribble` generator in [ali-vilab/VACE-Annotators](https://github.com/ali-vilab/VACE-Annotators) (Apache-2.0). |
|
||
| `nodes/vace_annotators/annotator_models/__init__.py` | Shim exporting loader + helpers. | Local glue code referencing the vendored generator. |
|
||
| `nodes/vace_annotators/scribble_loader.py` | Loader, device handling, caching, and error plumbing. | Local adaptation based on SwissArmyKnife requirements. |
|
||
|
||
## Updating the Vendored Code
|
||
|
||
1. Fetch the latest `scribble` generator implementation from the upstream repository.
|
||
2. Preserve the Apache-2.0 license header and attribution when copying/updating files.
|
||
3. Keep imports self-contained (no upstream-relative imports remain after vendoring).
|
||
4. Run `tests/annotators/test_scribble_inference.py` to ensure fallback + optional model inference still work.
|
||
5. Document changes in `docs/nodes/vace-annotators/scribble/README.md` when the vendored code diverges from upstream behavior.
|
||
|
||
## Additional Assets
|
||
|
||
- `tests/data/sample_scribble_input.png` is a synthetic 128×128 RGB gradient used by the smoke tests to create deterministic scribble outputs.
|
||
- Test artifacts are written to `tests/output/` for visual inspection.
|
||
|
||
> The upstream project is licensed under Apache-2.0. See the repository license for full terms.
|