# ImGui inspector

This compiled example opens a GLFW/OpenGL/Dear ImGui window in its own EpicTuner
plugin worker. It uses the public SDK for an ET panel, project/channel reads and
the independent window lifecycle. It does not link Qt or private app classes.

Configure from an extracted SDK (CMake 3.24+, C++20, OpenGL, GLFW's platform
development headers):

```sh
cmake -S examples/imgui-inspector -B out/imgui -DCMAKE_PREFIX_PATH=/absolute/sdk
cmake --build out/imgui --config Release
```

The included `release` CMake preset configures the same example using the
extracted SDK root two directories above. Set `CC` and `CXX` before configuring
if more than one native compiler is installed.

![Native inspector with labeled synthetic preview before connection](screenshot.png)

Run `epictuner-plugin-check --development --manifest out/imgui/plugin.json
--custom-window --ui-panel org.epictuner.examples.imgui.main`, or start the
application with `--plugin-development --plugin-manifest /absolute/out/imgui/plugin.json`.
Open the example from the Plugins menu and use its buttons to show, focus, close
and reopen the native window. Create a Mock ECU project to see live samples.
The demo searches paged project metadata for RPM, MAP and lambda channels,
including rusEFI's `RPMValue`, `MAPValue` and `RealLambdaValue1` names.

The demo uses an unsigned local development manifest. To distribute it, sign a
package using `out/imgui/package-manifest.json` after replacing the local test
publisher identity and matching it to your own Ed25519 public/private key.
Copy the library to `payload/<platform>/imgui-inspector.<dll-or-so>` and the two
bundled license files to `payload/licenses/`, then use
`python tools/package.py --manifest out/imgui/package-manifest.json
--payload-root payload --key /outside/sdk/publisher.pem --output inspector.etplugin`.
See [PACKAGE.md](../../docs/PACKAGE.md) for trust and installation.
Both bundled native dependencies retain their upstream license files.
