Skip to content

Commit 4f4ed50

Browse files
chore(deps): bump eframe from 0.34.3 to 0.35.0 (#148)
Bumps [eframe](https://github.com/emilk/egui) from 0.34.3 to 0.35.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/emilk/egui/releases">eframe's releases</a>.</em></p> <blockquote> <h2>0.35.0 - Inspection, egui_mcp, classes and improved IME</h2> <!-- raw HTML omitted --> <p>egui is an easy-to-use immediate mode GUI for Rust that runs on both web and native.</p> <p>Try it now: <a href="https://www.egui.rs/">https://www.egui.rs/</a></p> <p>egui development is sponsored by <a href="https://www.rerun.io/">Rerun</a>, a startup building an SDK for visualizing streams of multimodal data.</p> <h3>Highlights</h3> <ul> <li>New egui_mcp crate based on eguis new inspection protocol</li> <li>Set classes on your <code>Ui</code>s to modify widget behavior based on surrounding context</li> <li>Improved IME</li> </ul> <h3>Egui inspection and egui_mcp</h3> <p>This release includes a new inspection protocol for egui. It allows reading the accesskit tree of a running app, as well as sending events to control it. It's implemented via a new <code>InspectionPlugin</code> in the <code>egui_inspection</code> crate. Eframe includes a new <code>inspection</code> feature. When enabled, you can enable inspection by launching the app with <code>EGUI_INSPECTION=1</code>. This will cause the app to listen on port 5719.</p> <p>The first inspection protocol consumer is <a href="https://github.com/rerun-io/kittest_inspector/tree/main/crates/egui_mcp">egui_mcp</a>. It's a <a href="https://modelcontextprotocol.io/docs/getting-started/intro">mcp</a> server that allows your agent to see and use egui apps. It can be used to have the agent use the app, reproduce bugs and verify its changes. Install it via <code>cargo install --git https://github.com/rerun-io/kittest_inspector egui_mcp</code> and then add it to your agent via <code>claude mcp add egui egui-mcp</code>.</p> <p>There is also a plan of adding a general inspection gui using the same protocol, that can e.g. be used to step through kittest tests frame by frame.</p> <p>Here is claude using the mcp to try some of the egui demos (sped up by a lot, claude is slow):</p> <p><a href="https://github.com/user-attachments/assets/c3dd0456-acfc-428c-8efe-f4a244c9e3ba">https://github.com/user-attachments/assets/c3dd0456-acfc-428c-8efe-f4a244c9e3ba</a></p> <ul> <li>Add <code>egui_inspection</code> protocol and plugin <a href="https://redirect.github.com/emilk/egui/pull/8234">#8234</a> by <a href="https://github.com/lucasmerlin"><code>@​lucasmerlin</code></a></li> </ul> <h3>Classes</h3> <p>As part of <a href="https://redirect.github.com/emilk/egui/issues/3284">css like styling</a>, we've added classes to egui. You can already use them to e.g. modify widget behavior or styling based on surrounding context. Add classes to the container:</p> <pre lang="rs"><code>ui.scope_builder(UiBuilder::new().with_class(&quot;my_container&quot;), |ui| { ... }); </code></pre> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/emilk/egui/blob/main/CHANGELOG.md">eframe's changelog</a>.</em></p> <blockquote> <h2>0.35.0 - 2026-06-25 - Inspection, egui_mcp, classes and improved IME</h2> <h3>Highlights</h3> <ul> <li>New egui_mcp crate based on eguis new inspection protocol</li> <li>Set classes on your <code>Ui</code>s to modify widget behavior based on surrounding context</li> <li>Improved IME</li> </ul> <h3>Egui inspection and egui_mcp</h3> <p>This release includes a new inspection protocol for egui. It allows reading the accesskit tree of a running app, as well as sending events to control it. It's implemented via a new <code>InspectionPlugin</code> in the <code>egui_inspection</code> crate. Eframe includes a new <code>inspection</code> feature. When enabled, you can enable inspection by launching the app with <code>EGUI_INSPECTION=1</code>. This will cause the app to listen on port 5719.</p> <p>The first inspection protocol consumer is <a href="https://github.com/rerun-io/kittest_inspector/tree/main/crates/egui_mcp">egui_mcp</a>. It's a <a href="https://modelcontextprotocol.io/docs/getting-started/intro">mcp</a> server that allows your agent to see and use egui apps. It can be used to have the agent use the app, reproduce bugs and verify its changes. Install it via <code>cargo install --git https://github.com/rerun-io/kittest_inspector egui_mcp</code> and then add it to your agent via <code>claude mcp add egui egui-mcp</code>.</p> <p>There is also a plan of adding a general inspection gui using the same protocol, that can e.g. be used to step through kittest tests frame by frame.</p> <p>Here is claude using the mcp to try some of the egui demos (sped up by a lot, claude is slow):</p> <p><a href="https://github.com/user-attachments/assets/c3dd0456-acfc-428c-8efe-f4a244c9e3ba">https://github.com/user-attachments/assets/c3dd0456-acfc-428c-8efe-f4a244c9e3ba</a></p> <ul> <li>Add <code>egui_inspection</code> protocol and plugin <a href="https://redirect.github.com/emilk/egui/pull/8234">#8234</a> by <a href="https://github.com/lucasmerlin"><code>@​lucasmerlin</code></a></li> </ul> <h3>Classes</h3> <p>As part of <a href="https://redirect.github.com/emilk/egui/issues/3284">css like styling</a>, we've added classes to egui. You can already use them to e.g. modify widget behavior or styling based on surrounding context. Add classes to the container:</p> <pre lang="rs"><code>ui.scope_builder(UiBuilder::new().with_class(&quot;my_container&quot;), |ui| { ... }); </code></pre> <p>In your widget, check if we're in <code>my_container</code>, to e.g. change sizes or colors:</p> <pre lang="rs"><code> let in_container = ui.stack().iter().any(|s| s.classes.has(&quot;my_container&quot;)); </code></pre> <p>Today this only works for custom widgets and ui code, but the next step will be a styling system that allows you to modify built in widget styling based on these classes.</p> <ul> <li>Add <code>Classes</code> to <code>UiBuilder</code> and some Widgets <a href="https://redirect.github.com/emilk/egui/pull/7843">#7843</a> by <a href="https://github.com/AdrienZianne"><code>@​AdrienZianne</code></a></li> </ul> <h3>Better IME composition</h3> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/emilk/egui/commit/74c0a0cb9b14c84f7b64190bfcb743afe4fce2f2"><code>74c0a0c</code></a> Add changelog</li> <li><a href="https://github.com/emilk/egui/commit/a08630c99649e52ae570acdb48c287bddefacbfe"><code>a08630c</code></a> Improve docs on some methods to clarify what counts as a &quot;click&quot; (<a href="https://redirect.github.com/emilk/egui/issues/8251">#8251</a>)</li> <li><a href="https://github.com/emilk/egui/commit/5bf62ca4b336df9bf327adec2cfa52a471dba3f8"><code>5bf62ca</code></a> Implement proper visuals for IME composition (<a href="https://redirect.github.com/emilk/egui/issues/8083">#8083</a>)</li> <li><a href="https://github.com/emilk/egui/commit/a8d09eb60d37381a902b61160d9bc589508442e5"><code>a8d09eb</code></a> Fix macOS wgpu live resize with low-latency surfaces (<a href="https://redirect.github.com/emilk/egui/issues/8229">#8229</a>)</li> <li><a href="https://github.com/emilk/egui/commit/2e26b70ae95883c93961d8eeb077559f896e8932"><code>2e26b70</code></a> Call <code>logic</code> even while browser tab is in background (<a href="https://redirect.github.com/emilk/egui/issues/8257">#8257</a>)</li> <li><a href="https://github.com/emilk/egui/commit/26ead4af210c167819d6569f99c9f56c899bd01d"><code>26ead4a</code></a> feat: add <code>remove_string()</code> to storage trait (<a href="https://redirect.github.com/emilk/egui/issues/8264">#8264</a>)</li> <li><a href="https://github.com/emilk/egui/commit/3fdcef15ab3cf4138ac665dc0ca72ab147ba6bb3"><code>3fdcef1</code></a> Add <code>atoms()</code> helpers to get <code>Atoms</code> from widgets (<a href="https://redirect.github.com/emilk/egui/issues/8128">#8128</a>)</li> <li><a href="https://github.com/emilk/egui/commit/ffbd7dc6416cd4b14140b2063f8fab8275842f97"><code>ffbd7dc</code></a> Remove 64 bit atomics in egui_extras (<a href="https://redirect.github.com/emilk/egui/issues/8263">#8263</a>)</li> <li><a href="https://github.com/emilk/egui/commit/3e19bd14046aafc763a75013f4648b41b2cf3b5c"><code>3e19bd1</code></a> Make font hinting target configurable via <code>FontTweak</code> (<a href="https://redirect.github.com/emilk/egui/issues/8262">#8262</a>)</li> <li><a href="https://github.com/emilk/egui/commit/e8d96525f4530c5426c8d2088ff99a18460e88b7"><code>e8d9652</code></a> Make <code>Slider::new</code> take <code>impl Into&lt;RangeInclusive</code> (<a href="https://redirect.github.com/emilk/egui/issues/8260">#8260</a>)</li> <li>Additional commits viewable in <a href="https://github.com/emilk/egui/compare/0.34.3...0.35.0">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=eframe&package-manager=cargo&previous-version=0.34.3&new-version=0.35.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
1 parent ec1b7a5 commit 4f4ed50

2 files changed

Lines changed: 175 additions & 103 deletions

File tree

0 commit comments

Comments
 (0)