Repository navigation
PI 0.1.1(pi 1.0.1)
引擎:pi-coding-agent 0.99.2 → 1.0.1(Node 24.19 不变)。下面是从上一个包 v0.1.0 到这一版的全部 80 笔提交,按类型分组,原始标题一字未改。
新功能(6)
- render — 裸 HTML 照 pi 原样排字(块级走 custom 新分支,行内走 annotator 认领钩子)
- render — 保行通道落地(候选 B,只在含显示式网格的消息里打开)
- render — 移植 pi 的竖直排版(renderLayout + 环境),118 条块级目标逐字节断言
- pi — 设备工具按能力注册 —— 关掉的能力一个字都不进提示词
- workspace — 图片自己渲染,渲染不了的交系统;修掉图片查看器里被背景层吃掉的手势
- render — markdown 图片按视口采样、表格解禁一行限制、http(s) 真的加载
修复的 bug(36)
- session — 分叉的用词与那条缺了的提示(落另一个代理交回的两处 diff)
- chat — 分叉与分支按上游分开 —— 会话列表改说「来自谁」,树行仍说「分叉」
- session — 重启时同一个 id 有两份就不猜 —— 改用
--session <path> - session — 列表不再把「劈成两半的对话」折成一行 —— 只有一份的字节是另一份的前缀才合并
- session — 一次引擎重启劈开一段对话 ——
--session-id用同一个 id 再建一个文件 - workspace — 提示条被底栏盖住 —— 它挂在没吃 contentPadding 的那个 Box 上
- composer — 发出去的字又回到输入框 —— 失焦那次回调把清空前的文本写回了草稿
- image — URL 画图全链路 —— 裸链接也出图、表格缩略图按格宽解码、清掉两个会伤到它的数字
- session — 点叉就必须退出 —— 「覆盖层开着」不再住在可以重放的状态里
- session — 点叉退出又被拉回会话树 —— 关掉覆盖层必须作废排队中的导航请求
- runtime — 客机时区指到了 Android 那份 zoneinfo,短名静默退化成 UTC
- session — 退出来又被拉回会话树 —— 「请求级」的状态不许比请求活得久
- viewer — 放大不清晰是三层叠加 —— 块预算比屏幕小、倍率本来就越过源 1:1、进 App 前已被压小
- runtime — 目录也纳入载荷所有权 —— prune 在同一趟里删掉旧载荷的空目录
- runtime — 收尾失败不许静默,也不许照样记账
- render — 网格写回源文本时前导缩进被 markdown 当成代码块,公式被切成两半
- render — 正文图片根本没有点按 —— URL 图渲染出来了,却没有任何手势通向查看器
- viewer — 放大后拖动只走了手指的 1/scale —— 手势位移按倍率换算回屏幕像素
- render — 网格的等宽段落不再对库的类型
copy—— CI 红在 Unresolved reference 'copy' - build — 两个提交把 main 弄红了 —— 缺一个实参、以及注释里的
/* - bridge — 生产者超预算时也把结论写进 lastFailure,别让它挂着别处的旧原因
- session — 会话树的「读取会话树 ↔ 就绪」来回刷、以及退出来又被拉回树
- viewer — 放大之后按源图坐标重解可见的一块 —— 8× 看到的是细节,不再是小图拉大
- render —
$的两条前缀判定按真实 prose 语料对齐,收尾那条保留并说明理由 - attachment — images.autoResize 关掉之后 App 照压 —— 接上这个开关的消费者
- render — 数学补两种定界符与 5 类解析缺口,表/行为改由 pi 夹具钉住
- attachment — 截图类源被压成有损 JPEG —— 候选序改成与 pi 一致的 PNG 优先
- viewer — 双击直接放到最大(1× ⇄ 8×),不再有第三个档位
- attachment — 竖拍照片被当成横图送出去 —— 先按 EXIF 摆正,再算尺寸
- composer — 命令面板塞进来的
/后面光标停在 0,再打字落在斜杠前面 - bridge — KDoc 里的「星号斜杠星号」提前关掉注释,两个 APK job 全挂
- workspace — 能看的地方就能改 —— 去掉刚加的那层"只读层"特例
- workspace — 认得 guest 的两种拼法;工作区屏改成能往上走的文件管理器
- ui — 「显示时间戳」真的管到气泡上的时间了,并且默认关
- boot — 「已是最新」不再占屏 —— 没有解包可做的启动不再闪一次启动页
- runtime — 覆盖解压前先清掉"占了目录位置"的旧节点 —— 升级不再必须重建
性能(7)
- render — 数学预处理每轮重扫串尾 ⇒ 平方;改成两个单调迭代器
- session — 打开会话的两处重复劳动 —— 为量一个长度序列化整棵 JSON、逐字符切行
- render — 行内 HTML 的认领钩子只在源文本含
<时才装 —— 其余消息代价归零 - session — 会话列表索引落盘 + 有界并行扫描,冷启动那一次不再逐行解析几百 MB
- bridge — 正文远端图片的请求策略 —— 进程级去重、45 s 负缓存、取字节并发上限
- render — 表格单元格不再无限折行,mermaid 滚回来不再重问 guest
- export — 保存会话导出不再绕一遍 base64 —— 少两份峰值内存
撤销 / 回退(2)
- image — 裸 URL 不再改写成图 ——
![]()才是图,链接就是链接 - blocks — 通用工具卡标题回到原样,去掉 MCP 的 server/tool 改写
检查与不变量(本机可跑)(6)
- pre-spawn — 三条源码不变量跟上
restartEngine的「两种钉法」 - session — replay-cost 的两条源码不变量跟上「argv 的两种钉法」
- runtime — 钉住"目录也在载荷所有权里"
- runtime — 钉住「收尾失败不许静默」的四处形状
- session-replay-cost — §3b 那一列量的是整份 readAll,列名别写成 entries
- session — 补一条断言 ——
-c(mostRecentForResume)走索引时也必须给出同一行
文档(15)
--session-id/--session的现状与列表合并规则(三处过期说法 + 一处登记)- session — TerminalScreen 的注释不再提已经删掉的
PiOverlay.Terminal - test — P19 与 fetch-runtime.mjs 必须成对改
- runtime — 耐久目录的保护来自 DurablePreserve,不是"在易失树之外"
- render — §A2 记下 NBSP 缩进保护(上一提交的实现)
- render — 行内 HTML 钩子的注释别再引用会漂的行号
- render — §A2 记下保行通道的实测结论 —— 候选 A 走不通,B 的作用域可收紧
- render — 收录渲染能力盘点(只读审计,424 行)
- check — EXIF 夹具条数在注释里写错(28 → 26)
- render — §A2 里的夹具条数 31 → 34
- attachment — AttachmentBudget 的四处过期引用(含 0.86.1 → 1.0.1)
- render — manifest 已开明文,改掉两处"没有 usesCleartextTraffic"的过期话
- 1.0.0 之后清一遍文档里"对当前版本已经不成立"的说法
- readme — 装上改为指向正式 release
- readme — 重排——能扩展成什么样提到最前,装上/架构/升级挪到底部
其他维护(8)
- session — 剩下三处注释不再提已删除的 setOverlayView/PiOverlay/overlayIndex
- session — 删掉没用的尾巴 setOverlayView,以及两处还提着旧名字的注释
- checks — 注册
guest-timezone—— 钉住客机的时钟来源 - checks — 注册
markdown-image-tap—— 正文图片点开查看器那条接线 - html — 生成器按惯例搬进
tools/,并把htmlharness 注册进 CI - checks —
sessions与session-identity两个闭包加进新文件PiSessionIndex.kt - pi — 钉住 1.0.1,并把引擎那棵依赖树自己锁起来
- pi — 钉住 pi 1.0.0,并修掉 node.tgz 的一个静默构建缺陷