Unstable
Quick Start
from terminaltexteffects.effects.effect_unstable import Unstable
effect = Unstable("YourTextHere")
with effect.terminal_output() as terminal:
for frame in effect:
terminal.print(frame)
Spawns characters jumbled, explodes them to the edge of the canvas, then reassembles them.
Classes:
Name | Description |
---|---|
Unstable |
Spawns characters jumbled, explodes them to the edge of the canvas, then reassembles them. |
UnstableConfig |
Configuration for the Unstable effect. |
UnstableIterator |
Effect iterator for the Unstable effect. Does not normally need to be called directly. |
Unstable
Bases: BaseEffect[UnstableConfig]
Spawns characters jumbled, explodes them to the edge of the canvas, then reassembles them.
Attributes:
Name | Type | Description |
---|---|---|
effect_config |
UnstableConfig
|
Configuration for the effect. |
terminal_config |
TerminalConfig
|
Configuration for the terminal. |
Source code in terminaltexteffects/effects/effect_unstable.py
__init__(input_data)
Initialize the effect with the provided input data.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
input_data |
str
|
The input data to use for the effect. |
required |
UnstableConfig
dataclass
Bases: ArgsDataClass
Configuration for the Unstable effect.
Attributes:
Name | Type | Description |
---|---|---|
unstable_color |
Color
|
Color transitioned to as the characters become unstable. |
final_gradient_stops |
tuple[Color, ...]
|
Tuple of colors for the final color gradient. If only one color is provided, the characters will be displayed in that color. |
final_gradient_steps |
tuple[int, ...] | int
|
Tuple of the number of gradient steps to use. More steps will create a smoother and longer gradient animation. Valid values are n > 0. |
final_gradient_direction |
Direction
|
Direction of the final gradient. |
explosion_ease |
EasingFunction
|
Easing function to use for character movement during the explosion. |
explosion_speed |
float
|
Speed of characters during explosion. Valid values are n > 0. |
reassembly_ease |
EasingFunction
|
Easing function to use for character reassembly. |
reassembly_speed |
float
|
Speed of characters during reassembly. Valid values are n > 0. |
Source code in terminaltexteffects/effects/effect_unstable.py
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 |
|
explosion_ease: easing.EasingFunction = ArgField(cmd_name=['--explosion-ease'], type_parser=argvalidators.Ease.type_parser, default=easing.out_expo, help='Easing function to use for character movement during the explosion.')
class-attribute
instance-attribute
easing.EasingFunction : Easing function to use for character movement during the explosion.
explosion_speed: float = ArgField(cmd_name=['--explosion-speed'], type_parser=argvalidators.PositiveFloat.type_parser, default=0.75, metavar=argvalidators.PositiveFloat.METAVAR, help='Speed of characters during explosion. ')
class-attribute
instance-attribute
float : Speed of characters during explosion.
final_gradient_direction: Gradient.Direction = ArgField(cmd_name='--final-gradient-direction', type_parser=argvalidators.GradientDirection.type_parser, default=Gradient.Direction.VERTICAL, metavar=argvalidators.GradientDirection.METAVAR, help='Direction of the final gradient.')
class-attribute
instance-attribute
Gradient.Direction : Direction of the final gradient.
final_gradient_steps: tuple[int, ...] | int = ArgField(cmd_name=['--final-gradient-steps'], type_parser=argvalidators.PositiveInt.type_parser, nargs='+', default=12, metavar=argvalidators.PositiveInt.METAVAR, help='Space separated, unquoted, list of the number of gradient steps to use. More steps will create a smoother and longer gradient animation.')
class-attribute
instance-attribute
tuple[int, ...] | int : Int or Tuple of ints for the number of gradient steps to use. More steps will create a smoother and longer gradient animation.
final_gradient_stops: tuple[Color, ...] = ArgField(cmd_name=['--final-gradient-stops'], type_parser=argvalidators.ColorArg.type_parser, nargs='+', default=(Color('8A008A'), Color('00D1FF'), Color('FFFFFF')), metavar=argvalidators.ColorArg.METAVAR, help='Space separated, unquoted, list of colors for the character gradient (applied from bottom to top). If only one color is provided, the characters will be displayed in that color.')
class-attribute
instance-attribute
tuple[Color, ...] : Tuple of colors for the final color gradient. If only one color is provided, the characters will be displayed in that color.
reassembly_ease: easing.EasingFunction = ArgField(cmd_name=['--reassembly-ease'], type_parser=argvalidators.Ease.type_parser, default=easing.out_expo, help='Easing function to use for character reassembly.')
class-attribute
instance-attribute
easing.EasingFunction : Easing function to use for character reassembly.
reassembly_speed: float = ArgField(cmd_name=['--reassembly-speed'], type_parser=argvalidators.PositiveFloat.type_parser, default=0.75, metavar=argvalidators.PositiveFloat.METAVAR, help='Speed of characters during reassembly. ')
class-attribute
instance-attribute
float : Speed of characters during reassembly.
unstable_color: Color = ArgField(cmd_name=['--unstable-color'], type_parser=argvalidators.ColorArg.type_parser, default=Color('ff9200'), metavar=argvalidators.ColorArg.METAVAR, help='Color transitioned to as the characters become unstable.')
class-attribute
instance-attribute
Color : Color transitioned to as the characters become unstable.