# ๐ŸŽฏ DebugPadawan's ComfyUI Essentials *Essential custom nodes for ComfyUI workflows* [![Python](https://img.shields.io/badge/Python-3.8+-blue.svg)](https://python.org) [![ComfyUI](https://img.shields.io/badge/ComfyUI-Compatible-green.svg)](https://github.com/comfyanonymous/ComfyUI) [![License](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE) [![Version](https://img.shields.io/badge/Version-1.5.0-informational.svg)](https://github.com/DebugPadawan/DebugPadawans-ComfyUI-Essentials/releases) [![GitHub Stars](https://img.shields.io/github/stars/DebugPadawan/DebugPadawans-ComfyUI-Essentials.svg)](https://github.com/DebugPadawan/DebugPadawans-ComfyUI-Essentials/stargazers)
--- ## โœจ Features
๐Ÿ”ค Text Processing Split, join, and manipulate text strings with precision
๐Ÿ“ฆ Data Conversion Convert between text and JSON formats easily
๐Ÿ› Debug Tools Print and inspect values during workflow execution
โฑ๏ธ Timing Control Add delays and timing control to your workflows
๐Ÿ”€ Logic & Math Boolean logic gates and mathematical operations
๐Ÿ”ง Utilities Essential helpers for workflow optimization and list management
--- ## ๐Ÿš€ Installation ```bash # 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
๐Ÿ“ Text Splitter - Split text strings by delimiter **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.
๐Ÿ”— Text Joiner - Combine strings with custom delimiters **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.
๐Ÿ”„ Text Replace - Replace specific text in a string **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.
๐Ÿ” Text Regex (Search & Replace) - Pattern-based text manipulation **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.
๐Ÿ’ฌ String Formatter - Create custom strings with placeholders **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.
๐Ÿ” Text Compare - Compare two strings with various modes **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.
๐Ÿ“ Text Length - Get string length in characters, words, or lines **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.
๐Ÿ”ค Text Case - Transform text case **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.
โœ‚๏ธ Text Trim - Remove whitespace from text **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.
๐Ÿ”ค Text Case Converter - Transform text case styles **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.
โœ‚๏ธ Text Trimmer - Advanced text trimming options **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.
๐Ÿ“Ž Text Prefix Suffix - Add prefix and/or suffix to text **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.
--- ### ๐Ÿ“ฆ Data Conversion
๐Ÿ—ƒ๏ธ TextToJSON - Convert text to JSON **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.
๐Ÿ’ฌ JSONToText - Convert JSON to text **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.
--- ### ๐Ÿ› Debug Tools
๐Ÿ–จ๏ธ Debug Print - Console output for debugging **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.
--- ### โฑ๏ธ Timing Control
โณ Wait - Add delays to workflow execution **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.
--- ### ๐Ÿ–ผ๏ธ Image Utilities
๐Ÿ“ Image Info - Extract image tensor dimensions **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.
๐ŸŽจ Color Palette Extractor - Get dominant colors from an image **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.
--- ### ๐Ÿงฎ Math & Random
โž• Int/Float Math Operation - Perform basic arithmetic **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)
๐ŸŽฒ Random Generator - Seed-based random values **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)
--- ### ๐Ÿ“ List Manipulation
๐Ÿ“ Get List Item - Retrieve an item from a list by index **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.
โœ‚๏ธ List Slicer - Extract a range of items from a list **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.
๐ŸŽฒ Random List Selector - Pick random items from a list **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.
๐Ÿ”€ List Shuffler - Shuffle list order deterministically **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.
๐Ÿ”— List Merger - Combine multiple lists **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.
๐Ÿงน List Deduplicator - Remove duplicates from a list **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.
--- ### ๐Ÿ”„ Type Conversion
๐Ÿ”€ Type Converter - Universal type conversion **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.
๐Ÿ”ข Int to Float - Convert integer to float **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.
๐Ÿ“ Float to Int - Convert float to integer **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 ```
๐Ÿ”ค String to Int - Parse string as integer **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).
๐Ÿ”ค String to Float - Parse string as float **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 ```
๐Ÿ”ค String to Boolean - Parse string as boolean **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).
๐Ÿ”ข Number to String - Format number as string **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" ```
--- ### ๐Ÿ”ข Number Utilities
๐Ÿ“ Number Clamp - Clamp value between min and max **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.
๐Ÿ”ข Number Round - Round with precision control **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" ```
๐Ÿ“Š Number Range - Generate number sequence **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 ```
โš–๏ธ Number Compare - Compare two numbers **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.
๐Ÿ“ Number Absolute - Get absolute value **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 ```
โž– Number Sign - Get sign of a number **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" ```
๐Ÿ”„ Number Remap - Remap value between ranges **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.
๐Ÿ“Š Number Lerp - Linear interpolation **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.
--- ### ๐Ÿ”ง Utility Nodes
๐Ÿ“Š List Info - Analyze list properties **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.
๐Ÿ”€ Conditional String - Boolean-based string selection **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.
๐Ÿ”Œ Logic Gate - Boolean operations **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.
--- ## ๐ŸŽจ 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](LICENSE). ---
**Made with โค๏ธ by [DebugPadawan](https://github.com/DebugPadawan)**