统一UI编辑器新建节点组件状态

前端新建页面根和人工节点默认组件状态设为通过

识别与合并新建节点默认组件状态设为通过

保留组件绑定结果对已触碰节点的状态回写

补充新建节点状态测试与技术方案说明
This commit is contained in:
2026-08-18 21:10:41 +08:00
parent 37f7f710f3
commit 33258657c3
5 changed files with 45 additions and 5 deletions
@@ -1108,6 +1108,10 @@ game-project/
- UI State 原子安装保留最近一个有效 `.previous` 恢复副本。主文件损坏时仅在恢复副本通过同一严格校验后恢复;恢复安装与保存共用项目写锁,并在持锁后重新读取主文件,已有并发保存的有效新版本时直接返回而不安装旧副本。任一候选均不可信则停在加载错误,前端禁编辑和保存。新建 UI 资源先登记并安装合法 envelope,任一步失败补偿 manifest/文件,避免把空 JSON 留给资源卡。
- 图片路径只需是安全项目相对路径,不要求外部图片仍存在或已登记为 manifest asset;缺失媒体只导致 preview 占位。`imageOrder`、当前选择、缩放、面板开关和 preview URL 不写入 State,加载后由 State 派生。保存冻结提交快照,保存期间的新编辑继续保持 dirty;AI state lock 和加载期间禁保存。
## 2026-08-18 UI Editor 新建节点组件状态
- 所有非组件绑定流程创建的 UI Editor 节点,`components_status` 与 `layout_status` 一致初始化为 `Passed`,覆盖前端新建页面根 / 人工节点,以及 Rust 结构识别与合并产生的节点。组件绑定命令仍只对 LLM 显式返回的节点写入其 `Passed` 或 `NeedReview` 结果;未返回的节点状态不变。
## 2026-08-18 UI Editor 节点预览可见性
- 节点显示 / 隐藏是编辑器页面级临时状态,不新增 Rust `Node` 字段,不进入 UI State 保存快照、运行时数据或后端契约。`NodeId` 在 State 内全局唯一,隐藏状态直接使用页面会话级 `Set<NodeId>`;切换界面图保留,跨界面移动随节点保留,清空、重新加载、删除节点或删除界面图时清理失效 ID。