Skip to content

Repository files navigation

UIEditorForTapMaker

面向 TapTap Maker(UrhoX:Yoga + NanoVG) 的可视化 UI 编辑器。

技术栈:bun + TypeScript + React 19 + Electron + electron-vite

目录结构

UIEditorForTapMaker/
├── build/                      # 打包静态资源(icon)
├── resources/                  # 运行时资源(打进包 extraResources)
├── src/
│   ├── main/                   # 主进程
│   │   ├── index.ts            # app 生命周期
│   │   ├── window.ts           # BrowserWindow
│   │   ├── menu.ts             # 应用菜单
│   │   └── ipc/                # IPC handlers
│   │       ├── index.ts
│   │       └── file.ts         # 对话框 / 文件读写
│   ├── preload/
│   │   ├── index.ts            # contextBridge
│   │   └── index.d.ts
│   ├── renderer/
│   │   ├── index.html
│   │   └── src/                # React 渲染层
│   │       ├── panels/
│   │       ├── layout/
│   │       ├── store/
│   │       ├── utils/
│   │       ├── widgets.ts
│   │       ├── App.tsx
│   │       └── main.tsx
│   └── shared/                 # 主/预加载/渲染共享
│       ├── types.ts
│       └── ipc-channels.ts
├── tests/
├── examples/
├── electron.vite.config.ts
├── electron-builder.yml
├── tsconfig.json               # project references
├── tsconfig.node.json          # main + preload + shared
└── tsconfig.web.json           # renderer + shared

旧版 VisualUIEditor 快照在仓库外:../legacy-VisualUIEditor/

命令

命令 说明
bun install 安装依赖
bun run dev 开发模式
bun run build 构建到 out/
bun run package 打包到 release/
bun run typecheck 检查 node + web 两套 tsconfig
bun test 单元测试

与 TapTap Maker

导出 .ui.json,用 UILoader.LoadFromFile 加载:

local UI = require("urhox-libs/UI")
local instance = UI.UILoader.LoadFromFile("ui/lobby.ui.json")
UI.SetRoot(instance:GetRoot())

示例:examples/maker-ui/lobby.ui.json

License

MIT

About

taptap-maker style uieditor

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages