Artifact
Artifact 是 Flamo 在设计、作者工具、Runtime、Studio 和发布管线之间传递的 canonical 数据。无论入口来自 Figma、Codex 还是 TS/JS,能够持久化、比较、验证和交付的结果都应落到 Artifact,而不是某次运行的对象快照。
| 字段 | 职责 |
|---|---|
source |
输入来源与同步 provenance |
scene |
可渲染节点、层级和资源引用 |
tokens |
变量集合、mode、alias 与 binding |
prototype |
页面/Frame 原型交互与过渡 |
nodeArtifacts |
节点级脚本、绑定、overlay 与公开 surface |
exports |
可发布边界、tagName 与 public surface |
metadata |
版本、主导出和其他受约束元数据 |
字段的精确类型、必填性和源码位置以 FlamoArtifact 字段手册为准。
Artifact 不是什么
Section titled “Artifact 不是什么”- Artifact 不是 Component 的同义词:只有带稳定公开契约、精确依赖和发布证据的 Export 才能晋升为 Component Release。
- Artifact 不是 Instance:它不包含 DOM、ECS Entity、GPU handle、listener 或 timer。
- Artifact 不是手写页面 DSL:结构通过类型化 schema、authoring operation 和 compiler 维护。
- Artifact 不是框架组件树:Vue/React 等宿主对象不会进入 Artifact。
运行时 set()、变量 override、Preview 中的 transient Variant 切换只改变当前 Instance。需要永久修改时,使用 revision-safe authoring transaction,并保留 dry-run、receipt、reload 和验证证据。同步输入与用户作者内容发生冲突时,合并规则必须尊重各自 ownership,不能用旧本地 scene 覆盖更新后的设计事实。
Artifact 的稳定边界让同一发布资产可以进入 Studio、Runtime、测试、浏览器 ESM 和 Web Component,而不复制第二套事实。
Copyright (c) 2025-present [email protected]