@flyingrobots/bijou 4.2.0 → 4.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. package/README.md +39 -179
  2. package/dist/context-theme.d.ts +15 -0
  3. package/dist/context-theme.d.ts.map +1 -0
  4. package/dist/context-theme.js +23 -0
  5. package/dist/context-theme.js.map +1 -0
  6. package/dist/core/components/alert-v3.js +4 -4
  7. package/dist/core/components/alert-v3.js.map +1 -1
  8. package/dist/core/components/alert.d.ts.map +1 -1
  9. package/dist/core/components/alert.js +12 -5
  10. package/dist/core/components/alert.js.map +1 -1
  11. package/dist/core/components/badge.d.ts.map +1 -1
  12. package/dist/core/components/badge.js +38 -7
  13. package/dist/core/components/badge.js.map +1 -1
  14. package/dist/core/components/box-v3.d.ts.map +1 -1
  15. package/dist/core/components/box-v3.js +101 -26
  16. package/dist/core/components/box-v3.js.map +1 -1
  17. package/dist/core/components/braille-chart.d.ts +45 -0
  18. package/dist/core/components/braille-chart.d.ts.map +1 -0
  19. package/dist/core/components/braille-chart.js +94 -0
  20. package/dist/core/components/braille-chart.js.map +1 -0
  21. package/dist/core/components/data-viz-utils.d.ts +25 -0
  22. package/dist/core/components/data-viz-utils.d.ts.map +1 -0
  23. package/dist/core/components/data-viz-utils.js +72 -0
  24. package/dist/core/components/data-viz-utils.js.map +1 -0
  25. package/dist/core/components/index.d.ts +8 -0
  26. package/dist/core/components/index.d.ts.map +1 -1
  27. package/dist/core/components/index.js +4 -0
  28. package/dist/core/components/index.js.map +1 -1
  29. package/dist/core/components/perf-overlay.d.ts +63 -0
  30. package/dist/core/components/perf-overlay.d.ts.map +1 -0
  31. package/dist/core/components/perf-overlay.js +84 -0
  32. package/dist/core/components/perf-overlay.js.map +1 -0
  33. package/dist/core/components/preference-list.d.ts.map +1 -1
  34. package/dist/core/components/preference-list.js +63 -11
  35. package/dist/core/components/preference-list.js.map +1 -1
  36. package/dist/core/components/separator-v3.d.ts.map +1 -1
  37. package/dist/core/components/separator-v3.js +55 -15
  38. package/dist/core/components/separator-v3.js.map +1 -1
  39. package/dist/core/components/sparkline.d.ts +33 -0
  40. package/dist/core/components/sparkline.d.ts.map +1 -0
  41. package/dist/core/components/sparkline.js +45 -0
  42. package/dist/core/components/sparkline.js.map +1 -0
  43. package/dist/core/components/stats-panel.d.ts +50 -0
  44. package/dist/core/components/stats-panel.d.ts.map +1 -0
  45. package/dist/core/components/stats-panel.js +83 -0
  46. package/dist/core/components/stats-panel.js.map +1 -0
  47. package/dist/core/components/surface-text.d.ts +1 -1
  48. package/dist/core/components/surface-text.d.ts.map +1 -1
  49. package/dist/core/components/surface-text.js +80 -9
  50. package/dist/core/components/surface-text.js.map +1 -1
  51. package/dist/core/components/table-v3.d.ts.map +1 -1
  52. package/dist/core/components/table-v3.js +34 -2
  53. package/dist/core/components/table-v3.js.map +1 -1
  54. package/dist/core/components/types.d.ts +4 -4
  55. package/dist/core/components/types.d.ts.map +1 -1
  56. package/dist/core/render/differ.d.ts +12 -1
  57. package/dist/core/render/differ.d.ts.map +1 -1
  58. package/dist/core/render/differ.js +502 -11
  59. package/dist/core/render/differ.js.map +1 -1
  60. package/dist/core/render/packed-cell.d.ts +110 -0
  61. package/dist/core/render/packed-cell.d.ts.map +1 -0
  62. package/dist/core/render/packed-cell.js +301 -0
  63. package/dist/core/render/packed-cell.js.map +1 -0
  64. package/dist/core/text/grapheme.d.ts.map +1 -1
  65. package/dist/core/text/grapheme.js +17 -5
  66. package/dist/core/text/grapheme.js.map +1 -1
  67. package/dist/core/theme/presets.d.ts +9 -1
  68. package/dist/core/theme/presets.d.ts.map +1 -1
  69. package/dist/core/theme/presets.js +44 -2
  70. package/dist/core/theme/presets.js.map +1 -1
  71. package/dist/core/theme/resolve.d.ts.map +1 -1
  72. package/dist/core/theme/resolve.js +21 -1
  73. package/dist/core/theme/resolve.js.map +1 -1
  74. package/dist/core/theme/tokens.d.ts +12 -0
  75. package/dist/core/theme/tokens.d.ts.map +1 -1
  76. package/dist/index.d.ts +4 -2
  77. package/dist/index.d.ts.map +1 -1
  78. package/dist/index.js +3 -1
  79. package/dist/index.js.map +1 -1
  80. package/dist/ports/io.d.ts +17 -0
  81. package/dist/ports/io.d.ts.map +1 -1
  82. package/dist/ports/surface.d.ts +83 -2
  83. package/dist/ports/surface.d.ts.map +1 -1
  84. package/dist/ports/surface.js +319 -37
  85. package/dist/ports/surface.js.map +1 -1
  86. package/package.json +5 -1
