# @bramas/simulant-stdlib 中文文档

规范地址：https://npmcn.com/package/%40bramas/simulant-stdlib/

版本：0\.5\.0
npm 元数据更新时间：2026-10-23T15:17:42.638Z
中文译文更新时间：2026-11-08T14:36:16.767Z
软件包许可：CECILL-B

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40bramas/simulant-stdlib
原文对照：https://npmcn.com/package/%40bramas/simulant-stdlib/?lang=original
项目主页：https://github.com/Bramas/simulant#readme
源码仓库：https://github.com/Bramas/simulant

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：59.9 kB，14 个文件
- 模块格式：ES Module
- TypeScript 类型：未声明
- 运行依赖：0 个
- 首次发布：2026-10-16T09:27:27.001Z
- 最新版本发布：2026-10-23T15:17:42.085Z
- 近 30 天下载量：1823（2026-10-09 至 2026-11-07，npm 官方下载统计）
- 已发布版本数：8（近 12 个月 8 个）

## 中文简介

`@bramas/simulant-stdlib` 提供Simulant实验所使用的模型家庭、部件、传感器和任务。 它被安装在编译器和CLI上. 以 `npm create @bramas/simulant@latest my-project`。 。 。 .

## 安装

```sh
npm install @bramas/simulant-stdlib
```

也可以使用：`pnpm add @bramas/simulant-stdlib`、`yarn add @bramas/simulant-stdlib`、`bun add @bramas/simulant-stdlib`

## README

# 标准库

`@bramas/simulant-stdlib` 提供模型家庭、部件、传感器和 用于Simulant实验的任务。 它被安装在编译器和CLI上. 以 `npm create @bramas/simulant@latest my-project`。 。 。 .

用从 `.sim` 来源 :

```lean
import "std/models.sim"
```

图书馆包括空间(`Graphs.Cycle`, (中文(简体) ), `Graphs.Line`, (中文(简体) ), `Graphs.Star`, (中文(简体) ), 地点传感器、黑洞和坠机部件、灯光、卵石储存、访问 显示器,调度器`schedulers.sim`,任务,模范家庭 `obliviousRobots` 财务报告和审定财务报表 `agentsWithMemory` (单位:千美元)`families.sim`),预定义模型 `blackHoleSearch` (单位:千美元)`predefined.sim`),和示例算法. 图表、观察、, 语义核心中执行框架和跨事件步骤; 库 定义构成这些能力.

对于有限能见度发光的机器人在一行, 有三色调色板, 偏差( 每一个视点都有一个新的同位素) :

```lean
def luminous : Model :=
  obliviousRobots Graphs.Line (Observe.radius (param phi)) Frames.isomorphisms [colors]
    (components := [Storage.Lights 3, Faults.CrashAt])
```

`Storage.Lights k` 提供固定的正数颜色,编号为 0 到 k− 1 作为代理字段 `light`每道光从0点开始 可选 `setLight` 动作用途 `none` 以保留当前颜色和 `some c` 请求颜色c; 议会外的请求被忽略。 计算后和计算前的更新 移动,包括何时 `Faults.CrashAt` 防止移动.

按地点询问传感器: `occupied l`, (中文(简体) ), `count l` 财务报告和审定财务报表 `colors l` (单位:千美元) 在一个位置上以调色板顺序区分颜色; 空列表表示未使用) 既不暴露他们所说的多重,也不暴露过错的旗帜和大小 空间。 帮助者,例如: `Line.window` (一行视图的可见位置, 从一端到另一端)和 `Ring.cw`编号 :`Ring.ccw` (名邻居)建立列表 从地点; 项目选择自己的标记, 如站立项目 X/Y/Z 编码 `colors`。 。 。 .

明确构建模型能力. 黑洞搜索,并使用奇特性 `blackHoleSearch (Graphs.Cycle N) .mayEmerge .unknown`在一个动态的戒指上, `blackHoleSearch (Graphs.Dynamic (Graphs.Cycle N) 1) .mayEmerge .unknown`完整视图 在环上聚集 `obliviousRobots (Graphs.Cycle N) Observe.full Frames.isomorphisms [occupied]`。实验选择任务和目标,例如 `Gathering`, (中文(简体) ), 与模型分开.

