跳转到内容

AMIR:Aira Modeling Intermediate Representation 规范

状态:Draft,已按 0.4 运行时实测修订;文件名保留 AMIR-v0.1.md 以维持既有链接 规范版本:0.4.0(对应实现 amirVersion: 0.4.0,exact 能力目录 0.4.12) 最后修改:2026-09-14 当前契约:项目未发布,仅接受当前 schema/catalog 内容绑定,不提供旧版兼容读取或迁移层;当前事务与历史恢复仍须正确 上游原则:产品宪法;系统边界:RFC-0001;AI 接口:RFC-0002 实测依据:AMIR 现状审计

程序承载设计意图;AMIR 保证这段意图可识别、可编辑、可回退、可验证。

Aira 的建模主路径是维护版 Replicad 程序:AI 与人通过 exact.program 节点提交受治理的源码,几何结构存在程序里。 AMIR 不表示程序内部的结构,它拥有程序之外的一切契约:

  • 身份:canonical JSON + SHA-256 的 modelHash / revisionHash;
  • 事务:Patch → preview → validate → commit 的原子状态机、幂等与 CAS;
  • 设计关系与参数:类型化参数、程序数值依赖、约束、持久选择及独立要求;
  • 产品工程定义:共享 Body、装配实例、空间关系、配置、物料身份、工程尺寸/基准/公差、图纸和交换来源进入同一 product;
  • 稳定引用:源码重写后面、边、体的身份仍可解析(§8);
  • 编辑守恒:对程序的每次改动必须声明影响范围,宿主实测拒绝越界改动(§10.3);
  • 证据:ArtifactGraph、Diagnostics、Geometry Certificate、ExecutionManifest。

几何内核对象、Three.js 场景对象、缓存网格和截图均不是 AMIR 的事实源。程序源码是受治理的载荷——沙箱执行、 禁止网络/DOM/import/随机/时钟、以 hash 绑定到 Revision——不是建模接口本身;接口是本文定义的契约。

本文按 0.4 运行时逐节标注:【已实现】 产品路径执行;【节点内实现】 能力在,但位于节点输入而非文档级槽; 【契约】 只有 schema/类型或验证器;【休眠】 已登记、无执行器;【未实现】;【计划】 已裁决待做。 未标注的规范性文字默认为【已实现】。

AMIR 的目标是:

  • 让当前契约模型完全可序列化、可 diff、可重放;
  • 让每个值具有静态类型,所有尺寸具有显式单位;
  • 让 Sketch、精确 B-Rep、流形网格、隐式场和装配保持明确边界(通用 Assembly 操作端口与文档级 product 不是同一机制;当前产品结构、实例和空间关系由 product 承载,见模型分篇;其余表示见 §18);
  • 让 AI 对程序的修改可声明、可实测、可拒绝,而不是无约束地重写;稳定 ID、端口和语义引用在重写后仍可解析;
  • 让近似转换、容差、内核选择和验证结果成为可查询数据;
  • 让失败以稳定诊断代码呈现,并支持原子 preview/validate/commit。

AMIR 明确不尝试:

  • 序列化 OCCT、Manifold、Three.js 等库的进程内对象;
  • 把未受治理的脚本嵌入模型:exact.program 的源码只能在沙箱内执行,禁止网络、DOM、import、随机与时钟,其改动受 §10.3 守恒检查;
  • 宣称 ExactSolid 的所有计算在数学上都是精确实数计算;
  • 自动把 Mesh 或 Field 恢复成有设计历史的 B-Rep;
  • 用三角形索引、内核指针或一次运行的 face index 作为长期身份。

本文使用以下规范性词语:

  • 必须(MUST):满足规范所必需的行为。
  • 禁止(MUST NOT):规范不允许的行为。
  • 应该(SHOULD):除非有明确且记录在案的理由,否则应遵循。
  • 不应该(SHOULD NOT):通常不应采用;采用时必须记录理由和影响。
  • 可以(MAY):可选行为。

其他核心术语:

  • Document:一个稳定身份下的 AMIR 模型。
  • Revision:Document 的不可变快照及其父版本、操作目录和来源信息。
  • Node:一次纯函数式建模操作的实例。
  • Port:Node 的具名、强类型输入或输出位置。
  • Feature DAG:由 Node 及其端口依赖形成的有向无环图。
  • Authoritative representation:某个 part/body 当前唯一允许继续编辑设计语义的权威表示。
  • Derived artifact:可由 Revision 和固定执行环境重建的内核对象、网格、测量或视图缓存。
  • Operation Catalog:版本化的操作签名、类型规则、前后置条件和内核能力目录。
  • Kernel:执行某类操作的具体几何引擎及其精确构建版本。
  • Candidate Revision:Patch 应用后、尚未提交的临时候选快照。

若本文中的示例与规范性文字冲突,以规范性文字为准。