@@ -0,0 +1,110 @@
1
+ /**
2
+ * Byte-packed cell encoding for zero-allocation surface rendering.
3
+ *
4
+ * Layout per cell: 10 bytes
5
+ * [0-1] char (uint16 LE code point, or side-table index if >= SIDE_TABLE_THRESHOLD)
6
+ * [2-4] fg R, G, B
7
+ * [5-7] bg R, G, B
8
+ * [8] flags bitfield
9
+ * [9] alpha byte
10
+ *
11
+ * Flags byte [8]:
12
+ * bit 0: bold
13
+ * bit 1: dim
14
+ * bit 2: strikethrough
15
+ * bit 3: inverse
16
+ * bit 4-5: underline style (00=none, 01=underline, 10=curly, 11=dotted-or-dashed)
17
+ * bit 6: dashed (disambiguates dotted vs dashed when bits 4-5 = 11)
18
+ * bit 7: empty
19
+ *
20
+ * Alpha byte [9]:
21
+ * bits 0-5: opacity (0-63, quantized from 0.0-1.0)
22
+ * bit 6: fg present (0 = terminal default, 1 = explicit RGB)
23
+ * bit 7: bg present (0 = terminal default, 1 = explicit RGB)
24
+ */
25
+ /** Bytes per packed cell. */
26
+ export declare const CELL_STRIDE = 10;
27
+ /** Offset of the char code (uint16 LE) within a cell. */
28
+ export declare const OFF_CHAR = 0;
29
+ /** Offset of fg R within a cell. */
30
+ export declare const OFF_FG_R = 2;
31
+ /** Offset of fg G within a cell. */
32
+ export declare const OFF_FG_G = 3;
33
+ /** Offset of fg B within a cell. */
34
+ export declare const OFF_FG_B = 4;
35
+ /** Offset of bg R within a cell. */
36
+ export declare const OFF_BG_R = 5;
37
+ /** Offset of bg G within a cell. */
38
+ export declare const OFF_BG_G = 6;
39
+ /** Offset of bg B within a cell. */
40
+ export declare const OFF_BG_B = 7;
41
+ /** Offset of the flags byte within a cell. */
42
+ export declare const OFF_FLAGS = 8;
43
+ /** Offset of the alpha/presence byte within a cell. */
44
+ export declare const OFF_ALPHA = 9;
45
+ export declare const FLAG_BOLD: number;
46
+ export declare const FLAG_DIM: number;
47
+ export declare const FLAG_STRIKETHROUGH: number;
48
+ export declare const FLAG_INVERSE: number;
49
+ /** Underline style occupies bits 4–5. */
50
+ export declare const UNDERLINE_SHIFT = 4;
51
+ export declare const UNDERLINE_MASK: number;
52
+ export declare const UNDERLINE_NONE: number;
53
+ export declare const UNDERLINE_SOLID: number;
54
+ export declare const UNDERLINE_CURLY: number;
55
+ export declare const UNDERLINE_DOTDASH: number;
56
+ /** When underline style = DOTDASH, this bit distinguishes dashed from dotted. */
57
+ export declare const FLAG_DASHED: number;
58
+ export declare const FLAG_EMPTY: number;
59
+ /** Opacity occupies bits 0–5 (0–63). */
60
+ export declare const OPACITY_MASK = 63;
61
+ /** Bit 6: foreground color is explicitly set. */
62
+ export declare const FLAG_FG_SET: number;
63
+ /** Bit 7: background color is explicitly set. */
64
+ export declare const FLAG_BG_SET: number;
65
+ /** Threshold for side-table char indices (values >= this are side-table lookups). */
66
+ export declare const SIDE_TABLE_THRESHOLD = 61440;
67
+ /** Encode a modifier string array into the flags byte value. */
68
+ export declare function encodeModifiers(modifiers: readonly string[] | undefined): number;
69
+ /** Decode the flags byte back into a modifier string array. Returns undefined if no modifiers. */
70
+ export declare function decodeModifiers(flags: number): string[] | undefined;
71
+ /**
72
+ * Parse '#rrggbb' into [r, g, b].
73
+ *
74
+ * **WARNING: returns a static reusable tuple.** The returned array is
75
+ * shared across all calls. Callers MUST read or destructure the values
76
+ * before calling `parseHex` again. Holding a reference across another
77
+ * `parseHex` call will see clobbered values.
78
+ *
79
+ * Zero-alloc: no slice(), no parseInt(), no intermediate strings.
80
+ *
81
+ * @returns A static [r, g, b] tuple, or undefined for invalid input.
82
+ */
83
+ export declare function parseHex(hex: string): [number, number, number] | undefined;
84
+ /**
85
+ * Parse '#rrggbb' and write R, G, B directly into a Uint8Array at the
86
+ * given offset. Returns true on success, false for invalid input.
87
+ * Zero-alloc: no intermediate strings or tuples.
88
+ */
89
+ export declare function parseHexInto(hex: string, out: Uint8Array, off: number): boolean;
90
+ /** Encode [r, g, b] to '#rrggbb'. Uses a lookup table — no toString(16) per call. */
91
+ export declare function toHex(r: number, g: number, b: number): string;
92
+ /** Quantize opacity (0.0–1.0) into 6-bit value (0–63). */
93
+ export declare function encodeOpacity(opacity: number | undefined): number;
94
+ /** Decode 6-bit opacity back to 0.0–1.0. */
95
+ export declare function decodeOpacity(quantized: number): number;
96
+ /** Sentinel code for an empty-string char (double-width continuation cell). */
97
+ export declare const CHAR_EMPTY = 0;
98
+ /** Encode a character string into a uint16 value and optional side-table entry. */
99
+ export declare function encodeChar(char: string, sideTable: string[]): number;
100
+ /** Decode a uint16 char value back to a string. */
101
+ export declare function decodeChar(code: number, sideTable: readonly string[]): string;
102
+ /** Write a Cell into the packed buffer at the given cell index. */
103
+ export declare function packCell(buf: Uint8Array, cellIndex: number, charCode: number, fgR: number, fgG: number, fgB: number, fgSet: boolean, bgR: number, bgG: number, bgB: number, bgSet: boolean, flags: number, opacity: number): void;
104
+ /** Compare two packed cells for equality. */
105
+ export declare function packedCellsEqual(buf: Uint8Array, idxA: number, idxB: number): boolean;
106
+ /** Compare two packed cells across different buffers. */
107
+ export declare function packedCellsEqualCross(bufA: Uint8Array, idxA: number, bufB: Uint8Array, idxB: number): boolean;
108
+ /** Check if two packed cells have the same style (fg, bg, flags, alpha — ignoring char). */
109
+ export declare function packedStyleEqual(buf: Uint8Array, idxA: number, idxB: number): boolean;
110
+ //# sourceMappingURL=packed-cell.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"packed-cell.d.ts","sourceRoot":"","sources":["../../../src/core/render/packed-cell.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,301 @@
1
+ /**
2
+ * Byte-packed cell encoding for zero-allocation surface rendering.
3
+ *
4
+ * Layout per cell: 10 bytes
5
+ * [0-1] char (uint16 LE code point, or side-table index if >= SIDE_TABLE_THRESHOLD)
6
+ * [2-4] fg R, G, B
7
+ * [5-7] bg R, G, B
8
+ * [8] flags bitfield
9
+ * [9] alpha byte
10
+ *
11
+ * Flags byte [8]:
12
+ * bit 0: bold
13
+ * bit 1: dim
14
+ * bit 2: strikethrough
15
+ * bit 3: inverse
16
+ * bit 4-5: underline style (00=none, 01=underline, 10=curly, 11=dotted-or-dashed)
17
+ * bit 6: dashed (disambiguates dotted vs dashed when bits 4-5 = 11)
18
+ * bit 7: empty
19
+ *
20
+ * Alpha byte [9]:
21
+ * bits 0-5: opacity (0-63, quantized from 0.0-1.0)
22
+ * bit 6: fg present (0 = terminal default, 1 = explicit RGB)
23
+ * bit 7: bg present (0 = terminal default, 1 = explicit RGB)
24
+ */
25
+ /** Bytes per packed cell. */
26
+ export const CELL_STRIDE = 10;
27
+ /** Offset of the char code (uint16 LE) within a cell. */
28
+ export const OFF_CHAR = 0;
29
+ /** Offset of fg R within a cell. */
30
+ export const OFF_FG_R = 2;
31
+ /** Offset of fg G within a cell. */
32
+ export const OFF_FG_G = 3;
33
+ /** Offset of fg B within a cell. */
34
+ export const OFF_FG_B = 4;
35
+ /** Offset of bg R within a cell. */
36
+ export const OFF_BG_R = 5;
37
+ /** Offset of bg G within a cell. */
38
+ export const OFF_BG_G = 6;
39
+ /** Offset of bg B within a cell. */
40
+ export const OFF_BG_B = 7;
41
+ /** Offset of the flags byte within a cell. */
42
+ export const OFF_FLAGS = 8;
43
+ /** Offset of the alpha/presence byte within a cell. */
44
+ export const OFF_ALPHA = 9;
45
+ // --- Flags byte bits ---
46
+ export const FLAG_BOLD = 1 << 0;
47
+ export const FLAG_DIM = 1 << 1;
48
+ export const FLAG_STRIKETHROUGH = 1 << 2;
49
+ export const FLAG_INVERSE = 1 << 3;
50
+ /** Underline style occupies bits 4–5. */
51
+ export const UNDERLINE_SHIFT = 4;
52
+ export const UNDERLINE_MASK = 0b11 << UNDERLINE_SHIFT;
53
+ export const UNDERLINE_NONE = 0b00 << UNDERLINE_SHIFT;
54
+ export const UNDERLINE_SOLID = 0b01 << UNDERLINE_SHIFT;
55
+ export const UNDERLINE_CURLY = 0b10 << UNDERLINE_SHIFT;
56
+ export const UNDERLINE_DOTDASH = 0b11 << UNDERLINE_SHIFT;
57
+ /** When underline style = DOTDASH, this bit distinguishes dashed from dotted. */
58
+ export const FLAG_DASHED = 1 << 6;
59
+ export const FLAG_EMPTY = 1 << 7;
60
+ // --- Alpha byte bits ---
61
+ /** Opacity occupies bits 0–5 (0–63). */
62
+ export const OPACITY_MASK = 0b00111111;
63
+ /** Bit 6: foreground color is explicitly set. */
64
+ export const FLAG_FG_SET = 1 << 6;
65
+ /** Bit 7: background color is explicitly set. */
66
+ export const FLAG_BG_SET = 1 << 7;
67
+ /** Threshold for side-table char indices (values >= this are side-table lookups). */
68
+ export const SIDE_TABLE_THRESHOLD = 0xF000;
69
+ // --- Modifier encoding ---
70
+ const MODIFIER_TO_FLAG = {
71
+ 'bold': FLAG_BOLD,
72
+ 'dim': FLAG_DIM,
73
+ 'strikethrough': FLAG_STRIKETHROUGH,
74
+ 'inverse': FLAG_INVERSE,
75
+ };
76
+ const MODIFIER_UNDERLINE_MAP = {
77
+ 'underline': UNDERLINE_SOLID,
78
+ 'curly-underline': UNDERLINE_CURLY,
79
+ 'dotted-underline': UNDERLINE_DOTDASH,
80
+ 'dashed-underline': UNDERLINE_DOTDASH | FLAG_DASHED,
81
+ };
82
+ /** Encode a modifier string array into the flags byte value. */
83
+ export function encodeModifiers(modifiers) {
84
+ if (!modifiers || modifiers.length === 0)
85
+ return 0;
86
+ let flags = 0;
87
+ for (const mod of modifiers) {
88
+ const flag = MODIFIER_TO_FLAG[mod];
89
+ if (flag !== undefined) {
90
+ flags |= flag;
91
+ }
92
+ else {
93
+ const underline = MODIFIER_UNDERLINE_MAP[mod];
94
+ if (underline !== undefined) {
95
+ // Clear previous underline bits, then set new ones
96
+ flags = (flags & ~(UNDERLINE_MASK | FLAG_DASHED)) | underline;
97
+ }
98
+ }
99
+ }
100
+ return flags;
101
+ }
102
+ /** Decode the flags byte back into a modifier string array. Returns undefined if no modifiers. */
103
+ export function decodeModifiers(flags) {
104
+ const mods = [];
105
+ if (flags & FLAG_BOLD)
106
+ mods.push('bold');
107
+ if (flags & FLAG_DIM)
108
+ mods.push('dim');
109
+ if (flags & FLAG_STRIKETHROUGH)
110
+ mods.push('strikethrough');
111
+ if (flags & FLAG_INVERSE)
112
+ mods.push('inverse');
113
+ const underlineStyle = flags & UNDERLINE_MASK;
114
+ if (underlineStyle === UNDERLINE_SOLID) {
115
+ mods.push('underline');
116
+ }
117
+ else if (underlineStyle === UNDERLINE_CURLY) {
118
+ mods.push('curly-underline');
119
+ }
120
+ else if (underlineStyle === UNDERLINE_DOTDASH) {
121
+ mods.push(flags & FLAG_DASHED ? 'dashed-underline' : 'dotted-underline');
122
+ }
123
+ return mods.length > 0 ? mods : undefined;
124
+ }
125
+ // --- Hex color encoding/decoding ---
126
+ /** Convert a hex digit char code to its numeric value (0–15). Returns -1 for invalid. */
127
+ function hexVal(c) {
128
+ // 0–9: 0x30–0x39, a–f: 0x61–0x66, A–F: 0x41–0x46
129
+ if (c >= 48 && c <= 57)
130
+ return c - 48;
131
+ if (c >= 97 && c <= 102)
132
+ return c - 87;
133
+ if (c >= 65 && c <= 70)
134
+ return c - 55;
135
+ return -1;
136
+ }
137
+ /** Decode two hex digit char codes into a byte (0–255). Returns -1 for invalid. */
138
+ function hexPair(c1, c2) {
139
+ const hi = hexVal(c1);
140
+ const lo = hexVal(c2);
141
+ if (hi < 0 || lo < 0)
142
+ return -1;
143
+ return (hi << 4) | lo;
144
+ }
145
+ /** Reusable static tuple to avoid allocation in parseHex. */
146
+ const RGB_OUT = [0, 0, 0];
147
+ /**
148
+ * Parse '#rrggbb' into [r, g, b].
149
+ *
150
+ * **WARNING: returns a static reusable tuple.** The returned array is
151
+ * shared across all calls. Callers MUST read or destructure the values
152
+ * before calling `parseHex` again. Holding a reference across another
153
+ * `parseHex` call will see clobbered values.
154
+ *
155
+ * Zero-alloc: no slice(), no parseInt(), no intermediate strings.
156
+ *
157
+ * @returns A static [r, g, b] tuple, or undefined for invalid input.
158
+ */
159
+ export function parseHex(hex) {
160
+ if (hex.length !== 7 || hex.charCodeAt(0) !== 0x23)
161
+ return undefined;
162
+ const r = hexPair(hex.charCodeAt(1), hex.charCodeAt(2));
163
+ const g = hexPair(hex.charCodeAt(3), hex.charCodeAt(4));
164
+ const b = hexPair(hex.charCodeAt(5), hex.charCodeAt(6));
165
+ if (r < 0 || g < 0 || b < 0)
166
+ return undefined;
167
+ RGB_OUT[0] = r;
168
+ RGB_OUT[1] = g;
169
+ RGB_OUT[2] = b;
170
+ return RGB_OUT;
171
+ }
172
+ // Pre-computed lookup: byte value → 2-char hex string
173
+ const HEX_BYTE = new Array(256);
174
+ for (let i = 0; i < 256; i++) {
175
+ HEX_BYTE[i] = (i < 16 ? '0' : '') + i.toString(16);
176
+ }
177
+ /**
178
+ * Parse '#rrggbb' and write R, G, B directly into a Uint8Array at the
179
+ * given offset. Returns true on success, false for invalid input.
180
+ * Zero-alloc: no intermediate strings or tuples.
181
+ */
182
+ export function parseHexInto(hex, out, off) {
183
+ if (hex.length !== 7 || hex.charCodeAt(0) !== 0x23)
184
+ return false;
185
+ const r = hexPair(hex.charCodeAt(1), hex.charCodeAt(2));
186
+ const g = hexPair(hex.charCodeAt(3), hex.charCodeAt(4));
187
+ const b = hexPair(hex.charCodeAt(5), hex.charCodeAt(6));
188
+ if (r < 0 || g < 0 || b < 0)
189
+ return false;
190
+ out[off] = r;
191
+ out[off + 1] = g;
192
+ out[off + 2] = b;
193
+ return true;
194
+ }
195
+ /** Encode [r, g, b] to '#rrggbb'. Uses a lookup table — no toString(16) per call. */
196
+ export function toHex(r, g, b) {
197
+ return '#' + HEX_BYTE[r] + HEX_BYTE[g] + HEX_BYTE[b];
198
+ }
199
+ // --- Alpha encoding ---
200
+ /** Quantize opacity (0.0–1.0) into 6-bit value (0–63). */
201
+ export function encodeOpacity(opacity) {
202
+ if (opacity === undefined || opacity >= 1)
203
+ return 63;
204
+ if (opacity <= 0)
205
+ return 0;
206
+ return Math.round(opacity * 63);
207
+ }
208
+ /** Decode 6-bit opacity back to 0.0–1.0. */
209
+ export function decodeOpacity(quantized) {
210
+ if (quantized >= 63)
211
+ return 1;
212
+ if (quantized <= 0)
213
+ return 0;
214
+ return quantized / 63;
215
+ }
216
+ // --- Char encoding ---
217
+ /** Sentinel code for an empty-string char (double-width continuation cell). */
218
+ export const CHAR_EMPTY = 0;
219
+ /** Encode a character string into a uint16 value and optional side-table entry. */
220
+ export function encodeChar(char, sideTable) {
221
+ if (char.length === 0)
222
+ return CHAR_EMPTY;
223
+ // Fast path: single JS char — guaranteed single BMP codepoint
224
+ if (char.length === 1) {
225
+ const code = char.charCodeAt(0);
226
+ if (code < SIDE_TABLE_THRESHOLD)
227
+ return code;
228
+ }
229
+ // Slow path: multi-char string (astral plane, grapheme cluster, etc.)
230
+ let idx = sideTable.indexOf(char);
231
+ if (idx === -1) {
232
+ idx = sideTable.length;
233
+ sideTable.push(char);
234
+ }
235
+ return SIDE_TABLE_THRESHOLD + idx;
236
+ }
237
+ /** Decode a uint16 char value back to a string. */
238
+ export function decodeChar(code, sideTable) {
239
+ if (code === CHAR_EMPTY)
240
+ return '';
241
+ if (code >= SIDE_TABLE_THRESHOLD) {
242
+ const idx = code - SIDE_TABLE_THRESHOLD;
243
+ return sideTable[idx] ?? ' ';
244
+ }
245
+ return String.fromCodePoint(code);
246
+ }
247
+ // --- Bulk cell read/write ---
248
+ /** Write a Cell into the packed buffer at the given cell index. */
249
+ export function packCell(buf, cellIndex, charCode, fgR, fgG, fgB, fgSet, bgR, bgG, bgB, bgSet, flags, opacity) {
250
+ const off = cellIndex * CELL_STRIDE;
251
+ // char as uint16 LE
252
+ buf[off + OFF_CHAR] = charCode & 0xFF;
253
+ buf[off + OFF_CHAR + 1] = (charCode >> 8) & 0xFF;
254
+ // fg
255
+ buf[off + OFF_FG_R] = fgR;
256
+ buf[off + OFF_FG_G] = fgG;
257
+ buf[off + OFF_FG_B] = fgB;
258
+ // bg
259
+ buf[off + OFF_BG_R] = bgR;
260
+ buf[off + OFF_BG_G] = bgG;
261
+ buf[off + OFF_BG_B] = bgB;
262
+ // flags
263
+ buf[off + OFF_FLAGS] = flags;
264
+ // alpha byte: opacity in bits 0-5, fg/bg presence in bits 6-7
265
+ buf[off + OFF_ALPHA] = (opacity & OPACITY_MASK)
266
+ | (fgSet ? FLAG_FG_SET : 0)
267
+ | (bgSet ? FLAG_BG_SET : 0);
268
+ }
269
+ /** Compare two packed cells for equality. */
270
+ export function packedCellsEqual(buf, idxA, idxB) {
271
+ const offA = idxA * CELL_STRIDE;
272
+ const offB = idxB * CELL_STRIDE;
273
+ for (let i = 0; i < CELL_STRIDE; i++) {
274
+ if (buf[offA + i] !== buf[offB + i])
275
+ return false;
276
+ }
277
+ return true;
278
+ }
279
+ /** Compare two packed cells across different buffers. */
280
+ export function packedCellsEqualCross(bufA, idxA, bufB, idxB) {
281
+ const offA = idxA * CELL_STRIDE;
282
+ const offB = idxB * CELL_STRIDE;
283
+ for (let i = 0; i < CELL_STRIDE; i++) {
284
+ if (bufA[offA + i] !== bufB[offB + i])
285
+ return false;
286
+ }
287
+ return true;
288
+ }
289
+ /** Check if two packed cells have the same style (fg, bg, flags, alpha — ignoring char). */
290
+ export function packedStyleEqual(buf, idxA, idxB) {
291
+ const offA = idxA * CELL_STRIDE;
292
+ const offB = idxB * CELL_STRIDE;
293
+ // Compare from OFF_FG_R through end: fg RGB, bg RGB, flags (including
294
+ // modifiers and the empty bit), and alpha (opacity + fg/bg presence).
295
+ for (let i = OFF_FG_R; i < CELL_STRIDE; i++) {
296
+ if (buf[offA + i] !== buf[offB + i])
297
+ return false;
298
+ }
299
+ return true;
300
+ }
301
+ //# sourceMappingURL=packed-cell.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"packed-cell.js","sourceRoot":"","sources":["../../../src/core/render/packed-cell.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"grapheme.d.ts","sourceRoot":"","sources":["../../../src/core/text/grapheme.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAyBH;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAgD9C;AAMD;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAOtD;AAMD;;;;;GAKG;AAEH,eAAO,MAAM,WAAW,QAAmB,CAAC;AAE5C;;;;;GAKG;AAEH,eAAO,MAAM,YAAY,QAAyC,CAAC;AAEnE;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAI7C;AAMD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAc7D;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAUjD"}
1
+ {"version":3,"file":"grapheme.d.ts","sourceRoot":"","sources":["../../../src/core/text/grapheme.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAyBH;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAmD9C;AAMD;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAOtD;AAMD;;;;;GAKG;AAEH,eAAO,MAAM,WAAW,QAAmB,CAAC;AAE5C;;;;;GAKG;AAEH,eAAO,MAAM,YAAY,QAAyC,CAAC;AAEnE;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAI7C;AAMD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAuB7D;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAUjD"}
@@ -88,9 +88,11 @@ export function isWideChar(cp) {
88
88
  // Transport and Map Symbols
89
89
  if (cp >= 0x1F680 && cp <= 0x1F6FF)
90
90
  return true;
91
- // Dingbats (common emoji like ✂️ ✈️)
92
- if (cp >= 0x2702 && cp <= 0x27B0)
93
- return true;
91
+ // Dingbats (U+2702–U+27B0) are NOT uniformly wide per Unicode
92
+ // East Asian Width. Most are Narrow text characters (✓ ✗ ✌).
93
+ // They only become wide with emoji presentation (U+FE0F), which
94
+ // is handled by graphemeClusterWidth checking for the variation
95
+ // selector in the grapheme cluster.
94
96
  // Regional indicators (flags)
95
97
  if (cp >= 0x1F1E0 && cp <= 0x1F1FF)
96
98
  return true;
@@ -168,10 +170,16 @@ export function stripAnsi(str) {
168
170
  */
169
171
  export function graphemeClusterWidth(grapheme) {
170
172
  let maxWidth = 1;
173
+ let hasEmojiPresentation = false;
171
174
  for (const ch of grapheme) {
172
175
  const cp = ch.codePointAt(0);
173
- // Skip zero-width joiners and variation selectors
174
- if (cp === 0x200D || (cp >= 0xFE00 && cp <= 0xFE0F) || (cp >= 0xE0100 && cp <= 0xE01EF)) {
176
+ // Detect emoji presentation selector (U+FE0F) — forces base char to 2-wide
177
+ if (cp === 0xFE0F) {
178
+ hasEmojiPresentation = true;
179
+ continue;
180
+ }
181
+ // Skip zero-width joiners and other variation selectors
182
+ if (cp === 0x200D || (cp >= 0xFE00 && cp <= 0xFE0E) || (cp >= 0xE0100 && cp <= 0xE01EF)) {
175
183
  continue;
176
184
  }
177
185
  if (isWideChar(cp)) {
@@ -179,6 +187,10 @@ export function graphemeClusterWidth(grapheme) {
179
187
  break; // Can't be wider than 2
180
188
  }
181
189
  }
190
+ // Emoji presentation (U+FE0F) makes any base character 2-wide.
191
+ // This handles Dingbats (✂️ ✈️) and other text chars presented as emoji.
192
+ if (hasEmojiPresentation && maxWidth < 2)
193
+ maxWidth = 2;
182
194
  return maxWidth;
183
195
  }
184
196
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"grapheme.js","sourceRoot":"","sources":["../../../src/core/text/grapheme.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"grapheme.js","sourceRoot":"","sources":["../../../src/core/text/grapheme.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,19 @@
1
1
  import type { Theme, BaseStatusKey, TokenValue, TextModifier } from './tokens.js';
2
2
  /**
3
3
  * Shorthand helper to create a TokenValue with less boilerplate.
4
+ * Automatically pre-parses hex into numeric fgRGB for hot rendering paths.
4
5
  * @param hex - Hex color string (e.g. `'#00ffff'`).
5
6
  * @param modifiers - Optional text modifiers to attach.
6
- * @returns TokenValue with the given hex and optional modifiers.
7
+ * @returns TokenValue with the given hex, fgRGB, and optional modifiers.
7
8
  */
8
9
  export declare function tv(hex: string, modifiers?: TextModifier[]): TokenValue;
10
+ /**
11
+ * Populate fgRGB and bgRGB on an existing TokenValue if not already set.
12
+ * Used by theme resolution to ensure all tokens carry numeric RGB.
13
+ *
14
+ * **Mutates the token in place.** Callers should not pass frozen/shared tokens.
15
+ */
16
+ export declare function populateTokenRGB(token: TokenValue): TokenValue;
9
17
  /**
10
18
  * CYAN_MAGENTA — the default theme.
11
19
  *
@@ -1 +1 @@
1
- {"version":3,"file":"presets.d.ts","sourceRoot":"","sources":["../../../src/core/theme/presets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAElF;;;;;GAKG;AACH,wBAAgB,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,YAAY,EAAE,GAAG,UAAU,CAEtE;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,aAAa,CA4D7C,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,aAAa,CA8DjD,CAAC;AAEF,6DAA6D;AAC7D,eAAO,MAAM,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAkHzC,CAAC"}
1
+ {"version":3,"file":"presets.d.ts","sourceRoot":"","sources":["../../../src/core/theme/presets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAO,MAAM,aAAa,CAAC;AAoBvF;;;;;;GAMG;AACH,wBAAgB,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,YAAY,EAAE,GAAG,UAAU,CAMtE;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,CAU9D;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,aAAa,CA4D7C,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,aAAa,CA8DjD,CAAC;AAEF,6DAA6D;AAC7D,eAAO,MAAM,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAkHzC,CAAC"}
@@ -1,11 +1,53 @@
1
+ /**
2
+ * Parse '#rrggbb' to [r, g, b] via charCode arithmetic.
3
+ *
4
+ * Validates hex digits: `d()` returns -1 for any non-hex character, and
5
+ * because -1 propagates through bitwise OR/shift, the final `< 0` guard
6
+ * catches invalid input even when only one nibble is bad.
7
+ */
8
+ function hexToRGB(hex) {
9
+ if (hex.length !== 7 || hex.charCodeAt(0) !== 0x23)
10
+ return undefined;
11
+ const d = (c) => c >= 97 ? c - 87 : c >= 65 ? c - 55 : c >= 48 ? c - 48 : -1;
12
+ const r = (d(hex.charCodeAt(1)) << 4) | d(hex.charCodeAt(2));
13
+ const g = (d(hex.charCodeAt(3)) << 4) | d(hex.charCodeAt(4));
14
+ const b = (d(hex.charCodeAt(5)) << 4) | d(hex.charCodeAt(6));
15
+ if (r < 0 || g < 0 || b < 0)
16
+ return undefined;
17
+ return [r, g, b];
18
+ }
1
19
  /**
2
20
  * Shorthand helper to create a TokenValue with less boilerplate.
21
+ * Automatically pre-parses hex into numeric fgRGB for hot rendering paths.
3
22
  * @param hex - Hex color string (e.g. `'#00ffff'`).
4
23
  * @param modifiers - Optional text modifiers to attach.
5
- * @returns TokenValue with the given hex and optional modifiers.
24
+ * @returns TokenValue with the given hex, fgRGB, and optional modifiers.
6
25
  */
7
26
  export function tv(hex, modifiers) {
8
- return modifiers !== undefined ? { hex, modifiers } : { hex };
27
+ const fgRGB = hexToRGB(hex);
28
+ if (modifiers !== undefined) {
29
+ return fgRGB ? { hex, modifiers, fgRGB } : { hex, modifiers };
30
+ }
31
+ return fgRGB ? { hex, fgRGB } : { hex };
32
+ }
33
+ /**
34
+ * Populate fgRGB and bgRGB on an existing TokenValue if not already set.
35
+ * Used by theme resolution to ensure all tokens carry numeric RGB.
36
+ *
37
+ * **Mutates the token in place.** Callers should not pass frozen/shared tokens.
38
+ */
39
+ export function populateTokenRGB(token) {
40
+ if (!token.fgRGB) {
41
+ const rgb = hexToRGB(token.hex);
42
+ if (rgb)
43
+ token.fgRGB = rgb;
44
+ }
45
+ if (token.bg && !token.bgRGB) {
46
+ const rgb = hexToRGB(token.bg);
47
+ if (rgb)
48
+ token.bgRGB = rgb;
49
+ }
50
+ return token;
9
51
  }
10
52
  /**
11
53
  * CYAN_MAGENTA — the default theme.
@@ -1 +1 @@
1
- {"version":3,"file":"presets.js","sourceRoot":"","sources":["../../../src/core/theme/presets.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"presets.js","sourceRoot":"","sources":["../../../src/core/theme/presets.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../../src/core/theme/resolve.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAGpD,OAAO,EAAoB,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAG/D;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAGvD;AAED,8EAA8E;AAC9E,MAAM,WAAW,aAAa;IAC5B,mCAAmC;IACnC,KAAK,EAAE,KAAK,CAAC;IACb,yDAAyD;IACzD,OAAO,EAAE,OAAO,CAAC;IACjB,iEAAiE;IACjE,WAAW,EAAE,WAAW,CAAC;IACzB,8DAA8D;IAC9D,UAAU,EAAE,UAAU,CAAC;IAEvB;;;;OAIG;IACH,GAAG,CAAC,KAAK,EAAE,UAAU,GAAG,QAAQ,CAAC;IAEjC;;;;OAIG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAC;IAEpC;;;;OAIG;IACH,GAAG,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAAC;CAChC;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,GAAE,WAAoB,GAAG,aAAa,CAwB/G;AAED,0DAA0D;AAC1D,MAAM,WAAW,oBAAoB;IACnC,8EAA8E;IAC9E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uFAAuF;IACvF,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAChC,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,KAAK,CAAC;IACjB,wCAAwC;IACxC,OAAO,EAAE,WAAW,CAAC;IACrB;;;;OAIG;IACH,WAAW,CAAC,EAAE,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;CAC7C;AAED,mFAAmF;AACnF,MAAM,WAAW,aAAa;IAC5B,4DAA4D;IAC5D,QAAQ,IAAI,aAAa,CAAC;IAC1B;;;OAGG;IACH,YAAY,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,aAAa,CAAC;IAC3C,kDAAkD;IAClD,gBAAgB,IAAI,IAAI,CAAC;CAC1B;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,oBAAoB,GAAG,aAAa,CAuDhF"}
1
+ {"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../../src/core/theme/resolve.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAGpD,OAAO,EAAoB,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAqB/D;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAGvD;AAED,8EAA8E;AAC9E,MAAM,WAAW,aAAa;IAC5B,mCAAmC;IACnC,KAAK,EAAE,KAAK,CAAC;IACb,yDAAyD;IACzD,OAAO,EAAE,OAAO,CAAC;IACjB,iEAAiE;IACjE,WAAW,EAAE,WAAW,CAAC;IACzB,8DAA8D;IAC9D,UAAU,EAAE,UAAU,CAAC;IAEvB;;;;OAIG;IACH,GAAG,CAAC,KAAK,EAAE,UAAU,GAAG,QAAQ,CAAC;IAEjC;;;;OAIG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAC;IAEpC;;;;OAIG;IACH,GAAG,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAAC;CAChC;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,GAAE,WAAoB,GAAG,aAAa,CAyB/G;AAED,0DAA0D;AAC1D,MAAM,WAAW,oBAAoB;IACnC,8EAA8E;IAC9E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uFAAuF;IACvF,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAChC,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,KAAK,CAAC;IACjB,wCAAwC;IACxC,OAAO,EAAE,WAAW,CAAC;IACrB;;;;OAIG;IACH,WAAW,CAAC,EAAE,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;CAC7C;AAED,mFAAmF;AACnF,MAAM,WAAW,aAAa;IAC5B,4DAA4D;IAC5D,QAAQ,IAAI,aAAa,CAAC;IAC1B;;;OAGG;IACH,YAAY,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,aAAa,CAAC;IAC3C,kDAAkD;IAClD,gBAAgB,IAAI,IAAI,CAAC;CAC1B;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,oBAAoB,GAAG,aAAa,CAuDhF"}