# 自定义面板交互连接修复 1.1.0在FCP原生界面复现:卡片能显示,“更多设置”可展开,但全部参数控件禁用,底部显示“等待宿主连接”。这不是整张视图不接收事件。 控制器原先在startAction之前检查FxParameterRetrievalAPI_v6与FxParameterSettingAPI_v5,若宿主仅在action上下文中提供它们,就根本进不了action。1.1.1改为先取得FxCustomParameterActionAPI_v4,以真实PGInspectorView为sender开启操作,再获取读写接口;缺接口时正确结束操作,后续可重试。NSView sender也符合本机官方头文件的sender定义。 实际FCP正式安装版日志确认readBefore=0、writeBefore=0,进入action后readInAction=1、writeInAction=1,viewSender=1、onMain=1。界面控件随即启用,原生重置按钮能把肤色亮度清零;数值输入37并按Return后,滑块与数值显示同步为0.37/37%。因此原先门控条件在实际宿主中确实无法成立。 新增模拟宿主只有在action内才提供参数接口,并要求sender为NSView:修改前141项检查有5项失败,修改后141项全部通过;独立远端恢复的同一测试启用ASan通过。完整1046项回归通过。签名代码节点为53ce88dd15983e9397ab08f5ec9ad608fce5d0b5,正式中间版1.1.1(10)已安装并通过签名、公证和票据。后续用户报告短脸和下颌骨位置错误,继续在合并修复版完成两宿主最终验收,未给中间版建立最终发布标签。 ## 原生验收的边界 Mouse/keyboard自动化尝试中有焦点落回时间线及参数在非本次操作时改变的情况,不能据此断言点击坐标一定错位。另一次FCP高CPU与AX超时,调用栈落在大量效果浏览器的辅助功能遍历;插件主线程大多空闲。收起效果浏览器后AX读取从约10秒降到约1秒。这不是已证明的插件死锁。原始截图、用户测试片段和全部窗口树保留本机build/native-111,不上传远程。 原版UI的只读对照显示isFlipped同为YES,原生滑块同样使用super mouseDown;root鼠标以locationInWindow经convertPoint:fromView:nil转换。名字含WidthFix的方法只处理容器高度不足,没有鼠标Y翻转或backing像素重映射。没有证据需要盲改本产品的isFlipped。1.1.2最终Motion/FCP数值、重置、保存重开及画面响应将另行记录。 ## 数值失焦与拖动连续预览 原生build11验收发现数值Return后仍保留字段编辑器,失焦通知无条件再次提交旧文本,可能把宿主刚撤销或重置的状态写回。新增独立回归确认旧delegate在失焦时复活旧值;现追踪尚未提交的真实文本改动,Return只提交一次并释放AppKit字段编辑器,失焦仅提交新改动。离屏真实NSWindow/field editor用例已覆盖。 用户另报滑杆只在松手后更新:旧view层在mouseDown之前beginInteraction,整个NSSlider tracking loop结束才endInteraction,虽然continuous为YES,宿主可直到endAction才发布预览。现在gesture depth只阻止定时刷新覆盖拖动显示,每个有效slider action由controller单独开启/结束宿主上下文,仍先在真实NSView sender的action内取得API,完整自定义状态和隐藏镜像一起提交。没有新增手动分析或强制刷新按钮。 在仅于endAction发布预览的模拟宿主中,三个中间步进旧版3项失败,新版155项检查器ASan全部通过,含无变化去重、action配对、每步可读的完整渲染设置。宿主是否合并快速更新以及实际显示帧率由其调度和设备性能决定;不保证每一个鼠标事件均在屏幕独立显示一帧。新版原生复验另记。 远程编辑器补充:Motion build12中数值提交后的重置已经改变实际slider/输出,但仍保留字段编辑器并显示旧文本。最终改为对已提交编辑调用abortEditing,并仅在存在尚未提交的真实输入时阻止宿主刷新/保留文本;单纯残留焦点不再遮蔽撤销或重置。新增两个真实离屏编辑器用例确认无改动焦点可刷新、尚未提交输入仍受保护;检查器ASan现157项通过。