Qwiratry::Format::Textish::RenderWalkable
Overview
Shared Render behaviour for Textish Formats (HalfHuman, WithBorders).
Qwiratry::Format::Textish::RenderWalkable is a role that inherits
Qwiratry::Format::Base::RenderWalkable. Concrete Textish Render classes
does this role (and therefore the walkable Render contract).
Provides prepare/sprintf helpers (row normalisation, field order, width/type
scan, cell stringify, body sprintf) plus header-cell alignment for
:header-alignment (Textish Β§8.2 / Β§9.11β12).
Also exposes TOPβs public multi-phase drive protocol
(prepare-table / output-header / output-row / output-footer with
public $.output). One-shot render-walkable is a thin driver that binds
input via set-render-data, runs those phases, and returns $.output
(Parity Q1 / Q2).
Not itself a discoverable Format plugin β the module path has four ::
segments, and Format discovery only treats three-segment Qwiratry::Format::*
names as plugins. Named *::RenderWalkable (not *::Render) so it is not
confused with a Format operation class.
Multi-phase API (TOP-compatible)
set-render-data(Mu $data, *%options)
Bind input rows and options for a subsequent C<prepare-table> /
C<output-*> drive. Returns C<True> when there is at least one field to
render; C<False> when C<render-walkable> should emit an empty string.
prepare-table() / output-header() / output-row($row) /
output-footer()
Stateful phase methods (no option hash). Call C<set-render-data> first
(or use C<render-walkable>, which does). Append to C<$.output>.
render-walkable(Mu $data, *%options)
Thin driver: C<set-render-data> β C<prepare-table> β C<output-header> β
C<output-row> per row β C<output-footer> β return C<$.output>.