figma2godot skillA
figma2godot is agent-read markdown (skill) from prodazhang/figkit: 把 figma2html 管线捕获的中间表示(IR:.ui.json 像素快照 + flow.json 交互声明)编译成 Godot 4 文本场景(.tscn)与 GDScript 运行时 flow 绑定器。输入 = figma2html capture 的产物;本 skill 是 Godot 4 编译后端,不含 capture。要在 Godot 工程里还原 figma 界面像素与交互(底屏+弹窗/守卫/列表/勾选)时使用。.
Indexed from public GitHub and served as immutable, content-addressed versions. Install it pinned to an exact SHA-256 with the mdr CLI, and every file is verified against the hash recorded here before it reaches your agent. The deterministic audit below grades the latest version, and the same file always earns the same grade.
What the file says
# figma2godot — figma2html IR → Godot 4 场景 + flow 绑定
## 这个 skill 干什么
figma2html 产的 IR(`.ui.json` 像素 + `flow.json` 交互)→ **确定性编译**成 Godot 4 资产:
- **像素**:`scripts/ui_to_tscn.py` 把每屏 `.ui.json` 编成一个 `.tscn` 文本场景
(format=3):根 Control 固定舞台、每元素一节点、父相对 offset 几何、
StyleBoxFlat(圆角四角/描边/**原生阴影**)、Label、TextureRect、真线性渐变。
- **交互**:`runtime/flow_binder.gd` 读 `flow.json`,按 assemble.js 同语义组装:
底屏常驻 + 弹窗叠加(整场景实例按 roots 剪枝 + 半透明 Backdrop)、事件/守卫/
toggleFlag/send、列表行克隆、checkbox 双态;域内语义走 `app_hook` action 注册。
边界:**capture(figma→IR)归 figma2html,本 skill 只做 Godot 落地**;两边共享
figma node id 键空间(节点名 = id 冒号换下划线,flow 里照写原始 id)。
## 内容
```
scripts/ ui_to_tscn.py(.ui.json → .tscn;纯标准库、确定性、argv 驱动)
tests/(run_all.py 发现式 runner + 单元/golden;fixtures = login 三屏)
runtime/ flow_binder.gd(flow.json → 底屏+弹窗+事件+绑定;Godot 4.2+)
app_hook.example.gd(域内 action 注册示例:send/选服/回填)
references/ mapping.md(IR→Godot 映射全表 + known-loss 表 + 坐标/缩放/命名约定)
```
## 用法(管线)
1. **上游**:用 figma2html 跑到第 5 步,拿到每屏 `<stem>.ui.json` + 手写 `flow.json` + `_assets/`。
2. **编场景**:每屏一跑 `python3 scripts/ui_to_tscn.py <stem>.ui.json <godot工程>/scenes/`
→ `scenes/<stem>.tscn`。
…Read the whole file at its exact version.
How to install
mdr add prodazhang/figkit/figma2godot@git:20260728.78f596dmdr add prodazhang/figkit/figma2godot@sha256:0cc536242d911ffdPin to a label to follow the author's releases, or to a sha256 to freeze the exact bytes forever. Either way the resolved hash is written to mdr.lock, and mdr install reproduces it on any machine.
[](https://markdownregistry.com/a/art_wutgplocmidl3cyi)
1 badge views in 30 days
Versions
| version | committed | commit | size | audit | |
|---|---|---|---|---|---|
| git:20260728.78f596d latest | 2026-07-28 | 78f596d | 3,811 B | A | view · diff |
| git:20260703.4dd6084 | 2026-07-03 | 4dd6084 | 3,809 B | A | view |
Audit of the latest version
- pass: Frontmatter block present
- pass: Frontmatter declares a name
- pass: Frontmatter declares a description
- pass: Size between 200 bytes and 200 KB (3811 bytes)
- pass: No zero-width or bidi control characters
- pass: No instruction hidden inside an HTML comment
- pass: No link to an exfiltration or paste host
- pass: No credential-shaped string
- pass: No instruction to send local credentials anywhere
- pass: No text hidden with inline styles
- pass: No prompt-injection phrasing
- pass: No curl or wget piped into a shell
- pass: No recursive delete of root, home or parent
- pass: No instruction to read or print local credentials
- pass: No base64 blob over 200 characters
- pass: No link to a raw IP address
- pass: No script tag
Source
prodazhang/figkit · 10 stars · license MIT · pushed 2026-09-21 · branch main
API
GET https://markdownregistry.com/api/v1/artifacts/art_wutgplocmidl3cyi GET https://markdownregistry.com/api/v1/resolve?ref=prodazhang/figkit/figma2godot GET https://markdownregistry.com/api/v1/blob/0cc536242d911ffd651facfc88c6ca6edeb5b8258fd2fd21de0ebc99395846fc
Your agent does the legwork. You hear about the deals worth your word. Hand yours the standing instructions at modelranch.com and it joins the network that reads files like this one.