- Introduced vendoring for the VACE scribble generator to allow usage without the full upstream repository. - Added `VENDORING.md` to document vendored files and update instructions. - Updated `README.md` to include vendoring notes. - Modified `IMPLEMENTATION_SUMMARY.md` to reflect changes in the scribble node. - Enhanced `VACE_ANNOTATORS.md` with new parameters for inference mode and edge threshold. - Created `scribble.py` and `scribble_loader.py` for model loading and preprocessing. - Updated `vace_scribble_annotator.py` to integrate new model loading logic and fallback mechanisms. - Added smoke tests for both fallback and model inference scenarios. - Included a sample input image for testing purposes.
146 lines
5.7 KiB
Markdown
146 lines
5.7 KiB
Markdown
# ComfyUI-SwissArmyKnife Documentation
|
|
|
|
Welcome to the ComfyUI-SwissArmyKnife documentation! This directory contains comprehensive documentation for all nodes, integrations, infrastructure components, and web JavaScript widgets.
|
|
|
|
## 📁 Documentation Structure
|
|
|
|
### 🎬 Nodes (`/nodes`)
|
|
|
|
Core custom nodes that extend ComfyUI functionality:
|
|
|
|
- **[video-preview](nodes/video-preview/)** - Video preview widget for comparing multiple videos side-by-side
|
|
- **[video-metadata](nodes/video-metadata/)** - Video metadata extraction and manipulation with append functionality
|
|
- **[media-describe](nodes/media-describe/)** - AI-powered media description using Gemini API
|
|
- **[lora-loader](nodes/lora-loader/)** - Advanced LoRA loading with metadata integration
|
|
- **[reddit-media](nodes/reddit-media/)** - Reddit and RedGifs media extraction and processing
|
|
- **[media-selection](nodes/media-selection/)** - Media source selection and management
|
|
- **[control-panel](nodes/control-panel/)** - Workflow information dashboard display
|
|
|
|
### 🏗️ Infrastructure (`/infrastructure`)
|
|
|
|
Core system components and development tools:
|
|
|
|
- **[caching](infrastructure/caching/)** - Caching strategies and optimization
|
|
- **[debug](infrastructure/debug/)** - Debug mode and logging systems
|
|
- **[docker](infrastructure/docker/)** - Docker setup and container configuration
|
|
- **[build-deploy](infrastructure/build-deploy/)** - Build processes and publishing workflows
|
|
- **[SETTINGS_INTEGRATION.md](infrastructure/SETTINGS_INTEGRATION.md)** - ComfyUI settings API integration for secure API key management
|
|
|
|
### 🔌 Integrations (`/integrations`)
|
|
|
|
External service integrations:
|
|
|
|
- **[civitai](integrations/civitai/)** - CivitAI API integration for model metadata
|
|
- **[reddit](integrations/reddit/)** - Reddit API integration (see also nodes/reddit-media)
|
|
|
|
### 🌐 Web JavaScript (`/web-js`)
|
|
|
|
Web JavaScript widgets and UI components:
|
|
|
|
- **[Control Panel](web-js/CONTROL_PANEL.md)** - Dashboard widget with JSON data handling and multi-column layout
|
|
- **[Dimensions Display](web-js/DIMENSIONS_DISPLAY.md)** - Automatic media dimension display with troubleshooting
|
|
- **[Seed Widget](web-js/SEED_WIDGET.md)** - Randomization seed for reproducible workflows
|
|
- **[Widget Fixes](web-js/WIDGET_FIXES.md)** - Visibility management, state persistence, and general fixes
|
|
|
|
### 📚 Examples (`/examples`)
|
|
|
|
Example workflows and demonstrations:
|
|
|
|
- Sample workflow JSON files
|
|
- Usage demonstrations
|
|
- Integration examples
|
|
|
|
### 📦 Vendoring Notes
|
|
|
|
- **[VENDORING.md](VENDORING.md)** — Tracks files copied/adapted from external projects (e.g., VACE-Annotators scribble generator) plus update instructions.
|
|
|
|
## 🚀 Quick Start
|
|
|
|
### For Developers
|
|
|
|
1. **Node Development**: See individual node documentation in `/nodes/[node-name]/`
|
|
2. **Integration**: Review `/integrations/` for external API integration guides
|
|
3. **Infrastructure**: Consult `/infrastructure/` for system-level changes
|
|
4. **Web Widgets**: Check `/web-js/` for JavaScript widget development
|
|
|
|
### For Users
|
|
|
|
1. **Node Usage**: Each node folder contains usage guides and examples
|
|
2. **Troubleshooting**: Look for troubleshooting sections in node documentation
|
|
3. **Examples**: Check `/examples/` for workflow demonstrations
|
|
|
|
## 📖 Documentation Conventions
|
|
|
|
### Consolidated Documentation
|
|
|
|
Each node should have a single comprehensive markdown file that includes:
|
|
|
|
1. **Overview** - What the node does
|
|
2. **Features** - Key capabilities
|
|
3. **Configuration** - Input/output parameters
|
|
4. **Usage** - How to use the node
|
|
5. **Implementation Details** - Technical specifics
|
|
6. **Troubleshooting** - Common issues and solutions
|
|
7. **Related Documentation** - Links to relevant docs
|
|
|
|
## 🔍 Finding Documentation
|
|
|
|
### By Topic
|
|
|
|
- **Video Processing**: Check `/nodes/video-preview/` and `/nodes/video-metadata/`
|
|
- **AI/ML Features**: See `/nodes/media-describe/` and `/nodes/lora-loader/`
|
|
- **External APIs**: Look in `/integrations/`
|
|
- **Performance**: Check `/infrastructure/caching/`
|
|
- **Debugging**: See `/infrastructure/debug/`
|
|
- **Web Widgets**: Review `/web-js/` for JavaScript UI components
|
|
|
|
## 📝 Contributing Documentation
|
|
|
|
When adding new documentation:
|
|
|
|
1. **Choose the Right Location**:
|
|
- Node-specific → `/nodes/[node-name]/`
|
|
- Infrastructure → `/infrastructure/[category]/`
|
|
- Integration → `/integrations/[service]/`
|
|
- Web JavaScript widget → `/web-js/`
|
|
|
|
2. **One File Per Node**: Create a single comprehensive markdown file for each node
|
|
|
|
3. **Update Index Files**: Add your documentation to the relevant `README.md` in the subdirectory
|
|
|
|
4. **Cross-Reference**: Link to related documentation files
|
|
|
|
5. **Include Examples**: Add code snippets and usage examples
|
|
|
|
## 🗂️ Index Files
|
|
|
|
Each subdirectory contains a `README.md` that:
|
|
|
|
- Lists all documentation files in that directory
|
|
- Provides brief descriptions of each document
|
|
- Links to related documentation in other directories
|
|
- Includes quick reference guides when applicable
|
|
|
|
## 📊 Project Status
|
|
|
|
See [IMPLEMENTATION_STATUS.md](IMPLEMENTATION_STATUS.md) for overall project status and feature completion tracking.
|
|
|
|
## 🆘 Need Help?
|
|
|
|
1. **Search**: Use your editor's search to find keywords across all docs
|
|
2. **Index Files**: Check the `README.md` in each subdirectory
|
|
3. **Status**: Review `IMPLEMENTATION_STATUS.md` for current project state
|
|
4. **Examples**: Look in `/examples/` for working implementations
|
|
|
|
## 📅 Documentation Maintenance
|
|
|
|
- **Regular Updates**: Documentation should be updated when code changes
|
|
- **Version Tracking**: Include implementation dates in documentation
|
|
- **One File Per Node**: Keep node documentation consolidated in a single file
|
|
- **Cleanup**: Outdated documentation should be archived or removed
|
|
|
|
---
|
|
|
|
**Last Updated**: October 13, 2025
|
|
**Documentation Structure Version**: 3.0
|