@zakmandhro/bunti 0.2.1 → 0.3.0

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 (114) hide show
  1. package/README.md +6 -5
  2. package/dist/cli.d.ts +2 -2
  3. package/dist/cli.d.ts.map +1 -1
  4. package/dist/cli.js +33 -9
  5. package/dist/cli.js.map +1 -1
  6. package/dist/colors.d.ts +2 -2
  7. package/dist/colors.js +2 -2
  8. package/dist/components/Box.d.ts +1 -1
  9. package/dist/components/Button.d.ts +1 -1
  10. package/dist/components/Button.js +2 -2
  11. package/dist/components/Card.d.ts +1 -1
  12. package/dist/components/Card.js +3 -3
  13. package/dist/components/Header.d.ts +1 -1
  14. package/dist/components/Header.js +2 -2
  15. package/dist/components/Input.d.ts +2 -2
  16. package/dist/components/Input.js +1 -1
  17. package/dist/components/Link.d.ts +2 -2
  18. package/dist/components/Link.js +2 -2
  19. package/dist/components/Modal.d.ts +1 -1
  20. package/dist/components/Modal.js +2 -2
  21. package/dist/components/Progress.d.ts +2 -2
  22. package/dist/components/Progress.js +2 -2
  23. package/dist/components/Spinner.d.ts +2 -2
  24. package/dist/components/index.d.ts +9 -9
  25. package/dist/components/index.js +9 -9
  26. package/dist/data/nf-glyphs.d.ts +2 -2
  27. package/dist/demo-registry.d.ts.map +1 -1
  28. package/dist/demo-registry.js +6 -1
  29. package/dist/demo-registry.js.map +1 -1
  30. package/dist/demos/2048.js +559 -0
  31. package/dist/demos/2048.ts +1 -1
  32. package/dist/demos/animation.js +177 -0
  33. package/dist/demos/animation.ts +1 -1
  34. package/dist/demos/demo-layout.js +85 -0
  35. package/dist/demos/demo-layout.ts +6 -1
  36. package/dist/demos/engine.js +244 -0
  37. package/dist/demos/interaction.js +74 -0
  38. package/dist/demos/interaction.ts +1 -1
  39. package/dist/demos/login.js +175 -0
  40. package/dist/demos/login.ts +1 -1
  41. package/dist/demos/mission-control.js +427 -0
  42. package/dist/demos/platformer-physics.js +122 -0
  43. package/dist/demos/platformer-physics.ts +284 -0
  44. package/dist/demos/platformer.js +519 -0
  45. package/dist/demos/platformer.ts +761 -0
  46. package/dist/demos/showcase.js +181 -0
  47. package/dist/demos/showcase.ts +1 -1
  48. package/dist/diagnostics.d.ts +2 -2
  49. package/dist/dsl/context.d.ts +2 -2
  50. package/dist/dsl/context.d.ts.map +1 -1
  51. package/dist/dsl/context.js +14 -14
  52. package/dist/dsl/context.js.map +1 -1
  53. package/dist/dsl/hooks.d.ts +2 -2
  54. package/dist/dsl/hooks.js +1 -1
  55. package/dist/dsl/interaction.d.ts +3 -3
  56. package/dist/dsl/layers.d.ts +2 -2
  57. package/dist/dsl/motion.d.ts +2 -2
  58. package/dist/dsl/motion.js +2 -2
  59. package/dist/dsl/render.d.ts +2 -2
  60. package/dist/dsl/render.d.ts.map +1 -1
  61. package/dist/dsl/render.js +4 -8
  62. package/dist/dsl/render.js.map +1 -1
  63. package/dist/dsl/types.d.ts +11 -10
  64. package/dist/dsl/types.d.ts.map +1 -1
  65. package/dist/dsl/types.js.map +1 -1
  66. package/dist/dsl.d.ts +4 -4
  67. package/dist/dsl.js +3 -3
  68. package/dist/easing.d.ts +1 -1
  69. package/dist/geometry.d.ts +1 -1
  70. package/dist/geometry.js +1 -1
  71. package/dist/icons-full.d.ts +2 -2
  72. package/dist/icons-full.js +3 -3
  73. package/dist/icons.d.ts +4 -4
  74. package/dist/icons.js +3 -3
  75. package/dist/index.d.ts +42 -33
  76. package/dist/index.d.ts.map +1 -1
  77. package/dist/index.js +29 -24
  78. package/dist/index.js.map +1 -1
  79. package/dist/layout.d.ts +18 -6
  80. package/dist/layout.d.ts.map +1 -1
  81. package/dist/layout.js +15 -6
  82. package/dist/layout.js.map +1 -1
  83. package/dist/pixels.d.ts +51 -0
  84. package/dist/pixels.d.ts.map +1 -0
  85. package/dist/pixels.js +82 -0
  86. package/dist/pixels.js.map +1 -0
  87. package/dist/render.d.ts +1 -1
  88. package/dist/render.d.ts.map +1 -1
  89. package/dist/render.js +44 -10
  90. package/dist/render.js.map +1 -1
  91. package/dist/state.d.ts +4 -4
  92. package/dist/state.js +1 -1
  93. package/dist/theme.d.ts +2 -2
  94. package/dist/theme.js +1 -1
  95. package/dist/themes/catppuccin-mocha.d.ts +1 -1
  96. package/dist/themes/catppuccin-mocha.js +1 -1
  97. package/dist/themes/dracula.d.ts +1 -1
  98. package/dist/themes/dracula.js +1 -1
  99. package/dist/themes/github-light.d.ts +1 -1
  100. package/dist/themes/github-light.js +1 -1
  101. package/dist/themes/index.d.ts +7 -7
  102. package/dist/themes/index.js +6 -6
  103. package/dist/themes/nord.d.ts +1 -1
  104. package/dist/themes/nord.js +1 -1
  105. package/dist/themes/one-dark-pro.d.ts +1 -1
  106. package/dist/themes/one-dark-pro.js +1 -1
  107. package/dist/themes/tokyo-night.d.ts +1 -1
  108. package/dist/themes/tokyo-night.js +1 -1
  109. package/dist/utils.d.ts +6 -1
  110. package/dist/utils.d.ts.map +1 -1
  111. package/dist/utils.js +68 -3
  112. package/dist/utils.js.map +1 -1
  113. package/llms.txt +4 -2
  114. package/package.json +8 -4
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Bunti Halfblock Pixel Canvas
3
+ * 2x vertical resolution on the character grid: every terminal cell renders
4
+ * a vertical pair of "pixels" using half-block glyphs.
5
+ *
6
+ * Semantics (per cell = pixel rows 2*cy and 2*cy+1 of the canvas):
7
+ * - both pixels set -> '▀' with fg = top pixel, bg = bottom pixel
8
+ * - only top set -> '▀' with fg = top; bg untouched (bottom half
9
+ * transparent: the cell's existing background shows)
10
+ * - only bottom set -> '▄' with fg = bottom; bg untouched (top half
11
+ * transparent)
12
+ * - neither set -> the cell is not painted at all (fully transparent)
13
+ *
14
+ * Odd canvas heights leave the final row's missing bottom half unset
15
+ * (transparent). blitTo clips at the screen bounds; set() ignores
16
+ * out-of-range coordinates.
17
+ */
18
+ import type { RGB, ScreenState } from './state.js';
19
+ /**
20
+ * A 2x-vertical-resolution pixel buffer that composites onto a screen as
21
+ * half-block cells. Created by createPixelCanvas().
22
+ */
23
+ export interface PixelCanvas {
24
+ /** Canvas width in pixels (equal to the blitted width in cells). */
25
+ readonly width: number;
26
+ /** Canvas height in pixels (two pixels per terminal row). */
27
+ readonly height: number;
28
+ /** Sets one pixel to an RGB color. Out-of-range coordinates are ignored. */
29
+ set(x: number, y: number, rgb: RGB): void;
30
+ /** Resets every pixel to unset (transparent). */
31
+ clear(): void;
32
+ /**
33
+ * Paints the canvas into `state`'s back buffer with its top-left pixel at
34
+ * cell (cellX, cellY). Cells whose pixel pair is entirely unset are
35
+ * skipped, so sprites composite over whatever is already painted; cells
36
+ * with one set pixel keep the underlying background for the unset half.
37
+ * Clipping at the screen edges is automatic.
38
+ */
39
+ blitTo(state: ScreenState, cellX: number, cellY: number): void;
40
+ }
41
+ /**
42
+ * Creates a width×height pixel canvas rendered at 2x vertical resolution
43
+ * via half-block glyphs ('▀'/'▄'): each terminal cell shows two vertically
44
+ * stacked pixels (fg = top, bg = bottom). Unset pixels are transparent —
45
+ * fully unset pairs leave the cell untouched, half-set pairs keep the
46
+ * cell's existing background for the unset half. A canvas of height H
47
+ * occupies ceil(H / 2) terminal rows.
48
+ * @example const px = createPixelCanvas(16, 16); px.set(8, 8, { r: 255, g: 80, b: 0 }); px.blitTo(ctx.state, 2, 1);
49
+ */
50
+ export declare function createPixelCanvas(width: number, height: number): PixelCanvas;
51
+ //# sourceMappingURL=pixels.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pixels.d.ts","sourceRoot":"","sources":["../src/pixels.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,KAAK,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAOhD;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,oEAAoE;IACpE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,6DAA6D;IAC7D,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,4EAA4E;IAC5E,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,IAAI,CAAC;IAC1C,iDAAiD;IACjD,KAAK,IAAI,IAAI,CAAC;IACd;;;;;;OAMG;IACH,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CAChE;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,WAAW,CAoD5E"}
package/dist/pixels.js ADDED
@@ -0,0 +1,82 @@
1
+ /**
2
+ * Bunti Halfblock Pixel Canvas
3
+ * 2x vertical resolution on the character grid: every terminal cell renders
4
+ * a vertical pair of "pixels" using half-block glyphs.
5
+ *
6
+ * Semantics (per cell = pixel rows 2*cy and 2*cy+1 of the canvas):
7
+ * - both pixels set -> '▀' with fg = top pixel, bg = bottom pixel
8
+ * - only top set -> '▀' with fg = top; bg untouched (bottom half
9
+ * transparent: the cell's existing background shows)
10
+ * - only bottom set -> '▄' with fg = bottom; bg untouched (top half
11
+ * transparent)
12
+ * - neither set -> the cell is not painted at all (fully transparent)
13
+ *
14
+ * Odd canvas heights leave the final row's missing bottom half unset
15
+ * (transparent). blitTo clips at the screen bounds; set() ignores
16
+ * out-of-range coordinates.
17
+ */
18
+ import { setCell } from './layout.js';
19
+ /** Upper half block: fg paints the top half, bg the bottom half. */
20
+ const UPPER_HALF = '▀';
21
+ /** Lower half block: fg paints the bottom half; the top half stays bg. */
22
+ const LOWER_HALF = '▄';
23
+ /**
24
+ * Creates a width×height pixel canvas rendered at 2x vertical resolution
25
+ * via half-block glyphs ('▀'/'▄'): each terminal cell shows two vertically
26
+ * stacked pixels (fg = top, bg = bottom). Unset pixels are transparent —
27
+ * fully unset pairs leave the cell untouched, half-set pairs keep the
28
+ * cell's existing background for the unset half. A canvas of height H
29
+ * occupies ceil(H / 2) terminal rows.
30
+ * @example const px = createPixelCanvas(16, 16); px.set(8, 8, { r: 255, g: 80, b: 0 }); px.blitTo(ctx.state, 2, 1);
31
+ */
32
+ export function createPixelCanvas(width, height) {
33
+ const pixels = new Array(width * height).fill(undefined);
34
+ return {
35
+ width,
36
+ height,
37
+ set(x, y, rgb) {
38
+ if (x < 0 || x >= width || y < 0 || y >= height)
39
+ return;
40
+ pixels[y * width + x] = rgb;
41
+ },
42
+ clear() {
43
+ pixels.fill(undefined);
44
+ },
45
+ blitTo(state, cellX, cellY) {
46
+ const cellRows = Math.ceil(height / 2);
47
+ for (let cy = 0; cy < cellRows; cy++) {
48
+ const topRow = cy * 2;
49
+ const bottomRow = topRow + 1;
50
+ for (let x = 0; x < width; x++) {
51
+ const top = pixels[topRow * width + x];
52
+ const bottom = bottomRow < height ? pixels[bottomRow * width + x] : undefined;
53
+ // raw: half blocks are painted verbatim (no glyph swapping).
54
+ if (top !== undefined && bottom !== undefined) {
55
+ setCell(state, cellX + x, cellY + cy, {
56
+ char: UPPER_HALF,
57
+ fg: top,
58
+ bg: bottom,
59
+ raw: true,
60
+ });
61
+ }
62
+ else if (top !== undefined) {
63
+ setCell(state, cellX + x, cellY + cy, {
64
+ char: UPPER_HALF,
65
+ fg: top,
66
+ raw: true,
67
+ });
68
+ }
69
+ else if (bottom !== undefined) {
70
+ setCell(state, cellX + x, cellY + cy, {
71
+ char: LOWER_HALF,
72
+ fg: bottom,
73
+ raw: true,
74
+ });
75
+ }
76
+ // Both unset: fully transparent — leave the cell untouched.
77
+ }
78
+ }
79
+ },
80
+ };
81
+ }
82
+ //# sourceMappingURL=pixels.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pixels.js","sourceRoot":"","sources":["../src/pixels.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAGnC,oEAAoE;AACpE,MAAM,UAAU,GAAG,GAAG,CAAC;AACvB,0EAA0E;AAC1E,MAAM,UAAU,GAAG,GAAG,CAAC;AAyBvB;;;;;;;;GAQG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAa,EAAE,MAAc;IAC7D,MAAM,MAAM,GAAwB,IAAI,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAE9E,OAAO;QACL,KAAK;QACL,MAAM;QAEN,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,GAAQ;YAChC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM;gBAAE,OAAO;YACxD,MAAM,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;QAC9B,CAAC;QAED,KAAK;YACH,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACzB,CAAC;QAED,MAAM,CAAC,KAAkB,EAAE,KAAa,EAAE,KAAa;YACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACvC,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,QAAQ,EAAE,EAAE,EAAE,EAAE,CAAC;gBACrC,MAAM,MAAM,GAAG,EAAE,GAAG,CAAC,CAAC;gBACtB,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,CAAC;gBAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC/B,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC;oBACvC,MAAM,MAAM,GACV,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;oBAEjE,6DAA6D;oBAC7D,IAAI,GAAG,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;wBAC9C,OAAO,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,EAAE,EAAE;4BACpC,IAAI,EAAE,UAAU;4BAChB,EAAE,EAAE,GAAG;4BACP,EAAE,EAAE,MAAM;4BACV,GAAG,EAAE,IAAI;yBACV,CAAC,CAAC;oBACL,CAAC;yBAAM,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;wBAC7B,OAAO,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,EAAE,EAAE;4BACpC,IAAI,EAAE,UAAU;4BAChB,EAAE,EAAE,GAAG;4BACP,GAAG,EAAE,IAAI;yBACV,CAAC,CAAC;oBACL,CAAC;yBAAM,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;wBAChC,OAAO,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,EAAE,EAAE;4BACpC,IAAI,EAAE,UAAU;4BAChB,EAAE,EAAE,MAAM;4BACV,GAAG,EAAE,IAAI;yBACV,CAAC,CAAC;oBACL,CAAC;oBACD,4DAA4D;gBAC9D,CAAC;YACH,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
package/dist/render.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Bunti Functional Rendering & Diffing
3
3
  */
4
- import { type ScreenState } from './state';
4
+ import { type ScreenState } from './state.js';
5
5
  /**
6
6
  * Emits the restorative ANSI sequence for a screen (mouse/focus tracking off,
7
7
  * reset, clear, back to main buffer, cursor visible) and disables raw mode.
@@ -1 +1 @@
1
- {"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"AAAA;;GAEG;AAUH,OAAO,EAAsB,KAAK,WAAW,EAAE,MAAM,SAAS,CAAC;AAS/D;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,WAAW,QA+BjD;AAsDD,wBAAgB,cAAc,CAAC,KAAK,EAAE,WAAW,WAQhD;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,SAAa,WAEnE;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,WAAW,QASxD;AAwBD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,WAAW,QAyBpD;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAkJtD;AAED;;GAEG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,WAAW,QAiBvC;AAED;;GAEG;AACH,wBAAgB,IAAI,CAClB,KAAK,EAAE,WAAW,EAClB,cAAc,EAAE,CAAC,CAAC,EAAE,WAAW,KAAK,IAAI,GACvC,OAAO,CAAC,IAAI,CAAC,CAuKf;AA2HD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,WAAW,EAClB,IAAI,EAAE,OAAO,EACb,IAAI,CAAC,EAAE,MAAM,IAAI,QAUlB;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,WAAW,QAsBjD"}
1
+ {"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"AAAA;;GAEG;AAUH,OAAO,EAAsB,KAAK,WAAW,EAAE,MAAM,SAAS,CAAC;AAS/D;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,WAAW,QA+BjD;AAsDD,wBAAgB,cAAc,CAAC,KAAK,EAAE,WAAW,WAQhD;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,SAAa,WAEnE;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,WAAW,QASxD;AAwBD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,WAAW,QAyBpD;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAwJtD;AAED;;GAEG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,WAAW,QAsBvC;AAED;;GAEG;AACH,wBAAgB,IAAI,CAClB,KAAK,EAAE,WAAW,EAClB,cAAc,EAAE,CAAC,CAAC,EAAE,WAAW,KAAK,IAAI,GACvC,OAAO,CAAC,IAAI,CAAC,CA4Lf;AA2HD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,WAAW,EAClB,IAAI,EAAE,OAAO,EACb,IAAI,CAAC,EAAE,MAAM,IAAI,QAUlB;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,WAAW,QAsBjD"}
package/dist/render.js CHANGED
@@ -1,9 +1,9 @@
1
1
  /**
2
2
  * Bunti Functional Rendering & Diffing
3
3
  */
4
- import { hintKeyboardStdinNotTTY } from './diagnostics';
5
- import { createKeyEvent, HeldKeyTracker, InputTokenizer, } from './input';
6
- import { ANSI, resizeScreen } from './state';
4
+ import { hintKeyboardStdinNotTTY } from './diagnostics.js';
5
+ import { createKeyEvent, HeldKeyTracker, InputTokenizer, } from './input.js';
6
+ import { ANSI, resizeScreen } from './state.js';
7
7
  /**
8
8
  * Crash safety: every screen with an active render loop is tracked here so
9
9
  * that process-level failure handlers can restore the terminal no matter how
@@ -191,9 +191,15 @@ export function renderFrame(state) {
191
191
  const idx = rowOffset + x;
192
192
  const b = state.backBuffer[idx];
193
193
  const f = state.frontBuffer[idx];
194
+ // Dirty check compares the RESOLVED codes (string | number | undefined,
195
+ // value-equal), never raw fg/bg: raw values can be RGB objects rebuilt
196
+ // every frame (blit's truecolor SGR parse, fade(), theme washes), and
197
+ // reference inequality would repaint visually identical cells forever.
198
+ // The emitter below only reads fgCode/bgCode, so codes are exactly the
199
+ // output-affecting values.
194
200
  if (b.char !== f.char ||
195
- b.fg !== f.fg ||
196
- b.bg !== f.bg ||
201
+ b.fgCode !== f.fgCode ||
202
+ b.bgCode !== f.bgCode ||
197
203
  !!b.bold !== !!f.bold ||
198
204
  !!b.italic !== !!f.italic ||
199
205
  !!b.underline !== !!f.underline ||
@@ -324,16 +330,22 @@ export function renderFrame(state) {
324
330
  export function flush(state) {
325
331
  const renderString = renderFrame(state);
326
332
  if (renderString) {
327
- const writer = Bun.stdout.writer();
328
333
  // Synchronized-output wrap (mode 2026) is gated on the detected profile:
329
334
  // emitted unless the terminal was positively identified as lacking it
330
335
  // (state.syncOutput === false). Absent/unknown profiles keep the wrap.
331
336
  const sync = state.syncOutput !== false;
332
- writer.write((sync ? ANSI.syncStart : '') +
337
+ const output = (sync ? ANSI.syncStart : '') +
333
338
  (state.options.hideCursor ? ANSI.hideCursor : '') +
334
339
  renderString +
335
- (sync ? ANSI.syncEnd : ''));
336
- writer.flush();
340
+ (sync ? ANSI.syncEnd : '');
341
+ if (typeof Bun !== 'undefined' && Bun.stdout?.writer) {
342
+ const writer = Bun.stdout.writer();
343
+ writer.write(output);
344
+ writer.flush();
345
+ }
346
+ else {
347
+ process.stdout.write(output);
348
+ }
337
349
  }
338
350
  }
339
351
  /**
@@ -402,7 +414,22 @@ export function loop(state, renderCallback) {
402
414
  resolve();
403
415
  }
404
416
  };
405
- const stop = () => finish(null);
417
+ /**
418
+ * Requests loop shutdown. Called mid-frame (ctx.requestStop() inside the
419
+ * render callback), teardown is DEFERRED until the current tick has
420
+ * flushed — the final painted frame reaches the terminal before the
421
+ * restore sequence. Called outside a tick (Ctrl+C, SIGINT/SIGTERM), it
422
+ * tears down immediately (the last completed frame was already flushed).
423
+ */
424
+ const stop = () => {
425
+ if (stopped)
426
+ return;
427
+ if (ticking) {
428
+ stopPending = true;
429
+ return;
430
+ }
431
+ finish(null);
432
+ };
406
433
  const resizeHandler = () => {
407
434
  resizeScreen(state);
408
435
  clearTerminalForResize(state);
@@ -410,6 +437,7 @@ export function loop(state, renderCallback) {
410
437
  };
411
438
  let ticking = false;
412
439
  let tickAgain = false;
440
+ let stopPending = false;
413
441
  const tick = () => {
414
442
  if (ticking) {
415
443
  tickAgain = true;
@@ -443,6 +471,12 @@ export function loop(state, renderCallback) {
443
471
  if (stopped || state.isStopped)
444
472
  return;
445
473
  flush(state);
474
+ // A mid-frame requestStop was deferred so the frame above could
475
+ // paint and flush; the final frame is on screen — tear down now.
476
+ if (stopPending) {
477
+ finish(null);
478
+ return;
479
+ }
446
480
  // OSC 22 mouse-cursor shape reacts to this frame's hitboxes.
447
481
  updatePointerShape(state);
448
482
  } while (tickAgain);
@@ -1 +1 @@
1
- {"version":3,"file":"render.js","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"render.js","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"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"}
package/dist/state.d.ts CHANGED
@@ -1,10 +1,10 @@
1
1
  /**
2
2
  * Bunti Functional Screen State & Initialization
3
3
  */
4
- import { type ColorTier, type TerminalProfile } from './detect';
5
- import type { Rect } from './geometry';
6
- import type { HeldKeyTracker, InputTokenizer, KeyEvent, TerminalResponse } from './input';
7
- import type { Theme, ThemeColor } from './theme';
4
+ import { type ColorTier, type TerminalProfile } from './detect.js';
5
+ import type { Rect } from './geometry.js';
6
+ import type { HeldKeyTracker, InputTokenizer, KeyEvent, TerminalResponse } from './input.js';
7
+ import type { Theme, ThemeColor } from './theme.js';
8
8
  /** 24-bit color triplet; each channel is 0-255. */
9
9
  export interface RGB {
10
10
  r: number;
package/dist/state.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Bunti Functional Screen State & Initialization
3
3
  */
4
- import { identifyTerminal, setColorTier, } from './detect';
4
+ import { identifyTerminal, setColorTier, } from './detect.js';
5
5
  /**
6
6
  * Creates a fresh ScreenState based on the terminal dimensions and options.
7
7
  */
package/dist/theme.d.ts CHANGED
@@ -11,8 +11,8 @@
11
11
  * (e.g. a converted VS Code theme with only a handful of colors) still
12
12
  * produce a coherent theme.
13
13
  */
14
- import { type ColorValue } from './colors';
15
- import type { RGB } from './state';
14
+ import { type ColorValue } from './colors.js';
15
+ import type { RGB } from './state.js';
16
16
  export type ThemeMode = 'dark' | 'light';
17
17
  /** Any value accepted as a theme token: name, hex, ANSI code, RGB, ThemeColor. */
18
18
  export type ThemeColorInput = ColorValue;
package/dist/theme.js CHANGED
@@ -11,7 +11,7 @@
11
11
  * (e.g. a converted VS Code theme with only a handful of colors) still
12
12
  * produce a coherent theme.
13
13
  */
14
- import { contrastText, fade, fg, isThemeColor, relativeLuminance, resolveColorToRGB, rgbToHex, THEME_COLOR, } from './colors';
14
+ import { contrastText, fade, fg, isThemeColor, relativeLuminance, resolveColorToRGB, rgbToHex, THEME_COLOR, } from './colors.js';
15
15
  /** The semantic token names every Theme carries. */
16
16
  export const THEME_TOKENS = [
17
17
  'background',
@@ -13,7 +13,7 @@
13
13
  * Generated by scripts/convert-vscode-theme.ts - do not edit by hand.
14
14
  * Regenerate: bun scripts/convert-vscode-theme.ts --presets
15
15
  */
16
- import { type Theme } from '../theme';
16
+ import { type Theme } from '../theme.js';
17
17
  /** Catppuccin Mocha preset theme (dark). */
18
18
  export declare const catppuccinMocha: Theme;
19
19
  //# sourceMappingURL=catppuccin-mocha.d.ts.map
@@ -13,7 +13,7 @@
13
13
  * Generated by scripts/convert-vscode-theme.ts - do not edit by hand.
14
14
  * Regenerate: bun scripts/convert-vscode-theme.ts --presets
15
15
  */
16
- import { createTheme } from '../theme';
16
+ import { createTheme } from '../theme.js';
17
17
  /** Catppuccin Mocha preset theme (dark). */
18
18
  export const catppuccinMocha = createTheme({
19
19
  name: 'catppuccin-mocha',
@@ -15,7 +15,7 @@
15
15
  * Generated by scripts/convert-vscode-theme.ts - do not edit by hand.
16
16
  * Regenerate: bun scripts/convert-vscode-theme.ts --presets
17
17
  */
18
- import { type Theme } from '../theme';
18
+ import { type Theme } from '../theme.js';
19
19
  /** Dracula preset theme (dark). */
20
20
  export declare const dracula: Theme;
21
21
  //# sourceMappingURL=dracula.d.ts.map
@@ -15,7 +15,7 @@
15
15
  * Generated by scripts/convert-vscode-theme.ts - do not edit by hand.
16
16
  * Regenerate: bun scripts/convert-vscode-theme.ts --presets
17
17
  */
18
- import { createTheme } from '../theme';
18
+ import { createTheme } from '../theme.js';
19
19
  /** Dracula preset theme (dark). */
20
20
  export const dracula = createTheme({
21
21
  name: 'dracula',
@@ -15,7 +15,7 @@
15
15
  * Generated by scripts/convert-vscode-theme.ts - do not edit by hand.
16
16
  * Regenerate: bun scripts/convert-vscode-theme.ts --presets
17
17
  */
18
- import { type Theme } from '../theme';
18
+ import { type Theme } from '../theme.js';
19
19
  /** GitHub Light preset theme (light). */
20
20
  export declare const githubLight: Theme;
21
21
  //# sourceMappingURL=github-light.d.ts.map
@@ -15,7 +15,7 @@
15
15
  * Generated by scripts/convert-vscode-theme.ts - do not edit by hand.
16
16
  * Regenerate: bun scripts/convert-vscode-theme.ts --presets
17
17
  */
18
- import { createTheme } from '../theme';
18
+ import { createTheme } from '../theme.js';
19
19
  /** GitHub Light preset theme (light). */
20
20
  export const githubLight = createTheme({
21
21
  name: 'github-light',
@@ -6,13 +6,13 @@
6
6
  * Generated by scripts/convert-vscode-theme.ts - do not edit by hand.
7
7
  * Regenerate: bun scripts/convert-vscode-theme.ts --presets
8
8
  */
9
- import type { Theme } from '../theme';
10
- import { catppuccinMocha } from './catppuccin-mocha';
11
- import { dracula } from './dracula';
12
- import { githubLight } from './github-light';
13
- import { nord } from './nord';
14
- import { oneDarkPro } from './one-dark-pro';
15
- import { tokyoNight } from './tokyo-night';
9
+ import type { Theme } from '../theme.js';
10
+ import { catppuccinMocha } from './catppuccin-mocha.js';
11
+ import { dracula } from './dracula.js';
12
+ import { githubLight } from './github-light.js';
13
+ import { nord } from './nord.js';
14
+ import { oneDarkPro } from './one-dark-pro.js';
15
+ import { tokyoNight } from './tokyo-night.js';
16
16
  export { catppuccinMocha, dracula, githubLight, nord, oneDarkPro, tokyoNight };
17
17
  /** All preset themes, keyed by slug. */
18
18
  export declare const themes: Record<string, Theme>;
@@ -1,9 +1,9 @@
1
- import { catppuccinMocha } from './catppuccin-mocha';
2
- import { dracula } from './dracula';
3
- import { githubLight } from './github-light';
4
- import { nord } from './nord';
5
- import { oneDarkPro } from './one-dark-pro';
6
- import { tokyoNight } from './tokyo-night';
1
+ import { catppuccinMocha } from './catppuccin-mocha.js';
2
+ import { dracula } from './dracula.js';
3
+ import { githubLight } from './github-light.js';
4
+ import { nord } from './nord.js';
5
+ import { oneDarkPro } from './one-dark-pro.js';
6
+ import { tokyoNight } from './tokyo-night.js';
7
7
  export { catppuccinMocha, dracula, githubLight, nord, oneDarkPro, tokyoNight };
8
8
  /** All preset themes, keyed by slug. */
9
9
  export const themes = {
@@ -17,7 +17,7 @@
17
17
  * Generated by scripts/convert-vscode-theme.ts - do not edit by hand.
18
18
  * Regenerate: bun scripts/convert-vscode-theme.ts --presets
19
19
  */
20
- import { type Theme } from '../theme';
20
+ import { type Theme } from '../theme.js';
21
21
  /** Nord preset theme (dark). */
22
22
  export declare const nord: Theme;
23
23
  //# sourceMappingURL=nord.d.ts.map
@@ -17,7 +17,7 @@
17
17
  * Generated by scripts/convert-vscode-theme.ts - do not edit by hand.
18
18
  * Regenerate: bun scripts/convert-vscode-theme.ts --presets
19
19
  */
20
- import { createTheme } from '../theme';
20
+ import { createTheme } from '../theme.js';
21
21
  /** Nord preset theme (dark). */
22
22
  export const nord = createTheme({
23
23
  name: 'nord',
@@ -15,7 +15,7 @@
15
15
  * Generated by scripts/convert-vscode-theme.ts - do not edit by hand.
16
16
  * Regenerate: bun scripts/convert-vscode-theme.ts --presets
17
17
  */
18
- import { type Theme } from '../theme';
18
+ import { type Theme } from '../theme.js';
19
19
  /** One Dark Pro preset theme (dark). */
20
20
  export declare const oneDarkPro: Theme;
21
21
  //# sourceMappingURL=one-dark-pro.d.ts.map
@@ -15,7 +15,7 @@
15
15
  * Generated by scripts/convert-vscode-theme.ts - do not edit by hand.
16
16
  * Regenerate: bun scripts/convert-vscode-theme.ts --presets
17
17
  */
18
- import { createTheme } from '../theme';
18
+ import { createTheme } from '../theme.js';
19
19
  /** One Dark Pro preset theme (dark). */
20
20
  export const oneDarkPro = createTheme({
21
21
  name: 'one-dark-pro',
@@ -14,7 +14,7 @@
14
14
  * Generated by scripts/convert-vscode-theme.ts - do not edit by hand.
15
15
  * Regenerate: bun scripts/convert-vscode-theme.ts --presets
16
16
  */
17
- import { type Theme } from '../theme';
17
+ import { type Theme } from '../theme.js';
18
18
  /** Tokyo Night preset theme (dark). */
19
19
  export declare const tokyoNight: Theme;
20
20
  //# sourceMappingURL=tokyo-night.d.ts.map
@@ -14,7 +14,7 @@
14
14
  * Generated by scripts/convert-vscode-theme.ts - do not edit by hand.
15
15
  * Regenerate: bun scripts/convert-vscode-theme.ts --presets
16
16
  */
17
- import { createTheme } from '../theme';
17
+ import { createTheme } from '../theme.js';
18
18
  /** Tokyo Night preset theme (dark). */
19
19
  export const tokyoNight = createTheme({
20
20
  name: 'tokyo-night',
package/dist/utils.d.ts CHANGED
@@ -6,7 +6,12 @@
6
6
  */
7
7
  export declare function stripAnsi(str: string): string;
8
8
  /**
9
- * Calculates the visible width of a string using Bun's SIMD-optimized API.
9
+ * Calculates string width using Intl.Segmenter and Unicode tables when Bun.stringWidth is unavailable.
10
+ */
11
+ export declare function stringWidthFallback(str: string): number;
12
+ /**
13
+ * Calculates the visible width of a string (using Bun's SIMD API when on Bun,
14
+ * falling back to Intl.Segmenter unicode width on Node).
10
15
  */
11
16
  export declare function visibleWidth(str: string): number;
12
17
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAG7C;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAQhD;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAI9C;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,SAAM,GAAG,MAAM,CAkDvE;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CA+D7D;AAED,4DAA4D;AAC5D,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAOpE"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAG7C;AAqDD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CASvD;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAahD;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAO9C;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,SAAM,GAAG,MAAM,CAkDvE;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CA+D7D;AAED,4DAA4D;AAC5D,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAOpE"}