From 98d3520775bfa8efa7b512875f95556c76cda7f4 Mon Sep 17 00:00:00 2001 From: Ethanfel Date: Sat, 4 Jul 2026 22:36:50 +0200 Subject: [PATCH] Drop the SxCP prefix from this pack's node names MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit SxCP is the Prompt-Builder pack's brand; these are Calibrator nodes. Renamed the display names (cosmetic only — class_types unchanged, so no workflows/bridge break): 'External Prompt (Receptor)', 'Audio Prompt Guide', 'Audio Wave + Segments'; renamed the JS extension id too. Kept the genuine Prompt-Builder (SxCP) references in the docs. Co-Authored-By: Claude Opus 4.8 --- README.md | 8 ++++---- docs/AGENT_LOOP.md | 2 +- nodes/audio_guide.py | 2 +- nodes/audio_wave_segments.py | 4 ++-- nodes/receptor.py | 2 +- web/audio_wave.js | 4 ++-- 6 files changed, 11 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index 9d9aff6..608dc06 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ until the generated image matches the reference. | Component | What it is | |---|---| | `Qwen3-VL Image Judge (Calibrator)` | scores generated vs reference, writes analysis to disk for the agent | -| `SxCP External Prompt (Receptor)` | stable injection point; the agent sets `prompt/negative/seed` here per queue | +| `External Prompt (Receptor)` | stable injection point; the agent sets `prompt/negative/seed` here per queue | | `agent_bridge.py` | one CLI call = one iteration (inject → `POST /prompt` → wait → print analysis JSON) | ## The "vllm node": `Qwen3-VL Image Judge (Calibrator)` @@ -62,7 +62,7 @@ Set **`json_output=true`** for JSON-producing system prompts — it extracts the from the reply (stripping any reasoning, prose, or ```fences) and returns it clean and re-serialized (falls back to raw text if none parses). Works even with `enable_thinking` on. -## Audio-guided prompts (`SxCP Audio Prompt Guide`) +## Audio-guided prompts (`Audio Prompt Guide`) For audio-driven video (e.g. LTX prompt-relay timed to music), the `AudioPromptGuide` node turns an audio clip + your free-text motion **notes** into inputs the vision model can use: @@ -78,7 +78,7 @@ subject image** and the **waveform**, use the two image slots (chat mode sees bo ``` your subject image ───────────────────────────────────► Judge.reference_image (IMAGE 1) -LoadAudio ─► SxCP Audio Prompt Guide ─┬─ waveform_image ─► Judge.generated_image (IMAGE 2) +LoadAudio ─► Audio Prompt Guide ─┬─ waveform_image ─► Judge.generated_image (IMAGE 2) (notes: "seg3: fast on the drop") └─ audio_summary ─► Judge.user_prompt (prompts/ltx_audio_relay_system_prompt.txt) ─────────► Judge.system_prompt Judge (mode=chat, json_output=true) ─► LTX beats JSON @@ -101,7 +101,7 @@ seg1: slow dreamy intro # by segment number (also "1:" or "S1:") cinematic, moody grade # no prefix = global (applies throughout) ``` -### Interactive: `SxCP Audio Wave + Segments` +### Interactive: `Audio Wave + Segments` Same outputs, but with an in-node waveform widget: **upload** an audio clip, **play** it, and **click the waveform** to place segment boundaries — click to add a split, drag to diff --git a/docs/AGENT_LOOP.md b/docs/AGENT_LOOP.md index 4dd4fe2..b5c1e75 100644 --- a/docs/AGENT_LOOP.md +++ b/docs/AGENT_LOOP.md @@ -36,7 +36,7 @@ supports a `source_file` for file-first workflows if you ever want it.) | Piece | Role | |---|---| -| `CalibratorPromptReceptor` (`SxCP External Prompt (Receptor)`) | Stable node the agent injects `prompt/negative/seed` into. Feeds the sampler. | +| `CalibratorPromptReceptor` (`External Prompt (Receptor)`) | Stable node the agent injects `prompt/negative/seed` into. Feeds the sampler. | | `QwenVLImageJudge` (`Qwen3-VL Image Judge (Calibrator)`) | `describe` (first pass) emits the canonical reference; `compare` judges generated vs reference per axis (verdict match/partial/mismatch). When given `reference_description`, compare anchors on that fixed text. Writes `calib_.json` + `latest.json` to `report_dir`. | | `agent_bridge.py` | One CLI call = one iteration: inject prompt (+`--ref-desc-file` for the canonical anchor) → queue → wait → print the analysis JSON to stdout. Stdlib only. | diff --git a/nodes/audio_guide.py b/nodes/audio_guide.py index 0a9dbf0..1f7745d 100644 --- a/nodes/audio_guide.py +++ b/nodes/audio_guide.py @@ -213,4 +213,4 @@ class AudioPromptGuide: NODE_CLASS_MAPPINGS = {"AudioPromptGuide": AudioPromptGuide} -NODE_DISPLAY_NAME_MAPPINGS = {"AudioPromptGuide": "SxCP Audio Prompt Guide"} +NODE_DISPLAY_NAME_MAPPINGS = {"AudioPromptGuide": "Audio Prompt Guide"} diff --git a/nodes/audio_wave_segments.py b/nodes/audio_wave_segments.py index b150283..19394da 100644 --- a/nodes/audio_wave_segments.py +++ b/nodes/audio_wave_segments.py @@ -4,7 +4,7 @@ Audio Wave Segments node for ComfyUI. An audio node with its own upload that (via the JS widget in web/audio_wave.js) displays the waveform, plays the clip, and lets you click segment boundaries on the waveform and give each a note. It outputs the same waveform IMAGE + timing -`audio_summary` as SxCP Audio Prompt Guide (feed those to the judge in chat mode), +`audio_summary` as Audio Prompt Guide (feed those to the judge in chat mode), plus the AUDIO for downstream use. Works without the JS too: leave `segments_json` as "[]" and it auto-splits, or type @@ -154,4 +154,4 @@ class AudioWaveSegments: NODE_CLASS_MAPPINGS = {"AudioWaveSegments": AudioWaveSegments} -NODE_DISPLAY_NAME_MAPPINGS = {"AudioWaveSegments": "SxCP Audio Wave + Segments"} +NODE_DISPLAY_NAME_MAPPINGS = {"AudioWaveSegments": "Audio Wave + Segments"} diff --git a/nodes/receptor.py b/nodes/receptor.py index bf0d52e..725bc6a 100644 --- a/nodes/receptor.py +++ b/nodes/receptor.py @@ -61,5 +61,5 @@ class CalibratorPromptReceptor: NODE_CLASS_MAPPINGS = {"CalibratorPromptReceptor": CalibratorPromptReceptor} NODE_DISPLAY_NAME_MAPPINGS = { - "CalibratorPromptReceptor": "SxCP External Prompt (Receptor)" + "CalibratorPromptReceptor": "External Prompt (Receptor)" } diff --git a/web/audio_wave.js b/web/audio_wave.js index afadee4..03e35f8 100644 --- a/web/audio_wave.js +++ b/web/audio_wave.js @@ -1,4 +1,4 @@ -// SxCP Audio Wave + Segments — waveform display + playback + click-to-segment. +// Audio Wave + Segments — waveform display + playback + click-to-segment. // Writes the segment boundaries/notes into the node's hidden `segments_json` widget. // First cut: open the browser console for [audiowave] logs if something misbehaves. import { app } from "../../scripts/app.js"; @@ -145,7 +145,7 @@ function setupWave(node) { } app.registerExtension({ - name: "sxcp.audiowave", + name: "promptcalib.audiowave", async beforeRegisterNodeDef(nodeType, nodeData) { if (nodeData?.name !== "AudioWaveSegments") return; const orig = nodeType.prototype.onNodeCreated;