Skip to content

docs: the egui bump is blocked on one upstream release, not on an investigation - #523

Merged
doublegate merged 1 commit into
mainfrom
docs/egui-blocker-tracking
Sep 18, 2026
Merged

doublegate merged 1 commit into
mainfrom
docs/egui-blocker-tracking

Conversation

@doublegate

Copy link
Copy Markdown
Owner

AGENTS.md said the egui 0.36 / wgpu 30 migration was "blocked upstream" with no tracking anchor — so the only way to learn whether it was still blocked was to re-derive it. Re-measured 2026-09-18, and the answer changed.

The blocker is fixed upstream, and unreleased

emilk/egui PR #8516, "Fix egui-winit compilation on wasm32", merged 2026-09-07 into main, gating mod dropped_file; behind cfg(not(target_arch = "wasm32")).

mod dropped_file; wasm32
0.36.2 (newest published, 2026-09-08) ungated fails E0407
upstream main @ da7169ed gated compiles

0.36.2 shipped the day after the merge without it. Both ends verified by compiling a throwaway crate with this project's exact feature set, not by reading changelogs.

So the unblock condition is a version, not an open question: the first published egui-winit whose src/lib.rs gates that module — expect 0.36.3 or 0.37.

Four traps recorded

Each produced a wrong conclusion during this measurement:

  • The fix is in lib.rs, not the file the error names. dropped_file.rs still carries the unconditional impl on main, so reading the cited file reads as "still broken".
  • emilk/egui's default branch is main; a stale master ref also answers raw.githubusercontent.com and describes the wrong tree.
  • A [patch.crates-io] to that rev is silently ignored against a 0.36.2 requirement — the rev declares 0.36.1, cargo drops the patch and builds the registry copy while the error still names the registry path.
  • deny.toml refuses git sources (unknown-git = "deny", allow-git = [], 0 git packages in Cargo.lock), so landing early means widening supply-chain policy. Examined and deliberately not taken.

For when it lands

The branch is the only copy (main is egui 0.35 / wgpu 29 — deleting it destroys the work), it was cut at v2.3.2 against a main now at v2.6.19 so it needs rebasing, and the bump is atomic: egui-wgpu 0.36 requires wgpu 30.

Gates: markdownlint clean, release_anchor_audit 13/13. Docs-only.

🤖 Generated with Claude Code

https://claude.ai/code/session_014qfTKi2M3swo7qnwvYCkDj

…estigation

`AGENTS.md` said the egui 0.36 / wgpu 30 migration was "blocked upstream" and
gave no tracking anchor, so the only way to learn whether it was still blocked
was to re-derive it. Re-measured 2026-09-18, and the answer changed.

The blocker is fixed upstream. PR emilk/egui#8516, "Fix egui-winit compilation
on wasm32", merged 2026-09-07 into `main`, gating `mod dropped_file;` behind
`cfg(not(target_arch = "wasm32"))`. It is in NO published version: 0.36.2
shipped 2026-09-08, the day AFTER that merge, without it.

Both ends were verified by COMPILING rather than by reading changelogs -- a
throwaway crate carrying this project's exact feature set fails on 0.36.2 with
the identical E0407 and finishes clean against rev da7169ed. So the unblock
condition is a version rather than an open question: the first published
egui-winit whose `src/lib.rs` gates that module, expected 0.36.3 or 0.37.

FOUR TRAPS ARE RECORDED, because each one produced a wrong conclusion during
this measurement and would produce it again.

The fix is in `lib.rs` and NOT in the file the compiler names. `dropped_file.rs`
still carries the unconditional `impl` on upstream `main`, so reading the file
the error points at reads as "still broken" while it is fixed one level up.
That is the same shape as this project's own recurring finding that a gate can
be blind to its subject.

`emilk/egui`'s default branch is `main`, and a stale `master` ref also exists
and answers raw.githubusercontent.com, so fetching `master` silently describes
the wrong tree. Verifying the reference, not just the file.

A `[patch.crates-io]` to that rev is silently IGNORED against a `0.36.2`
requirement: the rev declares `0.36.1`, does not satisfy `^0.36.2`, and cargo
drops the patch and builds the registry copy while the error still names the
registry path -- which reads exactly like the patch having been applied and the
fix not working.

And using the rev at all is refused by this project's own policy. `deny.toml`
sets `unknown-git = "deny"` with `allow-git = []`, and `Cargo.lock` carries zero
git-sourced packages, so landing early means widening the supply-chain policy in
a project that SHA-pins its actions and keeps one toolchain source of truth.
Examined and deliberately NOT taken: the concession buys weeks against a real
reproducibility cost, and the release carries the fix anyway.

Also recorded for when it lands: the branch is the ONLY copy of the migration
(`main` is egui 0.35 / wgpu 29, so deleting it destroys the work), it was cut at
v2.3.2 against a `main` now at v2.6.19 and needs rebasing, and the bump is
atomic -- `egui-wgpu` 0.36 requires wgpu 30, so egui/egui-wgpu/egui-winit/wgpu/
naga move together or the graph holds wgpu 29 and 30 at once.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014qfTKi2M3swo7qnwvYCkDj
Copilot AI lite review requested due to automatic review settings September 18, 2026 06:23
@coderabbitai

coderabbitai Bot commented Sep 18, 2026

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Advanced

Run ID: cfe6fdd7-69fa-445c-b807-11bed0fc3d7e


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

@github-actions

Copy link
Copy Markdown

Antigravity review (Gemini via Ultra)

This PR adds documentation to AGENTS.md explaining that the egui 0.36 and wgpu 30 dependency bumps are blocked pending an upstream egui-winit release containing a specific wasm32 fix.

Blocking issues

None found.

Suggestions

  • AGENTS.md: This is a massive, unbroken paragraph. Consider breaking the "Four traps around this..." section into nested sub-bullets to improve readability, even if it slightly reduces the density compared to surrounding entries.

Nitpicks

  • AGENTS.md: An empty line was inserted after the new bullet, which appears inconsistent with the lack of spacing between the preceding bullets in the diff context.

Automated first-pass review by agy on a self-hosted runner -- not a human review.

@doublegate
doublegate merged commit 7781a38 into main Sep 18, 2026
20 of 21 checks passed
@doublegate
doublegate deleted the docs/egui-blocker-tracking branch September 18, 2026 06:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants