Refract Manipulator

This commit is contained in:
2026-06-09 08:47:44 +08:00
parent 4cb6ec7341
commit ae4a5ab96d
2 changed files with 121 additions and 163 deletions
+39 -2
View File
@@ -2,7 +2,7 @@
A C++17 / Windows desktop application providing a **Maya Render Layers-style** USD scene editor using **OpenUSD v25.05**, **ImGui 1.92.7** (docking branch), and **OpenGL 3.3** (via GLAD). Users can open, edit, and save USD files, manage layered stage overrides, inspect and edit prim properties, and interact with 3D scenes through a Hydra viewport.
!["SceenShot"](docs/icons/screenshot_01.png)
![Screenshot](docs/icons/screenshot_01.png)
## Features
@@ -96,4 +96,41 @@ src/
| `cmake/modules/FindImgui.cmake` | ImGui source integration |
| `cmake/modules/FindGlad.cmake` | GLAD loader setup |
| `CMakePresets.json` | Build presets (VS 17 2022, x64) |
| `AGENTS.md` | AI agent build/architecture guide |
| `AGENTS.md` | AI agent build/architecture guide |
| `.kilo/` | Kilo AI configuration (commands, agents, skills) |
| `openspec/changes/` | Feature proposals and implementation tracking |
## Development Workflow
This project uses **OpenSpec** for feature development:
1. **Propose** — Create a new change under `openspec/changes/<name>/` with `proposal.md`, `design.md`, `specs/`, and `tasks.md`
2. **Implement** — Work through checkbox-tracked tasks in `tasks.md`
3. **Archive** — Move completed changes to `openspec/archive/` when done
Use Kilo's `openspec-*` skills to streamline this workflow.
## Runtime Requirements
- **Python 3.12** — OpenUSD requires `python312.dll` at runtime. CMake copies it to the output directory via `POST_BUILD` commands.
- **USD Plugin Path** — The app scans `<exe_dir>/usd/` for `plugInfo.json` and registers plugins via `pxr::PlugRegistry`.
## Contributing
Before writing any OpenUSD API call, verify the API exists in the actual SDK:
```powershell
findstr /r /s "FunctionName" third_party\OpenUSD_v25.05\include\
```
Always build and install before running tests:
```powershell
cmake --build build --config Release
cmake --install build --config Release
ctest --test-dir build -C Release
```
## License
See [LICENSE](LICENSE) file for details.