见 [语言参考](https://github.com/Bramas/simulant/blob/main/docs/sim-language.md) 为了一个完整的实验。 以下发展说明说明了图书馆如何运作 在源寄存器中维护; 测试助手不是此 npm 的一部分 软件包。 根据CeCILL-B获得许可证;见 `LICENCE.txt`。 。 。 .

用于项目模拟和精益生成的标准库的作者有: [`sim/`](https://npmcn.com/package/%40bramas/simulant-stdlib/sim/)A级 `.sim` 导入例如 `import "std/models.sim"` 装入这些源并将其编译为 IR.

| 地点 | 作用 |
| --- | --- |
| `sim/*.sim` | 权威传感器、组件、任务、模范家庭和实例 |
| `test/helpers/*.ts` | 仅用于测试的手写建构器对等器和辅助器 |

## 为什么存在类型脚本对等器

类型脚本文件 [`test/helpers/`](https://npmcn.com/package/%40bramas/simulant-stdlib/test/helpers/) 构建 IR 通过 [`packages/lang/src/builder.ts`](https://npmcn.com/package/%40bramas/lang/src/builder.ts)。它们独立于 `.sim` 前端未生成 `.sim` 文档。 只有测试代码导入它们;模拟器、 CLI 和 Lean 生成器编译 `.sim` 图书馆.

合规固定装置产生于 [`sim/conformance.sim`](https://npmcn.com/package/%40bramas/simulant-stdlib/sim/conformance.sim)编辑 [符合性测试](https://npmcn.com/package/%40bramas/engine/test/conformance.test.ts) 比较定点IR生成的状态图、判决、证人和激活,然后比较状态图和边缘与独立 [已建实验](https://npmcn.com/package/%40bramas/engine/test/builder-experiments.ts)。这可以检查前端翻译以及翻译行为.

TypeScript 定义还提供了引擎的小模型和算法 [圆形测试](https://npmcn.com/package/%40bramas/engine/test/round.test.ts) 财务报告和审定财务报表 [语义接受测试](https://npmcn.com/package/%40bramas/engine/test/skeleton.test.ts),语言的 [类型检查测试](https://npmcn.com/package/%40bramas/lang/test/check.test.ts)。 。 。 .

## 编辑库

网站的 [库参考资料和模型构建器](https://npmcn.com/package/docs/architecture.md#public-website) 从这些来源读取:给每个模型、组件、传感器和任务a `/-- … -/` doc 注释(它的第一句是构建者的摘要),并给出一个新的算法输出,由任务读取一个类型 `outputTypes` (单位:千美元)`apps/public-site/src/builder.ts`) (中文(简体) ). `apps/public-site/test/site.test.ts` 检查两者,并编译每个模型家族,每个任务,组件和取景传感器.

改变 `.sim` 用于项目使用的库行为源 。 当定义包含一个符合性测试覆盖的构建器对应器时,更新两个版本并验证其协议. 跟着 [IR合同](https://npmcn.com/package/docs/ir.md) 财务报告和审定财务报表 [再生指令](https://npmcn.com/package/docs/development.md#generated-files-and-regression-fixtures) 用于语义变化.

注册新的可重复使用的组件 `packages/lean-gen/src/library.ts` 财务报告和审定财务报表 重新生成"利安"图书馆. 通用光线固定包括调色板变化、固定节点相撞和 色彩集观测; 独立 构建者版本必须产生相同的状态,边缘和见证. 这个 `reusable-robots` 测试包括一 二 三和五种颜色 外立面 更新、独立存储和限定旋转/折射等效.

测试直接导入帮助, 例如 `../../stdlib/test/helpers/index`组合输出 `.sim` 来源通过 `./sim/*`。项目算法导入库 `std/*.sim`; 精益库生成器也读取 `sim/` 直接说.

图形,观测,帧,回合和表达内建由TypeScript和Lean语义核心执行. 这个 `.sim` 库构成这些能力;见 [结构](https://npmcn.com/package/docs/architecture.md#models-and-execution)。 。 。 .

## 常见问题

### @bramas/simulant-stdlib 是什么？

@bramas/simulant-stdlib 提供Simulant实验所使用的模型家庭、部件、传感器和任务。 它被安装在编译器和CLI上\. 以 npm create @bramas/simulant@latest my-project。 。 。 \.

### 如何安装 @bramas/simulant-stdlib？

在项目目录运行 npm install @bramas/simulant-stdlib，或使用 pnpm add / yarn add / bun add。

### @bramas/simulant-stdlib 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/bramas\_\_simulant-stdlib 是否存在。

### @bramas/simulant-stdlib 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @bramas/simulant-stdlib 可以商用吗？

@bramas/simulant-stdlib 使用 CECILL-B 许可。声明的许可为 CECILL-B，请阅读许可原文确认使用条件。以上为概括，不构成法律意见，请以许可原文为准。

### @bramas/simulant-stdlib 的下载量有多少？

根据 npm 官方下载统计，@bramas/simulant-stdlib 在 2026/10/09 – 2026/11/07 这 30 天内被下载 1,823 次，日均约 61 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @bramas/simulant-stdlib 还在维护吗？

最新版本 0\.5\.0 发布于 2026/10/23（16 天前）；至今共发布 8 个版本，其中过去 12 个月发布了 8 个；首次发布于 2026/10/16。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

