From 5474c1c5dc1fd156a9a927dabd2b77440f236933 Mon Sep 17 00:00:00 2001 From: DoodleBear Date: Fri, 2 Oct 2026 05:47:21 +0900 Subject: [PATCH] =?UTF-8?q?chore(release):=200.3.0=20=E2=80=94=20order,=20?= =?UTF-8?q?a=20caller-supplied=20traversal?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The feature landed in 0.2.0's successor rather than 0.2.0 itself: 0.2.0 was published before `order` existed, so it does not carry it and cannot be republished. A minor bump for an additive public option. The changelog for this release is short on purpose — one option, its cost in both renderers, and the one constraint (a function cannot be copied) that a caller will hit. --- CHANGELOG.md | 14 ++++++++++++++ CHANGELOG.zh.md | 13 +++++++++++++ packages/cli/package.json | 2 +- packages/core/package.json | 2 +- packages/react/package.json | 2 +- 5 files changed, 30 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c451627..43a9119 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,20 @@ ## [Unreleased] +## [0.3.0] — 2026-10-01 + +One feature: `order`, a caller-supplied traversal. + +- **`order?: OrderFn`** replaces the preset's traversal — the seam the layered design always + left open, now reachable from an option. **Free in both renderers**: the CSS host derives + each cell's `animation-delay` from the same traversal value, so a custom traversal costs + zero per-frame JS there too. A custom _envelope_ would not be free — the CSS animation is + one shared `@keyframes` per preset — which is why this is traversal only. +- `OrderFn`'s fifth argument stays optional, so an existing four-argument traversal is still + valid and one with no sense of direction need not accept it. +- **It is a function, so it is not copyable.** The playground's copy button omits it rather + than emitting a prop that would not compile. + ### Changed - **Two lines of small grey text are gone.** T diff --git a/CHANGELOG.zh.md b/CHANGELOG.zh.md index 341c453..5127610 100644 --- a/CHANGELOG.zh.md +++ b/CHANGELOG.zh.md @@ -2,6 +2,19 @@ ## [Unreleased] +## [0.3.0] — 2026-10-01 + +一个特性:`order`,由调用方提供的遍历。 + +- **`order?: OrderFn`** 替换 preset 自带的遍历 —— 这是分层设计一直留着的接缝,现在能从 + option 到达。**在两个渲染器下都免费**:CSS host 从同一个遍历值导出每格的 + `animation-delay`,所以自定义遍历在那里同样每帧零 JS。而自定义 _envelope_ 不会免费 —— + CSS 动效是每个 preset 一份共享的 `@keyframes` —— 这正是只做遍历层的原因。 +- `OrderFn` 的第五个参数保持可选,因此既有的四参数遍历仍然有效,没有方向概念的遍历也 + 不必接受它。 +- **它是函数,因此无法被复制。** Playground 的复制按钮会略过它,而不是输出一个编译不过 + 的 prop。 + ### 变更 - **两行灰色小字已移除。** 复制按钮上方写着"你调过的参数,只多不少",颜色拾色器写着"{value} 会原样传给引擎 —— 这里无法编辑它"。两句都是在复述一行之外就能看到的东西:片段就是片段,而字段本来就显示着它持有的值。对读者已经能看到的同一件事再做一份更小的复述,就是那种人们不再读的文字,而它正好夹在控件和即将按下的按钮之间。 diff --git a/packages/cli/package.json b/packages/cli/package.json index 6fd2889..a6d9a3f 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@botharness/botui", - "version": "0.2.0", + "version": "0.3.0", "description": "Install BotUI components into your project — copy-and-own, like shadcn", "keywords": [ "agent-ui", diff --git a/packages/core/package.json b/packages/core/package.json index d20118d..7772157 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@botharness/botui-core", - "version": "0.2.0", + "version": "0.3.0", "description": "The framework-agnostic engine behind BotUI components", "keywords": [ "agent-ui", diff --git a/packages/react/package.json b/packages/react/package.json index 9a16696..f625866 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -1,6 +1,6 @@ { "name": "@botharness/botui-react", - "version": "0.2.0", + "version": "0.3.0", "description": "React bindings for BotUI components", "keywords": [ "agent-ui",