UiApp owns external Dear ImGui textures.
- Create a texture with
UiApp::TextureCreate(). - Destroy it with
UiApp::TextureDestroy()orUiTexture::Destroy(). - Use
UiTextureas a lightweight handle/view for CPU pixel writes (Pixels(),PixelsAt(),Clear(),MarkFullUpdate(),MarkUpdateRect()). - Retrieve the opaque handle with
UiTexture::Handle()orUiApp::TextureGetHandle().
- Texture registration now goes through Dear ImGui's user texture API instead of a global snapshot registry.
- GPU destruction is deferred until the backend acknowledges
ImTextureStatus_WantDestroy, so resizing and destruction remain safe across frames. - Upload helpers preserve
WantCreatevsWantUpdates, which keeps first-frame texture uploads correct. - No global texture mutexes are used; the lifecycle is owned by the active
UiAppinstance.