Open cmorman89 opened 2 days ago
RunBuffer
and RunBufferBuilder
have been implemented as foundational changes. Integration into the rendering pipeline is pending.
RunBuffer
:__repr__
method allows rendering the boundaries of the run-length buffers being produced within brackets ([ ]
) and if it represents a Pixel (-
) or None (_
):
[______]
and [------]
RunBufferBuilder
:RunBuffer
object in-place while the renderer streams data from the render pipeline (Pixel
objects and their rendered characters that will be printed to the terminal).
RunBufferBuilder
will continue to add to the RunBuffer
.RunBuffer
is returned (for immediate printing to the terminal) and a new RunBuffer
is created to accept the latest pixel's data.RunBuffer
class to store contiguous pixel runs.RunBufferBuilder
to detect color transitions and create runs.TerminalRenderer
demo.py
if necessary to use a run-buffer. Reactivate animation.RunBuffer
: __repr__()
Output Oversized:]
) to be outside the RunBuffer
actual size. This gets overwritten by the next buffer, resulting in the apparent truncation of the representation of the prior RunBuffer
object.__repr__
method or a deeper issue in the RunBuffers
that contain a new line (\n
)RunBuffer
Detection:The primary changes involve the addition of RunBuffer
and RunBufferBuilder
as a foundational step in improving efficiency and reducing redundancy in terminal rendering. These classes have been implemented but not yet integrated into the main rendering pipeline.
Implement Run Length Buffering
Description
Run-length buffering needs to be implemented in the rendering pipeline to optimize how ANSI codes are handled. This will reduce the number of color transitions and improve rendering performance.
Goals:
Tasks:
RunBuffer
class to store contiguous pixel runs.RunBufferBuilder
to detect color transitions and create runs.TerminalRenderer