Home / prodazhang / figkit · figma2unity/SKILL.md · GitHub

figma2unity skillA

figma2unity is agent-read markdown (skill) from prodazhang/figkit: 把 figma2html 管线捕获的中间表示(IR:.ui.json 像素快照 + flow.json 交互声明)编译成 Unity UI Toolkit 资产(UXML+USS)与 C# 运行时 flow 绑定器。输入 = figma2html capture 的产物;本 skill 是编译后端,不含 capture。要在 Unity 里还原 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

# figma2unity — figma2html IR → Unity UI Toolkit

## 这个 skill 干什么

figma2html 产的 **`.ui.json`(像素 IR)+ `flow.json`(交互声明)** → **UXML + USS**(每屏一对)+ **FlowBinder**(C# 运行时把 flow 语义装起来)。

- **像素**:`ui_to_unity.py` 确定性转写——每元素一个 VisualElement/Label、绝对定位父相对几何(算法同 render.js pass2)、样式逐项映射,USS 不支持的项**诚实降级**(跳过 + 文件头注释列丢弃项)。
- **交互**:`FlowBinder.cs` 按 assemble.js 语义实现——底屏常驻 + 弹窗叠加(抽 roots 子树 + 黑色半透 backdrop)、click 事件按 name 绑、guard 全真放行、内置 openModal/closeModal/toggleFlag/send、列表行克隆、checkbox 双态;域内语义走 `IAppHook`。

边界:**capture 归 figma2html**(拉节点树/导素材),本 skill 只吃它的产物;HTML 目标继续用 figma2html,Unity 目标走这里。

## 内容

```
scripts/    ui_to_unity.py(IR→UXML+USS,纯标准库、确定性)
            tests/(run_all.py 发现式 runner + 单测 + golden;fixtures 自带)
runtime/    FlowBinder.cs(flow 绑定器,MonoBehaviour)· IAppHook.cs(域内钩子接口)
references/ mapping.md(IR→USS/UXML 映射全表 + known-loss 表 + 坐标缩放 + 资源摆放)
```

## 用法(管线)

1. **拿 IR**:用 figma2html 跑到第 5 步,得到各屏 `.ui.json` + 手写的 `flow.json`
2. **转换**:每屏一次 `python3 scripts/ui_to_unity.py <屏.ui.json> <outdir>` → `<stem>.uxml + <stem>.uss`
3. **进 Unity**:UXML/USS 与 `_assets/` 同放一目录(url 相对 USS 解析);PanelSettings 设 **Scale With Screen Size**,参考分辨率 = `cap.w × cap.h`(见 references/mapping.md)
…

Read the whole file at its exact version.

How to install

Latest version
mdr add prodazhang/figkit/figma2unity@git:20260728.78f596d
Exact content
mdr add prodazhang/figkit/figma2unity@sha256:2b811f9643a87901

Pin 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.

Badge

mdr badge

[![mdr](https://markdownregistry.com/badge/art_dp6ovu5wg6atxmrc.svg)](https://markdownregistry.com/a/art_dp6ovu5wg6atxmrc)

1 badge views in 30 days

Versions

versioncommittedcommitsizeaudit
git:20260728.78f596d latest2026-07-28 78f596d 4,109 BA view · diff
git:20260703.4dd60842026-07-03 4dd6084 4,107 BA view

Audit of the latest version

A  17 of 17 checks passed. Deterministic, no model, same answer every run.
  • pass: Frontmatter block present
  • pass: Frontmatter declares a name
  • pass: Frontmatter declares a description
  • pass: Size between 200 bytes and 200 KB (4109 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

GitHub

prodazhang/figkit · 10 stars · license MIT · pushed 2026-09-21 · branch main

API

GET https://markdownregistry.com/api/v1/artifacts/art_dp6ovu5wg6atxmrc
GET https://markdownregistry.com/api/v1/resolve?ref=prodazhang/figkit/figma2unity
GET https://markdownregistry.com/api/v1/blob/2b811f9643a87901ec40b61a0bc44036dd70de687b7e5a462699d9a771b2ab25

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.

More from prodazhang/figkit

figkit-motion skill
prodazhang/figkit · figkit-motion/SKILL.md · 界面动效的查阅层:59 条效果目录(什么时候用 / 什么时候别用 / 引擎无关的方法)+ 63 个参数令牌(值 / 值域后果 / 校准状态)+ 6 个共用算法(贝塞尔求解、弹簧解析解、动量投射、橡皮筋、速度采样、FLIP)。figkit…
git:20260804.3e361e1 · audit A · 10 stars
figma2cocos skill
prodazhang/figkit · figma2cocos/SKILL.md · 把 figma2html 管线产的 IR(.ui.json 像素快照 + flow.json 交互声明)落到 Cocos Creator 3.x —— TS 运行时解释器(组件加载 ui.json 动态建节点树 + flow 绑定器)+…
git:20260731.09781e7 · audit A · 10 stars
figma2dsl skill
prodazhang/figkit · figma2dsl/SKILL.md · figma 节点树 → 高保真界面还原 + 可交互 harness。两条产物:全保真 .ui.json(渲染真源,逐节点真样式不折叠)+ DSL .md(语义抽象,喂 aigd/KB)。要把 figma…
git:20260728.78f596d · audit A · 10 stars
figma2godot skill
prodazhang/figkit · figma2godot/SKILL.md · 把 figma2html 管线捕获的中间表示(IR:.ui.json 像素快照 + flow.json 交互声明)编译成 Godot 4 文本场景(.tscn)与 GDScript 运行时 flow 绑定器。输入 = figma2html…
git:20260728.78f596d · audit A · 10 stars
figma2html skill
prodazhang/figkit · figma2html/SKILL.md · Use when you have a figma design frame (or several) and want to turn it into a high-fidelity, runnable HTML client —…
git:20260805.6f61967 · audit A · 10 stars

Every file in prodazhang/figkit

Browse by kind, by grade A, or by owner.