vidfom's picture
Upload folder using huggingface_hub (part 7)
e4ab0d4 verified
|
Raw
History Blame Contribute Delete
8.47 kB
# Glossary
Short, plain-English definitions for this repo workflow.
## Root `__init__.py`
- The ComfyUI entry file for this plugin.
- Its job is to import node mappings and expose `NODE_CLASS_MAPPINGS` / `NODE_DISPLAY_NAME_MAPPINGS`.
- Keep it clean and focused on loading nodes.
## Main Repo
- This repository: `ComfyUI-Koolook`.
- Stores Koolook-owned code, docs, and lightweight integration wrappers.
- Should not store full external third-party repositories.
## External Forks
- Raw upstream/fork reference repos kept outside MAIN.
- Default location is a sibling folder: `../ComfyUI-Forks`.
- Each external repo should be pinned to a version/tag + exact commit.
## Wrapper
- A small adapter module in `forks/` that loads locally tracked modified nodes and namespaces node IDs.
- Purpose: avoid collisions and keep external logic separate from root loader.
- For Radiance, the package entrypoint is `forks/radiance_koolook/__init__.py`.
## Version Folder
- A folder under `forks/radiance_koolook/versions/` that stores one maintained codebase snapshot (example: `v1_0_1`).
- Keep upstream parity metadata in `UPSTREAM_PIN.yaml` inside each version folder.
## Namespace Suffix
- A suffix added to internal node IDs (example: `__koolook_v1_0_1`).
- Prevents collisions between versions (v1, v2, upstream, etc.).
- Protects old workflows from breaking.
## `forks/forks_manifest.yaml`
- Machine-readable tracker for external dependencies.
- Contains source repo, source ref, pinned commit, and external relative path.
- This is the source of truth for reproducible setup on new machines.
## `forks/THIRD_PARTY.md`
- Human-readable attribution and notes.
- Explains what was modified and why.
## Portable Paths
- Prefer relative paths so setup works on Windows/macOS/Linux.
- Keep external references under `../ComfyUI-Forks` for portable machine setup.
## Pinned Commit
- The exact git commit hash you lock to for reproducibility.
- Use this when moving to another computer so behavior matches exactly.
## Sibling Project
- A related repository or folder that lives **outside MAIN** and is consulted (read-only) but never imported by MAIN at runtime.
- Examples: external forks root, ComfyUI knowledge database, personal knowledge database.
- Always referenced by env var (e.g. `KOLOOK_COMFYUI_KB_DIR`) — never by absolute path in committed files.
- Real paths live in `.env` (gitignored). The committed `.env.example` declares the variable names.
- Treated as runtime-optional: if the env var is unset and there is no portable default, the sibling is considered unavailable.
## `.env` / `.env.example`
- `.env.example` (committed) — public template listing the env var names with safe placeholder values.
- `.env` (gitignored) — each user's local file with real machine-specific paths.
- Pattern matches the existing `KOLOOK_FORKS_DIR` convention.
## EasyUse GET/SET Virtual Tunnel
- A pair of frontend-only EasyUse utility nodes: `easy setNode` stores a
named value source and `easy getNode` exposes that value elsewhere in the
graph by key.
- Render-time ComfyUI execution resolves the tunnel, but a browser-side
preview button that simply reads the GET node widget will see only the key
name (for example `OUT-folder`) rather than the actual upstream value.
- Preview code must follow `easy getNode` -> matching `easy setNode` -> set
input link -> source widget value to match render-time behavior.
- Debug by reading the installed EasyUse frontend source
(`comfyui-easy-use/web_version/v1/js/getset.js`) and simulating the relevant
LiteGraph shape locally when the live `app.graph` object is not exposed.
## Automation module
- A self-contained AI-managed ComfyUI iteration task. Lives under
`docs/automations/<grouping>/<task>/`, with the grouping typically being
the diffusion model (`LTX-2.3/`) and the task being a specific generation
goal (`base-1step/`, `audio-lipsync/`).
- Each module owns: a `README.md` (loop entry + workflow contract), a
`handoff-checklist.md` (5-minute bootstrap), a `findings.md` (locked-in
conclusions for that task), optionally a `backstory/` folder (the
narrative that produced the module), optionally a `runs/` folder for
in-repo run snapshots when the iteration touches code (not just widget
values).
- Modules are independent: own workflow JSON, own working folder, own
findings. The model grouping is only structural — it does not carry
shared docs unless duplication forces a future `_shared/` extraction.
- When a module needs to modify an upstream node's code, the modification
lives under `forks/<package>_koolook/` per the fork pattern (see
*Wrapper* and *Version Folder* above), and the module's README
cross-references the fork.
## Loop
- The save → render → feedback → snapshot cycle inside an automation
module.
- Step 1: maintainer edits a knob in ComfyUI (or in a `forks/` source
file) and **saves** the workflow.
- Step 2: maintainer queues the render.
- Step 3: maintainer reports the result in chat.
- Step 4: agent snapshots current state into the module's
`runs/run-NNN_<label>/` (when the module ships in-repo runs) or just
appends to the working-folder `_AI/iterations.md` (when card-and-log
is all that's needed).
- Module-specific protocol lives at `<module>/runs/LOOP.md` for the
fork-touching modules; lighter modules document the loop inline in
their `README.md`.
## Run
- One iteration of the loop.
- For modules that ship in-repo run snapshots, a `run-NNN_<short-knob-summary>_<short-result-tag>`
folder under `<module>/runs/` containing at minimum a `workflow.json`
copy and a `notes.md` (maintainer feedback + agent interpretation).
- For all modules, also a row in the per-project working-folder
`_AI/iterations.md` log (auto-rendered by `/make-card`).
## Backstory
- The running narrative that produced an automation module — the
problem, the mechanism, the hypotheses considered, the rationale for
why the module exists. Lives at `<module>/backstory/<topic>.md`.
- Distinct from `findings.md` (locked-in conclusions) and
`runs/log.md` (rolling table of renders). The backstory is a
reference for *why* and *how it got here*; findings are *what's
true now*.
## Working folder
- The outside-the-repo per-project folder pointed at by
`KOLOOK_AUTOMATIONS_WORK_DIR` in `.env`. Holds workflow JSON,
rendered video, and the agent-managed `_AI/` subfolder with
`card.png` + append-only `iterations.md`.
- One working folder per project. Multiple automation modules can
point at the same working folder if they share workflow files;
more commonly, each module's iteration uses its own working folder.
## Card
- A per-render tracking visual (PNG) rendered automatically at the end
of a loop iteration. Travels alongside the rendered video into the
NLE for side-by-side comparison.
- Each automation module ships its own card renderer in
[scripts/](../../scripts/) to highlight what matters for *that*
module's iteration:
- `make_card.py` → base-1step card (Phase 1 / Phase 2 / Base · model /
Base · locked / Base · scene / Outcome). Writes to
`<working folder>/_AI/card.png`.
- `make_card_audio.py` → audio-lipsync card (KNOB STATE / FORK STATE /
SAMPLER / BASE notes / OUTCOME, plus an INERT warning when the
Director is upstream). Writes inside the module's
`runs/run-NNN_<label>/card.png`.
- Palette + font fallback chain is shared (see
`scripts/make_card.py` and `scripts/make_card_audio.py`) so the two
card families read as a set.
## Loop config (per-module)
- A JSON file co-located with the module's loop script that holds the
customisable settings — workflow filename pattern, ComfyUI workflows
subpath, tracked multiline titles, fork dir to pin, whether to
render a card. Underscore-prefixed keys are ignored by the loader
(carry inline documentation).
- Convention: `<script-name>.config.json` next to the script. The
audio-lipsync loop config lives at
[scripts/loop_audio.config.json](../../scripts/loop_audio.config.json).
- Required keys (validated at script start): `job_name`, `module_path`,
`comfyui_workflows_subpath`, `workflow_pattern`,
`skip_filename_substring`, `tracked_multilines`, `fork_to_track`,
`render_card`.
- Per-module operating instructions live in the module's
`CHEATSHEET.md` (e.g.
[docs/automations/LTX-2.3/audio-lipsync/CHEATSHEET.md](../automations/LTX-2.3/audio-lipsync/CHEATSHEET.md)).