RenderBuffers that can store contents indefinitely

Registered by Paul "LeoNerd" Evans on 2017-03-06

Rather than storing a temporary "delta" of changes to be flushed to the terminal, it would be useful to allow a RenderBuffer to store long-lived content after it is flushed. This would let them be used as a form of "canvas", storing a persistent image.

A RenderBuffer can already do that now by just using the `tickit_renderbuffer_blit()` operation to copy it to another. However, there is no garbage collect mechanism at present to reclaim the memory used by text strings that have since been overwritten. Essentially then, this blueprint requires adding such a mechanism.

Blueprint information

Status:
Complete
Approver:
Paul "LeoNerd" Evans
Priority:
Medium
Drafter:
Paul "LeoNerd" Evans
Direction:
Needs approval
Assignee:
None
Definition:
Approved
Series goal:
Accepted for trunk
Implementation:
Implemented
Milestone target:
milestone icon v0.2
Started by
Paul "LeoNerd" Evans on 2017-11-05
Completed by
Paul "LeoNerd" Evans on 2017-11-05

Related branches

Sprints

Whiteboard

As of -r533 TickitRenderBuffer uses the new TickitString counted strings for its storage, so overprinted cells are reclaimed efficiently. This is now done.

(?)

Work Items

Work items:
* code: DONE
* docs: DONE

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.