From b0095431b501e9f9acee15a6101eae81730d2a69 Mon Sep 17 00:00:00 2001 From: tiye Date: Tue, 3 Nov 2026 14:24:24 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=9D=E7=95=99=E6=A0=B7=E5=BC=8F=20union=20?= =?UTF-8?q?=E5=B9=B6=E8=BF=81=E7=A7=BB=20Data=20Former=20=E5=88=B0=20Calci?= =?UTF-8?q?t=200.34.2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 32 ++++++++++++++++++-------------- calcit.cirru | 35 ++++++++++++++++++----------------- deps.cirru | 8 ++++---- package.json | 2 +- yarn.lock | 16 ++++++++-------- 5 files changed, 49 insertions(+), 44 deletions(-) diff --git a/README.md b/README.md index a0bb228..deae771 100644 --- a/README.md +++ b/README.md @@ -8,26 +8,30 @@ _TODO_ ### 使用者影响 -CLI / `@calcit/procs` 配对正式 **0.32.1**,升级后重新安装完整依赖图、生成JS并 -完整刷新。使用已发布UI **0.9.0**、Respo **0.17.1**、JS-FFI **0.2.9** 和Reel -**0.7.0-alpha.5**;传递Router仍有alpha,不宣称整图全部稳定,不使用本地候选或hash。 +CLI / `@calcit/procs` 配对正式 **0.34.2**;升级后重新安装完整依赖图、生成 JS 并刷新页面。 +使用已发布 UI **0.12.1**、Respo **0.18.1**、JS-FFI **0.2.9**、Reel **0.8.1**, +传递 Router **0.10.1**,整图使用正式 tag。 -官方工具转换五处旧类型标注,19个定义schema保持。Run转换、两处文本输入、400ms -按钮反馈、旧存档恢复和HUD不变。Store.data仍接受原任意数据,嵌套UI状态允许异构key; -恢复时检查字段并重建本地Store,成功后才注册自动保存,坏存档中止启动且不覆盖原文。 -Copy仍只接受ToString标量,不把集合改为调试文本后复制。 +按钮样式现在直接保留 UI 的 `StyleValue` union(String / Number / Tag),删除一处 +`Map Tag Dynamic` 强转。编译器确认合并后的样式为 `Map Tag StyleValue`,不再抹掉值类型。 +开发环境 Reel 面板的可选子节点改为显式 Option,页面显示条件保持原样。 -保留原完整strict、全定义/公开合同、原质量基线、两项附带测试和六项JS回归,不新增 -脚本、预算或强转。真实Caps strict/toolchain、上述门禁、构建和immutable安装通过。 -整合已有Dependabot兼容补丁:Vite **8.3.3**、undici **8.12.3**、source-map-js **1.2.2**; -一小时npm发布等待保持,无单包例外。忽略本机.calcit缓存,不提交生成JS或模块链接。 +Run 转换、两处文本输入、400ms 按钮反馈、旧存档恢复和 HUD 保持。Store.data 仍接受 +原任意数据,嵌套 UI 状态允许异构 key;恢复成功后才启用自动保存,坏存档保护保持。 +Copy 仍只接受 ToString 标量。本次没有缩窄这些真实数据入口,也没有修改质量基线。 -此前0.32.0候选已验收Run将 `[] 1 2` 转为 `(1 2)` 及刷新恢复,本次未重跑浏览器, -未点Copy或操作真实存档。本PR不合并、部署或发版;现有Dependabot PR暂保留。 +本地全部 **199** 个定义、完整 strict、原质量门禁、原 **2** 项附带测试、原 **6** 项 +JS 回归及构建通过,Caps strict/toolchain 和 immutable 安装通过。与规范化后的原源码 +逐定义对照,仅按钮样式和可选开发面板两处代码变化,其他 schema 和附带测试保持。 +整合 Dependabot #22 的 undici **8.12.3** 锁文件补丁;原 Vite **8.3.3** 和 npm 发布 +等待策略保持。不增加检查脚本,不提交生成 JS 或模块缓存。 + +此前 0.32.0 候选已验收 Run 将 `[] 1 2` 转为 `(1 2)` 及刷新恢复;本次尚未重跑浏览器, +未点击 Copy 或操作真实存档。本 PR 不合并、部署生产或发版;#22 暂保留以协调合并。 ### 开发 -使用Node24、Yarn4.18.0、Caps0.1.1和配对Calcit0.32.1: +使用Node24、Yarn4.18.0、Caps0.1.1和配对 Calcit 0.34.2: ```sh caps --strict --ci diff --git a/calcit.cirru b/calcit.cirru index 8b9c7f8..fbc4853 100644 --- a/calcit.cirru +++ b/calcit.cirru @@ -16,18 +16,16 @@ cursor $ decode-map-as get states :cursor , .unwrap-or $ [] - :: 'List 'Dynamic + quote $ List Dynamic state $ get states :data , .unwrap-or $ {} (:darken? false) button $ {} - :style $ merge ui/button $ assert-type - if - get state :darken? - , .unwrap-or false - {} $ :background-color $ hsl 0 0 94 - {} - quote $ Map Tag Dynamic + :style $ merge ui/button $ if + get state :darken? + , .unwrap-or false + {} $ :background-color $ hsl 0 0 94 + {} :inner-text text :on-click $ fn (e d!) hint-fn $ Fn (Map Tag Dynamic) @@ -92,7 +90,9 @@ d! $ Op :data $ get e :value , .unwrap-or | - when dev? $ comp-reel (>> states :reel) reel $ {} + if dev? + Option :some $ comp-reel (>> states :reel) reel $ {} + Option :none :examples $ [] :schema $ quote $ Fn (Map Tag Dynamic) (-> respo.schema/Component) 'scalar-copy-text $ %{} 'CodeEntry (:doc |) @@ -216,7 +216,8 @@ if (nil? build-errors) do (remove-watch! *reel :changes) (clear-cache!) add-watch! *reel :changes $ fn (reel prev) (render-app!) - reset! *reel $ decode-map-as (refresh-reel @*reel schema/store updater) (:: 'Map 'Tag 'Dynamic) + reset! *reel $ decode-map-as (refresh-reel @*reel schema/store updater) + quote $ Map Tag Dynamic hud! |ok~ |Ok hud! |error build-errors , &unit @@ -249,17 +250,17 @@ :code $ quote $ defenum Op :states quote $ List Dynamic - , 'Dynamic - :content 'String - :data 'Dynamic - :hydrate-storage 'app.schema/Store + , Dynamic + :content String + :data Dynamic + :hydrate-storage app.schema/Store :examples $ [] :schema $ quote EnumDef 'Store $ %{} 'CodeEntry (:doc |) :code $ quote $ defstruct Store :states $ quote $ Map Dynamic Dynamic - :content 'String - :data 'Dynamic + :content String + :data Dynamic :examples $ [] :schema $ quote StructDef 'restore-store $ %{} 'CodeEntry (:doc |) @@ -316,7 +317,7 @@ (:states cursor s) assoc store :states $ decode-map-as respo.cursor/update-state-tree (:states store) cursor s - :: 'Map 'Dynamic 'Dynamic + quote $ Map Dynamic Dynamic (:content data) (assoc store :content data) (:data data) (assoc store :data data) (:hydrate-storage data) data diff --git a/deps.cirru b/deps.cirru index 1a4859d..06ce814 100644 --- a/deps.cirru +++ b/deps.cirru @@ -1,7 +1,7 @@ -{} (:calcit-version |0.32.1) +{} (:calcit-version |0.34.2) :version |0.1.0 - :dependencies $ {} (|Respo/reel.calcit |0.7.0-alpha.5) - |Respo/respo-ui.calcit |0.9.0 - |Respo/respo.calcit |0.17.1 + :dependencies $ {} (|Respo/reel.calcit |0.8.1) + |Respo/respo-ui.calcit |0.12.1 + |Respo/respo.calcit |0.18.1 |calcit-lang/js-ffi |0.2.9 diff --git a/package.json b/package.json index 313cb8b..5dd930d 100644 --- a/package.json +++ b/package.json @@ -19,7 +19,7 @@ "vite": "8.3.3" }, "dependencies": { - "@calcit/procs": "0.32.1", + "@calcit/procs": "0.34.2", "copy-text-to-clipboard": "^3.1.0", "feather-icons": "^4.29.0", "shortid": "^2.2.16" diff --git a/yarn.lock b/yarn.lock index 35cd04b..a0c0e51 100644 --- a/yarn.lock +++ b/yarn.lock @@ -12,15 +12,15 @@ __metadata: languageName: node linkType: hard -"@calcit/procs@npm:0.32.1": - version: 0.32.1 - resolution: "@calcit/procs@npm:0.32.1" +"@calcit/procs@npm:0.34.2": + version: 0.34.2 + resolution: "@calcit/procs@npm:0.34.2" dependencies: "@calcit/finger-vec": "npm:0.1.1" "@calcit/ternary-tree": "npm:0.0.26" "@cirru/parser.ts": "npm:0.0.10" "@cirru/writer.ts": "npm:^0.1.9" - checksum: 10c0/54c505396a4653e643d24eaa71bf9a029b48034cabcd68ce47b2b40b565cf04a4693ac47c7feb34b8e84936621a397802743bffd3134ddeb37b08d23ef113923 + checksum: 10c0/d59000d82051a28f7929671f76c49959fd63d377e2002cf11ae59a73070d6f8f436190007033015cbf6c41245ee7aecc0289d6c081463720c93df604d9bf2d0b languageName: node linkType: hard @@ -236,7 +236,7 @@ __metadata: version: 0.0.0-use.local resolution: "data-former@workspace:." dependencies: - "@calcit/procs": "npm:0.32.1" + "@calcit/procs": "npm:0.34.2" bottom-tip: "npm:^0.1.5" copy-text-to-clipboard: "npm:^3.1.0" feather-icons: "npm:^4.29.0" @@ -493,11 +493,11 @@ __metadata: linkType: hard "min-document@npm:^2.19.0": - version: 2.19.0 - resolution: "min-document@npm:2.19.0" + version: 2.19.2 + resolution: "min-document@npm:2.19.2" dependencies: dom-walk: "npm:^0.1.0" - checksum: 10c0/783724da716fc73a51c171865d7b29bf2b855518573f82ef61c40d214f6898d7b91b5c5419e4d22693cdb78d4615873ebc3b37d7639d3dd00ca283e5a07c7af9 + checksum: 10c0/f6cd59ae07758583bda19cf86ffa8e072cc6e1d72d4e2a62fbf72af3ca630f66ac6a0b3e0ca2b83d5939886da2d006c309fbd0e94f17931ad117860c3fb51bf7 languageName: node linkType: hard