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——不是建模接口本身;接口是本文定义的契约。
实现状态标记
Section titled “实现状态标记”本文按 0.4 运行时逐节标注:【已实现】 产品路径执行;【节点内实现】 能力在,但位于节点输入而非文档级槽; 【契约】 只有 schema/类型或验证器;【休眠】 已登记、无执行器;【未实现】;【计划】 已裁决待做。 未标注的规范性文字默认为【已实现】。
1. 范围与设计目标
Section titled “1. 范围与设计目标”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 作为长期身份。
2. 规范性术语
Section titled “2. 规范性术语”本文使用以下规范性词语:
- 必须(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 应用后、尚未提交的临时候选快照。
若本文中的示例与规范性文字冲突,以规范性文字为准。