@effect-tui/core 0.2.2 → 0.2.4

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.
package/dist/ansi.d.ts CHANGED
@@ -64,6 +64,19 @@ export declare const ANSI: {
64
64
  /** Enable line reflow on resize (default) */
65
65
  readonly enable: "\u001B[?2028h";
66
66
  };
67
+ /**
68
+ * Synchronized output (DEC mode 2026)
69
+ * Prevents tearing by telling the terminal to hold display updates until
70
+ * the frame is complete. Terminal keeps showing previous frame until ESU.
71
+ * @see https://contour-terminal.org/vt-extensions/synchronized-output/
72
+ * Supported by: iTerm2, Kitty, WezTerm, foot, mintty, Contour, and others.
73
+ */
74
+ readonly sync: {
75
+ /** Begin synchronized update (BSU) - terminal holds rendering */
76
+ readonly begin: "\u001B[?2026h";
77
+ /** End synchronized update (ESU) - terminal renders accumulated output */
78
+ readonly end: "\u001B[?2026l";
79
+ };
67
80
  /** Scroll region control (DECSTBM) */
68
81
  readonly scrollRegion: {
69
82
  /** Set scroll region to rows [top, bottom] (1-indexed, inclusive) */
@@ -1 +1 @@
1
- {"version":3,"file":"ansi.d.ts","sourceRoot":"","sources":["../src/ansi.ts"],"names":[],"mappings":"AAKA,sCAAsC;AACtC,eAAO,MAAM,IAAI;IAChB,qBAAqB;;QAEpB,iDAAiD;yBACzC,MAAM,KAAK,MAAM;QACzB,mDAAmD;8BACtC,MAAM;QACnB,+BAA+B;yBACvB,MAAM;QACd,iCAAiC;2BACvB,MAAM;QAChB,kBAAkB;;QAElB,kBAAkB;;QAElB,2CAA2C;;QAE3C,yCAAyC;;;IAI1C,mBAAmB;;QAElB,wBAAwB;;QAExB,uCAAuC;;;IAIxC,qBAAqB;;QAEpB,oCAAoC;;QAEpC,mCAAmC;;QAEnC,0BAA0B;;QAE1B,yCAAyC;;QAEzC,8BAA8B;;;IAI/B,sBAAsB;;QAErB,oFAAoF;;QAEpF,6BAA6B;;;IAI9B,2BAA2B;;QAE1B,6BAA6B;;QAE7B,8BAA8B;;QAE9B,yBAAyB;;QAEzB,uBAAuB;;;IAIxB,qEAAqE;;QAEpE,2DAA2D;;QAE3D,6CAA6C;;;IAI9C,sCAAsC;;QAErC,qEAAqE;4BAC1D,MAAM,UAAU,MAAM;QACjC,yCAAyC;;;IAI1C,8BAA8B;;QAE7B,gEAAgE;6BACpD,MAAM;QAClB,wDAAwD;6BAC5C,MAAM;;IAGnB,wCAAwC;;QAEvC,0CAA0C;;QAE1C,6CAA6C;;;IAI9C;;;;OAIG;;QAEF;;;;;;;WAOG;;QAEH,0CAA0C;;QAE1C,4DAA4D;;;IAI7D;;;;OAIG;;QAEF,8CAA8C;;QAE9C,8BAA8B;;;IAI/B,sBAAsB;;IAGtB,+BAA+B;wBACpB;QACV,EAAE,CAAC,EAAE,MAAM,CAAA;QACX,EAAE,CAAC,EAAE,MAAM,CAAA;QACX,IAAI,CAAC,EAAE,OAAO,CAAA;QACd,MAAM,CAAC,EAAE,OAAO,CAAA;QAChB,SAAS,CAAC,EAAE,OAAO,CAAA;QACnB,OAAO,CAAC,EAAE,OAAO,CAAA;KACjB;IA8BD,gBAAgB;;QAEf,2BAA2B;yBACnB,MAAM;;IAGf,4BAA4B;;QAE3B,4DAA4D;;;CAGpD,CAAA;AAEV,8EAA8E;AAC9E,eAAO,MAAM,QAAQ;IACpB,qEAAqE;;IAErE,iEAAiE;;IAEjE,kBAAkB;;IAElB,kBAAkB;;IAElB,2CAA2C;;IAE3C,kCAAkC;;IAElC,mCAAmC;;IAEnC,4BAA4B;;IAE5B,6BAA6B;;IAE7B,qCAAqC;;CAE5B,CAAA"}
1
+ {"version":3,"file":"ansi.d.ts","sourceRoot":"","sources":["../src/ansi.ts"],"names":[],"mappings":"AAKA,sCAAsC;AACtC,eAAO,MAAM,IAAI;IAChB,qBAAqB;;QAEpB,iDAAiD;yBACzC,MAAM,KAAK,MAAM;QACzB,mDAAmD;8BACtC,MAAM;QACnB,+BAA+B;yBACvB,MAAM;QACd,iCAAiC;2BACvB,MAAM;QAChB,kBAAkB;;QAElB,kBAAkB;;QAElB,2CAA2C;;QAE3C,yCAAyC;;;IAI1C,mBAAmB;;QAElB,wBAAwB;;QAExB,uCAAuC;;;IAIxC,qBAAqB;;QAEpB,oCAAoC;;QAEpC,mCAAmC;;QAEnC,0BAA0B;;QAE1B,yCAAyC;;QAEzC,8BAA8B;;;IAI/B,sBAAsB;;QAErB,oFAAoF;;QAEpF,6BAA6B;;;IAI9B,2BAA2B;;QAE1B,6BAA6B;;QAE7B,8BAA8B;;QAE9B,yBAAyB;;QAEzB,uBAAuB;;;IAIxB,qEAAqE;;QAEpE,2DAA2D;;QAE3D,6CAA6C;;;IAI9C;;;;;;OAMG;;QAEF,iEAAiE;;QAEjE,0EAA0E;;;IAI3E,sCAAsC;;QAErC,qEAAqE;4BAC1D,MAAM,UAAU,MAAM;QACjC,yCAAyC;;;IAI1C,8BAA8B;;QAE7B,gEAAgE;6BACpD,MAAM;QAClB,wDAAwD;6BAC5C,MAAM;;IAGnB,wCAAwC;;QAEvC,0CAA0C;;QAE1C,6CAA6C;;;IAI9C;;;;OAIG;;QAEF;;;;;;;WAOG;;QAEH,0CAA0C;;QAE1C,4DAA4D;;;IAI7D;;;;OAIG;;QAEF,8CAA8C;;QAE9C,8BAA8B;;;IAI/B,sBAAsB;;IAGtB,+BAA+B;wBACpB;QACV,EAAE,CAAC,EAAE,MAAM,CAAA;QACX,EAAE,CAAC,EAAE,MAAM,CAAA;QACX,IAAI,CAAC,EAAE,OAAO,CAAA;QACd,MAAM,CAAC,EAAE,OAAO,CAAA;QAChB,SAAS,CAAC,EAAE,OAAO,CAAA;QACnB,OAAO,CAAC,EAAE,OAAO,CAAA;KACjB;IA8BD,gBAAgB;;QAEf,2BAA2B;yBACnB,MAAM;;IAGf,4BAA4B;;QAE3B,4DAA4D;;;CAGpD,CAAA;AAEV,8EAA8E;AAC9E,eAAO,MAAM,QAAQ;IACpB,qEAAqE;;IAErE,iEAAiE;;IAEjE,kBAAkB;;IAElB,kBAAkB;;IAElB,2CAA2C;;IAE3C,kCAAkC;;IAElC,mCAAmC;;IAEnC,4BAA4B;;IAE5B,6BAA6B;;IAE7B,qCAAqC;;CAE5B,CAAA"}
package/dist/ansi.js CHANGED
@@ -67,6 +67,19 @@ export const ANSI = {
67
67
  /** Enable line reflow on resize (default) */
68
68
  enable: `${CSI}?2028h`,
69
69
  },
70
+ /**
71
+ * Synchronized output (DEC mode 2026)
72
+ * Prevents tearing by telling the terminal to hold display updates until
73
+ * the frame is complete. Terminal keeps showing previous frame until ESU.
74
+ * @see https://contour-terminal.org/vt-extensions/synchronized-output/
75
+ * Supported by: iTerm2, Kitty, WezTerm, foot, mintty, Contour, and others.
76
+ */
77
+ sync: {
78
+ /** Begin synchronized update (BSU) - terminal holds rendering */
79
+ begin: `${CSI}?2026h`,
80
+ /** End synchronized update (ESU) - terminal renders accumulated output */
81
+ end: `${CSI}?2026l`,
82
+ },
70
83
  /** Scroll region control (DECSTBM) */
71
84
  scrollRegion: {
72
85
  /** Set scroll region to rows [top, bottom] (1-indexed, inclusive) */
package/dist/ansi.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"ansi.js","sourceRoot":"","sources":["../src/ansi.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ansi.js","sourceRoot":"","sources":["../src/ansi.ts"],"names":[],"mappings":"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"}
@@ -35,8 +35,8 @@ export class CellBuffer {
35
35
  }
36
36
  /** Draw a single code point at (x,y). If width=2, marks following cell as continuation. */
37
37
  drawCP(x, y, cp, styleId = 0) {
38
- const ax = x + this.offX;
39
- const ay = y + this.offY;
38
+ const ax = Math.floor(x + this.offX);
39
+ const ay = Math.floor(y + this.offY);
40
40
  if (ax < 0 || ay < 0 || ax >= this.w || ay >= this.h)
41
41
  return;
42
42
  if (ax < this.clip.x || ay < this.clip.y || ax >= this.clip.x + this.clip.w || ay >= this.clip.y + this.clip.h)
@@ -1 +1 @@
1
- {"version":3,"file":"buffer.js","sourceRoot":"","sources":["../../src/render/buffer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"buffer.js","sourceRoot":"","sources":["../../src/render/buffer.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@effect-tui/core",
3
- "version": "0.2.2",
3
+ "version": "0.2.4",
4
4
  "description": "Terminal UI library built with Effect",
5
5
  "type": "module",
6
6
  "files": [
package/src/ansi.ts CHANGED
@@ -75,6 +75,20 @@ export const ANSI = {
75
75
  enable: `${CSI}?2028h`,
76
76
  },
77
77
 
78
+ /**
79
+ * Synchronized output (DEC mode 2026)
80
+ * Prevents tearing by telling the terminal to hold display updates until
81
+ * the frame is complete. Terminal keeps showing previous frame until ESU.
82
+ * @see https://contour-terminal.org/vt-extensions/synchronized-output/
83
+ * Supported by: iTerm2, Kitty, WezTerm, foot, mintty, Contour, and others.
84
+ */
85
+ sync: {
86
+ /** Begin synchronized update (BSU) - terminal holds rendering */
87
+ begin: `${CSI}?2026h`,
88
+ /** End synchronized update (ESU) - terminal renders accumulated output */
89
+ end: `${CSI}?2026l`,
90
+ },
91
+
78
92
  /** Scroll region control (DECSTBM) */
79
93
  scrollRegion: {
80
94
  /** Set scroll region to rows [top, bottom] (1-indexed, inclusive) */
@@ -47,8 +47,8 @@ export class CellBuffer {
47
47
 
48
48
  /** Draw a single code point at (x,y). If width=2, marks following cell as continuation. */
49
49
  drawCP(x: number, y: number, cp: number, styleId = 0): void {
50
- const ax = x + this.offX
51
- const ay = y + this.offY
50
+ const ax = Math.floor(x + this.offX)
51
+ const ay = Math.floor(y + this.offY)
52
52
  if (ax < 0 || ay < 0 || ax >= this.w || ay >= this.h) return
53
53
  if (ax < this.clip.x || ay < this.clip.y || ax >= this.clip.x + this.clip.w || ay >= this.clip.y + this.clip.h)
54
54
  return