TerminalTextEffects (TTE) is a terminal visual effects engine, application, and Python library.
This report summarizes scanner evidence for ChrisBuilds/terminaltexteffects, a Python project with 4,290 GitHub stars. SynthScan examined 69,126 lines of code across 441 source files, recording 1979 pattern matches distributed across 13 syntactic categories. The legacy adjusted pattern signal is 41.2 (High pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Can maintainers explain intent, assumptions, and trade-offs? 1519 finding(s).
Are imports declared and package/API names verified? 263 finding(s).
Are wrappers, guards, and repeated structures necessary? 1584 finding(s).
Which changes need focused human review? 1979 finding(s).
Run additional scans to build a history of the legacy pattern signal. Score changes are not a measure of AI adoption or code quality.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 1979 distinct pattern matches across 13 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | terminaltexteffects/__main__.py | 164 | def _validate_user_effect_resources( | CODE |
| LOW | terminaltexteffects/__main__.py | 195 | def _populate_user_effect_parser(config_class: type[BaseConfig], subparsers: argparse._SubParsersAction) -> None: | CODE |
| LOW | terminaltexteffects/__main__.py | 405 | def _register_effect_from_module(module: ModuleType) -> None: | CODE |
| LOW | terminaltexteffects/__main__.py | 455 | def build_parsers_and_parse_args() -> tuple[argparse.Namespace, dict[str, tuple[type[BaseEffect], type[BaseConfig]]]]: | CODE |
| LOW | terminaltexteffects/__main__.py | 681 | def _read_verifiable_recording(path: Path) -> bytes | None: | CODE |
| LOW | terminaltexteffects/__main__.py | 697 | def _open_validated_recording(path: Path, recording: _ValidatedRecording) -> tuple[RecordingReader, bool]: | CODE |
| LOW | terminaltexteffects/utils/graphics.py | 345 | def build_coordinate_color_mapping( | CODE |
| LOW | terminaltexteffects/utils/easing.py | 564 | def sample_curve_derivative_x(t: float) -> float: | CODE |
| LOW | terminaltexteffects/utils/ansitools.py | 37 | def dec_restore_cursor_position() -> str: | CODE |
| LOW | terminaltexteffects/utils/geometry.py | 200 | def _validate_nonnegative_dimensions(**dimensions: int) -> None: | CODE |
| LOW | terminaltexteffects/utils/geometry.py | 427 | def _rasterize_supercover_line(start: Coord, end: Coord) -> list[Coord]: | CODE |
| LOW | terminaltexteffects/utils/geometry.py | 465 | def rasterize_supercover_line(start: Coord, end: Coord) -> list[Coord]: | CODE |
| LOW | terminaltexteffects/utils/geometry.py | 529 | def _find_point_on_bezier_curve( | CODE |
| LOW | terminaltexteffects/utils/geometry.py | 548 | def find_coord_on_bezier_curve( | CODE |
| LOW | terminaltexteffects/utils/geometry.py | 606 | def find_length_of_bezier_curve( | CODE |
| LOW | terminaltexteffects/utils/geometry.py | 687 | def find_normalized_distance_from_center(bottom: int, top: int, left: int, right: int, other_coord: Coord) -> float: | CODE |
| LOW | terminaltexteffects/utils/shell_completion.py | 26 | def get_completion_instructions() -> str: | CODE |
| LOW | terminaltexteffects/utils/terminal_text.py | 12 | def _get_non_ascii_symbol_cell_width(symbol: str) -> int: | CODE |
| LOW | terminaltexteffects/effects/effect_beams.py | 256 | def increment_next_character_counter(self) -> None: | CODE |
| LOW | terminaltexteffects/effects/effect_thunderstorm.py | 206 | def _adjust_color_pair_brightness(colors: tte.ColorPair, brightness: float) -> tte.ColorPair: | CODE |
| LOW | terminaltexteffects/effects/effect_thunderstorm.py | 213 | def _add_color_pair_gradient_frames( | CODE |
| LOW | terminaltexteffects/effects/effect_thunderstorm.py | 463 | def set_strike_in_progress_false(self, *_: typing.Any) -> None: | CODE |
| LOW | terminaltexteffects/effects/effect_spotlights.py | 180 | def _adjust_color_pair_brightness(colors: ColorPair, brightness_factor: float) -> ColorPair: | CODE |
| LOW | terminaltexteffects/effects/effect_spotlights.py | 193 | def _get_expand_color_override(self, character: EffectCharacter) -> ColorPair | None: | CODE |
| LOW | terminaltexteffects/effects/effect_spotlights.py | 242 | def find_coord_at_minimum_distance(self, origin_coord: Coord, minimum_distance: int) -> Coord: | CODE |
| LOW | terminaltexteffects/effects/effect_binarypath.py | 156 | def _activate_source_character(self) -> None: | CODE |
| LOW | terminaltexteffects/effects/effect_laseretch.py | 40 | def _etch_pattern_type_parser( | CODE |
| LOW | terminaltexteffects/effects/effect_bubbles.py | 192 | def set_character_coordinates(self) -> None: | CODE |
| LOW | terminaltexteffects/effects/effect_decrypt.py | 144 | def make_decrypting_animation_scenes(self, character: EffectCharacter) -> None: | CODE |
| LOW | terminaltexteffects/effects/effect_decrypt.py | 189 | def prepare_data_for_type_effect(self) -> None: | CODE |
| LOW | terminaltexteffects/effects/effect_decrypt.py | 207 | def prepare_data_for_decrypt_effect(self) -> None: | CODE |
| LOW | terminaltexteffects/effects/effect_overflow.py | 26 | def _overflow_cycles_range_type_parser(value: str | tuple[int, int] | list[int]) -> tuple[int, int]: | CODE |
| LOW | terminaltexteffects/effects/effect_errorcorrect.py | 201 | def _configure_swapped_character( | CODE |
| LOW | terminaltexteffects/effects/effect_orbittingvolley.py | 360 | def _set_launcher_coordinates(self, parent: Launcher, child: Launcher) -> None: | CODE |
| LOW | terminaltexteffects/engine/terminal_input.py | 236 | def _update_virtual_screen_bounds(cls, sequence: str, state: _ParserState) -> None: | CODE |
| LOW⚡ | terminaltexteffects/engine/terminal.py | 1448 | def _notify_character_cell_width_changed(self, character: EffectCharacter, previous_width: int) -> None: | CODE |
| LOW⚡ | terminaltexteffects/engine/terminal.py | 1457 | def _get_visible_characters_in_painter_order(self) -> list[EffectCharacter]: | CODE |
| LOW⚡ | terminaltexteffects/engine/terminal.py | 1466 | def get_formatted_output_string(self) -> str: | CODE |
| LOW | terminaltexteffects/engine/terminal.py | 62 | def _bisect_left_by_character_id( | CODE |
| LOW | terminaltexteffects/engine/terminal.py | 694 | def _get_wrapped_character_lines(self, width: int) -> list[list[EffectCharacter]]: | CODE |
| LOW | terminaltexteffects/engine/terminal.py | 752 | def _get_or_create_fill_character(self, coord: Coord) -> EffectCharacter | None: | CODE |
| LOW | terminaltexteffects/engine/terminal.py | 1033 | def _sort_characters_in_spiral( | CODE |
| LOW | terminaltexteffects/engine/terminal.py | 1079 | def get_characters_grouped_by_grid( | CODE |
| LOW | terminaltexteffects/engine/terminal.py | 1248 | def _reverse_character_groups(groups: list[list[EffectCharacter]]) -> None: | CODE |
| LOW | terminaltexteffects/engine/terminal.py | 1356 | def get_character_by_input_coord(self, coord: Coord) -> EffectCharacter | None: | CODE |
| LOW | terminaltexteffects/engine/terminal.py | 1432 | def _notify_character_layer_changed(self, character: EffectCharacter, previous_layer: int) -> None: | CODE |
| LOW | terminaltexteffects/engine/terminal.py | 1479 | def _render_single_cell_characters(self, visible_characters: list[EffectCharacter]) -> list[str]: | CODE |
| LOW | terminaltexteffects/engine/terminal.py | 1510 | def _render_width_aware_characters(self, visible_characters: list[EffectCharacter]) -> list[str]: | CODE |
| LOW | terminaltexteffects/engine/terminal.py | 1620 | def _release_output_ownership(self) -> None: | CODE |
| LOW | terminaltexteffects/engine/base_character.py | 32 | def _notify_character_layer_changed(self, character: EffectCharacter, previous_layer: int) -> None: | CODE |
| LOW | terminaltexteffects/engine/base_character.py | 35 | def _notify_character_cell_width_changed(self, character: EffectCharacter, previous_width: int) -> None: | CODE |
| LOW | terminaltexteffects/engine/base_character.py | 500 | def _notify_current_visual_width_changed(self, previous_width: int) -> None: | CODE |
| LOW | terminaltexteffects/engine/animation.py | 247 | def _format_cached_appearance(visual: CharacterVisual) -> str: | CODE |
| LOW | terminaltexteffects/engine/animation.py | 582 | def apply_gradient_to_symbols( | CODE |
| LOW | terminaltexteffects/engine/animation.py | 942 | def set_appearance_if_changed(self, symbol: str | None = None, colors: graphics.ColorPair | None = None) -> None: | CODE |
| LOW | terminaltexteffects/engine/animation.py | 1139 | def _synced_scene_frame_index(self, scene: Scene, active_path: motion.Path) -> int: | CODE |
| LOW | terminaltexteffects/engine/animation.py | 1177 | def _complete_scene_if_finished(self, scene: Scene) -> None: | CODE |
| LOW | terminaltexteffects/engine/canvas.py | 404 | def _require_nonempty_text_boundary(self) -> None: | CODE |
| LOW | tools/run_hook.py | 78 | def validate_staged_changelog(root: Path) -> int: | CODE |
| LOW | tools/classify_ci.py | 25 | def needs_documentation_build(name: str) -> bool: | CODE |
| 1324 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | terminaltexteffects/template/effect_template.py | 0 | get the command, effect class, and configuration class for the effect. returns: tuple[str, type[baseeffect], type[baseco | STRING |
| HIGH | terminaltexteffects/effects/effect_beams.py | 0 | get the command, effect class, and configuration class for the effect. returns: tuple[str, type[baseeffect], type[baseco | STRING |
| HIGH | terminaltexteffects/effects/effect_thunderstorm.py | 0 | get the command, effect class, and configuration class for the effect. returns: tuple[str, type[baseeffect], type[baseco | STRING |
| HIGH | terminaltexteffects/effects/effect_spotlights.py | 0 | get the command, effect class, and configuration class for the effect. returns: tuple[str, type[baseeffect], type[baseco | STRING |
| HIGH | terminaltexteffects/effects/effect_pour.py | 0 | get the command, effect class, and configuration class for the effect. returns: tuple[str, type[baseeffect], type[baseco | STRING |
| HIGH | terminaltexteffects/effects/effect_rain.py | 0 | get the command, effect class, and configuration class for the effect. returns: tuple[str, type[baseeffect], type[baseco | STRING |
| HIGH | terminaltexteffects/effects/effect_highlight.py | 0 | get the command, effect class, and configuration class for the effect. returns: tuple[str, type[baseeffect], type[baseco | STRING |
| HIGH | terminaltexteffects/effects/effect_blackhole.py | 0 | get the command, effect class, and configuration class for the effect. returns: tuple[str, type[baseeffect], type[baseco | STRING |
| HIGH | terminaltexteffects/effects/effect_random_sequence.py | 0 | get the command, effect class, and configuration class for the effect. returns: tuple[str, type[baseeffect], type[baseco | STRING |
| HIGH | terminaltexteffects/effects/effect_fireworks.py | 0 | get the command, effect class, and configuration class for the effect. returns: tuple[str, type[baseeffect], type[baseco | STRING |
| HIGH | terminaltexteffects/effects/effect_binarypath.py | 0 | get the command, effect class, and configuration class for the effect. returns: tuple[str, type[baseeffect], type[baseco | STRING |
| HIGH | terminaltexteffects/effects/effect_slice.py | 0 | get the command, effect class, and configuration class for the effect. returns: tuple[str, type[baseeffect], type[baseco | STRING |
| HIGH | terminaltexteffects/effects/effect_burn.py | 0 | get the command, effect class, and configuration class for the effect. returns: tuple[str, type[baseeffect], type[baseco | STRING |
| HIGH | terminaltexteffects/effects/effect_synthgrid.py | 0 | get the command, effect class, and configuration class for the effect. returns: tuple[str, type[baseeffect], type[baseco | STRING |
| HIGH | terminaltexteffects/effects/effect_wipe.py | 0 | get the command, effect class, and configuration class for the effect. returns: tuple[str, type[baseeffect], type[baseco | STRING |
| HIGH | terminaltexteffects/effects/effect_crumble.py | 0 | get the command, effect class, and configuration class for the effect. returns: tuple[str, type[baseeffect], type[baseco | STRING |
| HIGH | terminaltexteffects/effects/effect_swarm.py | 0 | get the command, effect class, and configuration class for the effect. returns: tuple[str, type[baseeffect], type[baseco | STRING |
| HIGH | terminaltexteffects/effects/effect_matrix.py | 0 | get the command, effect class, and configuration class for the effect. returns: tuple[str, type[baseeffect], type[baseco | STRING |
| HIGH | terminaltexteffects/effects/effect_slide.py | 0 | get the command, effect class, and configuration class for the effect. returns: tuple[str, type[baseeffect], type[baseco | STRING |
| HIGH | terminaltexteffects/effects/effect_scattered.py | 0 | get the command, effect class, and configuration class for the effect. returns: tuple[str, type[baseeffect], type[baseco | STRING |
| HIGH | terminaltexteffects/effects/effect_laseretch.py | 0 | get the command, effect class, and configuration class for the effect. returns: tuple[str, type[baseeffect], type[baseco | STRING |
| HIGH | terminaltexteffects/effects/effect_expand.py | 0 | get the command, effect class, and configuration class for the effect. returns: tuple[str, type[baseeffect], type[baseco | STRING |
| HIGH | terminaltexteffects/effects/effect_smoke.py | 0 | get the command, effect class, and configuration class for the effect. returns: tuple[str, type[baseeffect], type[baseco | STRING |
| HIGH | terminaltexteffects/effects/effect_vhstape.py | 0 | get the command, effect class, and configuration class for the effect. returns: tuple[str, type[baseeffect], type[baseco | STRING |
| HIGH | terminaltexteffects/effects/effect_waves.py | 0 | get the command, effect class, and configuration class for the effect. returns: tuple[str, type[baseeffect], type[baseco | STRING |
| HIGH | terminaltexteffects/effects/effect_rings.py | 0 | get the command, effect class, and configuration class for the effect. returns: tuple[str, type[baseeffect], type[baseco | STRING |
| HIGH | terminaltexteffects/effects/effect_bubbles.py | 0 | get the command, effect class, and configuration class for the effect. returns: tuple[str, type[baseeffect], type[baseco | STRING |
| HIGH | terminaltexteffects/effects/effect_print.py | 0 | get the command, effect class, and configuration class for the effect. returns: tuple[str, type[baseeffect], type[baseco | STRING |
| HIGH | terminaltexteffects/effects/effect_decrypt.py | 0 | get the command, effect class, and configuration class for the effect. returns: tuple[str, type[baseeffect], type[baseco | STRING |
| HIGH | terminaltexteffects/effects/effect_colorshift.py | 0 | get the command, effect class, and configuration class for the effect. returns: tuple[str, type[baseeffect], type[baseco | STRING |
| HIGH | terminaltexteffects/effects/effect_overflow.py | 0 | get the command, effect class, and configuration class for the effect. returns: tuple[str, type[baseeffect], type[baseco | STRING |
| HIGH | terminaltexteffects/effects/effect_errorcorrect.py | 0 | get the command, effect class, and configuration class for the effect. returns: tuple[str, type[baseeffect], type[baseco | STRING |
| HIGH | terminaltexteffects/effects/effect_sweep.py | 0 | get the command, effect class, and configuration class for the effect. returns: tuple[str, type[baseeffect], type[baseco | STRING |
| HIGH | terminaltexteffects/effects/effect_orbittingvolley.py | 0 | get the command, effect class, and configuration class for the effect. returns: tuple[str, type[baseeffect], type[baseco | STRING |
| HIGH | terminaltexteffects/effects/effect_middleout.py | 0 | get the command, effect class, and configuration class for the effect. returns: tuple[str, type[baseeffect], type[baseco | STRING |
| HIGH | terminaltexteffects/effects/effect_spray.py | 0 | get the command, effect class, and configuration class for the effect. returns: tuple[str, type[baseeffect], type[baseco | STRING |
| HIGH | terminaltexteffects/effects/effect_unstable.py | 0 | get the command, effect class, and configuration class for the effect. returns: tuple[str, type[baseeffect], type[baseco | STRING |
| HIGH | terminaltexteffects/effects/effect_bouncyballs.py | 0 | get the command, effect class, and configuration class for the effect. returns: tuple[str, type[baseeffect], type[baseco | STRING |
| HIGH | effect_archive/effect_dev_tesselated.py | 0 | get the command, effect class, and configuration class for the effect. returns: tuple[str, type[baseeffect], type[baseco | STRING |
| HIGH | effect_archive/effect_dev_spaceflight.py | 0 | get the command, effect class, and configuration class for the effect. returns: tuple[str, type[baseeffect], type[baseco | STRING |
| HIGH | effect_archive/effect_dev_worm.py | 0 | get the command, effect class, and configuration class for the effect. returns: tuple[str, type[baseeffect], type[baseco | STRING |
| HIGH | terminaltexteffects/template/effect_template.py | 0 | initialize the effect iterator. args: effect (namedeffect): the effect to iterate over. | STRING |
| HIGH | terminaltexteffects/effects/effect_thunderstorm.py | 0 | initialize the effect iterator. args: effect (namedeffect): the effect to iterate over. | STRING |
| HIGH | terminaltexteffects/effects/effect_smoke.py | 0 | initialize the effect iterator. args: effect (namedeffect): the effect to iterate over. | STRING |
| HIGH | effect_archive/effect_dev_tesselated.py | 0 | initialize the effect iterator. args: effect (namedeffect): the effect to iterate over. | STRING |
| HIGH | effect_archive/effect_dev_spaceflight.py | 0 | initialize the effect iterator. args: effect (namedeffect): the effect to iterate over. | STRING |
| HIGH | effect_archive/effect_dev_worm.py | 0 | initialize the effect iterator. args: effect (namedeffect): the effect to iterate over. | STRING |
| HIGH | terminaltexteffects/effects/effect_pour.py | 0 | initialize the iterator with the provided effect. args: effect (colorshift): the effect to use for the iterator. | STRING |
| HIGH | terminaltexteffects/effects/effect_rain.py | 0 | initialize the iterator with the provided effect. args: effect (colorshift): the effect to use for the iterator. | STRING |
| HIGH | terminaltexteffects/effects/effect_decrypt.py | 0 | initialize the iterator with the provided effect. args: effect (colorshift): the effect to use for the iterator. | STRING |
| HIGH | terminaltexteffects/effects/effect_colorshift.py | 0 | initialize the iterator with the provided effect. args: effect (colorshift): the effect to use for the iterator. | STRING |
| HIGH | terminaltexteffects/effects/effect_rain.py | 0 | get the effect class associated with this configuration. | STRING |
| HIGH | terminaltexteffects/effects/effect_scattered.py | 0 | get the effect class associated with this configuration. | STRING |
| HIGH | terminaltexteffects/effects/effect_errorcorrect.py | 0 | get the effect class associated with this configuration. | STRING |
| HIGH | tests/__init__.py | 0 | marks this directory as a python package for test discovery and imports. | STRING |
| HIGH | tests/engine_tests/__init__.py | 0 | marks this directory as a python package for test discovery and imports. | STRING |
| HIGH | tests/effects_tests/__init__.py | 0 | marks this directory as a python package for test discovery and imports. | STRING |
| HIGH | tests/utils_tests/test_spanningtree_base_generator.py | 0 | build a compact terminal with both text and outer-fill characters. | STRING |
| HIGH | …/utils_tests/test_spanningtree_recursivebacktracker.py | 0 | build a compact terminal with both text and outer-fill characters. | STRING |
| HIGH | tests/utils_tests/test_spanningtree_breadthfirst.py | 0 | build a compact terminal with both text and outer-fill characters. | STRING |
| 113 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | terminaltexteffects/__main__.py | 371 | Build the CLI parser and discover available effects. This registers built-in effect modules and, when requested, us | STRING |
| HIGH | terminaltexteffects/utils/graphics.py | 232 | Initialize a Gradient object. Args: stops (Color): One or more `Color` objects representing the col | STRING |
| HIGH | terminaltexteffects/utils/graphics.py | 287 | Return the precomputed spectrum color corresponding to a normalized fraction. The fraction is matched to the ne | STRING |
| HIGH | terminaltexteffects/utils/graphics.py | 353 | Build a mapping of coordinates to colors based on the gradient and a direction. For example, a vertical gradien | STRING |
| HIGH | terminaltexteffects/utils/graphics.py | 466 | Shift one color towards another by a given factor. A factor of `0` returns the original color and a factor of `1` r | STRING |
| HIGH | terminaltexteffects/utils/hexterm.py | 309 | Convert XTerm-256 color code to RGB Hex color code. Args: xterm_color (int): (0-255) XTerm-256 color code | STRING |
| HIGH | terminaltexteffects/utils/easing.py | 517 | Create a cubic Bezier easing function using the provided control points. The easing function maps a progress ratio | STRING |
| HIGH | terminaltexteffects/utils/ansitools.py | 90 | Move the cursor up by a relative number of rows. A distance of `0` is a no-op and returns an empty string. Arg | STRING |
| HIGH | terminaltexteffects/utils/geometry.py | 109 | Divide inclusive bounds into balanced, approximately square terminal cells. Aim for `target_cells` along the longer | STRING |
| HIGH | terminaltexteffects/utils/geometry.py | 209 | Find points on a terminal-adjusted circle. The generated coordinate-space ellipse has a horizontal radius of `radiu | STRING |
| HIGH | terminaltexteffects/utils/geometry.py | 258 | Find coordinates within a terminal-adjusted circle. The generated coordinate-space ellipse has a horizontal radius | STRING |
| HIGH | terminaltexteffects/utils/geometry.py | 298 | Find coords that fall within a rectangle. Distance specifies the number of units in each direction from the origin. | STRING |
| HIGH | terminaltexteffects/utils/geometry.py | 334 | Find coords on the perimeter of a rectangle. Half width and half height specify the distance in each direction from | STRING |
| HIGH | terminaltexteffects/utils/terminal_text.py | 20 | Return the terminal-cell width of a valid `EffectCharacter` symbol. Symbols are limited to one printable Unicode co | STRING |
| HIGH | terminaltexteffects/utils/colorterm.py | 23 | Convert a hex color string into an RGB integer tuple. Args: hex_color (str): Exactly six hexadecimal digits | STRING |
| HIGH | terminaltexteffects/utils/colorterm.py | 54 | Return an ANSI escape sequence to color the foreground/background of text. This is a helper function for `fg` and ` | STRING |
| HIGH | terminaltexteffects/utils/colorterm.py | 94 | Set the foreground color of the terminal text. Args: color_code (str | int): The foreground color as an XTe | STRING |
| HIGH | terminaltexteffects/utils/colorterm.py | 113 | Set the background color of the terminal text. Args: color_code (str | int): The background color as an XTe | STRING |
| HIGH | terminaltexteffects/utils/argutils.py | 229 | Validate argument is a valid CharacterGroup. Args: arg (str): argument to validate Raises: | STRING |
| HIGH | terminaltexteffects/utils/argutils.py | 292 | Validate argument is a valid CharacterSort. Args: arg (str): argument to validate Raises: | STRING |
| HIGH | terminaltexteffects/utils/argutils.py | 364 | Accept CLI names, `CharacterOrder`, and compatibility enum values. Args: arg (str | CharacterOrder | STRING |
| HIGH | terminaltexteffects/utils/argutils.py | 396 | Accept case-insensitive CLI names or canonical group/sort enum values. Args: arg (str | CharacterGr | STRING |
| HIGH | terminaltexteffects/utils/argutils.py | 441 | Validate argument is a valid ColorSort. Args: arg (str): argument to validate Raises: | STRING |
| HIGH | terminaltexteffects/utils/argutils.py | 533 | Validate argument is a nonnegative integer. n >= 0. Args: arg (str): argument to validate | STRING |
| HIGH | terminaltexteffects/utils/argutils.py | 627 | Validate argument is a positive float. n > 0. Args: arg (str): argument to validate Raises | STRING |
| HIGH | terminaltexteffects/utils/argutils.py | 666 | Validate argument is a nonnegative float. n >= 0. Args: arg (str): argument to validate Ra | STRING |
| HIGH | terminaltexteffects/utils/argutils.py | 761 | Validate argument is a float value between zero and one. Args: arg (str): argument to validate | STRING |
| HIGH | terminaltexteffects/utils/argutils.py | 802 | Validate argument is a positive float. Args: arg (str): argument to validate Raises: | STRING |
| HIGH | terminaltexteffects/utils/argutils.py | 842 | Validate argument is a valid gradient direction. Args: arg (str): argument to validate Ret | STRING |
| HIGH | terminaltexteffects/utils/argutils.py | 885 | Validate argument is a valid color value. Args: arg (str): argument to validate Raises: | STRING |
| HIGH | terminaltexteffects/utils/argutils.py | 954 | Validate argument is a nonnegative integer or `-1`. Args: arg (str): argument to validate | STRING |
| HIGH | terminaltexteffects/utils/argutils.py | 1062 | Validate argument is a valid easing function. Args: arg (str): argument to validate Raises | STRING |
| HIGH | terminaltexteffects/utils/argutils.py | 1095 | Validate argument is a valid easing step size value. Args: arg (str): argument to validate | STRING |
| HIGH | terminaltexteffects/engine/terminal_input.py | 329 | Parse `input_data` using fresh virtual-screen and style state. Args: input_data (str): Text and sup | STRING |
| HIGH | terminaltexteffects/engine/base_config.py | 155 | Build a config instance from parsed arguments or `ArgSpec` defaults. When `parsed_args` is provided, matching n | STRING |
| HIGH | terminaltexteffects/engine/terminal.py | 815 | Add a character to the terminal for printing. Used to create characters that are not in the input data. | STRING |
| HIGH | terminaltexteffects/engine/terminal.py | 852 | Get colors used by retained input characters with an optional sort. Foreground and background occurrences are c | STRING |
| HIGH | terminaltexteffects/engine/terminal.py | 921 | Get selected characters in their complete traversal order. `order` accepts `CharacterOrder`, CLI names, and leg | STRING |
| HIGH | terminaltexteffects/engine/terminal.py | 1089 | Group selected characters by their input coordinates within `grid`. Return populated cells bottom-to-top, then | STRING |
| HIGH | terminaltexteffects/engine/terminal.py | 1149 | Get selected characters as ordered spatial or singleton groups. Spatial orders retain their existing boundaries | STRING |
| HIGH | terminaltexteffects/engine/animation.py | 590 | Apply a gradient effect to a sequence of symbols and add each symbol as a frame to the Scene. Args: | STRING |
| HIGH | terminaltexteffects/engine/animation.py | 802 | Create a new Scene and add it to the Animation. If no ID is provided, a unique ID is generated. If `existing_co | STRING |
| HIGH | terminaltexteffects/engine/animation.py | 863 | Return the Scene with the given scene_id, or None if no Scene with the given ID exists. Args: scene | STRING |
| HIGH | terminaltexteffects/engine/animation.py | 1004 | Convert a hue value to an RGB value component. This function is a helper function used in the conversion fr | STRING |
| HIGH | terminaltexteffects/engine/motion.py | 391 | Create a new Path and add it to the Motion.paths dictionary with the path_id as key. Args: speed (f | STRING |
| HIGH | terminaltexteffects/engine/motion.py | 431 | Return the path with the given path_id, or None if no path with the given ID exists. Args: path_id | STRING |
| HIGH | terminaltexteffects/engine/base_effect.py | 51 | Base iterator class for all effects. Args: effect (BaseEffect): Effect to apply to the input data. Att | STRING |
| HIGH | terminaltexteffects/engine/base_effect.py | 233 | Prepare a shared iterator terminal for output and restore it afterward. When called before iteration, the conte | STRING |
| HIGH | terminaltexteffects/engine/canvas.py | 112 | Represent the logical content area of a terminal text effect. The canvas is the bounded coordinate workspace in whi | STRING |
| HIGH | terminaltexteffects/engine/canvas.py | 301 | Anchor text cells and clip placements that do not fit in the canvas. Args: cells (Sequence[tuple[Co | STRING |
| HIGH | terminaltexteffects/engine/canvas.py | 411 | Get a random column position within the canvas. Args: within_text_boundary (bool, optional): If Tru | STRING |
| HIGH | terminaltexteffects/engine/canvas.py | 430 | Get a random row position within the canvas. Args: within_text_boundary (bool, optional): If True, | STRING |
| HIGH | terminaltexteffects/engine/canvas.py | 454 | Get a random coordinate. The coordinate is within the canvas unless `outside_scope` is True. When `outs | STRING |
| HIGH | terminaltexteffects/engine/effect_support/particles.py | 83 | Manage a pool of reusable helper characters for effects. A pool owns a set of added `EffectCharacter` objects and d | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | terminaltexteffects/__init__.py | 6 | CODE | |
| LOW | terminaltexteffects/__init__.py | 6 | CODE | |
| LOW | terminaltexteffects/__init__.py | 7 | CODE | |
| LOW | terminaltexteffects/__init__.py | 8 | CODE | |
| LOW | terminaltexteffects/__init__.py | 8 | CODE | |
| LOW | terminaltexteffects/__init__.py | 9 | CODE | |
| LOW | terminaltexteffects/__init__.py | 9 | CODE | |
| LOW | terminaltexteffects/__init__.py | 9 | CODE | |
| LOW | terminaltexteffects/__init__.py | 9 | CODE | |
| LOW | terminaltexteffects/__init__.py | 15 | CODE | |
| LOW | terminaltexteffects/__init__.py | 16 | CODE | |
| LOW | terminaltexteffects/__init__.py | 16 | CODE | |
| LOW | terminaltexteffects/__init__.py | 16 | CODE | |
| LOW | terminaltexteffects/__init__.py | 17 | CODE | |
| LOW | terminaltexteffects/__init__.py | 18 | CODE | |
| LOW | terminaltexteffects/__init__.py | 19 | CODE | |
| LOW | terminaltexteffects/__init__.py | 19 | CODE | |
| LOW | terminaltexteffects/__init__.py | 19 | CODE | |
| LOW | terminaltexteffects/__main__.py | 3 | CODE | |
| LOW | terminaltexteffects/__main__.py | 44 | CODE | |
| LOW | terminaltexteffects/template/effect_template.py | 7 | CODE | |
| LOW | terminaltexteffects/utils/graphics.py | 11 | CODE | |
| LOW | terminaltexteffects/utils/hexterm.py | 9 | CODE | |
| LOW | terminaltexteffects/utils/easing.py | 46 | CODE | |
| LOW | terminaltexteffects/utils/ansitools.py | 24 | CODE | |
| LOW | terminaltexteffects/utils/geometry.py | 25 | CODE | |
| LOW | terminaltexteffects/utils/shell_completion.py | 3 | CODE | |
| LOW | terminaltexteffects/utils/terminal_text.py | 3 | CODE | |
| LOW | terminaltexteffects/utils/colorterm.py | 10 | CODE | |
| LOW | terminaltexteffects/utils/argutils.py | 41 | CODE | |
| LOW | …minaltexteffects/utils/exceptions/motion_exceptions.py | 3 | CODE | |
| LOW | terminaltexteffects/utils/exceptions/__init__.py | 3 | CODE | |
| LOW | terminaltexteffects/utils/exceptions/__init__.py | 3 | CODE | |
| LOW | terminaltexteffects/utils/exceptions/__init__.py | 3 | CODE | |
| LOW | terminaltexteffects/utils/exceptions/__init__.py | 3 | CODE | |
| LOW | terminaltexteffects/utils/exceptions/__init__.py | 3 | CODE | |
| LOW | terminaltexteffects/utils/exceptions/__init__.py | 10 | CODE | |
| LOW | terminaltexteffects/utils/exceptions/__init__.py | 10 | CODE | |
| LOW | terminaltexteffects/utils/exceptions/__init__.py | 10 | CODE | |
| LOW | terminaltexteffects/utils/exceptions/__init__.py | 10 | CODE | |
| LOW | terminaltexteffects/utils/exceptions/__init__.py | 16 | CODE | |
| LOW | terminaltexteffects/utils/exceptions/__init__.py | 16 | CODE | |
| LOW | terminaltexteffects/utils/exceptions/__init__.py | 16 | CODE | |
| LOW | terminaltexteffects/utils/exceptions/__init__.py | 16 | CODE | |
| LOW | terminaltexteffects/utils/exceptions/__init__.py | 16 | CODE | |
| LOW | terminaltexteffects/utils/exceptions/__init__.py | 16 | CODE | |
| LOW | terminaltexteffects/utils/exceptions/__init__.py | 24 | CODE | |
| LOW | terminaltexteffects/utils/exceptions/__init__.py | 24 | CODE | |
| LOW | terminaltexteffects/utils/exceptions/__init__.py | 24 | CODE | |
| LOW | terminaltexteffects/utils/exceptions/__init__.py | 24 | CODE | |
| LOW | terminaltexteffects/utils/exceptions/__init__.py | 24 | CODE | |
| LOW | terminaltexteffects/utils/exceptions/__init__.py | 24 | CODE | |
| LOW | terminaltexteffects/utils/exceptions/__init__.py | 24 | CODE | |
| LOW | terminaltexteffects/utils/exceptions/__init__.py | 24 | CODE | |
| LOW | terminaltexteffects/utils/exceptions/__init__.py | 24 | CODE | |
| LOW | terminaltexteffects/utils/exceptions/__init__.py | 24 | CODE | |
| LOW | terminaltexteffects/utils/exceptions/__init__.py | 24 | CODE | |
| LOW | …altexteffects/utils/exceptions/animation_exceptions.py | 11 | CODE | |
| LOW | …naltexteffects/utils/exceptions/terminal_exceptions.py | 3 | CODE | |
| LOW | …teffects/utils/exceptions/base_character_exceptions.py | 3 | CODE | |
| 202 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | terminaltexteffects/__main__.py | 803 | CODE | |
| LOW | terminaltexteffects/utils/graphics.py | 345 | CODE | |
| LOW | terminaltexteffects/utils/geometry.py | 427 | CODE | |
| LOW | terminaltexteffects/effects/effect_beams.py | 405 | CODE | |
| LOW | terminaltexteffects/effects/effect_thunderstorm.py | 504 | CODE | |
| LOW | terminaltexteffects/effects/effect_thunderstorm.py | 605 | CODE | |
| LOW | terminaltexteffects/effects/effect_thunderstorm.py | 693 | CODE | |
| LOW | terminaltexteffects/effects/effect_spotlights.py | 386 | CODE | |
| LOW | terminaltexteffects/effects/effect_spotlights.py | 435 | CODE | |
| LOW | terminaltexteffects/effects/effect_pour.py | 182 | CODE | |
| LOW | terminaltexteffects/effects/effect_pour.py | 282 | CODE | |
| LOW | terminaltexteffects/effects/effect_rain.py | 236 | CODE | |
| LOW | terminaltexteffects/effects/effect_blackhole.py | 252 | CODE | |
| LOW | terminaltexteffects/effects/effect_blackhole.py | 302 | CODE | |
| LOW | terminaltexteffects/effects/effect_blackhole.py | 381 | CODE | |
| LOW | terminaltexteffects/effects/effect_fireworks.py | 247 | CODE | |
| LOW | terminaltexteffects/effects/effect_binarypath.py | 179 | CODE | |
| LOW | terminaltexteffects/effects/effect_binarypath.py | 292 | CODE | |
| LOW | terminaltexteffects/effects/effect_slice.py | 119 | CODE | |
| LOW | terminaltexteffects/effects/effect_burn.py | 287 | CODE | |
| LOW | terminaltexteffects/effects/effect_synthgrid.py | 396 | CODE | |
| LOW | terminaltexteffects/effects/effect_wipe.py | 201 | CODE | |
| LOW | terminaltexteffects/effects/effect_crumble.py | 285 | CODE | |
| LOW | terminaltexteffects/effects/effect_swarm.py | 201 | CODE | |
| LOW | terminaltexteffects/effects/effect_swarm.py | 366 | CODE | |
| LOW | terminaltexteffects/effects/effect_matrix.py | 512 | CODE | |
| LOW | terminaltexteffects/effects/effect_matrix.py | 348 | CODE | |
| LOW | terminaltexteffects/effects/effect_slide.py | 170 | CODE | |
| LOW | terminaltexteffects/effects/effect_laseretch.py | 437 | CODE | |
| LOW | terminaltexteffects/effects/effect_smoke.py | 211 | CODE | |
| LOW | terminaltexteffects/effects/effect_vhstape.py | 483 | CODE | |
| LOW | terminaltexteffects/effects/effect_waves.py | 202 | CODE | |
| LOW | terminaltexteffects/effects/effect_rings.py | 378 | CODE | |
| LOW | terminaltexteffects/effects/effect_print.py | 258 | CODE | |
| LOW | terminaltexteffects/effects/effect_decrypt.py | 249 | CODE | |
| LOW | terminaltexteffects/effects/effect_colorshift.py | 227 | CODE | |
| LOW | terminaltexteffects/effects/effect_overflow.py | 186 | CODE | |
| LOW | terminaltexteffects/effects/effect_overflow.py | 253 | CODE | |
| LOW | terminaltexteffects/effects/effect_sweep.py | 249 | CODE | |
| LOW | terminaltexteffects/effects/effect_orbittingvolley.py | 376 | CODE | |
| LOW | terminaltexteffects/effects/effect_spray.py | 230 | CODE | |
| LOW | terminaltexteffects/effects/effect_unstable.py | 146 | CODE | |
| LOW | terminaltexteffects/effects/effect_unstable.py | 294 | CODE | |
| LOW | terminaltexteffects/effects/effect_bouncyballs.py | 226 | CODE | |
| LOW | terminaltexteffects/engine/terminal_input.py | 118 | CODE | |
| LOW | terminaltexteffects/engine/terminal_input.py | 188 | CODE | |
| LOW | terminaltexteffects/engine/terminal_input.py | 288 | CODE | |
| LOW | terminaltexteffects/engine/terminal_input.py | 328 | CODE | |
| LOW | terminaltexteffects/engine/base_config.py | 154 | CODE | |
| LOW | terminaltexteffects/engine/terminal.py | 975 | CODE | |
| LOW | terminaltexteffects/engine/terminal.py | 1033 | CODE | |
| LOW | terminaltexteffects/engine/terminal.py | 1510 | CODE | |
| LOW | terminaltexteffects/engine/terminal.py | 1051 | CODE | |
| LOW | terminaltexteffects/engine/base_character.py | 225 | CODE | |
| LOW | terminaltexteffects/engine/base_character.py | 319 | CODE | |
| LOW | terminaltexteffects/engine/_recording.py | 281 | CODE | |
| LOW | terminaltexteffects/engine/_recording.py | 391 | CODE | |
| LOW | terminaltexteffects/engine/animation.py | 582 | CODE | |
| LOW | terminaltexteffects/engine/animation.py | 609 | CODE | |
| LOW | terminaltexteffects/engine/motion.py | 226 | CODE | |
| 13 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | terminaltexteffects/effects/effect_thunderstorm.py | 463 | def set_strike_in_progress_false(self, *_: typing.Any) -> None: | CODE |
| LOW | terminaltexteffects/effects/effect_thunderstorm.py | 479 | def _setup_sparks_for_impact(self, spark_char: EffectCharacter) -> None: | CODE |
| LOW | terminaltexteffects/effects/effect_thunderstorm.py | 647 | def _setup_raindrop(self, rain_char: EffectCharacter) -> None: | CODE |
| LOW | terminaltexteffects/effects/effect_spotlights.py | 309 | def _set_appearance(self, character: EffectCharacter, colors: ColorPair) -> None: | CODE |
| LOW | terminaltexteffects/effects/effect_synthgrid.py | 392 | def update_group_tracker(self, _: EffectCharacter, *args) -> None: # noqa: ANN002 | CODE |
| LOW | terminaltexteffects/effects/effect_vhstape.py | 323 | def set_hold_time(self, hold_time: int) -> None: | CODE |
| LOW | terminaltexteffects/effects/effect_bubbles.py | 192 | def set_character_coordinates(self) -> None: | CODE |
| LOW | terminaltexteffects/effects/effect_overflow.py | 166 | def set_color(self, fg_color: Color | None = None, bg_color: Color | None = None) -> None: | CODE |
| LOW | terminaltexteffects/effects/effect_orbittingvolley.py | 360 | def _set_launcher_coordinates(self, parent: Launcher, child: Launcher) -> None: | CODE |
| LOW | terminaltexteffects/engine/terminal_input.py | 236 | def _update_virtual_screen_bounds(cls, sequence: str, state: _ParserState) -> None: | CODE |
| LOW | terminaltexteffects/engine/terminal.py | 1373 | def set_character_visibility(self, character: EffectCharacter, is_visible: bool) -> None: # noqa: FBT001 | CODE |
| LOW | terminaltexteffects/engine/terminal.py | 1558 | def _update_terminal_state(self) -> None: | CODE |
| LOW | terminaltexteffects/engine/base_character.py | 495 | def _set_input_coord(self, coord: Coord) -> None: | CODE |
| LOW | terminaltexteffects/engine/animation.py | 896 | def set_appearance(self, symbol: str | None = None, colors: graphics.ColorPair | None = None) -> None: | CODE |
| LOW | terminaltexteffects/engine/animation.py | 942 | def set_appearance_if_changed(self, symbol: str | None = None, colors: graphics.ColorPair | None = None) -> None: | CODE |
| LOW | terminaltexteffects/engine/motion.py | 372 | def set_coordinate(self, coord: Coord) -> None: | CODE |
| LOW | terminaltexteffects/engine/effect_support/__init__.py | 5 | __all__ = ["ParticlePool", "ParticleReset"] | CODE |
| LOW | effect_archive/effect_dev_worm.py | 139 | def update_worm(self) -> None: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | terminaltexteffects/__main__.py | 895 | print(f"Error: {message}", file=sys.stderr) | CODE |
| LOW | terminaltexteffects/__main__.py | 970 | except Exception as e: # noqa: BLE001 | CODE |
| MEDIUM | terminaltexteffects/__main__.py | 971 | print(f"Error reading file: {args.input_file} - {e}") | CODE |
| MEDIUM | terminaltexteffects/__main__.py | 1005 | print("Error: No effects available for random selection based on include/exclude filters.\n") | CODE |
| MEDIUM | terminaltexteffects/__main__.py | 1010 | print("Error: No effect specified. Must specify an effect or use --random-effect.\n") | CODE |
| MEDIUM | terminaltexteffects/__main__.py | 1044 | print(f"Error: {e}", file=sys.stderr) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tests/test_powershell_completion.py | 88 | " $request.line, [int]$request.cursor, $null)\n" | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | terminaltexteffects/effects/effect_vhstape.py | 487 | # Check if all active glitch wave lines have completed their movement, if so move the wave | COMMENT |
| LOW | terminaltexteffects/effects/effect_vhstape.py | 511 | # Check if glitching time has reached the total glitch time | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | terminaltexteffects/engine/terminal.py | 908 | CODE | |
| LOW | terminaltexteffects/engine/terminal.py | 1136 | CODE | |
| LOW | terminaltexteffects/engine/animation.py | 459 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | terminaltexteffects/completions/tte.bash | 2 | # Usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | tests/test_effect_inventory.py | 70 | @pytest.mark.parametrize("content", ["# tests pending\n", "def helper():\n pass\n", "def invalid(:\n"]) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/engine_tests/test_terminal.py | 281 | # (4,1) - d - 196 - 0,0,0 | COMMENT |