跳转到主要内容 / Skip to main content
C.P. CYBERPSYCHOSIS
GITHUB
CHAPTER 06 // RUNTIME SIMULATORS

六大可插拔模拟器插件详解

化学、物理、逻辑、物流、社会与语义桥接器如何通过共享属性黑板实现零耦合跨界涌现。

6.1 六大插件职责与共享属性矩阵

在 cyberpsychosis-plugins 中,没有任何两个插件互相 import。它们全部只实现 SimulatorPlugin 接口,并通过读写内核的通用标量属性(temp、integrity、panic、pressure)自然耦合:

插件名称涌现类型核心模拟机制读写的共享属性/标签
ChemistryPlugin化学/元素涌现8 邻域热传导、85°C 燃点引燃、浓烟派生、冷水灭火temp, fuel, burning, hot, cool, smoke
PhysicsPlugin物理与结构涌现135°C 超温爆炸冲击波、径向冲量速度积分、管道结构断裂temp, pressure, integrity, broken, exploded
LogicRulePlugin逻辑/规则涌现同步激活的元规则 Override,持续驱动全局标签与属性映射hot, cool, calm, calmAura
LogisticsPlugin网络/物流涌现有向管网流计算、冷却/热源输送、断管停流与上游背压累积temp, pressure, integrity, pipe edges
SocialAgentPlugin社会/叙事涌现半径 4.5 危险/镇静感知、social_trust 关系网恐慌传染、效用 AIpanic, panicked, calmAura, social_trust edges
SemanticLlmPlugin语义涌现桥接自然语言转受限 DSL、WorldFork 安全预览、离线确定性编译DeclarativeRule, GlobalTagOverride

6.2 编写自定义模拟器插件

只需实现 SimulatorPlugin 接口并通过 kernel.usePlugin() 挂载,即可将你自己的领域模拟器接入涌现生态:

// TYPESCRIPT CYBERPSYCHOSIS SDK
import { EmergenceKernel, SimulatorPlugin } from "cyberpsychosis-core";

export class WeatherPlugin implements SimulatorPlugin<EmergenceKernel> {
  readonly id = "weather";
  readonly name = "Dynamic Rain & Wind Simulator";
  readonly tickInterval = 2; // 每 2 个主 Tick 执行一次

  onTick(kernel: EmergenceKernel, tick: number): void {
    for (const id of kernel.ecs.queryByTags(["burning"])) {
      if (kernel.prng.next() < 0.25) {
        kernel.ecs.removeTag(id, "burning");
        kernel.causal.recordEvent({
          tick,
          domain: "chemistry",
          type: "weather:rain_extinguished",
          summary: `Rainstorm extinguished entity #${id}`,
          subjectIds: [id]
        });
      }
    }
  }
}