code cleanup, memory optimizations, slim term code, and file renaming #2381
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
notable changes
TTY
New /lib/tty library that provides the core readKeyboard and drawText functionality. /lib/term should still be used by user code and the tty api should be considered alpha. The intent in this separation of the code is to allow term api to remain unchanged and allow tty to adapt as improvements are made.
delayloaded and now splitting
The delayloaded packaging system has been removed. The delayload system allowed for library object to appear loaded when in fact they were not. But this significantly increased boot time. The code now imploys "library splitting", saves tremendous memory, shortens boot time, and all libraries are fully usable even when partially loaded. In other words, it is all transparent to the user.
boot memory cost
Numerous micro optimizations have been made. "boot to shell prompt" now idles at 156k allocated, or 40k free, up from ~26k free before this change. Yes, that's 14k less in this update.