Files
sammykumar-ComfyUI-SwissArm…/docs/VENDORING.md
Sammy Kumar 692039e01b docs: update VENDORING.md and VACE_ANNOTATORS.md to reflect changes in edge thresholding and vendor behavior
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
2025-11-12 13:34:48 -06:00

1.8 KiB
Raw Permalink Blame History

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 (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.