What a frame is drawn for, upstream's env plus the size and the clock.
paper: ink is dark on a light ground, so shaded pieces flip their ramp.color?: colours are wanted. A coloured piece then returns a palette index for every cell; otherwise it draws the one-ink version and returnsnilcolours.now: the wall clock forclock: truepieces, as aDateTimewhose offset gives the local time.nilreads the system clock. Tests pin it.
Summary
Types
@type t() :: %Ascii.Env{ color?: boolean(), cols: pos_integer(), now: DateTime.t() | nil, paper: boolean(), rows: pos_integer() }