创作者运行时与编辑
笔记列表 15
自动关联目录:UI桥接:JSON 能传消息,不等于它是一份协议 核心判断:把自定义 UI 与脚本运行时直接连通能显著降低开发成本,但原始 JSON 字符串、全局函数和一条无界消息队列只解决了“能传”,没有解决版本、所有权、流控和销毁一致性…
自动关联目录:VM销毁:关闭脚本堆前必须先让原生回调失去提交权 核心判断:lua_close 不是销毁流程的开始,而是最后一步。网络、Profiler、对象缓存和异步客户端必须先收到 Closing 屏障,撤销所有进入 Lua 的权利。 …
自动关联目录:增量UI投影:避免整树重建后,别陷入平行Map地狱 核心判断:用数据对象树驱动 UWidget/Slate 增量投影,比每次变化重建整棵 UI 正确;但若每个属性、控件和暂态都拥有一张独立 Map,创建、更新、销毁和诊断会形…
自动关联目录:撤销架构:统一栈不应成为所有编辑域的巨型联合体 核心判断:多个编辑前端共享同一条权威历史是正确的;但若每增加一种编辑能力,都向中央记录结构追加枚举和一组可空字段,统一栈会从一致性中心退化为全系统耦合点。 一、实际设计解决了…
自动关联目录:结构撤销:恢复子树必须携带一次性能力 核心判断:删除对象后的完整子树快照不是普通数据,而是能够重新物化对象、占用身份并改写层级的高权限能力;它必须绑定记录、会话代次和所有者,并且只能消费一次。 一、为什么结构 Undo 比…
自动关联目录:编辑事务:能撤销不等于操作已经原子 核心判断:Undo 记录只能证明“以后可能恢复”,不能证明一次编辑在失败时没有留下半成品。编辑命令必须先准备、再原子提交,撤销只是提交后的逆操作。 一、业务问题:失败不能把作品留在中间态…
自动关联目录:编辑作用域:撤销分栈不等于拥有完整会话 核心判断:场景与 Prefab 使用不同 Undo 栈避免了历史串台,但真正的编辑作用域还必须拥有选择、Gizmo、相机、预览 World、Dirty Revision 和异步 gen…
自动关联目录:脚本热重载:清除模块缓存不能撤销世界副作用 核心判断:package.loaded[name] = nil 只保证下一次 require 会重跑模块,不会自动断开旧 Delegate、Timer、网络 handler,也不会…
自动关联目录:脚本隔离:独立 VM 不等于最小权限沙箱 核心判断:编辑、客户端和 DS 使用独立 lua_State,能隔离全局变量、模块缓存和对象注册表;但只要每个 VM 都打开相同标准库并注册整套引擎 API,它就只是状态隔离,还不是…
自动关联目录:脚本预算:超时看门狗不能代替可调度预算 核心判断:看门狗擅长在“已经卡死”后止损,预算调度则在卡死前限制每个脚本本帧能消耗多少 CPU、内存和原生调用成本。两者不是同一层机制。 一、实际演进:从进程级超时到单 VM 中断 …
自动关联目录:行为图编译:编辑树不能直接成为运行时状态机 核心判断:创作者行为树包含可编辑身份、层级和宽松字段;运行时需要确定顺序、已验证 Schema 和不可变程序。两者之间必须有编译边界,不能让 DS 在执行途中解释脏编辑数据。 一…
自动关联目录:行为调度:帧预算必须同时约束队列年龄与原子工作 核心判断:集中调度、错峰和时间片能压平 DS 平均成本,但只限制“调度器循环用了多久”仍不够;一个不可抢占的行为步就能击穿帧预算,持续延期的低优先级任务也会变成玩法错误。 一…
自动关联目录:远程事件:连接证明发送者,载荷仍只是请求 核心判断:DS 可以信任“这条消息来自哪条连接”,不能信任客户端随消息传来的玩家、对象、位置、伤害或完成结果。 一、实际设计:传输层已经守住两条底线 创作者远程事件在发送前递归拒绝…
自动关联目录:连续编辑:拖拽预览与最终提交不能共享进程级会话 核心判断:滑杆和 Gizmo 的高频预览应合并成一次用户意图;但“当前正在编辑哪个对象和属性”若保存在进程级变量中,就无法抵御多面板、多文档、嵌套工具和迟到结束事件。 一、连…
自动关联目录:黑板事务:共享键值表必须有Schema、模式与提交代次 核心判断:黑板一旦同时服务创作、Undo、DS 运行时和观察者,就不再是 Map<String, Variant>;它需要类型 Schema、写入模式、不可…