[READ-ONLY] Mirror of https://github.com/bombshell-dev/tty. Platform independent 2D layout engine for terminal applications based on Clay
5

Configure Feed

Select the types of activity you want to include in your feed.

๐Ÿ› accept signed int32 colors in validator

The rgba() function returns signed int32 when alpha >= 128 (bit 31
set). The validator's u32 type rejected these negative values. Add
a color type that accepts the full signed-to-unsigned 32-bit range.

Charles Lowell (Apr 8, 2026, 4:39 PM -0500) 76027226 0a70d407

+4 -3
+4 -3
validate.ts
··· 8 8 const u8 = Type.Integer({ minimum: 0, maximum: 255 }); 9 9 const u16 = Type.Integer({ minimum: 0, maximum: 65535 }); 10 10 const u32 = Type.Integer({ minimum: 0, maximum: 0xFFFFFFFF }); 11 + const color = Type.Integer({ minimum: -0x80000000, maximum: 0xFFFFFFFF }); 11 12 12 13 /* โ”€โ”€ Sizing axis (discriminated union) โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ */ 13 14 ··· 64 65 }); 65 66 66 67 const Border = Type.Object({ 67 - color: u32, 68 + color: color, 68 69 left: Type.Optional(u8), 69 70 right: Type.Optional(u8), 70 71 top: Type.Optional(u8), ··· 93 94 id: Type.Literal(0x02), 94 95 name: Type.String(), 95 96 layout: Type.Optional(Layout), 96 - bg: Type.Optional(u32), 97 + bg: Type.Optional(color), 97 98 cornerRadius: Type.Optional(CornerRadius), 98 99 border: Type.Optional(Border), 99 100 clip: Type.Optional(Clip), ··· 103 104 const TextOp = Type.Object({ 104 105 id: Type.Literal(0x03), 105 106 content: Type.String(), 106 - color: Type.Optional(u32), 107 + color: Type.Optional(color), 107 108 fontSize: Type.Optional(u8), 108 109 fontId: Type.Optional(u8), 109 110 wrap: Type.Optional(u8),