graph-world 是 GraphOS 的图设计技能,用于以节点优先架构为任意游戏或应用设计世界逻辑。它依赖 graph-management 技能完成图检查与事务应用;图验证完成后,若进入 npm/TypeScript 项目引导、生成代码集成或 System/EventSystem 运行时实现,应改用 graph-world-ts。
节点语义:World 是唯一根上下文,名称固定为 World;Context 是 World 或 Context 下的层级领域/数据模型节点,属于逻辑/数据层,需暴露 View 层可观察状态,并具有内置存储语义;Variant 是 World 或 Context 下的类型化变量定义,是持久化/存储运行时数据的默认设计面;System 是生命周期逻辑节点,临时缓存或短暂工作状态应放在所属 System 内;Event 是世界级事件定义,命名须编码层边界,On 前缀仅用于表现层事件且载荷尽量小,Logic 前缀仅用于逻辑层内部事件;EventSystem 是 Event 下的事件驱动处理器。
强制边界:不得在 Graph 中建模仅配置用的结构(配置目录、环境配置、调优表、特性开关、平台构建配置等),这些应在代码配置中设计;若字段仅用于配置实现而非领域运行时状态,应保留在代码配置而非 Graph Variant。
使用时机:从零设计新游戏/应用世界模型、将业务领域转为嵌套 Context 树、在编写生命周期逻辑前定义类型化 Variant、需要事件驱动初始化或运行时流程时。前置条件:先加载并使用 graph-management 技能,变更前读取可用节点类型与当前图状态,尽量每设计步骤使用一个连贯事务,并强制 World 根节点名称固定为 World。
模拟器日志检查:当世界插件模拟器可用且需检查实际运行时事件流时,驱动模拟器执行目标分支后,通过 GraphOS 运行时查询 /api/world/log。无参数返回模拟时间 <= 当前的日志;仅 startTime 返回 [startTime, current];仅 endTime 返回 (-∞, endTime];两者都提供返回 [startTime, endTime]。响应较大时应生成分析脚本进行解析、过滤、分组和汇总,输出事件计数、时间范围、目标 Context id、可疑错误模式等精简摘要,而非手动读取完整日志。
模拟器控制 API:GET /api/world/state 获取当前状态,返回 { duration, current, state, scale, fps },state 为 running、paused、loading 或 stopped;POST /api/world/start 从零启动时钟;POST /api/world/pause 暂停时钟;POST /api/world/resume 恢复时钟;POST /api/world/reset 重置初始状态并清空运行时状态与日志;POST /api/world/event 向模拟器发送客户端事件,请求体须符合 IEvent 接口(type: string 及附加字段),模拟器将其视作来自已连接客户端进行分发。
修改规则(强制顺序):数据模型与数据逻辑变更必须先应用到 Graph;在编写下游代码/文档/任务前完成 Context/Variant/System/Event/EventSystem 更新;Graph 变更后立即验证逻辑闭环,运行 Step 4 闭环检查并确保所有维度通过;闭环验证通过后才可进行其他任务,失败则先回到 Graph 修补;每次成功图变更后更新 gen/README.md 变更记录并追加不覆盖;同时更新 gen/GRAPH.md 的完整流程图与闭环检查点,保持与实际 Step 0-6 工作流同步并验证失败检查可回退到修补步骤。
流程:Step 0 读取当前状态,调用 get_available_node_types 验证节点模式,调用 get_graph_description 识别当前根、上下文与缺口,必要时调用 get_graph_node;Step 1 构建数据模型与 Variant,确保唯一 World 根且名称精确为 World,按领域边界创建 Context 树,添加 Variant 并设置类型(string、float、integer、boolean、JSONSchema),JSONSchema 需提供 jsonSchema 与必填字段,仅对真正必需的运行时数据标记 required;Step 2 基于数据模型定义 System,按实现契约定义 spawn、despawn、update、change 生命周期入口并记录意图、触发与目标数据范围;Step 3 定义 Event 与 EventSystem,在 World 下创建关键领域事件,必要时在 Event 下附加 Variant 载荷,并为每个 Event 创建 EventSystem 处理器;Step 4 闭环验证与完成,重新运行 get_graph_description 对比预期拓扑,验证结构、数据、行为、触发、事务五个闭环维度,失败则按缺失类型回到对应步骤修补并重新验证,最后产出验证摘要;Step 5 更新 gen/README.md 变更日志,按指定格式追加 Added/Modified/Removed/Notes;Step 6 更新 gen/GRAPH.md 完整流程图,维护包含 Step 0 至 Step 6、闭环维度与失败重试回路的 Mermaid 流程图。
限制:资料未提供具体收费、价格、平台支持范围或效果数据;技能依赖 graph-management,TypeScript 实现需转用 graph-world-ts;配置结构不得进入 Graph;表现层逻辑不得进入 System。