Repository navigation
feat: M7 TUI 像素级对齐里程碑(截图校准/StructuredDiff/权限对话框/Markdown 渲染) - #434
Merged
Merged
Conversation
… | 决策: IReplEngine 接口(Submit/Interrupt/SetPermissionMode/DrainEvents/DrainDiagnostics/IsAlive)统一引擎交互面,模拟回合改事件驱动(SimulatedEngine 时钟注入+忙时拒绝 Error 诱导对齐 EngineTurnClient),权限本地回执统一走事件,spinner Message 直改弃用(真实路径本就空消息+随机动词);净删 919 行重复代码
…awd/PromptInput)与 C# 采集帧(ReferenceScene 80×24 fixture)同字体栅格化后像素 diff, clawd 9×3 与 prompt 边框 80×3 两 region 验收 0 字符 0 像素差异; py cells() 解析器 inverse 盲区为已知限制; Markdown 渲染已决策引入 Markdig
…ultItem 多行渲染 | 决策: Core 零依赖自带 DiffHunk/DiffLine 投影(DiffLineKind 数值对齐引擎 PatchLineType 可直转 byte), 着色用基准 theme.ts diff 前景键 DiffAddedWord/DiffRemovedWord 替代青蛙TUI 硬编码十六进制, 折叠预览 2 行对齐青蛙TUI Take(3) 先例且 Ctrl+O 展开交互留 M7 后续; JSON 往返 camelCase patch 字段且旧引擎无字段反序列化 null 兼容
…dPatch | 决策: ProjectPatch LINQ 链式投影引擎 StructuredPatchHunk 到 Core DiffHunk(DiffLineKind 与 PatchLineType 数值对齐直转 byte 免 switch), 空/null 补丁归 null 维持纯文本摘要形态; JoinCode.Cli.DiffLine 同名歧义沿用 EnginePermissionMode 别名先例加 CoreDiffLine 全局别名
…EventConsumer 透传 | 决策: ADR 0143 先事件模型后投影(IEventConsumer.OnToolEnd 已带 patch 参数属协议本体, 本批补齐 JSON 投影); 定义 BridgeDiffHunk/BridgeDiffLine 镜像 DTO 而非直接序列化 StructuredPatchHunk(其 type/oldStart 等字段会被 native_tui DiffLine 忽略致 kind 全部静默退化为 context 的语义丢失); 两侧 Patch 均加 WhenWritingNull(null 不输出字段, 旧 golden 契约不变且旧 TUI 兼容)
… Edit 工具并携带 4 行 hunk 补丁(超 2 行预览同时演示折叠提示), Demo 模拟回合成为 StructuredDiff 手动验收路径; M7-1 像素回归验证 clawd+prompt 两 region 0 差异
…I DialogRequest 取代语义+焦点三档环绕), PermissionRequestItem 像素对齐基准 FallbackPermissionRequest(仅顶边框 permission 色 round 无角全宽/bold permission 标题 paddingX=1/工具行 3 缩进/Select 数字前缀三档选项/焦点 ❯ suggestion/Esc to cancel dim), ReplShell 挂起时键盘模态路由(数字1-3/Esc=Deny/Enter 焦点档/上下环绕)且回合结束自动 Deny 收尾防对话框残留, 渲染方法按 DiffResultItem 先例收口 MessageRenderer
…话框挂起→TCS同步阻塞等按键(对齐CLI IConfirmationGate单通道先例,未绑定shell降级Deny防死锁), TuiPermissionConfirmationHandler 转发bridge+临时批准(Allow 1分钟/AlwaysAllow 30分钟+[红绿灯ask]同级批准,对齐CliPermissionConfirmationHandler), TuiInteractionModule(Order=80)经CreateGuiSessionAsync extraModules注册handler关闭PendingConfirmation闭环, BeginPermissionRequest/Permission升public(宿主生产消费面), selftest真实容器组装验证通过
…影期施加修饰+Code/Link 语义标签渲染期取色(Code→permission 色对齐基准 codespan), DTO 主题/宽度无关可在 Core 零依赖直测(对齐青蛙TUI GUI 三层分层先例); 布局对齐基准 formatToken(h1 三修饰/h2+ bold/引用每行▎dim+Italic 修青蛙TUI 前缀只加一次坑/列表 2 空格每层+有序分级编号/hr 三字符/表格列宽 max(显示宽,3)+分隔行/顶层块间空行=Box gap 视觉主路径); word wrap 词边界贪心+CJK 逐字+超宽硬断, 续行 continuationPrefix 对齐列表项内容列; 嵌套列表从项内容列起自带缩进
…离在卫星层保 Core 零依赖铁律(ADR 0140), 投影只产结构+行内样式 flags(标题级别样式布局层施加)实现职责分离; pipeline=UseAdvancedExtensions 对齐青蛙TUI 先例; 删除线忽略+html块丢弃+mailto降级+图片显示URL 对齐基准 formatToken(configureMarked 禁del/def/html不渲染); 有序start取首项Order(ListItemBlock.Order); MarkdigDocument同名歧义用全局别名先例; 18 用例全绿+slxn 全量编译零警告
…down 可空字段(WhenWritingNull 保旧 JSON 逐字节兼容), MarkdownBlock 树带 JsonPolymorphic discriminator 进 BridgeJsonContext; 投影决策在 Host consumer(OnDone 经 ProjectOptional 快路径: 无语法字符降级纯文本对齐基准 hasMarkdownSyntax 采样 500), Driver 分流 MarkdownMessageItem/AssistantMessageItem; 进程内直连路径内存对象携带 DTO 零序列化税, 引擎侧 JSON 协议未来携带同字段自动升级
… 手构 8 类块模型(对齐 SimulatedPatch 先例直接构 DTO 不经投影器, Core 零依赖), 公开静态供演示构造复用; 完成事件 AssistantMessage 携带 Markdown 走 Driver 分流渲染链路; SeedMessages 首条 assistant 回复升级 Markdown 行内样式(启动即见渲染, 与回合全形态内容区分避免重复); 表格 Headers 扁平单元格构造(深层嵌套集合表达式坑规避 MarkdownLayoutTests 先例); 549 用例+selftest 全绿
…星 Markdig 投影/引擎闭环/Demo 演示), formatToken 权威映射+青蛙TUI 四坑规避, 像素回归 0 差异, 基线 549+18+35
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Test