123456789101112131415161718192021222324252627282930313233343536373839(* Claude Code
*
* Copyright (C) 2026 Yoann Padioleau
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public License
* (LGPL) as published by the Free Software Foundation; either version
* 2 of the License, or (at your option) any later version.
*)typet=stringletblackpxy=Char.codep.[yland7]land(0x80lsr(xland7))<>0letmakerows=String.init8(funi->Char.chrrows.(iland7))letsolid=make[|0xFF;0xFF;0xFF;0xFF;0xFF;0xFF;0xFF;0xFF|]letwhite=make[|0;0;0;0;0;0;0;0|]letgrey=make[|0xAA;0x55;0xAA;0x55;0xAA;0x55;0xAA;0x55|]letpalette=[solid;white;grey;(* a quarter, and three quarters *)make[|0x88;0x22;0x88;0x22;0x88;0x22;0x88;0x22|];make[|0x77;0xDD;0x77;0xDD;0x77;0xDD;0x77;0xDD|];(* an eighth: sparse dots *)make[|0x80;0x00;0x08;0x00;0x80;0x00;0x08;0x00|];(* diagonals, both ways *)make[|0x01;0x02;0x04;0x08;0x10;0x20;0x40;0x80|];make[|0x80;0x40;0x20;0x10;0x08;0x04;0x02;0x01|];(* horizontal and vertical lines *)make[|0xFF;0x00;0x00;0x00;0xFF;0x00;0x00;0x00|];make[|0x88;0x88;0x88;0x88;0x88;0x88;0x88;0x88|];(* bricks *)make[|0xFF;0x80;0x80;0x80;0xFF;0x08;0x08;0x08|];(* a weave *)make[|0xF8;0x74;0x22;0x47;0x8F;0x17;0x22;0x71|];]