深色
风格
视觉表达
S 循环切换
经典
稳定的技术默认风格
信号流
突出动态流向
蓝图
工程评审
编辑风格
适合发布与上线说明
动态
演示
导出
导出图表
便携、整洁的输出
E
分享
分享卡片
1200×630 PNG
路径分享卡片
1200×630 PNG
可达范围分享卡片
1200×630 PNG
复制分享卡片
复制 PNG 到剪贴板
复制图表
复制 PNG 到剪贴板
图像
PNG
无损图像
JPEG
紧凑图像
WebP
现代图像格式
矢量与动效
SVG
可编辑矢量图
WebM
6 秒动效
core 与 samp-node 的双向桥接
←
引导视图
探索此系统
沿精选路径逐步查看,而不改变源图表。
节点
下一步
→
▶
播放故事
#
复制此刻
显示全部
core 与 samp-node 的双向桥接
由 Archify 生成的时序图。
Load(ppData) 插件导出
InitializeOncePerProcess + NewIsolate
CreateEnvironment(bootstrap) 后动态 import entry_file
registerEvent + on(name, trigger)
OnPlayerConnect(playerid)
events[name]->call,AMX 参数转 V8
调用 trigger,跑中间件链
callNative(name, fmt, args)
InvokeNativeArray 打到 open.mp
驱动事件循环,等 Promise 完成
把结果作为 0 / 1 返回给 open.mp
插件启动与 bootstrap
原生回调进入 JS
返回值回传 open.mp
open.mp · 原生回调 · 时序参与者
open.mp
原生回调
samp-node · events.cpp · 时序参与者
samp-node
events.cpp
libnode V8 · nodeimpl Tick · 时序参与者
libnode V8
nodeimpl Tick
全局 samp · functions.cpp · 时序参与者
全局 samp
functions.cpp
@infernus/core · bus.ts trigger · 时序参与者
@infernus/core
bus.ts trigger
图例
请求
返回
异步追踪
默认消息
就绪
章节 01 / 01
引导章节
图表指南
探索此系统
×
正在检查已编译语义
01
查找任意节点
搜索标签、职责、类型和稳定 ID。
/
02
追踪路径
查看两个语义节点如何按编写方向连接。
R
03
查看完整系统
打开带实时视口和稳定节点的语义雷达。
M
04
比较语义类型
统计角色、显示流量并比较直接编写的连接。
L
05
播放引导故事
浏览已编写的章节和真实关系。
P
06
进入演示模式
让实时图表占满视口,同时不改变导出。
F
E
导出
T
主题
S
风格
0
重置
+
放大
-
缩小
Esc
关闭
查找节点
×
⌕
/
没有匹配的节点
语义护照
已验证来源
编写可达范围
上游
0
下游
0
×
复制链接
关系
路径探测
选择起点节点
查找起点
复制链接
清除
在图表中选择两个语义节点
←
▶
旅程
→
总览
先选择来源,再选择目标;方向很重要。
语义透镜
比较系统角色
×
最多选择两种语义类型。选择一种可显示其真实流量;选择两种只比较直接编写的关系。
选择一种类型以检查其节点和相连关系。
复制链接
清除
语义雷达
正在构建总览
打开雷达
×
点击节点
拖动平移
语义雷达需要更多地图可见空间。
路径
地图
透镜
阅读
100%
bootstrap 做了什么
• LoadResource 进 while(esmLoading) 循环,调 Tick 并每毫秒让出 CPU,等模块加载完才返回
• bootstrap 设 ipv4first、import entry_file,再调 __internal_esmLoaded 结束等待
• 此后每帧 ProcessTick 驱动 Tick:微任务、uv_run(NOWAIT)、DrainTasks
core 怎么架在这层上
• core 的 defineEvent 在 import 时调 samp.registerEvent 与 samp.on
• 原生回调先经 convertAmxParamsToV8 把 AMX cell 转成 V8 值
• beforeEach 再解析成上下文对象,事件系统即注册表上的一层中间件
同步桥与边界
• 同一线程:没有跨线程队列,Tick 在服务器主线程上跑 JS
• async 监听器返回 Promise 时,循环驱动事件循环直到它完成:resolve 取其布尔值,reject 为 0
• callNative 按 i/f/s/a/v 传值、I/F/A/V/S 取回;callPublic 遍历所有 AMX