0.13.0
New Features (0.13.0)
New Effects (0.13.0)
- Thunderstorm - Rain falls across the canvas. Lightning strikes randomly around the canvas. Lightning flashes after reaching the bottom of the canvas, lighting up the text characters. Sparks explode from lightning impact. Text characters glow when lightning travels through them.
- Smoke - Smoke floods the canvas, colorizing any text it passes over.
New Engine Features (0.13.0)
- Added
geometry.find_coords_on_rect(), which returns coordinates along the perimeter of a rectangle given a centerCoord, width, and height. Results are cached for performance. - Added
--terminal-background-colorto theTerminalConfigparser. This will enable terminal themes with background other than black to better display effects with fade in/out components. - Spanning-tree and search algorithms have been added.
- PrimsSimple - Unweighted Prims
- PrimsWeighted
- RecursiveBacktracker
- Breadthfirst
EffectCharacterhas a new attributelinksto support creating trees using spanning-tree algorithms.
New Application Features (0.13.0)
- Support for random effect selection from the command-line. Use effect named
random_effect. Global configuration options will apply. - Support for canvas re-use. Use tte option
--reuse-canvasto restore the cursor to the position of the prior effect canvas. - Added
terminaltexteffectsentry point. --no-eolcommand-line option. Suppress the trailing newline character after an effect.--no-restore-cursorcommand-line option. Do not restore cursor visibility after an effect ends.
Changes (0.13.0)
Effects Changes (0.13.0)
- Blackhole - Initial consumption motion modified to create the apperance of an gravitational-wave propagating across the canvas.
- Laseretch - New etch-pattern
algorithmuses the link-order of a text-boundary-bound recursive backtracker algorithm. - Burn - Character ignite order is based on the link-order of a text-boundary-bound prims simple algorithm.
- Pour - Changed
--movement-speedto--movement-speed-rangeto add some variation in character falling speed. - All effects have been adjusted for visual parity at 60 fps.
- All effects are up-imported into
terminaltexteffects.effectsto simplify importing tofrom terminaltexteffects.effects import Burn.
Engine Changes (0.13.0)
animation.set_appearance()symbolargument signature changed fromstrtostr | None, defaulting to the character'sinput_symbolif not provided.Coordobjects can be unpacked into(column, row)tuples for multiple assignment.motion.activate_path()andanimation.activate_scene()acceptpath_id/scene_idstrings ORPath/Sceneinstances. ThePath/Scenecorresponding to the providedpath_id/scene_idmust exist or aSceneNotFoundError/PathNotFoundErrorwill be raised.motion.query_path()accepts an argument directing the action to take if a path with the givenpath_idcannot be found. The default action is to raise aPathNotFoundError, but this behavior can be changed to returnNone.animation.query_scene()accepts an argument directing the action to take if a scene with the givenscene_idcannot be found. The default action is to raise aSceneNotFoundError, but this behavior can be changed to returnNone.- Events can be registered using
path_id/scene_idin place of thePath/Scenefortargetandcallerarguments. - Frame rate reduced from 100 fps to 60 fps.
- Typed argument parsing and related configuration utilities and classes have been rewritten.
- Terminal distance calculations take into account the cell height/width ratio.
- Completely rewrote modules and classes related to argument parsing and effect/terminal configuration handling. This eliminates the design which forced building multiple configuration objects depending on how the effect was run, and also enabled the random effect option.
Bug Fixes (0.13.0)
Engine Fixes (0.13.0)
- Fixed duplicate event registrations by adding prevention logic to the EventHandler. The
register_eventmethod now raises aDuplicateEventRegistrationErrorwhen attempting to register the same event-caller-action-target combination. - Improved the
_handle_eventmethod docstring with comprehensive documentation. Scene.reset_scene()now setseasing_current_stepto0.
Effect Fixes (0.13.0)
- Unstable - Effect properly uses config values for reassembly/explosion speed. These were not referenced previously.