Dev: Code Structure
SD.Next is organized as core repo with multiple submodules for different components where each submodule is a separate repository.
Core repo
Repo: https://github.com/vladmandic/sdnext
The core repo contains the main application code and default UI components
Entire server-side code is written in Python.
UI components are written in TypeScript.
Folders:
modules/- main application code
this is core of SD.Nextpipelines- model pipeline definitions and related code
loaders and model-specific codescripts/- additional scripts available in the application
good place is to add new scriptsui/- UI components and related code
client-side code for core UI components and StandardUIextensions-builtin/- built-in extensions included in the application
look here for ModernUI and Kanvascli/- command-line interface tools and api usage examplesconfigs/- model configuration files and templatesdata/- json data files used for preconfigured items and modelsmodels/- model files and related assetsoutputs/- output files generated by the applicationextensions/- 3rd party extensions installed by users
this is where user-installed extensions are locatedtest/- test utilities
Wiki
Wiki repo contains documentation and guides for developers and users.
- Repo: https://github.com/vladmandic/sdnext/wiki
- Folder:
wiki/
Wiki is also used to automatically build online documentation: https://vladmandic.github.io/sdnext-docs/.
ModernUI
ModernUI is the default UI for SD.Next.
- Repo: https://github.com/binaryQuantumSoul/sdnext-modernui
- Folder:
extensions-builtin/sdnext-modernui/
Kanvas
Kanvas is a UI extension that provides a canvas-based interface for image editing and masking.
- Repo: https://github.com/vladmandic/sdnext-kanvas
- Folder:
extensions-builtin/sdnext-kanvas/
Data
Data repo is backend repo that provides data for the application such as 3rd party extension lists.
It runs fully automated workflows and typically is not cloned locally.
Docs
Docs repo is used to build online documentation from wiki content.
It runs fully automated workflows and typically is not cloned locally.