diff --git a/.changeset/border-reserves-layout-space.md b/.changeset/border-reserves-layout-space.md deleted file mode 100644 index 5d3bed6..0000000 --- a/.changeset/border-reserves-layout-space.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -'@bomb.sh/tty': minor ---- - -Changes `border` sides to reserve layout space instead of drawing as an overlay. Each border width is now added to the padding on its side, so content and children are laid out inside the border rather than collapsing behind the border glyphs. - -This is a breaking change for callers who compensated for the old behavior by setting `layout.padding` equal to the border width — that padding is now additive and double-counts. Remove the workaround: - -```diff - { - border: { color, left: 1, right: 1, top: 1, bottom: 1 }, -- layout: { padding: { left: 1, right: 1, top: 1, bottom: 1 } }, - } -``` - -A `border` of 1 with no padding now reserves one cell per bordered side; `border` of 1 plus `padding` of 1 reserves two, measured inward from the border edge. diff --git a/.changeset/drop-clay-debug-tools.md b/.changeset/drop-clay-debug-tools.md deleted file mode 100644 index 9a7574f..0000000 --- a/.changeset/drop-clay-debug-tools.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@bomb.sh/tty': patch ---- - -Shrinks the bundled WASM ~35% (156 kB → 101 kB raw) by compiling out Clay's unused debug-inspector UI. diff --git a/.changeset/grid-scaled-arena.md b/.changeset/grid-scaled-arena.md deleted file mode 100644 index f1a5cad..0000000 --- a/.changeset/grid-scaled-arena.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@bomb.sh/tty': patch ---- - -Scales the renderer's memory arena to the terminal grid instead of a fixed default, cutting the reservation for an 80×24 grid ~51% (4.85 MB → 2.39 MB) with no change to render performance. diff --git a/.changeset/text-caret-cursor.md b/.changeset/text-caret-cursor.md deleted file mode 100644 index 6451cfc..0000000 --- a/.changeset/text-caret-cursor.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@bomb.sh/tty': minor ---- - -Adds a `caret` property to text elements that positions the terminal's hardware cursor at a code-point offset within the text, resolved through wrapping and wide-character widths. The cursor shows only while a caret is declared; an offset at or past the content length places it one cell past the last character, giving text inputs a real, movable cursor. diff --git a/.changeset/wcwidth-non-printable.md b/.changeset/wcwidth-non-printable.md deleted file mode 100644 index 482b98c..0000000 --- a/.changeset/wcwidth-non-printable.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@bomb.sh/tty': patch ---- - -Fixes width measurement for non-printable, control, and surrogate code points, which now measure as one `U+FFFD` cell to match what the renderer draws (width data regenerated against Unicode 17). diff --git a/CHANGELOG.md b/CHANGELOG.md index cd23367..75eb4b1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,32 @@ # @bomb.sh/tty +## 0.9.0 + +### Minor Changes + +- [#118](https://github.com/bombshell-dev/tty/pull/118) [`619d2d4`](https://github.com/bombshell-dev/tty/commit/619d2d4b121048fae840ee533d9264e14f849d6a) Thanks [@natemoo-re](https://github.com/natemoo-re)! - Changes `border` sides to reserve layout space instead of drawing as an overlay. Each border width is now added to the padding on its side, so content and children are laid out inside the border rather than collapsing behind the border glyphs. + + This is a breaking change for callers who compensated for the old behavior by setting `layout.padding` equal to the border width — that padding is now additive and double-counts. Remove the workaround: + + ```diff + { + border: { color, left: 1, right: 1, top: 1, bottom: 1 }, + - layout: { padding: { left: 1, right: 1, top: 1, bottom: 1 } }, + } + ``` + + A `border` of 1 with no padding now reserves one cell per bordered side; `border` of 1 plus `padding` of 1 reserves two, measured inward from the border edge. + +- [#118](https://github.com/bombshell-dev/tty/pull/118) [`619d2d4`](https://github.com/bombshell-dev/tty/commit/619d2d4b121048fae840ee533d9264e14f849d6a) Thanks [@natemoo-re](https://github.com/natemoo-re)! - Adds a `caret` property to text elements that positions the terminal's hardware cursor at a code-point offset within the text, resolved through wrapping and wide-character widths. The cursor shows only while a caret is declared; an offset at or past the content length places it one cell past the last character, giving text inputs a real, movable cursor. + +### Patch Changes + +- [#118](https://github.com/bombshell-dev/tty/pull/118) [`619d2d4`](https://github.com/bombshell-dev/tty/commit/619d2d4b121048fae840ee533d9264e14f849d6a) Thanks [@natemoo-re](https://github.com/natemoo-re)! - Shrinks the bundled WASM ~35% (156 kB → 101 kB raw) by compiling out Clay's unused debug-inspector UI. + +- [#120](https://github.com/bombshell-dev/tty/pull/120) [`b371922`](https://github.com/bombshell-dev/tty/commit/b371922d5b872eaa945aa66ecc0c50289d61580e) Thanks [@natemoo-re](https://github.com/natemoo-re)! - Scales the renderer's memory arena to the terminal grid instead of a fixed default, cutting the reservation for an 80×24 grid ~51% (4.85 MB → 2.39 MB) with no change to render performance. + +- [#118](https://github.com/bombshell-dev/tty/pull/118) [`619d2d4`](https://github.com/bombshell-dev/tty/commit/619d2d4b121048fae840ee533d9264e14f849d6a) Thanks [@natemoo-re](https://github.com/natemoo-re)! - Fixes width measurement for non-printable, control, and surrogate code points, which now measure as one `U+FFFD` cell to match what the renderer draws (width data regenerated against Unicode 17). + ## 0.8.0 ### Minor Changes diff --git a/package.json b/package.json index de643d3..2135660 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@bomb.sh/tty", - "version": "0.8.0", + "version": "0.9.0", "type": "module", "private": true, "scripts": {