Extensions/DebugPadawan's ComfyUI Essentials
ComfyUI Extension

DebugPadawan's ComfyUI Essentials

Essential custom nodes for ComfyUI workflows

By DebugPadawan·Created about a year ago·Updated 5 months ago· 2
DebugPadawan/DebugPadawans-ComfyUI-Essentials
Nodes52
On cloudLocal install
CategoryDebugPadawan/Image, DebugPadawan/Logic
Stars2
Updated5 months ago

Nodes (52)

Color Palette Extractor

The dead-simple way to pull a color palette out of any image

DebugPadawan/Image
Conditional String

An if/else for text — the prompt-switch you'll forget to install until you need it

DebugPadawan/Logic
Debug Print

The honest console.log for ComfyUI

DebugPadawan/Debug
Float Math

Two numbers in, a result out, zero ceremony

DebugPadawan/Math
Float to Int

Rounding, but you get to pick which kind

DebugPadawan/Conversion
Get List Item

Pull one thing out of a list (and it doesn't even need to be a list)

DebugPadawan/List
Image Batch Slicer

Grab one frame, or a run of frames, out of an image batch

DebugPadawan/Image
Image Dimensions Info

Read an image's width, height and batch size right off the tensor

DebugPadawan/Image
Integer Math

Integer math without the float surprises

DebugPadawan/Math
Int to Float

The one-liner that unblocks float-only inputs

DebugPadawan/Conversion
List Create (Multi-Input)

Build a list by plugging in up to eight things

DebugPadawan/List
List Deduplicator

Kill duplicate tags and keep the order

DebugPadawan/List
List Filter

Filter a list by what its strings contain

DebugPadawan/List
List Info

Count, first, last — the three things you'll want to know about a list

DebugPadawan/List
List Merger

Two lists in, three ways to combine them

DebugPadawan/List
List Shuffler

Deterministic shuffle — same seed, same order, every time

DebugPadawan/List
List Slicer

The list version of 'give me items 3 through 7'

DebugPadawan/List
Logic Gate

AND, OR, NOT, XOR — actual boolean logic on the canvas

DebugPadawan/Logic
Math Expression Solver

One expression instead of a tower of math nodes

DebugPadawan/Math
Node Search Utility

A search box for the node you know the name of but can't find

DebugPadawan/Utilities
Number Absolute

Absolute value without the maths degree

DebugPadawan/Number
Number Clamp

Keep your numbers between the lines

DebugPadawan/Number
Number Compare

The if-statement your workflow was missing

DebugPadawan/Number
Number Lerp

Smooth transitions, one slider at a time

DebugPadawan/Number
Number Range

A Python range() for your graph

DebugPadawan/Number
Number Remap

Move a number from one scale to another without thinking

DebugPadawan/Number
Number Round

Stop tripping over floating point noise

DebugPadawan/Number
Number Sign

Negative, zero, or positive — tell in one node

DebugPadawan/Number
Number to String

Numbers as text, without the 0.30000000000000004

DebugPadawan/Conversion
Random Number Gen

Reproducible randomness — a weirder phrase than it should be

DebugPadawan/Math
Random List Selector

Roll the dice on your prompt styles

DebugPadawan/List
Number Transform

Eight one-number transforms in a single dropdown

DebugPadawan/Math
String to Boolean

Parsing 'yes' / 'no' / 'true' / 'false' like a champ

DebugPadawan/Conversion
String to Float

When text says '3.5' but you need the number 3.5

DebugPadawan/Conversion
String to Int

Turn '42' into 42 (and even '3.14' into 3)

DebugPadawan/Conversion
Text Case

UPPERCASE, lowercase, Title Case — for your prompts

DebugPadawan/Text
Text Case Converter

Snake_case, camelCase, kebab-case — for filenames and code

DebugPadawan/Text
Text Compare

Branch your workflow on what the text says

DebugPadawan/Text
Load Text File

Load a .txt straight into your graph

DebugPadawan/Utilities
Text Joiner

Turn a list of tags into one comma-separated prompt

DebugPadawan/Text
Text Length

The boring node that saves you from silently truncated prompts

DebugPadawan/Text
Text Prefix Suffix

Assembling prompts without the ugly spacing bugs

DebugPadawan/Text
Text Regex (Pro)

Find, rewrite, and extract with real patterns

DebugPadawan/Text
Text Replace (Legacy)

Same regex engine, older name

DebugPadawan/Text
Text Splitter

Turning a comma string into a list you can actually use

DebugPadawan/Text
Text Template (Format)

Prompt assembly with placeholder slots

DebugPadawan/Text
Text to JSON

When a string of JSON needs to become data

DebugPadawan/JSON
Text Trim

Getting the whitespace off the ends

DebugPadawan/Text
Text Trimmer

The whitespace janitor with the right modes

DebugPadawan/Text
Type Converter

The glue that keeps ComfyUI's strict typing happy

DebugPadawan/Conversion
JSON To Text

Pretty-print a JSON object for humans or string nodes

DebugPadawan/JSON
String Formatter

Named placeholders, no regex required

DebugPadawan/Text
Readme
<div align="center">

🎯 DebugPadawan's ComfyUI Essentials

Essential custom nodes for ComfyUI workflows

Python ComfyUI License Version GitHub Stars

</div>

✨ Features

<table> <tr> <td><b>🔤 Text Processing</b></td> <td>Split, join, and manipulate text strings with precision</td> </tr> <tr> <td><b>📦 Data Conversion</b></td> <td>Convert between text and JSON formats easily</td> </tr> <tr> <td><b>🐛 Debug Tools</b></td> <td>Print and inspect values during workflow execution</td> </tr> <tr> <td><b>⏱️ Timing Control</b></td> <td>Add delays and timing control to your workflows</td> </tr> <tr> <td><b>🔀 Logic & Math</b></td> <td>Boolean logic gates and mathematical operations</td> </tr> <tr> <td><b>🔧 Utilities</b></td> <td>Essential helpers for workflow optimization and list management</td> </tr> </table>

🚀 Installation

# Navigate to your ComfyUI custom nodes directory
cd ComfyUI/custom_nodes

# Clone the repository
git clone https://github.com/DebugPadawan/DebugPadawans-ComfyUI-Essentials.git

# Restart ComfyUI

📦 Available Nodes

🔤 Text Processing

<details> <summary><b>📝 Text Splitter</b> - Split text strings by delimiter</summary>

Category: DebugPadawan/Text

Splits a text string at a specified delimiter and returns a list of strings.

📥 Inputs:

  • text (String): The text to split (supports multiline input)
  • delimiter (String): The character(s) to split by (default: ",")
  • strip_whitespace (Boolean, optional): Remove leading/trailing whitespace (default: True)
  • remove_empty (Boolean, optional): Remove empty strings from result (default: True)

📤 Outputs:

  • text_list (List): The split list of strings
  • count (Integer): Number of elements in the list

💡 Example:

Input: "apple, banana, orange"
Delimiter: ","
Output: ["apple", "banana", "orange"] and 3

Process CSV-like data, split tag lists, separate coordinates, create filename lists, parse prompt components.

</details> <details> <summary><b>🔗 Text Joiner</b> - Combine strings with custom delimiters</summary>

Category: DebugPadawan/Text

Combines a list of strings into a single text string with a customizable delimiter.

📥 Inputs:

  • text_list (List): List of strings to join
  • delimiter (String): Character(s) to join with (default: ", ")
  • prefix (String, optional): Text to add at the beginning
  • suffix (String, optional): Text to add at the end

📤 Outputs:

  • joined_text (String): The combined text string

💡 Example:

Input: ["red", "green", "blue"]
Delimiter: " | "
Prefix: "Colors: "
Suffix: " - end"
Output: "Colors: red | green | blue - end"

Combine prompt parts, convert lists to readable text, create metadata tags, build filenames, format output strings.

</details> <details> <summary><b>🔄 Text Replace</b> - Replace specific text in a string</summary>

Category: DebugPadawan/Text

Replaces all occurrences of a specific substring within a text string.

📥 Inputs:

  • text (String): The text to process
  • find (String): The substring to search for
  • replace (String): The string to replace it with

📤 Outputs:

  • text (String): The modified text string

💡 Example:

Input: "A beautiful sunset over the ocean"
Find: "sunset"
Replace: "sunrise"
Output: "A beautiful sunrise over the ocean"

Useful for dynamically adjusting prompts, modifying paths, and cleaning up generated text.

</details> <details> <summary><b>🔍 Text Regex (Search & Replace)</b> - Pattern-based text manipulation</summary>

Category: DebugPadawan/Text

Searches for patterns using Regular Expressions and optionally replaces them.

📥 Inputs:

  • text (String): The text to process
  • pattern (String): The regex pattern to search for
  • replace (String): The string to replace matches with

📤 Outputs:

  • text (String): The modified text string
  • matches (List): All strings that matched the pattern
  • found (Boolean): True if at least one match was found

Extract numbers, redact sensitive info, complex pattern replacement.

</details> <details> <summary><b>💬 String Formatter</b> - Create custom strings with placeholders</summary>

Category: DebugPadawan/Text

Formats a string using f-string-like syntax with up to 5 input strings.

📥 Inputs:

  • format_string (String): The template string with placeholders (e.g., "Hello {input1}, your number is {input2}").
  • input1 - input5 (String, optional): Up to five input strings to replace placeholders in the format_string.

📤 Outputs:

  • formatted_string (String): The resulting formatted string.

💡 Example:

Format String: "The result of {input1} plus {input2} is {input3}"
Input1: "2"
Input2: "3"
Input3: "5"
Output: "The result of 2 plus 3 is 5"

Useful for constructing dynamic prompts, filenames, messages, or URLs from multiple pieces of data.

</details> <details> <summary><b>🔍 Text Compare</b> - Compare two strings with various modes</summary>

Category: DebugPadawan/Text

Compares two text strings and returns a boolean result based on the comparison mode.

📥 Inputs:

  • text_a (String): First text to compare
  • text_b (String): Second text to compare
  • mode (List): Comparison mode - equals, not equals, contains, starts with, ends with
  • case_sensitive (Boolean, optional): Whether comparison is case sensitive (default: True)

📤 Outputs:

  • result (Boolean): True if comparison matches
  • result_text (String): "True" or "False" as string

💡 Example:

Text A: "Hello World"
Text B: "hello"
Mode: "contains"
Case Sensitive: False
Output: True

Useful for conditional workflow branching based on text content.

</details> <details> <summary><b>📏 Text Length</b> - Get string length in characters, words, or lines</summary>

Category: DebugPadawan/Text

Measures the length of a text string in different units.

📥 Inputs:

  • text (String): The text to measure
  • count_mode (List): What to count - characters, words, lines (default: characters)

📤 Outputs:

  • length (Integer): The count
  • length_text (String): The count as a string

💡 Example:

Text: "Hello World"
Mode: "words"
Output: 2

Useful for validating prompt lengths, counting words, or checking character limits.

</details> <details> <summary><b>🔤 Text Case</b> - Transform text case</summary>

Category: DebugPadawan/Text

Transforms the case of text strings.

📥 Inputs:

  • text (String): The text to transform
  • mode (List): Case mode - uppercase, lowercase, capitalize, title case, swap case

📤 Outputs:

  • result (String): The transformed text

💡 Example:

Input: "hello world"
Mode: "title case"
Output: "Hello World"

Useful for normalizing prompts, formatting titles, or preparing text for processing.

</details> <details> <summary><b>✂️ Text Trim</b> - Remove whitespace from text</summary>

Category: DebugPadawan/Text

Removes whitespace from text strings.

📥 Inputs:

  • text (String): The text to trim
  • mode (List): Where to trim - both, left, right, all (default: both)

📤 Outputs:

  • result (String): The trimmed text

💡 Example:

Input: "  Hello World  "
Mode: "both"
Output: "Hello World"

The "all" mode removes all whitespace and collapses multiple spaces into single spaces.

</details> <details> <summary><b>🔤 Text Case Converter</b> - Transform text case styles</summary>

Category: DebugPadawan/Text

Converts text to different case styles for formatting prompts, filenames, and display text.

📥 Inputs:

  • text (String): The text to convert
  • case_mode (List): Case style - UPPER, lower, Title Case, Sentence case, snake_case, kebab-case, camelCase, PascalCase

📤 Outputs:

  • converted_text (String): The converted text

💡 Example:

Input: "hello world"
Mode: "Title Case"
Output: "Hello World"

Input: "Hello World"
Mode: "snake_case"
Output: "hello_world"

Input: "hello world"
Mode: "PascalCase"
Output: "HelloWorld"

Normalize prompts, format filenames, convert naming conventions between different systems.

</details> <details> <summary><b>✂️ Text Trimmer</b> - Advanced text trimming options</summary>

Category: DebugPadawan/Text

Trims text with various whitespace removal options.

📥 Inputs:

  • text (String): The text to trim
  • mode (List): Trim mode - both, start, end, all_whitespace, collapse_spaces

📤 Outputs:

  • trimmed_text (String): The trimmed text

💡 Example:

Input: "  Hello    World  "
Mode: "collapse_spaces"
Output: "Hello World"

Mode: "all_whitespace"
Output: "HelloWorld"

Clean up prompt formatting, remove extra spaces, prepare text for further processing.

</details> <details> <summary><b>📎 Text Prefix Suffix</b> - Add prefix and/or suffix to text</summary>

Category: DebugPadawan/Text

Adds prefix and/or suffix to text with optional spacing.

📥 Inputs:

  • text (String): The base text
  • prefix (String, optional): Text to add at the beginning
  • suffix (String, optional): Text to add at the end
  • add_space (Boolean): Add space between parts (default: True)

📤 Outputs:

  • result_text (String): The modified text

💡 Example:

Text: "beautiful"
Prefix: "a"
Suffix: "sunset"
Output: "a beautiful sunset"

Build complex prompts from components, wrap text with markers, add modifiers to prompts.

</details>

📦 Data Conversion

<details> <summary><b>🗃️ TextToJSON</b> - Convert text to JSON</summary>

Category: DebugPadawan/JSON

Converts a valid JSON string into a JSON object, enabling further data processing or integration with other nodes.

📥 Inputs:

  • text (String): The text to parse as JSON

📤 Outputs:

  • json (JSON/Object): The parsed JSON object

💡 Example:

Input: '{"name": "Alice", "age": 30}'
Output: { "name": "Alice", "age": 30 }

Use this node to quickly transform JSON-formatted text into a usable data structure for your ComfyUI workflows.

</details> <details> <summary><b>💬 JSONToText</b> - Convert JSON to text</summary>

Category: DebugPadawan/JSON

Converts a JSON object back into a formatted JSON string.

📥 Inputs:

  • json_data (JSON/Object): The JSON object to convert.
  • indent (Integer, optional): Number of spaces for indentation (0 for no indentation, default: 0).

📤 Outputs:

  • text (String): The JSON object as a string.

💡 Example:

Input: { "name": "Alice", "age": 30 }
Indent: 2
Output:
{
  "name": "Alice",
  "age": 30
}

Use this node to convert JSON data into a readable string for display, logging, or integration with nodes that expect string input.

</details>

🐛 Debug Tools

<details> <summary><b>🖨️ Debug Print</b> - Console output for debugging</summary>

Category: DebugPadawan/Debug

Prints values to the console without interrupting the workflow. Perfect for debugging and monitoring data values during execution.

📥 Inputs:

  • value (Any): Any value to print to console (supports all data types)
  • label (String, optional): Label for the debug output (default: "Debug")

📤 Outputs:

  • passthrough (Any): The same value passed through unchanged

💻 Console Output:

[MyLabel] list: ['Element1', 'Element2', 'Element3']
[Debug] str: Hello World
[Checkpoint] int: 42
[Data Flow] dict: {'key': 'value', 'count': 5}
[Boolean Test] bool: True
[Float Value] float: 3.14159

Monitor values during execution, debug complex workflows, verify data types, set checkpoints, troubleshoot unexpected results.

</details>

⏱️ Timing Control

<details> <summary><b>⏳ Wait</b> - Add delays to workflow execution</summary>

Category: DebugPadawan/Timing

Pauses workflow execution for a specified duration. Useful for rate limiting, timing control, or debugging workflow sequences.

📥 Inputs:

  • value (Any): Any value to pass through after the delay
  • delay_seconds (Float): Duration to wait in seconds (default: 1.0)
  • label (String, optional): Label for console output (default: "Wait")

📤 Outputs:

  • passthrough (Any): The same value passed through after delay

💻 Console Output:

[Wait] Waiting for 2.5 seconds...
[Wait] Wait completed.
[Custom Timer] Waiting for 5.0 seconds...
[Custom Timer] Wait completed.

Rate limit API calls, debug timing issues, control workflow execution speed, add pauses between operations, synchronize parallel processes.

⚠️ Note: Use with caution in production workflows as it will genuinely pause execution.

</details>

🖼️ Image Utilities

<details> <summary><b>📐 Image Info</b> - Extract image tensor dimensions</summary>

Category: DebugPadawan/Image

Extracts the width, height, and batch size from a ComfyUI Image tensor.

📥 Inputs:

  • image (Image): The image tensor to analyze

📤 Outputs:

  • width (Integer): Image width in pixels
  • height (Integer): Image height in pixels
  • batch_size (Integer): Number of images in the batch

Useful for dynamic resizing, conditional logic based on aspect ratio, or passing dimensions to other nodes.

</details> <details> <summary><b>🎨 Color Palette Extractor</b> - Get dominant colors from an image</summary>

Category: DebugPadawan/Image

Analyzes an image and extracts the most dominant colors as hex strings and a visual palette.

📥 Inputs:

  • image (Image): The image to analyze.
  • color_count (Integer): Number of colors to extract (default: 5, max: 20).

📤 Outputs:

  • hex_list (String): Comma-separated list of top hex colors.
  • dominant_color (String): The most frequent hex color.
  • palette_image (Image): A generated image showing the extracted color palette.

Maintain consistent styles, extract themes from reference images, or use colors for conditional prompting.

</details>

🧮 Math & Random

<details> <summary><b>➕ Int/Float Math Operation</b> - Perform basic arithmetic</summary>

Category: DebugPadawan/Math

Performs simple math operations (add, subtract, multiply, divide, modulo, power) on integers or floats.

📥 Inputs:

  • a, b (Int/Float): The values to calculate
  • operation (List): The type of mathematical operation

📤 Outputs:

  • result (Int/Float): The calculated value (returns both Int and Float variations)
</details> <details> <summary><b>🎲 Random Generator</b> - Seed-based random values</summary>

Category: DebugPadawan/Math

Generates a random float or integer between a min and max value, driven by a specific seed for reproducibility.

📥 Inputs:

  • seed (Integer): Seed for the random generator
  • min_val, max_val (Float/Integer): The range bounds
  • mode (List): Whether to generate a float or an int

📤 Outputs:

  • val (Float/Integer): The random value (returns both Int and Float formats)
</details>

📝 List Manipulation

<details> <summary><b>📝 Get List Item</b> - Retrieve an item from a list by index</summary>

Category: DebugPadawan/List

Retrieves a specific item from a list based on its index. Supports converting some iterable types to lists.

📥 Inputs:

  • input_list (Any, List force input): The input list or iterable.
  • index (Integer): The zero-based index of the item to retrieve.

📤 Outputs:

  • item (Any): The item at the specified index.

💡 Example:

Input List: ["apple", "banana", "orange"]
Index: 1
Output: "banana"

Useful for extracting specific elements from lists, such as getting a particular image from a batch, a specific tag from a list, or individual components from a parsed string list.

</details> <details> <summary><b>✂️ List Slicer</b> - Extract a range of items from a list</summary>

Category: DebugPadawan/List

Extracts a sub-list from a larger list using start and end indices.

📥 Inputs:

  • input_list (List): The input list.
  • start (Integer): Starting index (inclusive).
  • end (Integer): Ending index (exclusive, use 0 for "to the end").

📤 Outputs:

  • list_slice (List): The sub-list.
  • count (Integer): Number of elements in the slice.

Get the first N images of a batch, skip the first item, or take a specific range of values.

</details> <details> <summary><b>🎲 Random List Selector</b> - Pick random items from a list</summary>

Category: DebugPadawan/List

Randomly selects one or more items from a list with seed-based reproducibility.

📥 Inputs:

  • input_list (List): The input list.
  • seed (Integer): Seed for reproducible random selection.
  • count (Integer): Number of items to select (default: 1).
  • allow_duplicates (Boolean): Allow selecting the same item multiple times.

📤 Outputs:

  • selected_items (List): The randomly selected items.
  • count (Integer): Number of items selected.
  • first_item (Any): The first selected item (convenient for single selections).

💡 Example:

Input List: ["style1", "style2", "style3", "style4", "style5"]
Seed: 42
Count: 2
Output: ["style3", "style1"]

Perfect for randomizing prompt styles, selecting random seeds, or picking random colors/tags from lists.

</details> <details> <summary><b>🔀 List Shuffler</b> - Shuffle list order deterministically</summary>

Category: DebugPadawan/List

Shuffles a list into random order using a seed for reproducibility.

📥 Inputs:

  • input_list (List): The input list.
  • seed (Integer): Seed for reproducible shuffling.

📤 Outputs:

  • shuffled_list (List): The shuffled list.
  • count (Integer): Number of items.

💡 Example:

Input: ["a", "b", "c", "d"]
Seed: 123
Output: ["c", "a", "d", "b"]

Randomize processing order, shuffle prompt components, or reorder batch elements.

</details> <details> <summary><b>🔗 List Merger</b> - Combine multiple lists</summary>

Category: DebugPadawan/List

Merges two lists together with different modes.

📥 Inputs:

  • list_a (List): First list.
  • list_b (List): Second list.
  • mode (List): Merge mode - "concatenate" or "interleave".

📤 Outputs:

  • merged_list (List): The merged list.
  • count (Integer): Number of items.

💡 Example:

List A: [1, 2, 3]
List B: ["a", "b", "c"]
Mode: "interleave"
Output: [1, "a", 2, "b", 3, "c"]

Combine tag lists, merge processing pipelines, or interleave prompt components.

</details> <details> <summary><b>🧹 List Deduplicator</b> - Remove duplicates from a list</summary>

Category: DebugPadawan/List

Removes duplicate items from a list while preserving order.

📥 Inputs:

  • input_list (List): The input list.

📤 Outputs:

  • deduplicated_list (List): List with duplicates removed.
  • count (Integer): Number of unique items.
  • removed_count (Integer): Number of duplicates removed.

💡 Example:

Input: ["apple", "banana", "apple", "orange", "banana"]
Output: ["apple", "banana", "orange"], count: 3, removed: 2

Clean up tag lists, remove redundant prompts, or filter unique values.

</details>

🔄 Type Conversion

<details> <summary><b>🔀 Type Converter</b> - Universal type conversion</summary>

Category: DebugPadawan/Conversion

Converts between different data types: string, int, float, and boolean.

📥 Inputs:

  • value (Any): The value to convert
  • output_type (List): Target type - string, int, float, boolean

📤 Outputs:

  • converted (Any): The converted value

💡 Example:

Input: 42 (int)
Type: "string"
Output: "42"

Input: "3.14" (string)
Type: "float"
Output: 3.14

Convert any value to any type, workflow data type compatibility, normalize inputs for nodes that require specific types.

</details> <details> <summary><b>🔢 Int to Float</b> - Convert integer to float</summary>

Category: DebugPadawan/Conversion

Converts an integer to a floating-point number.

📥 Inputs:

  • value (Integer): The integer to convert

📤 Outputs:

  • float_value (Float): The converted float

Useful for nodes that only accept float inputs.

</details> <details> <summary><b>📐 Float to Int</b> - Convert float to integer</summary>

Category: DebugPadawan/Conversion

Converts a float to an integer with rounding mode control.

📥 Inputs:

  • value (Float): The float to convert
  • mode (List): Rounding mode - round, floor, ceil

📤 Outputs:

  • int_value (Integer): The converted integer

💡 Example:

Input: 3.7
Mode: "floor"
Output: 3

Input: 3.2
Mode: "ceil"
Output: 4
</details> <details> <summary><b>🔤 String to Int</b> - Parse string as integer</summary>

Category: DebugPadawan/Conversion

Converts a string to an integer.

📥 Inputs:

  • value (String): The string to parse

📤 Outputs:

  • int_value (Integer): The parsed integer

Handles strings like "42" or "3.14" (converts via float first).

</details> <details> <summary><b>🔤 String to Float</b> - Parse string as float</summary>

Category: DebugPadawan/Conversion

Converts a string to a floating-point number.

📥 Inputs:

  • value (String): The string to parse

📤 Outputs:

  • float_value (Float): The parsed float

💡 Example:

Input: "3.14159"
Output: 3.14159
</details> <details> <summary><b>🔤 String to Boolean</b> - Parse string as boolean</summary>

Category: DebugPadawan/Conversion

Converts a string to a boolean value.

📥 Inputs:

  • value (String): The string to parse

📤 Outputs:

  • bool_value (Boolean): The parsed boolean

💡 Example:

Input: "true" → Output: True
Input: "yes" → Output: True
Input: "false" → Output: False
Input: "0" → Output: False

Recognizes: true/false, yes/no, 1/0, on/off (case insensitive).

</details> <details> <summary><b>🔢 Number to String</b> - Format number as string</summary>

Category: DebugPadawan/Conversion

Converts a number to a string with decimal precision control.

📥 Inputs:

  • value (Float): The number to convert
  • decimal_places (Integer): Number of decimal places (0-10)

📤 Outputs:

  • string_value (String): The formatted string

💡 Example:

Input: 3.14159
Decimal Places: 2
Output: "3.14"

Input: 3.14159
Decimal Places: 0
Output: "3"
</details>

🔢 Number Utilities

<details> <summary><b>📏 Number Clamp</b> - Clamp value between min and max</summary>

Category: DebugPadawan/Number

Clamps a number to stay within a specified range.

📥 Inputs:

  • value (Float): The value to clamp
  • min_val (Float): Minimum allowed value (default: 0.0)
  • max_val (Float): Maximum allowed value (default: 1.0)

📤 Outputs:

  • clamped (Float): The clamped value

💡 Example:

Input: 1.5, min: 0.0, max: 1.0
Output: 1.0

Input: -0.5, min: 0.0, max: 1.0
Output: 0.0

Useful for ensuring values stay within valid ranges, like RGB values or percentages.

</details> <details> <summary><b>🔢 Number Round</b> - Round with precision control</summary>

Category: DebugPadawan/Number

Rounds a number to a specified number of decimal places.

📥 Inputs:

  • value (Float): The value to round
  • decimal_places (Integer): Number of decimal places (0-10)

📤 Outputs:

  • rounded (Float): The rounded value
  • rounded_string (String): The rounded value as a formatted string

💡 Example:

Input: 3.14159
Decimal Places: 2
Output: 3.14, "3.14"
</details> <details> <summary><b>📊 Number Range</b> - Generate number sequence</summary>

Category: DebugPadawan/Number

Generates a list of numbers from start to end with a step.

📥 Inputs:

  • start (Integer): Starting value
  • end (Integer): Ending value (exclusive)
  • step (Integer): Step increment

📤 Outputs:

  • range_list (List): List of integers
  • count (Integer): Number of items

💡 Example:

Start: 0, End: 10, Step: 2
Output: [0, 2, 4, 6, 8], 5
</details> <details> <summary><b>⚖️ Number Compare</b> - Compare two numbers</summary>

Category: DebugPadawan/Number

Compares two numbers and returns a boolean result.

📥 Inputs:

  • a (Float): First value
  • b (Float): Second value
  • comparison (List): Comparison type - equal, not equal, greater, less, greater or equal, less or equal

📤 Outputs:

  • result (Boolean): Comparison result
  • result_text (String): Result as text ("True"/"False")

Useful for conditional workflow branching based on numeric values.

</details> <details> <summary><b>📏 Number Absolute</b> - Get absolute value</summary>

Category: DebugPadawan/Number

Returns the absolute (positive) value of a number.

📥 Inputs:

  • value (Float): The value

📤 Outputs:

  • absolute (Float): The absolute value

💡 Example:

Input: -5.3
Output: 5.3
</details> <details> <summary><b>➖ Number Sign</b> - Get sign of a number</summary>

Category: DebugPadawan/Number

Returns the sign of a number (-1, 0, or 1).

📥 Inputs:

  • value (Float): The value

📤 Outputs:

  • sign (Integer): -1 (negative), 0 (zero), or 1 (positive)
  • sign_text (String): "negative", "zero", or "positive"

💡 Example:

Input: 42 → Output: 1, "positive"
Input: -3.5 → Output: -1, "negative"
Input: 0 → Output: 0, "zero"
</details> <details> <summary><b>🔄 Number Remap</b> - Remap value between ranges</summary>

Category: DebugPadawan/Number

Remaps a value from one range to another (linear interpolation).

📥 Inputs:

  • value (Float): The value to remap
  • from_min (Float): Source range minimum
  • from_max (Float): Source range maximum
  • to_min (Float): Target range minimum
  • to_max (Float): Target range maximum

📤 Outputs:

  • remapped (Float): The remapped value

💡 Example:

Input: 0.5, from: [0, 1], to: [0, 100]
Output: 50.0

Input: 25, from: [0, 100], to: [0, 1]
Output: 0.25

Perfect for normalizing values or converting between different scales.

</details> <details> <summary><b>📊 Number Lerp</b> - Linear interpolation</summary>

Category: DebugPadawan/Number

Performs linear interpolation between two values.

📥 Inputs:

  • a (Float): Start value
  • b (Float): End value
  • t (Float): Interpolation factor (0.0 to 1.0)

📤 Outputs:

  • lerped (Float): The interpolated value

💡 Example:

a: 0, b: 100, t: 0.5
Output: 50.0

a: 10, b: 20, t: 0.25
Output: 12.5

Useful for smooth transitions and blending values.

</details>

🔧 Utility Nodes

<details> <summary><b>📊 List Info</b> - Analyze list properties</summary>

Category: DebugPadawan/Utilities

Analyzes a list and returns useful information about it.

📥 Inputs:

  • input_list (List): The list to analyze

📤 Outputs:

  • count (Integer): Number of elements
  • first_item (String): First element (as string)
  • last_item (String): Last element (as string)

Validate list processing results, get quick statistics, check if lists are empty, extract boundary values.

</details> <details> <summary><b>🔀 Conditional String</b> - Boolean-based string selection</summary>

Category: DebugPadawan/Logic

Returns one of two strings based on a boolean condition.

📥 Inputs:

  • condition (Boolean): The condition to evaluate
  • true_string (String): String to return if True (default: "True")
  • false_string (String): String to return if False (default: "False")

📤 Outputs:

  • result (String): The selected string

Conditional prompt modification, dynamic filename generation, workflow branching, status message generation.

</details> <details> <summary><b>🔌 Logic Gate</b> - Boolean operations</summary>

Category: DebugPadawan/Logic

Performs AND, OR, NOT, or XOR operations on boolean inputs.

📥 Inputs:

  • a, b (Boolean): Boolean values.
  • operation (List): AND, OR, NOT (A), XOR.

📤 Outputs:

  • result (Boolean): The resulting boolean value.

Complex workflow branching and conditional logic.

</details>

🎨 Quick Start Examples

Basic Text Processing

"apple,banana,orange" → Text Splitter → ["apple", "banana", "orange"]
                                    ↓
["apple", "banana", "orange"] → Text Joiner → "apple | banana | orange"

Text to JSON Conversion

'{"foo": "bar"}' → TextToJSON → { "foo": "bar" }

Debug Workflow

Input Data → Debug Print ("Input") → Processing Node → Debug Print ("Output") → Result

Timed Processing

Data → Wait (2.0s) → Processing → Wait (1.0s) → Output

📋 Node Categories

| Category | Nodes | Purpose | |----------|-------|---------| | DebugPadawan/Text | Text Splitter, Text Joiner, Text Replace, Text Regex, String Formatter, Text Compare, Text Length, Text Case, Text Trim, Text Case Converter, Text Trimmer, Text Prefix Suffix | Text manipulation and processing | | DebugPadawan/JSON | TextToJSON, JSONToText | Text to JSON conversion | | DebugPadawan/Debug | Debug Print | Debugging and monitoring | | DebugPadawan/Timing | Wait | Timing control and delays | | DebugPadawan/Utilities | List Info | Data analysis helpers | | DebugPadawan/Logic | Conditional String, Logic Gate | Conditional operations | | DebugPadawan/Image | Image Info, Color Palette Extractor | Image tensor analysis and color extraction | | DebugPadawan/Math | Int/Float Math Operation, Random Generator | Basic arithmetic and random number generation | | DebugPadawan/List | Get List Item, List Slicer, Random List Selector, List Shuffler, List Merger, List Deduplicator | List manipulation | | DebugPadawan/Conversion | Type Converter, Int to Float, Float to Int, String to Int, String to Float, String to Boolean, Number to String | Type conversion utilities | | DebugPadawan/Number | Number Clamp, Number Round, Number Range, Number Compare, Number Absolute, Number Sign, Number Remap, Number Lerp | Number formatting and utilities |


🤝 Contributing

We welcome contributions! Feel free to:

  • 🐛 Report bugs
  • 💡 Suggest new features
  • 🔧 Submit pull requests
  • 📖 Improve documentation

📄 License

This project is licensed under the MIT License.


<div align="center">

Made with ❤️ by DebugPadawan

</div>