imgui-mirror/README.md
Turtle Dove 42b5a2b2a2 docs: Update README with PR links/demo badges, add CODE_OF_CONDUCT and issue templates
- README.md: Updated with live demo links, PR table, badge shields,
  backend improvement summary, and simplified structure
- CODE_OF_CONDUCT.md: Contributor Covenant v2.1
- .github/ISSUE_TEMPLATE/: Bug report and feature request templates
2026-07-14 13:15:19 -05:00

4.1 KiB

imgui_xl

Dear ImGui XL — An enhanced community fork of Dear ImGui, focused on backend improvements, CI/CD fixes, sensors, and extended examples.

License: MIT Upstream Live Demo PRs

Dear ImGui is a bloat-free graphical user interface library for C++. It outputs optimized vertex buffers that you can render anytime in your 3D-pipeline-enabled application. It is fast, portable, renderer-agnostic, and self-contained (no external dependencies).

Live Demos

Demo Description Link
Showcase Landing page with all demos + PR list turtle-pb.github.io/imgui_xl
Echonation Visual 5-mode audio-reactive canvas demo echonation.html
Pixel OS Model Interactive Pixel 8 Pro phone simulator pixel_os_demo.html

Upstream Contributions

This fork tracks upstream and contributes back via PRs:

PR Issue Description Status
#9467 #8878 Android CI: Pin Gradle 9.4.1 via setup-gradle action (no binaries) Open
#9468 #9390 Vulkan: Fixed use-after-free in multi-viewport dynamic rendering Open
#9469 #3446 Android: Move JNI keyboard/clipboard into backend, add sensors + display Open

Backend Improvements (PR #9469)

  • JNI keyboard/clipboard — Moved ~120 lines of JNI boilerplate from the example into the backend. App code is now just Init → Loop → Shutdown.
  • 8 sensor types — Accelerometer, gyroscope, magnetometer, light, proximity, pressure, humidity, ambient temperature via NDK ASensor API (no JNI).
  • Display metrics — DPI, density, xdpi/ydpi, refresh rate, orientation queried via JNI. Auto-scales ImGui style to actual device density.
  • Clipboard — Full clipboard support via JNI to Android ClipboardManager.
  • Zero binaries — No jar, no wrapper, no .gitignore changes.

CI Fix (PR #9467)

  • Uncommented and updated setup-gradle@v6 action to pin Gradle 9.4.1 (required by AGP 9.2.0).
  • Single 4-line change to build.yml, no binaries added.

Vulkan Fix (PR #9468)

  • Deep-copy SurfaceFormat.format into persistent buffer in ImGui_ImplVulkan_CreateWindow() to prevent use-after-free when viewport is destroyed.
  • Follows the same deep-copy pattern already used in CreateMainPipeline().

Sync Status

Branch Tracks Status
master upstream/master Synced
docking upstream/docking Synced

Quick Start

# Clone
git clone https://github.com/Turtle-PB/imgui_xl.git
cd imgui_xl

# Build example_null (no backend dependencies needed)
# Windows (MinGW)
mingw32-make -C examples/example_null

# Windows (MSVC)
cd examples\example_null
.\build_win32.bat

# Linux/macOS
cd examples/example_null
make

Contributing

See CONTRIBUTING.md for guidelines on submitting issues, PRs, and syncing with upstream.

License

MIT License — see LICENSE.txt for details.

Credits

Dear ImGui is developed by Omar Cornut and every direct or indirect contributor to the GitHub repository.

Echonation visuals inspired by @Echonation. Fork by Paul Adcock (Turtle-PB).