When true, scope-end and bar-end lines gain a [peak X] suffix
(or [peak X | live Y] when TextRendererOptions.getLiveMemory
is also supplied) sourced from
TextRendererOptions.getPeakMemory. No effect when the probe
is omitted. Defaults to true when getPeakMemory is provided so
embedders that supply a probe see the overlay automatically. Mutable
so the host can toggle the overlay without re-installing the renderer.
Default human-readable text renderer. Emits one event per line - no carriage-return rewriting, no TTY detection, no buffering. Bars render as
[#### ...... ] duration, with#appended incrementally on eachbarTickand the remainder padded with.onbarEnd.outputevents are treated as line-oriented: their text is written to the pipeable sink with a trailing\nappended (callers should not include one themselves).Verbosity is consulted directly from the shared logger on each event, so this renderer alone decides what to display - the core delivers every scope/bar lifecycle event so embedders consuming the event stream see a faithful record. The display rules are:
quiet- suppresses every scope/bar lifecycle line (start, tick, end - including failed ends). Errors, warnings andoutputstill show.normal(default) - shows scope/bar headers and bar progress; shows failedscopeEnd/barEndfooters (the "failed in ..." cascade fromlogger.error/unwindAll(true)); hides successfulscopeEndfooters.verbose- shows everything, including successfulscopeEndfooters ("done in ...").Sinks are injected (no
processreference here) so the renderer works in both Node CLI and browser/bundle contexts: the CLI passesprocess.stderr.writefor status andprocess.stdout.writefor raw output; library/browser consumers can pass aconsole.logline buffer.