SuperAPI AI 工具集

robius-state-management

通用与其它

查看项目

更新于 10-16 08:09

技能介绍

用途:为 Makepad 应用提供状态管理与持久化最佳实践,参考 Robrix(Matrix 聊天客户端)和 Moly(AI 聊天应用)两套代码库。触发关键词包括 AppState、persistence、theme switch、状态管理、Scope::with_data、save state、load state。

主要能力:定义可序列化的 AppState 结构(如 use serde::{Serialize, Deserialize};);用 #[serde(skip)] 区分持久化与运行时状态;通过 Scope::with_data(&mut self.app_state) 在组件树中传递状态,子组件用 scope.data.get::<AppState>() 读取、get_mut 修改;布局/停靠状态持久化(SavedLayoutState、LiveIdSerde 包装);按用户区分的持久化目录;用 serde_json 保存与加载状态,加载失败时备份旧文件并回退默认值;启动时同步加载窗口几何、异步加载应用状态,关闭时保存;用 thread_local! 存放仅 UI 线程缓存。还提供 _base/ 生产模式(全局注册表、单选导航、状态机、主题切换、本地持久化)。

使用方式与限制:部分参考文件(references/persistence-patterns.md、state-structures.md、moly-state-patterns.md)未随目录捆绑,属于外部前置材料,需在获取原始材料或已完成安装后再执行依赖这些路径的步骤,且须核验许可证与运行前提,不可伪造或替代同名文件;缺失时相关步骤应报告为不可用。仅适用于与上述范围明确匹配的任务,输出不能替代针对具体环境的验证、测试与专家评审;若缺少必要输入、权限、安全边界或成功标准,应停下并请求澄清。