Public record
Software health reportschema 0.31.0 · metrics 2.5.0 · 2026-08-06 05:33 UTC

emilk / egui

egui: an easy-to-use immediate mode GUI in Rust that runs on both web and native

RustApache-2.0★ 29,979 stars⑂ 2,097 forkssince Jan 2019View on GitHub ↗
KindLibraryDesktop applicationhow this is determined

emilk/egui holds a health index of 94 out of 100, placing it in the Exceptional band. It scores highest on Vitality (98/100) and lowest on AI Readiness (59/100). It was last updated today. A single contributor accounts for most of its recent work.

94
overall / 100
Exceptional

Software health index

Metrics are grouped into weighted categories on one standardized 1–100 scale. Overall starts as their weighted mean, calibrated against the distribution of the public record so bands carry percentile meaning; when public evidence triggers the High-Risk Jurisdiction Policy, the rating is adjusted and receives an At Risk ceiling of 34.

94
Exceptional93-100The record's top tier (≈ top 5%); essentially all checked criteria met
Excellent80-92Strong across the board; minor gaps
Good65-79Healthy; gaps are limited and manageable
Moderate50-64Acceptable with notable gaps; review recommended
Weak35-49Material weaknesses across several areas
At Risk20-34Significant weaknesses; adoption warrants caution
Critical1-19Severe problems (abandoned, single-maintainer, no hygiene)
VitalityCommunity &AdoptionSustainability &GovernanceEngineeringQualitySecurityAI Readiness

Score profile

Each axis is a category. The shape matters more than the average — a healthy subject fills the whole shape, while a spike-and-crater profile means strength in one dimension is masking risk in another.

The weighted overall 80 is calibrated to 94 on the published index scale (record calibration 2026-08-02).

Ownership

Emil ErnerfeldtPersonal account
7,863 followers84 public repossince Oct 2011Rerun.io, egui

This repository is owned by a personal account. A single-owner project carries more continuity risk than an organization-backed one.

Package ecosystems

RegistryPackageVersionDownloads / moVersionsLast publishTags
crates.ioxtaskpoints to another repo — not scored0.1.4216536 days agoautomationcodesignmacosreleasextaskcommand-line-utilities
crates.ioegui0.36.01,540,775640 days agogamedevguiimguiimmediateportablegame-development
crates.ioemath0.36.01,610,492470 days agoguimathmathematics
crates.ioecolor0.36.01,545,443350 days agocolorconversiongamedevguiimagesencodingmathematics
crates.ioeframe0.36.01,264,323530 days agoeguigamedevguigame-development
crates.ioepaint0.36.01,542,722480 days agoeguigraphicsgui
crates.ioegui-wgpu0.36.01,064,217440 days agoeguigamedevguiwgpugame-development
crates.ioegui_glow0.36.01,273,200420 days agoeguigamedevglowguigame-development
crates.ioegui-winit0.36.01,370,231500 days agoeguigamedevguiwinitgame-development

Metrics by category

Vitality

Is the project alive — is code being written and are releases shipping?

98Exceptional · 21% of overall
How it's scored
36/36Push recency — last push 0 days ago
32.5/36Commit cadence — 47/52 weeks with commits
18/18Commit volume — 471 commits in the last year
10/10OpenSSF Scorecard: Maintained — 30 commit(s) and 9 issue activity found in the last 90 days -- score normalized to 10
Inputs used
commits_last_year471
human_commit_share1
days_since_last_push0
active_weeks_last_year47

Release discipline

100Exceptional
How it's scored
27/27Ships releases — 43 releases published
36/36Release recency — latest release 0 days ago
27/27Release cadence — a release every ~36.4 days
0/10OpenSSF Scorecard: Signed-Releases — no data
Inputs used
releases_count43
latest_release_tag0.36.0
releases_from_tagsno
days_since_latest_release0
mean_days_between_releases36.4
Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Signed-Releases. Remaining weights renormalized.

Community & Adoption

Does the project have users, downloads, attention, and a welcoming setup for contributors?

96Exceptional · 17% of overall
How it's scored
60/60Stars — 29,979 stars
25/25Forks — 2,097 forks
12/15Watchers — 144 watchers
Inputs used
forks2,097
stars29,979
watchers144
growth_stateunverified
growth_factor_pct100
growth_unverified_reasonno_history

Community health

92Excellent
How it's scored
22.5/22.5README
22.5/22.5License — recognized license (Apache-2.0)
18/18CONTRIBUTING guide
13.5/13.5Code of conduct
0/7.2Issue template
6.3/6.3PR template
Inputs used
has_readmeyes
has_licenseyes
readme_badges7
has_contributingyes
has_issue_templateno
has_code_of_conductyes
readme_badge_servicesgithub.com, shields.io
has_pull_request_templateyes
How it's scored
80/80Monthly downloads — 11,211,403 downloads/month across crates
0/20Registry dependents — not reported by this ecosystem
Inputs used
packagesegui, emath, ecolor, eframe, epaint, egui-wgpu, egui_glow, egui-winit
dependents
ecosystemscrates
total_downloads143,530,676
monthly_downloads11,211,403
Excluded from scoring (no data or not applicable): Registry dependents. Remaining weights renormalized.

Sustainability & Governance

Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?

68Good · 23% of overall
How it's scored
9/54Bus factor — 1 contributor(s) cover half of all commits
4.8/22.5Commit distribution — top contributor authored 78% of commits
13.5/13.5Contributor breadth — 99 contributors
10/10OpenSSF Scorecard: Contributors — project has 44 contributing companies or organizations
Inputs used
bus_factor1
contributors_sampled99
top_contributor_share0.785
How it's scored
26.9/42Issue resolution — 64% of issues closed
24.4/30PR acceptance — 2,355/2,893 decided PRs merged
10.4/13Newcomer PR acceptance — 4/5 first-time contributors' PRs merged in 30d
9/15OpenSSF Scorecard: Code-Review — Found 20/30 approved changesets -- score normalized to 6
Inputs used
merged_prs2,355
open_issues930
closed_issues1,662
prs_merged_7d29
prs_decided_7d33
prs_merged_30d29
prs_decided_30d34
issue_closed_ratio0.641
closed_unmerged_prs538
first_time_authors_30d5
first_time_prs_merged_30d4
first_time_prs_decided_30d5
How it's scored
10/30Ownership backing — personal (user) account
0/20Verified domain — not applicable to user accounts
25/25Owner reach — 7,863 followers of emilk
25/25Track record — 84 public repos, account ~14 yr old
Inputs used
followers7,863
owner_typeUser
is_verified
owner_loginemilk
public_repos84
account_age_days5,399
Excluded from scoring (no data or not applicable): Verified domain. Remaining weights renormalized.

Package maintenance

100Exceptional
How it's scored
25/25Published & resolvable — 8 package(s) on crates
35/35Publish recency — latest publish 0 days ago
20/20Version history — 64 published versions
20/20Not deprecated — active, not deprecated or yanked
Inputs used
packagesegui, emath, ecolor, eframe, epaint, egui-wgpu, egui_glow, egui-winit
ecosystemscrates
any_deprecatedno
min_days_since_publish0

Engineering Quality

Are baseline engineering and documentation practices in place?

81Excellent · 19% of overall
How it's scored
24/24CI workflows — 14 workflow(s)
24/24Tests present
0/16Linter config
0/9.6Pre-commit hooks
0/6.4.editorconfig
20/20OpenSSF Scorecard: CI-Tests — 30 out of 30 merged PRs checked by a CI test -- score normalized to 10
Inputs used
has_ciyes
has_testsyes
has_editorconfigno
has_linter_configno
has_precommit_configno

Documentation

100Exceptional
How it's scored
30/30README
25/25Documentation directory
15/15Documentation / homepage site — https://www.egui.rs/
10/10Repository description
10/10Topics — 7 topics
10/10Wiki
Inputs used
topicsgui, rust, game-development, wasm, imgui, gamedev, egui
has_wikiyes
homepagehttps://www.egui.rs/
has_readmeyes
has_docs_diryes
has_descriptionyes

Security

Are visible security and supply-chain practices strong, without unresolved high-risk jurisdiction exposure?

60Moderate · 16% of overall
How it's scored
7.5/7.5Binary-Artifacts — no binaries found in the repo
0/7.5Branch-Protection — branch protection not enabled on development/release branches
2.5/2.5CI-Tests — 30 out of 30 merged PRs checked by a CI test -- score normalized to 10
0/2.5CII-Best-Practices — no effort to earn an OpenSSF best practices badge detected
4.5/7.5Code-Review — Found 20/30 approved changesets -- score normalized to 6
2.5/2.5Contributors — project has 44 contributing companies or organizations
10/10Dangerous-Workflow — no dangerous workflow patterns detected
7.5/7.5Dependency-Update-Tool — update tool detected
0/5Fuzzing — project is not fuzzed
2.5/2.5License — license file detected
7.5/7.5Maintained — 30 commit(s) and 9 issue activity found in the last 90 days -- score normalized to 10
0/5Packaging — no data
0/5Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 0
0/5SAST — SAST tool is not run on all commits -- score normalized to 0
0/5Security-Policy — security policy file not detected
0/7.5Signed-Releases — no data
0/7.5Token-Permissions — detected GitHub workflow tokens with excessive permissions
2.2/7.5Vulnerabilities — 7 existing vulnerabilities detected
Inputs used
sourceopenssf_scorecard
checks_evaluated16
scorecard_versionv5.5.0
checks_inconclusive2
scorecard_aggregate5.1
Excluded from scoring (no data or not applicable): packaging, signed_releases. Remaining weights renormalized.

Dependency advisories

100Exceptional
How it's scored
35/35Direct dependencies free of known advisories — no direct dependency carries a known advisory
0/25Indirect dependencies free of known advisories — transitive set not separable from development and test dependencies in this scope
0/40No advisories left outstanding — no advisory carries a publication date
Inputs used
sourceosv
advisories7
affected_packages6
assessed_packages561
unassessed_packages0
affected_by_severityhigh 1, unknown 5
direct_affected_packages0
Excluded from scoring (no data or not applicable): Indirect dependencies free of known advisories, No advisories left outstanding. Remaining weights renormalized. Matched 561 resolved dependencies against OSV. This repository publishes no package the index resolves, so the repository dependency graph was assessed instead. That graph mixes development and test pins with shipped dependencies, so only the declared runtime dependencies are scored; transitive findings are reported as context and excluded from the score. Reachability is not analyzed.

AI Readiness

How well is the repo equipped to be developed and maintained with AI coding agents? Carries a deliberately small weight (4%): agent tooling is a real maintenance signal, but a repository with none can still reach 100/100.

59Moderate · 4% of overall
How it's scored
0/45Agent instructions — no CLAUDE.md / AGENTS.md / editor rules
0/15Machine-readable docs (llms.txt)
40/40Legible commit history — 100 of 100 human commits state their intent (structured subject or explanatory body)
Inputs used
has_llms_txtno
legible_history_share1
agent_instruction_files
agent_instruction_max_bytes
How it's scored
12.6/18One-command bootstrap — Cargo.toml, crates/ecolor/Cargo.toml, crates/eframe/Cargo.toml (toolchain convention, no task runner)
22/22Automated tests
0/11Lint / format config
11/11Static type checking — Rust (statically typed)
10/10Reproducible environment — lockfile
10/10Demonstrated agent practice — 28 of the last 100 commits agent-authored or agent-credited
0/8Automated maintenance — no automated dependency updates observed
0/10OpenSSF Scorecard: Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 0
Inputs used
has_nixno
has_testsyes
lockfilesCargo.lock
has_dockerfileno
typed_languageyes
bootstrap_files
has_devcontainerno
has_linter_configno
typecheck_configs
agent_commit_share0.28
toolchain_manifestsCargo.toml, crates/ecolor/Cargo.toml, crates/eframe/Cargo.toml, crates/egui-wgpu/Cargo.toml, crates/egui-winit/Cargo.toml, crates/egui/Cargo.toml, crates/egui_demo_app/Cargo.toml, crates/egui_demo_lib/Cargo.toml, crates/egui_extras/Cargo.toml, crates/egui_glow/Cargo.toml, crates/egui_inspection/Cargo.toml, crates/egui_kittest/Cargo.toml, crates/emath/Cargo.toml, crates/epaint/Cargo.toml, crates/epaint_default_fonts/Cargo.toml, examples/confirm_exit/Cargo.toml, examples/custom_3d_glow/Cargo.toml, examples/custom_font/Cargo.toml, examples/custom_font_style/Cargo.toml, examples/custom_keypad/Cargo.toml, examples/custom_style/Cargo.toml, examples/custom_window_frame/Cargo.toml, examples/external_eventloop/Cargo.toml, examples/external_eventloop_async/Cargo.toml, examples/file_dialog/Cargo.toml, examples/font_variations/Cargo.toml, examples/hello_android/Cargo.toml, examples/hello_world/Cargo.toml, examples/hello_world_par/Cargo.toml, examples/hello_world_simple/Cargo.toml, examples/images/Cargo.toml, examples/keyboard_events/Cargo.toml, examples/multiple_viewports/Cargo.toml, examples/popups/Cargo.toml, examples/puffin_profiler/Cargo.toml, examples/screenshot/Cargo.toml, examples/serial_windows/Cargo.toml, examples/user_attention/Cargo.toml, tests/egui_tests/Cargo.toml, tests/test_background_logic/Cargo.toml, tests/test_egui_extras_compilation/Cargo.toml, tests/test_inline_glow_paint/Cargo.toml, tests/test_size_pass/Cargo.toml, tests/test_ui_stack/Cargo.toml, tests/test_viewports/Cargo.toml, xtask/Cargo.toml
dependency_bot_commit_share0
How it's scored
45/45Type-checkable code — Rust (statically typed)
53.7/55Manageable file sizes — 9/376 source files over 60KB
Inputs used
primary_languageRust
largest_source_bytes172,007
source_files_sampled376
oversized_source_files9
How it's scored
0/40API schema (OpenAPI/GraphQL/proto)
0/20MCP server
40/40Runnable examples — demos, examples
Inputs used
example_dirsdemos, examples
has_mcp_signalno
api_schema_files

Key facts

29,979GitHub stars
99contributors
471commits, last 12 months
0days since last push
43releases
1bus factor
930open issues
crates.iopackage ecosystems

Data collection warnings

  • Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token
  • First-time contributor figures cover 12 of 13 authors (cap 12)
  • crates package 'xtask' points at a different repository (https://github.com/arcboxlabs/xtask); excluded from ecosystem scoring
  • deps.dev does not index crates:egui@0.36.0; advisories assessed against the repository dependency graph instead

More detail

Star and fork history 0 ★ / 2,097 ⇿
0Stars
2,097Forks
29Releases

When each star and fork was added, collected from GitHub and bucketed by day. Cumulative growth sits directly above the daily additions it is made of, so the two read against each other: steady organic accretion looks nothing like an abrupt, short-lived burst. Where that difference is measurable, it is reported as growth authenticity.

Only the most recent history is shown — this repository exceeds the collection window, so the earliest history is not captured.

1,0001,2001,4001,6001,8002,0002,2002,097102023-112025-032026-08
Major 0Minor 12Patch 16

Each point covers 3 days.

OpenSSF Scorecard 5.1 / 10
5.1aggregate

Independent, tool-agnostic security assessment from the open-source OpenSSF Scorecard. Each check rewards a security practice, not a specific vendor's tool. Checks Scorecard could not determine are marked n/a and excluded from the security score (never counted as zero).Scorecard v5.5.0 · 2026-08-06 05:33 UTC

10Binary-Artifactsno binaries found in the repo
0Branch-Protectionbranch protection not enabled on development/release branches
10CI-Tests30 out of 30 merged PRs checked by a CI test -- score normalized to 10
0CII-Best-Practicesno effort to earn an OpenSSF best practices badge detected
6Code-ReviewFound 20/30 approved changesets -- score normalized to 6
10Contributorsproject has 44 contributing companies or organizations
10Dangerous-Workflowno dangerous workflow patterns detected
10Dependency-Update-Toolupdate tool detected
0Fuzzingproject is not fuzzed
10Licenselicense file detected
10Maintained30 commit(s) and 9 issue activity found in the last 90 days -- score normalized to 10
n/aPackagingpackaging workflow not detected
0Pinned-Dependenciesdependency not pinned by hash detected -- score normalized to 0
0SASTSAST tool is not run on all commits -- score normalized to 0
0Security-Policysecurity policy file not detected
n/aSigned-Releasesno releases found
0Token-Permissionsdetected GitHub workflow tokens with excessive permissions
3Vulnerabilities7 existing vulnerabilities detected
Direct dependencies 146
RegistryPackageVersion constraintManifest
crates.ioemathcrates/ecolor/Cargo.toml
crates.iobytemuckcrates/ecolor/Cargo.toml
crates.iocintcrates/ecolor/Cargo.toml
crates.iocolor-hexcrates/ecolor/Cargo.toml
crates.iodocument-featurescrates/ecolor/Cargo.toml
crates.ioserdecrates/ecolor/Cargo.toml
crates.ioeguicrates/eframe/Cargo.toml
crates.ioahashcrates/eframe/Cargo.toml
crates.iodocument-featurescrates/eframe/Cargo.toml
crates.iologcrates/eframe/Cargo.toml
crates.ioparking_lotcrates/eframe/Cargo.toml
crates.ioprofilingcrates/eframe/Cargo.toml
crates.ioraw-window-handlecrates/eframe/Cargo.toml
crates.iostatic_assertionscrates/eframe/Cargo.toml
crates.ioweb-timecrates/eframe/Cargo.toml
crates.ioegui_glowcrates/eframe/Cargo.toml
crates.ioegui_inspectioncrates/eframe/Cargo.toml
crates.ioglowcrates/eframe/Cargo.toml
crates.ioroncrates/eframe/Cargo.toml
crates.ioserdecrates/eframe/Cargo.toml
crates.ioepaintcrates/egui-wgpu/Cargo.toml
crates.ioahashcrates/egui-wgpu/Cargo.toml
crates.iobytemuckcrates/egui-wgpu/Cargo.toml
crates.iodocument-featurescrates/egui-wgpu/Cargo.toml
crates.iologcrates/egui-wgpu/Cargo.toml
crates.ioprofilingcrates/egui-wgpu/Cargo.toml
crates.iothiserrorcrates/egui-wgpu/Cargo.toml
crates.iotype-mapcrates/egui-wgpu/Cargo.toml
crates.ioweb-timecrates/egui-wgpu/Cargo.toml
crates.iowgpucrates/egui-wgpu/Cargo.toml
crates.ioeguicrates/egui-wgpu/Cargo.toml
crates.iowinitcrates/egui-wgpu/Cargo.toml
crates.ioeguicrates/egui-winit/Cargo.toml
crates.iologcrates/egui-winit/Cargo.toml
crates.ioprofilingcrates/egui-winit/Cargo.toml
crates.ioraw-window-handlecrates/egui-winit/Cargo.toml
crates.ioweb-timecrates/egui-winit/Cargo.toml
crates.iowinitcrates/egui-winit/Cargo.toml
crates.ioaccesskit_winitcrates/egui-winit/Cargo.toml
crates.iobytemuckcrates/egui-winit/Cargo.toml
crates.iodocument-featurescrates/egui-winit/Cargo.toml
crates.ioserdecrates/egui-winit/Cargo.toml
crates.iowebbrowsercrates/egui-winit/Cargo.toml
crates.ioemathcrates/egui/Cargo.toml
crates.ioepaintcrates/egui/Cargo.toml
crates.ioaccesskitcrates/egui/Cargo.toml
crates.ioahashcrates/egui/Cargo.toml
crates.iobitflagscrates/egui/Cargo.toml
crates.ioitertoolscrates/egui/Cargo.toml
crates.iologcrates/egui/Cargo.toml
crates.ionohash-hashercrates/egui/Cargo.toml
crates.ioprofilingcrates/egui/Cargo.toml
crates.iosmallveccrates/egui/Cargo.toml
crates.iounicode-segmentationcrates/egui/Cargo.toml
crates.iobacktracecrates/egui/Cargo.toml
crates.iodocument-featurescrates/egui/Cargo.toml
crates.ioroncrates/egui/Cargo.toml
crates.ioserdecrates/egui/Cargo.toml
crates.ioeframecrates/egui_demo_app/Cargo.toml
crates.ioeguicrates/egui_demo_app/Cargo.toml
crates.ioegui_demo_libcrates/egui_demo_app/Cargo.toml
crates.ioegui_extrascrates/egui_demo_app/Cargo.toml
crates.ioimagecrates/egui_demo_app/Cargo.toml
crates.iojiffcrates/egui_demo_app/Cargo.toml
crates.iologcrates/egui_demo_app/Cargo.toml
crates.ioprofilingcrates/egui_demo_app/Cargo.toml
crates.ioaccesskitcrates/egui_demo_app/Cargo.toml
crates.ioaccesskit_consumercrates/egui_demo_app/Cargo.toml
crates.iobytemuckcrates/egui_demo_app/Cargo.toml
crates.iopuffincrates/egui_demo_app/Cargo.toml
crates.iopuffin_httpcrates/egui_demo_app/Cargo.toml
crates.ioehttpcrates/egui_demo_app/Cargo.toml
crates.iopoll-promisecrates/egui_demo_app/Cargo.toml
crates.ioserdecrates/egui_demo_app/Cargo.toml
crates.ioeguicrates/egui_demo_lib/Cargo.toml
crates.ioegui_extrascrates/egui_demo_lib/Cargo.toml
crates.iologcrates/egui_demo_lib/Cargo.toml
crates.iounicode_names2crates/egui_demo_lib/Cargo.toml
crates.iojiffcrates/egui_demo_lib/Cargo.toml
crates.iodocument-featurescrates/egui_demo_lib/Cargo.toml
crates.ioserdecrates/egui_demo_lib/Cargo.toml
crates.ioeguicrates/egui_extras/Cargo.toml
crates.ioahashcrates/egui_extras/Cargo.toml
crates.ioenum-mapcrates/egui_extras/Cargo.toml
crates.ioitertoolscrates/egui_extras/Cargo.toml
crates.iologcrates/egui_extras/Cargo.toml
crates.ioprofilingcrates/egui_extras/Cargo.toml
crates.ioserdecrates/egui_extras/Cargo.toml
crates.iojiffcrates/egui_extras/Cargo.toml
crates.iodocument-featurescrates/egui_extras/Cargo.toml
crates.ioimagecrates/egui_extras/Cargo.toml
crates.iomime_guess2crates/egui_extras/Cargo.toml
crates.iosyntectcrates/egui_extras/Cargo.toml
crates.ioresvgcrates/egui_extras/Cargo.toml
crates.ioehttpcrates/egui_extras/Cargo.toml
crates.ioeguicrates/egui_glow/Cargo.toml
crates.ioegui-winitcrates/egui_glow/Cargo.toml
crates.iobytemuckcrates/egui_glow/Cargo.toml
crates.ioglowcrates/egui_glow/Cargo.toml
crates.iologcrates/egui_glow/Cargo.toml
crates.ioprofilingcrates/egui_glow/Cargo.toml
crates.iodocument-featurescrates/egui_glow/Cargo.toml
crates.iowinitcrates/egui_glow/Cargo.toml
crates.ioeguicrates/egui_inspection/Cargo.toml
crates.ioserdecrates/egui_inspection/Cargo.toml
crates.ioserde_bytescrates/egui_inspection/Cargo.toml
crates.iormp-serdecrates/egui_inspection/Cargo.toml
crates.ioimagecrates/egui_inspection/Cargo.toml
crates.iologcrates/egui_inspection/Cargo.toml
crates.iodocument-featurescrates/egui_inspection/Cargo.toml
crates.ioeguicrates/egui_kittest/Cargo.toml
crates.ioeframecrates/egui_kittest/Cargo.toml
crates.iokittestcrates/egui_kittest/Cargo.toml
crates.iologcrates/egui_kittest/Cargo.toml
crates.ioserdecrates/egui_kittest/Cargo.toml
crates.iotomlcrates/egui_kittest/Cargo.toml
crates.ioegui-wgpucrates/egui_kittest/Cargo.toml
crates.iopollstercrates/egui_kittest/Cargo.toml
crates.ioimagecrates/egui_kittest/Cargo.toml
crates.iowgpucrates/egui_kittest/Cargo.toml
crates.iodifycrates/egui_kittest/Cargo.toml
crates.iodocument-featurescrates/egui_kittest/Cargo.toml
crates.iobytemuckcrates/emath/Cargo.toml
crates.iodocument-featurescrates/emath/Cargo.toml
crates.iomintcrates/emath/Cargo.toml
crates.ioserdecrates/emath/Cargo.toml
crates.ioemathcrates/epaint/Cargo.toml
crates.ioecolorcrates/epaint/Cargo.toml
crates.ioahashcrates/epaint/Cargo.toml
crates.iofont-typescrates/epaint/Cargo.toml
crates.ioharfrustcrates/epaint/Cargo.toml
crates.iologcrates/epaint/Cargo.toml
crates.ionohash-hashercrates/epaint/Cargo.toml
crates.ioparking_lotcrates/epaint/Cargo.toml
crates.ioprofilingcrates/epaint/Cargo.toml
crates.ioself_cellcrates/epaint/Cargo.toml
crates.ioskrifacrates/epaint/Cargo.toml
crates.iosmallveccrates/epaint/Cargo.toml
crates.iounicode-general-categorycrates/epaint/Cargo.toml
crates.iounicode-segmentationcrates/epaint/Cargo.toml
crates.iovello_cpucrates/epaint/Cargo.toml
crates.iobytemuckcrates/epaint/Cargo.toml
crates.iodocument-featurescrates/epaint/Cargo.toml
crates.iorayoncrates/epaint/Cargo.toml
crates.ioserdecrates/epaint/Cargo.toml
crates.ioepaint_default_fontscrates/epaint/Cargo.toml
All dependencies 561

Full resolved dependency set from the GitHub dependency graph: 58 direct and 503 indirect (transitive) packages. The transitive closure is complete when the repository commits a lockfile.

RegistryPackageVersionRelation
crates.ioaccesskit0.24.1direct
crates.ioaccesskit_consumer0.35.0direct
crates.ioaccesskit_winit0.32.2direct
crates.ioahash0.8.12direct
crates.iobacktrace0.3.76direct
crates.iobitflags1.3.2direct
crates.iobitflags2.13.1direct
crates.iobytemuck1.25.2direct
crates.iocint0.3.1direct
crates.iocolor-hex0.2.0direct
crates.iodify0.8.0direct
crates.iodocument-features0.2.12direct
crates.ioehttp0.7.1direct
crates.ioenum-map2.7.3direct
crates.iofont-types0.12.2direct
crates.ioglow0.17.0direct
crates.ioharfrust0.12.0direct
crates.ioimage0.25.6direct
crates.ioitertools0.13.0direct
crates.ioitertools0.14.0direct
crates.ioitertools0.15.0direct
crates.iojiff0.2.35direct
crates.iokittest0.4.0direct
crates.iolog0.4.33direct
crates.iomime_guess22.3.1direct
crates.iomint0.5.9direct
crates.ionohash-hasher0.2.0direct
crates.ioparking_lot0.12.5direct
crates.iopoll-promise0.3.0direct
crates.iopollster0.4.0direct
crates.iopollster1.0.1direct
crates.ioprofiling1.0.18direct
crates.iopuffin0.20.0direct
crates.iopuffin_http0.17.0direct
crates.ioraw-window-handle0.6.2direct
crates.iorayon1.12.0direct
crates.ioresvg0.45.1direct
crates.iormp-serde1.3.1direct
crates.ioron0.12.2direct
crates.ioself_cell1.3.0direct
crates.ioserde1.0.228direct
crates.ioserde_bytes0.11.19direct
crates.ioskrifa0.44.0direct
crates.iosmallvec1.15.2direct
crates.iostatic_assertions1.1.0direct
crates.iosyntect5.3.0direct
crates.iothiserror1.0.69direct
crates.iothiserror2.0.18direct
crates.iotoml1.1.4+spec-1.1.0direct
crates.iotype-map0.5.1direct
crates.iounicode-general-category1.1.0direct
crates.iounicode-segmentation1.13.3direct
crates.iounicode_names23.1.0direct
crates.iovello_cpu0.1.0direct
crates.ioweb-time1.1.0direct
crates.iowebbrowser1.2.1direct
crates.iowgpu30.0.0direct
crates.iowinit0.30.13direct
crates.ioab_glyph0.2.32indirect
crates.ioab_glyph_rasterizer0.1.10indirect
crates.ioaccesskit_atspi_common0.18.0indirect
crates.ioaccesskit_macos0.26.0indirect
crates.ioaccesskit_unix0.21.0indirect
crates.ioaccesskit_windows0.32.1indirect
crates.ioaddr2line0.25.1indirect
crates.ioadler22.0.1indirect
crates.ioaho-corasick1.1.4indirect
crates.ioalloca0.4.0indirect
crates.ioallocator-api20.2.21indirect
crates.ioandroid-activity0.6.1indirect
crates.ioandroid-properties0.2.2indirect
crates.ioandroid_log-sys0.3.2indirect
crates.ioandroid_logger0.15.1indirect
crates.ioandroid_system_properties0.1.5indirect
crates.ioanes0.1.6indirect
crates.ioanstream0.6.21indirect
crates.ioanstyle1.0.14indirect
crates.ioanstyle-parse0.2.7indirect
crates.ioanstyle-query1.1.5indirect
crates.ioanstyle-wincon3.0.11indirect
crates.ioanyhow1.0.103indirect
crates.ioarboard3.6.1indirect
crates.ioarrayref0.3.9indirect
crates.ioarrayvec0.7.8indirect
crates.ioas-raw-xcb-connection1.0.1indirect
crates.ioash0.38.0+1.3.281indirect
crates.ioasync-broadcast0.7.2indirect
crates.ioasync-channel2.5.0indirect
crates.ioasync-executor1.14.0indirect
crates.ioasync-io2.6.0indirect
crates.ioasync-lock3.4.2indirect
crates.ioasync-process2.5.0indirect
crates.ioasync-recursion1.1.1indirect
crates.ioasync-signal0.2.14indirect
crates.ioasync-task4.7.1indirect
crates.ioasync-trait0.1.89indirect
crates.ioatomic-waker1.1.2indirect
crates.ioatspi0.29.0indirect
crates.ioatspi-common0.13.0indirect
crates.ioatspi-proxies0.13.0indirect
crates.ioautocfg1.5.1indirect
crates.iobase640.22.1indirect
crates.iobincode1.3.3indirect
crates.iobit-set0.10.0indirect
crates.iobit-set0.8.0indirect
crates.iobit-vec0.8.0indirect
crates.iobit-vec0.9.1indirect
crates.ioblock20.5.1indirect
crates.ioblock20.6.2indirect
crates.ioblocking1.6.2indirect
crates.iobstr1.12.3indirect
crates.iobumpalo3.20.3indirect
crates.iobytemuck_derive1.11.0indirect
crates.iobyteorder1.5.0indirect
crates.iobyteorder-lite0.1.0indirect
crates.iobytes1.12.0indirect
crates.iocalloop0.13.0indirect
crates.iocalloop-wayland-source0.3.0indirect
crates.iocast0.3.0indirect
crates.iocc1.4.0indirect
crates.iocfg-if1.0.4indirect
crates.iocfg_aliases0.2.1indirect
crates.iocgl0.3.2indirect
crates.iochacha200.10.1indirect
crates.iociborium0.2.2indirect
crates.iociborium-io0.2.2indirect
crates.iociborium-ll0.2.2indirect
crates.ioclap4.6.1indirect
crates.ioclap_builder4.6.0indirect
crates.ioclap_lex1.1.0indirect
crates.ioclipboard-win5.4.1indirect
crates.iocodespan-reporting0.13.1indirect
crates.iocolor0.3.3indirect
crates.iocolor_quant1.1.0indirect
crates.iocolorchoice1.0.5indirect
crates.iocolored2.2.0indirect
crates.iocombine4.6.7indirect
crates.ioconcurrent-queue2.5.0indirect
crates.ioconsole0.16.4indirect
crates.iocore-foundation0.10.1indirect
crates.iocore-foundation0.9.4indirect
crates.iocore-foundation-sys0.8.7indirect
crates.iocore-graphics0.23.2indirect
crates.iocore-graphics-types0.1.3indirect
crates.iocore_maths0.1.1indirect
crates.iocpufeatures0.3.0indirect
crates.iocrc32fast1.5.0indirect
crates.iocriterion0.8.2indirect
crates.iocriterion-plot0.8.2indirect
crates.iocrossbeam-channel0.5.16indirect
crates.iocrossbeam-deque0.8.7indirect
crates.iocrossbeam-epoch0.9.20indirect
crates.iocrossbeam-utils0.8.22indirect
crates.iocrunchy0.2.4indirect
crates.iocursor-icon1.2.0indirect
crates.iodata-url0.3.2indirect
crates.iodefmt1.1.1indirect
crates.iodefmt-macros1.1.1indirect
crates.iodefmt-parser1.0.0indirect
crates.ioderanged0.5.8indirect
crates.iodirectories6.0.0indirect
crates.iodirs-sys0.5.0indirect
crates.iodispatch0.2.0indirect
crates.iodispatch20.3.1indirect
crates.iodisplaydoc0.2.6indirect
crates.iodlib0.5.3indirect
crates.iodowncast-rs1.2.1indirect
crates.iodpi0.1.2indirect
crates.ioeither1.16.0indirect
crates.ioencode_unicode1.0.0indirect
crates.ioendi1.1.1indirect
crates.ioenum-map-derive0.17.0indirect
crates.ioenumflags20.7.12indirect
crates.ioenumflags2_derive0.7.12indirect
crates.ioenumn0.1.14indirect
crates.ioenv_filter0.1.4indirect
crates.ioenv_logger0.11.8indirect
crates.ioequivalent1.0.2indirect
crates.ioerrno0.3.14indirect
crates.ioerror-code3.3.2indirect
crates.ioeuclid0.22.14indirect
crates.ioevent-listener5.4.1indirect
crates.ioevent-listener-strategy0.5.4indirect
crates.iofancy-regex0.16.2indirect
crates.iofastrand2.4.1indirect
crates.iofdeflate0.3.7indirect
crates.iofearless_simd0.4.1indirect
crates.iofind-msvc-tools0.1.9indirect
crates.ioflate21.1.9indirect
crates.iofloat-cmp0.9.0indirect
crates.iofnv1.0.7indirect
crates.iofoldhash0.2.0indirect
crates.iofontconfig-parser0.5.8indirect
crates.iofontdb0.23.0indirect
crates.ioforeign-types0.5.0indirect
crates.ioforeign-types-macros0.2.3indirect
crates.ioforeign-types-shared0.3.1indirect
crates.ioform_urlencoded1.2.2indirect
crates.iofutures-core0.3.33indirect
crates.iofutures-io0.3.32indirect
crates.iofutures-lite2.6.1indirect
crates.iofutures-macro0.3.33indirect
crates.iofutures-task0.3.33indirect
crates.iofutures-util0.3.33indirect
crates.iogethostname1.1.0indirect
crates.iogetopts0.2.24indirect
crates.iogetrandom0.2.17indirect
crates.iogetrandom0.3.4indirect
crates.iogetrandom0.4.3indirect
crates.iogif0.13.3indirect
crates.iogimli0.32.3indirect
crates.iogl_generator0.14.0indirect
crates.ioglifo0.2.0indirect
crates.ioglutin0.32.3indirect
crates.ioglutin-winit0.5.0indirect
crates.ioglutin_egl_sys0.7.1indirect
crates.ioglutin_glx_sys0.6.1indirect
crates.ioglutin_wgl_sys0.6.1indirect
crates.iogpu-allocator0.28.0indirect
crates.ioguillotiere0.7.0indirect
crates.iohalf2.7.1indirect
crates.iohashbrown0.16.1indirect
crates.iohashbrown0.17.1indirect
crates.iohermit-abi0.5.2indirect
crates.iohex0.4.3indirect
crates.iohttp1.4.2indirect
crates.iohttparse1.10.1indirect
crates.ioicu_collections2.2.0indirect
crates.ioicu_locale_core2.2.0indirect
crates.ioicu_normalizer2.2.0indirect
crates.ioicu_normalizer_data2.2.0indirect
crates.ioicu_properties2.2.0indirect
crates.ioicu_properties_data2.2.0indirect
crates.ioicu_provider2.2.0indirect
crates.ioidna1.1.0indirect
crates.ioidna_adapter1.2.2indirect
crates.ioimage-webp0.2.4indirect
crates.ioimagesize0.13.0indirect
crates.ioindexmap2.14.0indirect
crates.iois-docker0.2.0indirect
crates.iois-wsl0.4.0indirect
crates.iois_terminal_polyfill1.70.2indirect
crates.ioitoa1.0.18indirect
crates.iojiff-core0.1.0indirect
crates.iojiff-static0.2.35indirect
crates.iojni0.22.4indirect
crates.iojni-macros0.22.4indirect
crates.iojni-sys0.3.1indirect
crates.iojni-sys0.4.1indirect
crates.iojni-sys-macros0.4.1indirect
crates.iojobserver0.1.35indirect
crates.iojpeg-decoder0.3.2indirect
crates.iojs-sys0.3.103indirect
crates.iokhronos-egl6.0.0indirect
crates.iokhronos_api3.1.0indirect
crates.iokurbo0.11.3indirect
crates.iokurbo0.13.1indirect
crates.iolazy_static1.5.0indirect
crates.iolibc0.2.189indirect
crates.iolibloading0.8.9indirect
crates.iolibm0.2.16indirect
crates.iolibmimalloc-sys0.1.49indirect
crates.iolibredox0.1.18indirect
crates.iolinebender_resource_handle0.1.1indirect
crates.iolinked-hash-map0.5.6indirect
crates.iolinux-raw-sys0.12.1indirect
crates.iolinux-raw-sys0.4.15indirect
crates.iolitemap0.8.2indirect
crates.iolitrs1.0.0indirect
crates.iolock_api0.4.14indirect
crates.iolz4_flex0.13.1indirect
crates.iomemchr2.8.3indirect
crates.iomemmap20.9.11indirect
crates.iomemoffset0.9.1indirect
crates.iomimalloc0.1.52indirect
crates.iomime0.3.17indirect
crates.iominiz_oxide0.8.9indirect
crates.iomio1.2.1indirect
crates.ionaga30.0.0indirect
crates.ionaga-types30.0.0indirect
crates.iondk0.9.0indirect
crates.iondk-context0.1.1indirect
crates.iondk-sys0.6.0+11769913indirect
crates.ionum-conv0.2.2indirect
crates.ionum-traits0.2.19indirect
crates.ionum_enum0.7.6indirect
crates.ionum_enum_derive0.7.6indirect
crates.ioobjc-sys0.3.5indirect
crates.ioobjc20.5.2indirect
crates.ioobjc20.6.4indirect
crates.ioobjc2-app-kit0.2.2indirect
crates.ioobjc2-app-kit0.3.2indirect
crates.ioobjc2-cloud-kit0.2.2indirect
crates.ioobjc2-contacts0.2.2indirect
crates.ioobjc2-core-data0.2.2indirect
crates.ioobjc2-core-foundation0.3.2indirect
crates.ioobjc2-core-graphics0.3.2indirect
crates.ioobjc2-core-image0.2.2indirect
crates.ioobjc2-core-location0.2.2indirect
crates.ioobjc2-encode4.1.0indirect
crates.ioobjc2-foundation0.2.2indirect
crates.ioobjc2-foundation0.3.2indirect
crates.ioobjc2-io-surface0.3.2indirect
crates.ioobjc2-link-presentation0.2.2indirect
crates.ioobjc2-metal0.2.2indirect
crates.ioobjc2-metal0.3.2indirect
crates.ioobjc2-quartz-core0.2.2indirect
crates.ioobjc2-quartz-core0.3.2indirect
crates.ioobjc2-symbols0.2.2indirect
crates.ioobjc2-ui-kit0.2.2indirect
crates.ioobjc2-ui-kit0.3.2indirect
crates.ioobjc2-uniform-type-identifiers0.2.2indirect
crates.ioobjc2-user-notifications0.2.2indirect
crates.ioobject0.37.3indirect
crates.ioonce_cell1.21.4indirect
crates.ioonce_cell_polyfill1.70.2indirect
crates.iooorandom11.1.5indirect
crates.ioopen5.4.0indirect
crates.iooption-ext0.2.0indirect
crates.ioorbclient0.3.55indirect
crates.ioordered-float5.3.0indirect
crates.ioordered-stream0.2.0indirect
crates.ioowned_ttf_parser0.25.1indirect
crates.iopage_size0.6.0indirect
crates.ioparking2.2.1indirect
crates.ioparking_lot_core0.9.12indirect
crates.iopeniko0.6.1indirect
crates.iopercent-encoding2.3.2indirect
crates.iophf0.11.3indirect
crates.iophf0.13.1indirect
crates.iophf_codegen0.11.3indirect
crates.iophf_generator0.11.3indirect
crates.iophf_generator0.13.1indirect
crates.iophf_macros0.11.3indirect
crates.iophf_macros0.13.1indirect
crates.iophf_shared0.11.3indirect
crates.iophf_shared0.13.1indirect
crates.iopico-args0.5.0indirect
crates.iopin-project1.1.13indirect
crates.iopin-project-internal1.1.13indirect
crates.iopin-project-lite0.2.17indirect
crates.iopiper0.2.5indirect
crates.iopkg-config0.3.33indirect
crates.ioplain0.2.3indirect
crates.ioplist1.10.0indirect
crates.iopng0.17.16indirect
crates.iopolling3.11.0indirect
crates.iopolycool0.4.0indirect
crates.ioportable-atomic1.13.1indirect
crates.ioportable-atomic-util0.2.7indirect
crates.iopotential_utf0.1.5indirect
crates.iopowerfmt0.2.0indirect
crates.ioppv-lite860.2.21indirect
crates.iopresser0.3.1indirect
crates.ioproc-macro-crate3.5.0indirect
crates.ioproc-macro21.0.107indirect
crates.ioprofiling-procmacros1.0.18indirect
crates.ioquick-error2.0.1indirect
crates.ioquick-xml0.39.4indirect
crates.ioquick-xml0.41.0indirect
crates.ioquote1.0.47indirect
crates.ior-efi5.3.0indirect
crates.ior-efi6.0.0indirect
crates.iorand0.10.2indirect
crates.iorand0.8.6indirect
crates.iorand_chacha0.3.1indirect
crates.iorand_core0.10.1indirect
crates.iorand_core0.6.4indirect
crates.iorange-alloc0.1.5indirect
crates.ioraw-window-metal1.1.0indirect
crates.iorayon-core1.13.0indirect
crates.ioread-fonts0.41.0indirect
crates.ioredox_syscall0.4.1indirect
crates.ioredox_syscall0.5.18indirect
crates.ioredox_syscall0.9.0indirect
crates.ioredox_users0.5.2indirect
crates.ioregex1.12.4indirect
crates.ioregex-automata0.4.14indirect
crates.ioregex-syntax0.8.11indirect
crates.iorenderdoc-sys1.1.0indirect
crates.iorfd0.17.2indirect
crates.iorgb0.8.53indirect
crates.ioring0.17.14indirect
crates.iormp0.8.15indirect
crates.ioroxmltree0.20.0indirect
crates.iorustc-demangle0.1.27indirect
crates.iorustc-hash1.1.0indirect
crates.iorustc-hash2.1.3indirect
crates.iorustc_version0.4.1indirect
crates.iorustix0.38.44indirect
crates.iorustix1.1.4indirect
crates.iorustls0.23.41indirect
crates.iorustls-pki-types1.15.0indirect
crates.iorustls-webpki0.103.13indirect
crates.iorustversion1.0.23indirect
crates.iorustybuzz0.20.1indirect
crates.iosame-file1.0.6indirect
crates.ioscoped-tls1.0.1indirect
crates.ioscopeguard1.2.0indirect
crates.iosctk-adwaita0.10.1indirect
crates.iosemver1.0.28indirect
crates.ioserde_core1.0.228indirect
crates.ioserde_derive1.0.228indirect
crates.ioserde_json1.0.150indirect
crates.ioserde_repr0.1.20indirect
crates.ioserde_spanned1.1.1indirect
crates.ioshlex2.0.1indirect
crates.iosignal-hook-registry1.4.8indirect
crates.iosimd-adler320.3.10indirect
crates.iosimd_cesu81.1.1indirect
crates.iosimdutf80.1.5indirect
crates.iosimilar3.1.1indirect
crates.iosimilar-asserts2.0.0indirect
crates.iosimplecss0.2.2indirect
crates.iosiphasher1.0.3indirect
crates.ioslab0.4.12indirect
crates.ioslotmap1.1.1indirect
crates.iosmithay-client-toolkit0.19.2indirect
crates.iosmithay-clipboard0.7.2indirect
crates.iosmol_str0.2.2indirect
crates.iosocket20.6.4indirect
crates.iospirv0.4.0+sdk-1.4.341.0indirect
crates.iostable_deref_trait1.2.1indirect
crates.iostrict-num0.1.1indirect
crates.iosubtle2.6.1indirect
crates.iosvgtypes0.15.3indirect
crates.iosyn2.0.119indirect
crates.iosynstructure0.13.2indirect
crates.iotempfile3.27.0indirect
crates.iotermcolor1.4.1indirect
crates.iothiserror-impl1.0.69indirect
crates.iothiserror-impl2.0.18indirect
crates.iotiff0.9.1indirect
crates.iotime0.3.53indirect
crates.iotime-core0.1.9indirect
crates.iotime-macros0.2.31indirect
crates.iotiny-skia0.11.4indirect
crates.iotiny-skia-path0.11.4indirect
crates.iotinystr0.8.3indirect
crates.iotinytemplate1.2.1indirect
crates.iotinyvec1.12.0indirect
crates.iotinyvec_macros0.1.1indirect
crates.iotokio1.53.1indirect
crates.iotoml_datetime1.1.1+spec-1.1.0indirect
crates.iotoml_edit0.25.12+spec-1.1.0indirect
crates.iotoml_parser1.1.3+spec-1.1.0indirect
crates.iotracing0.1.44indirect
crates.iotracing-attributes0.1.31indirect
crates.iotracing-core0.1.36indirect
crates.iottf-parser0.25.1indirect
crates.iotypeid1.0.3indirect
crates.iouds_windows1.2.1indirect
crates.iounicase2.9.0indirect
crates.iounicode-bidi0.3.18indirect
crates.iounicode-bidi-mirroring0.4.0indirect
crates.iounicode-ccc0.4.0indirect
crates.iounicode-ident1.0.24indirect
crates.iounicode-properties0.1.4indirect
crates.iounicode-script0.5.8indirect
crates.iounicode-vo0.1.0indirect
crates.iounicode-width0.2.2indirect
crates.iounicode_names2_generator3.1.0indirect
crates.iountrusted0.9.0indirect
crates.ioureq3.3.0indirect
crates.ioureq-proto0.6.0indirect
crates.iourl2.5.8indirect
crates.iousvg0.45.1indirect
crates.ioutf8-zero0.8.1indirect
crates.ioutf8_iter1.0.4indirect
crates.ioutf8parse0.2.2indirect
crates.iouuid1.23.4indirect
crates.iovello_common0.1.0indirect
crates.ioversion_check0.9.5indirect
crates.iowalkdir2.5.0indirect
crates.iowasi0.11.1+wasi-snapshot-preview1indirect
crates.iowasip21.0.4+wasi-0.2.12indirect
crates.iowasm-bindgen0.2.126indirect
crates.iowasm-bindgen-futures0.4.76indirect
crates.iowasm-bindgen-macro0.2.126indirect
crates.iowasm-bindgen-macro-support0.2.126indirect
crates.iowasm-bindgen-shared0.2.126indirect
crates.iowayland-backend0.3.15indirect
crates.iowayland-client0.31.14indirect
crates.iowayland-csd-frame0.3.0indirect
crates.iowayland-cursor0.31.14indirect
crates.iowayland-protocols0.32.13indirect
crates.iowayland-protocols-plasma0.3.12indirect
crates.iowayland-protocols-wlr0.3.12indirect
crates.iowayland-scanner0.31.10indirect
crates.iowayland-sys0.31.11indirect
crates.ioweb-sys0.3.103indirect
crates.iowebpki-roots1.0.8indirect
crates.ioweezl0.1.12indirect
crates.iowgpu-core30.0.0indirect
crates.iowgpu-core-deps-apple30.0.0indirect
crates.iowgpu-core-deps-emscripten30.0.0indirect
crates.iowgpu-core-deps-wasm30.0.0indirect
crates.iowgpu-core-deps-windows-linux-android30.0.0indirect
crates.iowgpu-hal30.0.0indirect
crates.iowgpu-naga-bridge30.0.0indirect
crates.iowgpu-types30.0.0indirect
crates.iowinapi0.3.9indirect
crates.iowinapi-i686-pc-windows-gnu0.4.0indirect
crates.iowinapi-util0.1.11indirect
crates.iowinapi-x86_64-pc-windows-gnu0.4.0indirect
crates.iowindows0.62.2indirect
crates.iowindows-collections0.3.2indirect
crates.iowindows-core0.62.2indirect
crates.iowindows-future0.3.2indirect
crates.iowindows-implement0.60.2indirect
crates.iowindows-interface0.59.3indirect
crates.iowindows-link0.2.1indirect
crates.iowindows-numerics0.3.1indirect
crates.iowindows-result0.4.1indirect
crates.iowindows-strings0.5.1indirect
crates.iowindows-sys0.52.0indirect
crates.iowindows-sys0.61.2indirect
crates.iowindows-targets0.52.6indirect
crates.iowindows-threading0.2.1indirect
crates.iowindows_aarch64_gnullvm0.52.6indirect
crates.iowindows_aarch64_msvc0.52.6indirect
crates.iowindows_i686_gnu0.52.6indirect
crates.iowindows_i686_gnullvm0.52.6indirect
crates.iowindows_i686_msvc0.52.6indirect
crates.iowindows_x86_64_gnu0.52.6indirect
crates.iowindows_x86_64_gnullvm0.52.6indirect
crates.iowindows_x86_64_msvc0.52.6indirect
crates.iowinnow1.0.3indirect
crates.iowit-bindgen0.57.1indirect
crates.iowriteable0.6.3indirect
crates.iox11-dl2.21.0indirect
crates.iox11rb0.13.2indirect
crates.iox11rb-protocol0.13.2indirect
crates.ioxcursor0.3.10indirect
crates.ioxkbcommon-dl0.4.2indirect
crates.ioxkeysym0.2.1indirect
crates.ioxml-rs0.8.28indirect
crates.ioxmlwriter0.1.0indirect
crates.ioyaml-rust0.4.5indirect
crates.ioyoke0.8.3indirect
crates.ioyoke-derive0.8.2indirect
crates.iozbus5.16.0indirect
crates.iozbus-lockstep0.5.2indirect
crates.iozbus-lockstep-macros0.5.2indirect
crates.iozbus_macros5.16.0indirect
crates.iozbus_names4.3.2indirect
crates.iozbus_xml5.1.1indirect
crates.iozerocopy0.8.55indirect
crates.iozerocopy-derive0.8.55indirect
crates.iozerofrom0.1.8indirect
crates.iozerofrom-derive0.1.7indirect
crates.iozeroize1.9.0indirect
crates.iozerotrie0.2.4indirect
crates.iozerovec0.11.6indirect
crates.iozerovec-derive0.11.3indirect
crates.iozmij1.0.21indirect
crates.iozune-core0.4.12indirect
crates.iozune-jpeg0.4.21indirect
crates.iozvariant5.12.0indirect
crates.iozvariant_derive5.12.0indirect
crates.iozvariant_utils3.4.0indirect
Dependency advisories 6

This repository publishes no package the index resolves, so its own dependency graph was assessed — 561 packages, which also include development and test pins that never ship: 6 carry known advisories, of which 0 are direct.

PackageVersionRelationSeverityAdvisoriesFixed in
quick-xml0.39.4indirecthigh20.41.0
bincode1.3.3indirectunknown1
event-listener5.4.1indirectunknown15.4.2
rustybuzz0.20.1indirectunknown1
ttf-parser0.25.1indirectunknown1
yaml-rust0.4.5indirectunknown1

An advisory means the version recorded in the dependency graph falls inside an advisory’s affected range. Reachability is not analysed, and the graph includes development and test pins — a finding may concern tooling rather than shipped software.

Raw JSON report machine-readable
{
  "data": {
    "icon": {
      "bytes": 2932,
      "width": 48,
      "height": 48,
      "rejected": [],
      "collected": true,
      "media_type": "image/vnd.microsoft.icon",
      "source_url": "https://www.egui.rs/favicon.ico",
      "source_type": "homepage",
      "content_hash": "3455a0e46b91b7d6c609be76e89a2e266c83d8f098413a03e69e17779191c279",
      "candidates_considered": 1
    },
    "repo": {
      "topics": [
        "gui",
        "rust",
        "game-development",
        "wasm",
        "imgui",
        "gamedev",
        "egui"
      ],
      "is_fork": false,
      "size_kb": 93349,
      "has_wiki": true,
      "homepage": "https://www.egui.rs/",
      "languages": {
        "GLSL": 2873,
        "HTML": 12697,
        "Rust": 4100431,
        "WGSL": 8039,
        "Shell": 13629,
        "Python": 17100
      },
      "pushed_at": "2026-08-05T10:57:09Z",
      "created_at": "2019-01-13T15:39:15Z",
      "owner_type": "User",
      "updated_at": "2026-08-06T05:04:25Z",
      "description": "egui: an easy-to-use immediate mode GUI in Rust that runs on both web and native",
      "is_archived": false,
      "is_disabled": false,
      "license_spdx": "Apache-2.0",
      "default_branch": "main",
      "license_spdx_raw": "Apache-2.0",
      "primary_language": "Rust",
      "significant_languages": [
        "Rust"
      ]
    },
    "owner": {
      "blog": "http://www.ilikebigbits.com/",
      "name": "Emil Ernerfeldt",
      "type": "User",
      "login": "emilk",
      "company": "Rerun.io, egui",
      "location": "Stockholm, Sweden",
      "followers": 7863,
      "avatar_url": "https://avatars.githubusercontent.com/u/1148717?v=4",
      "created_at": "2011-10-24T16:40:17Z",
      "is_verified": null,
      "public_repos": 84,
      "account_age_days": 5399
    },
    "license": {
      "state": "standard",
      "spdx_id": "Apache-2.0",
      "raw_spdx": "Apache-2.0",
      "file_present": true,
      "scorecard_found": true,
      "profile_has_license": true
    },
    "activity": {
      "releases": [
        {
          "tag": "0.36.0",
          "kind": "minor",
          "published_at": "2026-08-05T11:13:50Z"
        },
        {
          "tag": "0.35.0",
          "kind": "minor",
          "published_at": "2026-06-25T18:44:37Z"
        },
        {
          "tag": "0.34.3",
          "kind": "patch",
          "published_at": "2026-05-27T08:22:06Z"
        },
        {
          "tag": "0.34.2",
          "kind": "patch",
          "published_at": "2026-05-04T14:46:54Z"
        },
        {
          "tag": "0.34.1",
          "kind": "patch",
          "published_at": "2026-03-27T10:29:32Z"
        },
        {
          "tag": "0.34.0",
          "kind": "minor",
          "published_at": "2026-03-26T11:18:20Z"
        },
        {
          "tag": "0.33.3",
          "kind": "patch",
          "published_at": "2025-12-11T14:42:00Z"
        },
        {
          "tag": "0.33.2",
          "kind": "patch",
          "published_at": "2025-11-13T14:34:02Z"
        },
        {
          "tag": "0.33.0",
          "kind": "minor",
          "published_at": "2025-10-09T17:15:50Z"
        },
        {
          "tag": "0.32.3",
          "kind": "patch",
          "published_at": "2025-09-12T06:27:29Z"
        },
        {
          "tag": "0.32.2",
          "kind": "patch",
          "published_at": "2025-09-04T13:22:53Z"
        },
        {
          "tag": "0.32.1",
          "kind": "patch",
          "published_at": "2025-08-15T11:45:10Z"
        },
        {
          "tag": "0.32.0",
          "kind": "minor",
          "published_at": "2025-07-10T15:04:05Z"
        },
        {
          "tag": "0.31.1",
          "kind": "patch",
          "published_at": "2025-03-05T07:46:16Z"
        },
        {
          "tag": "0.31.0",
          "kind": "minor",
          "published_at": "2025-02-04T16:01:58Z"
        },
        {
          "tag": "0.30.0",
          "kind": "minor",
          "published_at": "2024-12-16T17:11:55Z"
        },
        {
          "tag": "0.29.1",
          "kind": "patch",
          "published_at": "2024-10-01T08:12:03Z"
        },
        {
          "tag": "0.29.0",
          "kind": "minor",
          "published_at": "2024-09-26T13:35:19Z"
        },
        {
          "tag": "0.28.1",
          "kind": "patch",
          "published_at": "2024-07-05T10:13:44Z"
        },
        {
          "tag": "0.28.0",
          "kind": "minor",
          "published_at": "2024-07-03T13:02:35Z"
        },
        {
          "tag": "0.27.2",
          "kind": "patch",
          "published_at": "2024-04-02T16:17:44Z"
        },
        {
          "tag": "0.27.1",
          "kind": "patch",
          "published_at": "2024-03-29T11:57:49Z"
        },
        {
          "tag": "0.27.0",
          "kind": "minor",
          "published_at": "2024-03-26T16:21:33Z"
        },
        {
          "tag": "0.26.2",
          "kind": "patch",
          "published_at": "2024-02-14T09:51:02Z"
        },
        {
          "tag": "0.26.1",
          "kind": "patch",
          "published_at": "2024-02-11T08:05:30Z"
        },
        {
          "tag": "0.26.0",
          "kind": "minor",
          "published_at": "2024-02-05T16:43:35Z"
        },
        {
          "tag": "0.26.0-alpha.1",
          "kind": "prerelease",
          "published_at": "2024-02-01T19:31:59Z"
        },
        {
          "tag": "0.25.0",
          "kind": "minor",
          "published_at": "2024-01-08T11:36:42Z"
        },
        {
          "tag": "0.24.1",
          "kind": "patch",
          "published_at": "2023-11-30T16:54:11Z"
        },
        {
          "tag": "0.24.0",
          "kind": "minor",
          "published_at": "2023-11-23T15:28:08Z"
        },
        {
          "tag": "0.23.0",
          "kind": "minor",
          "published_at": "2023-09-28T06:47:40Z"
        },
        {
          "tag": "0.22.0",
          "kind": "minor",
          "published_at": "2023-05-23T18:07:21Z"
        },
        {
          "tag": "0.21.0",
          "kind": "minor",
          "published_at": "2023-02-08T19:39:51Z"
        },
        {
          "tag": "0.20.1",
          "kind": "patch",
          "published_at": "2022-12-11T16:21:46Z"
        },
        {
          "tag": "0.20.0",
          "kind": "minor",
          "published_at": "2022-12-08T14:27:37Z"
        },
        {
          "tag": "0.19.0",
          "kind": "minor",
          "published_at": "2022-08-20T15:05:47Z"
        },
        {
          "tag": "0.18.0",
          "kind": "minor",
          "published_at": "2022-04-30T18:35:47Z"
        },
        {
          "tag": "0.17.0",
          "kind": "minor",
          "published_at": "2022-02-22T18:47:52Z"
        },
        {
          "tag": "0.16.0",
          "kind": "minor",
          "published_at": "2021-12-29T11:26:11Z"
        },
        {
          "tag": "0.15.0",
          "kind": "minor",
          "published_at": "2021-10-24T14:30:21Z"
        },
        {
          "tag": "0.14.1",
          "kind": "patch",
          "published_at": "2021-08-28T09:15:46Z"
        },
        {
          "tag": "0.14.0",
          "kind": "minor",
          "published_at": "2021-08-27T17:16:10Z"
        },
        {
          "tag": "0.1.0",
          "kind": "minor",
          "published_at": "2020-05-30T16:26:30Z"
        }
      ],
      "recent_commits": [
        {
          "oid": "2397194d5e494b55322d0153a312d1e79936c92e",
          "body": null,
          "is_bot": false,
          "headline": "Release 0.36.0 - Improved mobile keyboard support (#8390)",
          "author_name": "Lucas Meurer",
          "author_login": "lucasmerlin",
          "committed_at": "2026-08-05T10:55:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e37d44ad8a61ace5c8462e20e826bf254f42fc3e",
          "body": "* Closes <https://github.com/emilk/egui/issues/8266>\n* Alternative to #8385\n\nNot the most simple or beautiful code, but it works, and makes sense.\n\nWhat makes it complex: `app.logic` should still see some input (e.g.\nwhat viewports are visible) and emit some output (e.g. \"open this link\",\nor \"focus \n[…]\nan tell that it is\nhidden. The ui input (events, time, …) is not interpreted, and is\ninstead given to the next real pass.\n\n---------\n\nCo-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Never run an egui pass when nothing will be shown (#8387)",
          "author_name": "Emil Ernerfeldt",
          "author_login": "emilk",
          "committed_at": "2026-08-05T07:14:35Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "90e03028f7c298ff854a34c7e8c0c8c022bdeacf",
          "body": null,
          "is_bot": false,
          "headline": "Fix a few nightly clippy lints (#8388)",
          "author_name": "Emil Ernerfeldt",
          "author_login": "emilk",
          "committed_at": "2026-08-04T19:40:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5347b0a4ac89c1ff8d59019f40e83652867d7392",
          "body": "…386)\n\n## Related\n\n* Fixes a regression from #8152\n* Part of #2921\n\nReported symptom: you can widen the Widget Gallery window, but it won't\nshrink again.\n\nI'm not sure this fix is the best one, but it does work.\n\n# Claude says\n## Cause\n\nA `Grid` gives its **last** column all the available width, so \n[…]\ntemplate\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)\n\n---------\n\nCo-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>\nCo-authored-by: Lucas Meurer <hi@lucasmerlin.me>",
          "is_bot": false,
          "headline": "Fix window with a `Grid` being widenable but not shrinkable again (#8…",
          "author_name": "Emil Ernerfeldt",
          "author_login": "emilk",
          "committed_at": "2026-08-04T14:54:06Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "622bbbeccc0b8c72fe796b23b6efea757354a8d4",
          "body": "A fully collapsed `show_collapsible` panel now leaves a thin grab handle\nat its fixed edge, invisible until hovered. Dragging it out past\n`min_size` (or double-clicking it) reopens the panel. Opt out with\n`panel.drag_to_open(false)`.\n\n---------\n\nCo-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Add drag-to-open for collapsible panels (#8363)",
          "author_name": "Emil Ernerfeldt",
          "author_login": "emilk",
          "committed_at": "2026-08-04T09:20:25Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "98eab505778e1d474ec5d8a727f16a2ee9e6cfb9",
          "body": "A widget that senses both clicks and drags postpones the\nclick-versus-drag decision until the pointer moves past `max_click_dist`\nor is held for `max_click_duration`. But a click has to be released *on*\nthe widget — so once the pointer leaves, the gesture can only be a drag,\nand there is nothing lef\n[…]\nrneath, while\n`dragged()` was not true yet. So a handle highlighting on `hovered() ||\ndragged()` blinked out mid-gesture.\n\n---------\n\nCo-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Treat a press that leaves a widget as a drag (#8365)",
          "author_name": "Emil Ernerfeldt",
          "author_login": "emilk",
          "committed_at": "2026-08-04T09:09:27Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "78c0e39d1d7ced1a0d91671a51e398b5338f63a7",
          "body": "…separately in the missing place (#8275)\n\nFix ScrollArea failure by handling horizontal and vertical scrolling\nseparately in the missing place\n\nEverywhere in `ScrollArea`, horizontal and vertical scrolling are\nhandled separately.\nHowever, because there is a single place where they are not handled\nse\n[…]\ns to scroll.\n\nThis Pull Request ensures that horizontal and vertical scrolling are\nhandled separately in this area, just like in the rest of the codebase.\n\n* Closes #5289\n* Closes #5307\n* Closes #8274",
          "is_bot": false,
          "headline": "Fix ScrollArea failure by handling horizontal and vertical scrolling …",
          "author_name": "rustbasic",
          "author_login": "rustbasic",
          "committed_at": "2026-08-04T08:10:34Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "5c0b690dab5023139957c144fe282db4c6e9713e",
          "body": "…t lines (#8040)\n\nAdd `extra_text_line_spacing` to control vertical spacing between text\nlines\n\n**Description**\nThis PR adds a new `Spacing::extra_text_line_spacing` field to control\nadditional vertical spacing between lines of text.\n\nThe spacing is applied to text layout by adjusting\n`TextFormat::l\n[…]\nng.\n\nThis improves text readability and allows consistent line spacing\ncustomization for widgets such as `TextEdit` and `Label`.\n\n---------\n\nCo-authored-by: Emil Ernerfeldt <emil.ernerfeldt@gmail.com>",
          "is_bot": false,
          "headline": "Add `extra_text_line_spacing` to control vertical spacing between tex…",
          "author_name": "rustbasic",
          "author_login": "rustbasic",
          "committed_at": "2026-08-04T08:06:47Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "dae9adf307b36d97f3254e43c356818280d32ed0",
          "body": "It was confusing that both tolerances had \"threshold\" in the name\n\n---------\n\nCo-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": " Rename `failed_pixel_count_threshold` to `max_failed_pixels` (#8383)",
          "author_name": "Emil Ernerfeldt",
          "author_login": "emilk",
          "committed_at": "2026-08-03T16:02:41Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "49d4befe6b6198f5adcb7e2e6b413fa1f8de288c",
          "body": "* Closes #4654\n* Related #4667\n* [x] I have followed the instructions in the PR template\n\nThis PR avoids materializing the contents of a file that was dragged\ninto an egui application on the web. It does so by storing the\n`web_sys::File` handle directly on WASM.\n\nThis breaks the existing API of `Dro\n[…]\nynchronously form a `DroppedFile`\nanymore, forcing handling call sites to become asynchronous.\n\nThe native API remains the same.\n\n---------\n\nCo-authored-by: Emil Ernerfeldt <emil.ernerfeldt@gmail.com>",
          "is_bot": false,
          "headline": "Store `web_sys::File` inside of `DroppedFile` (#8354)",
          "author_name": "Jochen Görtler",
          "author_login": "grtlr",
          "committed_at": "2026-08-03T15:07:37Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "2e7a92bc3750bf6d9a1d455ea565b2c97259950e",
          "body": "Change the feature name from syntax_highlighting to syntect.\n\n<!--\nPlease read the \"Making a PR\" section of\n[`CONTRIBUTING.md`](https://github.com/emilk/egui/blob/main/CONTRIBUTING.md)\nbefore opening a Pull Request!\n\n* Keep your PR:s small and focused.\n* The PR title is what ends up in the changelog\n[…]\nresolved.\n\nPlease be patient! I will review your PR, but my time is limited!\n-->\n\n* [x] I have followed the instructions in the PR template\n\nCo-authored-by: Emil Ernerfeldt <emil.ernerfeldt@gmail.com>",
          "is_bot": false,
          "headline": "Fix incorrect feature name in the code editor demo (#8330)",
          "author_name": "limo520",
          "author_login": "limo520",
          "committed_at": "2026-08-03T12:51:17Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "ef846f53e67398e86374234872b9ccecd5879080",
          "body": "Hi, I may or may not have used your crate but I'd like to say a quick\nthank you for it anyway!\nI'm going down the list of reverse dependencies on `memoffset`.\n\nThis PR aims to remove the `memoffset` crate from your dependencies.\n\n[`core::mem::offset_of`](https://doc.rust-lang.org/core/mem/macro.offs\n[…]\nchase it down because I'm firing off a whole bunch of these PRs to\nvarious repositories, sorry.)\n\n`cargo clippy` gives 1 unrelated warning.\n\nCo-authored-by: Emil Ernerfeldt <emil.ernerfeldt@gmail.com>",
          "is_bot": false,
          "headline": "Remove dependency on `memoffset` (#8304)",
          "author_name": "Sybrand Aarnoutse",
          "author_login": "syberant",
          "committed_at": "2026-08-03T12:37:09Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "5f75aa29d3a1f7ab0e18380851591dc307b8442b",
          "body": "Replaces `home::home_dir` with `std::env::home_dir` as these functions\ndo the exact same thing\n\n<!--\nPlease read the \"Making a PR\" section of\n[`CONTRIBUTING.md`](https://github.com/emilk/egui/blob/main/CONTRIBUTING.md)\nbefore opening a Pull Request!\n\n* Keep your PR:s small and focused.\n* The PR titl\n[…]\n 1.87 this has been fixed and now these two functions do exactly\nthe same thing.\n\n* [X] I have followed the instructions in the PR template\n\nCo-authored-by: Emil Ernerfeldt <emil.ernerfeldt@gmail.com>",
          "is_bot": false,
          "headline": "Remove dependency `home` (#8307)",
          "author_name": "Calbabreaker",
          "author_login": "Calbabreaker",
          "committed_at": "2026-08-03T12:29:11Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "fa608a1b40ec9a0683fd9c272828bc10105e164e",
          "body": "* [X] I have followed the instructions in the PR template\n\n\nAdd a way to set the frame for the content and for the title of the\nwindow\n- `self.frame` will be used for the margins of the body\n- `self.title_frame` will be used for the margins of the header (title)",
          "is_bot": false,
          "headline": "Add `egui::Window::title_frame` (#8353)",
          "author_name": "n4n5",
          "author_login": "Its-Just-Nans",
          "committed_at": "2026-08-03T12:15:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "eba2780dbafd2d0a422f93d54c4a3589817f23c3",
          "body": "Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Fix `egui_kittest` failing to compile without the `wgpu` feature (#8381)",
          "author_name": "Emil Ernerfeldt",
          "author_login": "emilk",
          "committed_at": "2026-08-03T11:58:01Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "3d70aa1123e395046fc468f45e097bdac017ebb4",
          "body": null,
          "is_bot": false,
          "headline": "Make wgpu Instance public (#8321)",
          "author_name": "oleflb",
          "author_login": "oleflb",
          "committed_at": "2026-08-03T11:53:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ddec5f3e4ce2142dfbc95f3216d9851605682963",
          "body": "…ves (#8382)\n\nTwo fixes to the separator line of `Panel` (`resolve_frame` was added in\n#8367):\n\n* **Reserve room only when the line is always drawn.** Before,\n`show_separator_line || resizable` reserved the line's thickness, so a\nresizable panel that opted out still got a permanently visible gap alo\n[…]\n* [x] I have followed the instructions in the PR template\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)\n\n---------\n\nCo-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Fix where `Panel` puts its separator line, and how much room it reser…",
          "author_name": "Emil Ernerfeldt",
          "author_login": "emilk",
          "committed_at": "2026-08-03T10:32:56Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "dcd0c72d53695068e9ba2627c726aaa9b6c3ae2c",
          "body": "…(#8332)\n\n## Summary\n\n- Closes #8309\n- [x] I have followed the instructions in the PR template\n\n`TextEdit` hint text was always aligned to `Align2::LEFT_TOP`, ignoring\nthe alignment set via `TextEdit::horizontal_align` / `vertical_align`.\nThis caused the hint text, the cursor, and the typed text to \n[…]\np egui_kittest --lib`\n(pre-existing `unnecessary_wraps` now silenced)\n- [x] `cargo clippy -p egui -- -D warnings`\n- [x] `cargo fmt --check`\n\n---------\n\nCo-authored-by: Lucas Meurer <hi@lucasmerlin.me>",
          "is_bot": false,
          "headline": "Fix TextEdit hint text not following horizontal_align/vertical_align …",
          "author_name": "Davy",
          "author_login": "thedavidweng",
          "committed_at": "2026-08-03T08:55:18Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "c676d939ca61668358cd7bd41c33c79c193595a2",
          "body": "When an image snapshot fails, you get the number of pixels differing by\nmore than the `threshold` you happened to configure — which doesn't tell\nyou what threshold *would* have passed. So picking\n`SnapshotOptions::threshold` / `failed_pixel_count_threshold` is trial\nand error, one CI round-trip per \n[…]\nd`\nfield.\n\n* [x] I have followed the instructions in the PR template\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)\n\nCo-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Report failing pixels by threshold when a kittest snapshot fails (#8360)",
          "author_name": "Emil Ernerfeldt",
          "author_login": "emilk",
          "committed_at": "2026-08-03T08:08:09Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "967aa1137a95b59fd0341f773fa38b24c34d86fc",
          "body": "Follow-up to #8366, which removed `Visuals::clip_rect_margin` outright\n\nCo-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Re-add `Visuals::clip_rect_margin` as a deprecated no-op (#8380)",
          "author_name": "Emil Ernerfeldt",
          "author_login": "emilk",
          "committed_at": "2026-08-03T07:57:35Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "998b413739b352220c5ee4f44fd102af39e36a6d",
          "body": "Adds a new option to sync the window theme with the egui theme, enabled\nby default. Works across viewports.\n\n \n\n\nhttps://github.com/user-attachments/assets/513c2318-cd6e-4e2b-805d-04002c375a10\n\n---------\n\nCo-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Sync window theme with egui theme (#8299)",
          "author_name": "Lucas Meurer",
          "author_login": "lucasmerlin",
          "committed_at": "2026-08-03T07:40:29Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "a80ed6bab7ac4a70342d9330e39b68199ae7caaa",
          "body": "<!--\nPlease read the \"Making a PR\" section of\n[`CONTRIBUTING.md`](https://github.com/emilk/egui/blob/main/CONTRIBUTING.md)\nbefore opening a Pull Request!\n\n* Keep your PR:s small and focused.\n* The PR title is what ends up in the changelog, so make it descriptive!\n* If applicable, add a screenshot or\n[…]\nfollowed the instructions in the PR template\n\nAdds a `link` feature to eframe to allow disabling links on egui-winit.\nThe feature is enabled by default so nothing changes for existing users\nof eframe.",
          "is_bot": false,
          "headline": "Eframe: make webbrowser dependency optional (#8372)",
          "author_name": "Calin P",
          "author_login": "wyvernbw",
          "committed_at": "2026-08-03T07:00:02Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "65109a0da04c3f136f1b501c2ea6b4111595cc15",
          "body": "Routine dependency update.\n\nUpdated: `font-types` 0.12, `harfrust` 0.12, `jiff` 0.2.35, `open` 5.4,\n`pollster` 1.0, `rand` 0.10.2, `self_cell` 1.3, `skrifa` 0.44, `tokio`\n1.53, `toml` 1.1, `vello_cpu` 0.1.",
          "is_bot": false,
          "headline": "Update crates (#8379)",
          "author_name": "Emil Ernerfeldt",
          "author_login": "emilk",
          "committed_at": "2026-08-03T06:38:37Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cb2b306f1157aebb7dc47a5809f58318aeaa0e59",
          "body": "## Summary\n\n- Add `LayoutJob::clear` to reuse layout settings while rebuilding text.\n- Cover preservation of every layout setting.\n\n## Test\n\n- `cargo clippy -p epaint --all-features --all-targets`\n- `cargo test -p epaint --all-features`\n\n* [x] I have followed the instructions in the PR template",
          "is_bot": false,
          "headline": "Add `LayoutJob::clear` (#8376)",
          "author_name": "Emil Ernerfeldt",
          "author_login": "emilk",
          "committed_at": "2026-08-02T19:26:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7f30623cff45d91f4fd025aa25bd472442e49e71",
          "body": "## Summary\n\n- Add `WidgetText::size` for sizing plain, rich, and layout-job text\nuniformly.\n- Preserve already-laid-out galleys.\n\n## Test\n\n- `cargo clippy -p egui --all-features --all-targets`\n- `cargo test -p egui --all-features`\n\n* [x] I have followed the instructions in the PR template",
          "is_bot": false,
          "headline": "Add `WidgetText::size` (#8377)",
          "author_name": "Emil Ernerfeldt",
          "author_login": "emilk",
          "committed_at": "2026-08-02T19:25:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7fd54ef741d55232f7ab107eec293b3bc894a278",
          "body": "## Summary\n\n- Add `BoxedWidget` and `Widget::boxed` for heterogeneous widget\ncollections.",
          "is_bot": false,
          "headline": "Add `BoxedWidget`: dynamically dispatched widgets (#8378)",
          "author_name": "Emil Ernerfeldt",
          "author_login": "emilk",
          "committed_at": "2026-08-02T19:22:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4471969a16a130bc07f65eb747d5e2c3bfcf1d88",
          "body": "This fixes a small styling bug: the width of the panel's\nresize-handle-line was not included in the outer width of the panel. Now\nit is.",
          "is_bot": false,
          "headline": "Panels: Take separator line width into account (#8367)",
          "author_name": "Emil Ernerfeldt",
          "author_login": "emilk",
          "committed_at": "2026-08-01T10:13:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b06f5fea09a472e4b676721406d43d7b0059a1c9",
          "body": "* Closes https://github.com/emilk/egui/issues/5605\n \nIt has been zero by default for a few months now, and I do not wish to\nsupport it. It was always an ugly hack, and it is no longer needed.",
          "is_bot": false,
          "headline": "Remove `clip_rect_margin` (#8366)",
          "author_name": "Emil Ernerfeldt",
          "author_login": "emilk",
          "committed_at": "2026-07-31T21:21:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "36341c21fe7422f742f860949f68e2b6e381934c",
          "body": "Fixes two bugs around tooltips:\n- During sizing pass tooltips would render at a different size, at which\npoint they might overlap the interacted widget causing the hover state\nto change and the tooltip to never be shown\n- Fix: During sizing pass make the area `interactable: false` so events\npass thr\n[…]\nill pass through the area background _and_\nit's containing widgets. It worked this way initially but got changed in\n#4026\n\n---------\n\nCo-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Make non-interactive tooltips not interactable (#8362)",
          "author_name": "Lucas Meurer",
          "author_login": "lucasmerlin",
          "committed_at": "2026-07-31T12:30:46Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "c69834e65a0681d4fa40c30545b006ce39527034",
          "body": "<!--\nPlease read the \"Making a PR\" section of\n[`CONTRIBUTING.md`](https://github.com/emilk/egui/blob/main/CONTRIBUTING.md)\nbefore opening a Pull Request!\n\n* Keep your PR:s small and focused.\n* The PR title is what ends up in the changelog, so make it descriptive!\n* If applicable, add a screenshot or\n[…]\neference, [the reverted\nimplementation](https://github.com/emilk/egui/pull/8045/commits/8a4f70859c8ba1e00186db1431e8f6906d2d1426)\nworks fine on Android (Gboard), but not on iOS (iPadOS 17 + SwiftKey).",
          "is_bot": false,
          "headline": "Improve robustness of text input handling for `eframe/web` (#8045)",
          "author_name": "Umaĵo",
          "author_login": "umajho",
          "committed_at": "2026-07-29T16:55:23Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "6268c84d8a46092adea32826aa22089f55ae4986",
          "body": "We had a ton of issues around `TexturesDelta` that weren't properly\napplied because we early-out of some function:\n* https://github.com/emilk/egui/pull/8313\n* https://github.com/emilk/egui/pull/8250\n* https://github.com/emilk/egui/pull/8279\n\nThis PR changes texture updates, so that we always store t\n[…]\na debug assert that any `TexturesDelta` is empty when\ndropped, as an additional safeguard in case the bug sneaks back in.\n\n---------\n\nCo-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Prevent accidentally dropping `TexturesDelta` (#8356)",
          "author_name": "Lucas Meurer",
          "author_login": "lucasmerlin",
          "committed_at": "2026-07-29T16:16:48Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "d99b665ec0bf090e8f6fa431a7c90d4c0f2c60e9",
          "body": "* Follow-up to #8296, part of\n<https://github.com/emilk/egui/issues/8295>\n* [x] I have followed the instructions in the PR template\n\nStacked on #8296 (base branch), kept as a separate PR so it can be\nreverted independently.\n\nThe hidden text-agent `<input>` is now inserted as a *sibling of the\ncanvas\n[…]\n-p eframe --target wasm32-unknown-unknown\n--all-features` and `cargo fmt --all`.\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Web: anchor the text agent to the canvas (#8297)",
          "author_name": "Emil Ernerfeldt",
          "author_login": "emilk",
          "committed_at": "2026-07-28T14:24:18Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "701de698d484f9d4dc7c66e3caf5ddeb9baf872d",
          "body": "…d tab (#8313)\n\nThe `textures_delta` in `AppRunner::logic()` comes from\n`TextureManager::take_delta()` via `end_pass()`. Previously, if\n`is_visible` was `false`, these deltas would have been dropped and never\napplied, so the `TextureManager` state gets out of sync with the\n`Renderer`.\n\nThat causes h\n[…]\nilk/egui/issues/8228> and its duplicate\nhttps://github.com/emilk/egui/issues/8278\n* [x] I have followed the instructions in the PR template\n\nCo-authored-by: Emil Ernerfeldt <emil.ernerfeldt@gmail.com>",
          "is_bot": false,
          "headline": "web: Avoid panic from lost texture updates when loaded on a backgroun…",
          "author_name": "Kevin Mehall",
          "author_login": "kevinmehall",
          "committed_at": "2026-07-28T11:33:43Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "76442c870e2f8cf3b6f88a5b530f6254de5336e0",
          "body": "…e (#8337)\n\nAfter upgrading to wgpu v30, it requires to drop the `BufferView` return\nby `get_mapped_range` before unmap the buffer. Fix it in this pr, making\nscreenshot event crash no more",
          "is_bot": false,
          "headline": "fix: ensure mapped range is dropped before unmapping buffer in captur…",
          "author_name": "Magic Crazy Man",
          "author_login": "MagicCrazyMan",
          "committed_at": "2026-07-28T09:46:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8c1711ff9f889f07c1ca2a165e8174f3dcd69244",
          "body": "Too many false positives (spurious red rectangles)",
          "is_bot": false,
          "headline": "Disable `warn_if_rect_changes_id`, even in debug builds (#8349)",
          "author_name": "Emil Ernerfeldt",
          "author_login": "emilk",
          "committed_at": "2026-07-28T09:27:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d06f5b5dfcd714811ea0ae590cb410771d0706c1",
          "body": "Useful to support resizing headless apps via `egui_inspection`",
          "is_bot": false,
          "headline": "Handle `ViewportCommand::InnerSize` in `egui_kittest` (#8350)",
          "author_name": "Lucas Meurer",
          "author_login": "lucasmerlin",
          "committed_at": "2026-07-28T08:54:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5ca01cdbaf555a53a06fdc7428f3c03fcde675c3",
          "body": "* realized pressing just modifiers cause no key events on eframe web\nwhen testing https://github.com/emilk/egui/pull/8336\n* closes https://github.com/emilk/egui/issues/8308\n* part of #3653",
          "is_bot": false,
          "headline": "Fix missing modifier events on eframe web, handle physical keys (#8345)",
          "author_name": "Lucas Meurer",
          "author_login": "lucasmerlin",
          "committed_at": "2026-07-28T08:52:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b730815797ad719238c7d7cb9370a606b89a6870",
          "body": "No particular reason\n\n---------\n\nCo-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Update MSRV from 1.92 to 1.95 (#8348)",
          "author_name": "Emil Ernerfeldt",
          "author_login": "emilk",
          "committed_at": "2026-07-28T08:37:03Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "8fc323fbcf06558dcbbbc02c54b29c1c38d2660f",
          "body": "This allows inspection clients to know if the app is in a settled state\nand/or run the app until it settles (similar to egui_kittests\n`run`/`run_ok`).",
          "is_bot": false,
          "headline": "Add `egui_inspection::Request::Settle` (#8344)",
          "author_name": "Lucas Meurer",
          "author_login": "lucasmerlin",
          "committed_at": "2026-07-28T07:47:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2cb071f7f6d71e0f888ba31bec9b3eb5ed5428fe",
          "body": "- needs #8335 \n\nPreviously it was impossible to correctly set modifiers via egui\ninspection, since that only passes egui::Event and egui::Event had no\nway to generally express modifiers.\nNow modifiers are passed to egui as a Event and not as a field of\n`RawInput`.\n\n---------\n\nCo-authored-by: Emil Ernerfeldt <emil.ernerfeldt@gmail.com>",
          "is_bot": false,
          "headline": "Remove `Modifiers` from `RawInput` and make it a `egui::Event` (#8336)",
          "author_name": "Lucas Meurer",
          "author_login": "lucasmerlin",
          "committed_at": "2026-07-27T14:17:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e6eb00a31c7089d4458c55fcbe5f1253311a7176",
          "body": "## Summary\n\n- [x] I have followed the instructions in the PR template\n\nFixes comment-style violations of the `CONTRIBUTING.md` code style rule:\n\n> `// Comment like this.` and not `//like this`\n\n### Files changed\n\n- `crates/epaint/src/shapes/bezier_shape.rs`: `//temporary solution` →\n`// temporary so\n[…]\nchanges — only adding the missing space after `//` in\ninline and standalone comments.\n\n## Test plan\n\n- [x] `cargo fmt --check`\n- [x] `cargo clippy -p epaint -p egui`\n- [x] `cargo test -p epaint --lib`",
          "is_bot": false,
          "headline": "Fix comment style: add space after // (#8333)",
          "author_name": "Davy",
          "author_login": "thedavidweng",
          "committed_at": "2026-07-24T08:24:33Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "b98f4b40344e2a815db32388510d2c0ad792d109",
          "body": "## Summary\n\n- [x] I have followed the instructions in the PR template\n\nFixes the 12 failing `cargo-deny` CI checks on `main` (introduced by\n#8289).\n\n### Root cause\n\n`rustybuzz` was flagged as unmaintained by\n[RUSTSEC-2026-0206](https://rustsec.org/advisories/RUSTSEC-2026-0206),\nreported on 2026-07-1\n[…]\neck advisories` — passes (`advisories ok`)\n- [x] `cargo deny check` — all sections pass (`advisories ok, bans ok,\nlicenses ok, sources ok`)\n\n---------\n\nCo-authored-by: Lucas Meurer <hi@lucasmerlin.me>",
          "is_bot": false,
          "headline": "Ignore RUSTSEC-2026-0206 (rustybuzz unmaintained) in cargo-deny (#8334)",
          "author_name": "Davy",
          "author_login": "thedavidweng",
          "committed_at": "2026-07-24T08:23:06Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "d28929ec7225205100590fce2836f885bc9ba688",
          "body": "* Closes <https://github.com/emilk/egui/issues/8115>\n* [x] I have followed the instructions in the PR template\n\n## Summary\n\n- Recalculate a menu popup's cached `Area` size when it reopens.\n- Preserve cached sizing for continuously open menus and leave tooltips\nand general popups unchanged.\n- Add a h\n[…]\n\nalignment, screen-constraining, and continuously open menu behavior\nremain unchanged.\n\n## Validation\n\n- `cargo test -p egui_kittest --test menu`\n- `cargo check -p egui`\n- `cargo fmt --all -- --check`",
          "is_bot": false,
          "headline": "Rerun `sizing_pass` when reopening popup (#8315)",
          "author_name": "Vitaly Kravchenko",
          "author_login": "yay",
          "committed_at": "2026-07-23T14:58:26Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "3fcadda5ba186c9a0f8c1546e2a3fefae6b1e863",
          "body": null,
          "is_bot": false,
          "headline": "Upgrade wgpu to v30 (#8289)",
          "author_name": "Aarni Koskela",
          "author_login": "akx",
          "committed_at": "2026-07-20T09:07:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b865da1942ee2b2b4ebed9bdcadb67a1fbb5da1d",
          "body": "…296)\n\n* Closes <https://github.com/emilk/egui/issues/8295>\n* [x] I have followed the instructions in the PR template\n\nWhen an eframe app is embedded in a scrollable host page, the host page\njumped to the top whenever the app booted or grabbed keyboard focus.\nCause: the hidden text-agent `<input>` s\n[…]\n the top of the host page. (`move_to` keeps\nrepositioning it for IME as before.)\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Web: don't scroll host page when text agent or canvas grabs focus (#8…",
          "author_name": "Emil Ernerfeldt",
          "author_login": "emilk",
          "committed_at": "2026-07-08T14:30:24Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "d3850a9ca7c9b989d1ea3900d43305e7032a4e3b",
          "body": "Semver-compatible dependency updates (~200 transitive crates in\n`Cargo.lock`), plus housekeeping of the version pins in `Cargo.toml`.\n\n## Changes\n* Normalize version strings in `[workspace.dependencies]`\n(`similar-asserts = \"2.0\"`, `unicode_names2 = \"3.1\"`)\n* `cargo update`: bump all semver-compatib\n[…]\nen on all targets, `cargo clippy\n--all-features --all-targets` clean.\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)\n\n---------\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Update crates (#8301)",
          "author_name": "Emil Ernerfeldt",
          "author_login": "emilk",
          "committed_at": "2026-07-07T17:34:44Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "765d5ea8a8d3c747da74e3dab499c744145ea174",
          "body": "Updates crossbeam and ignores the others as there are no possible yet",
          "is_bot": false,
          "headline": "Fix cargo deny (#8300)",
          "author_name": "Lucas Meurer",
          "author_login": "lucasmerlin",
          "committed_at": "2026-07-07T08:59:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f005960bdc3cd6af768347990322771c5b57af0d",
          "body": "When using the cranelift backend we would get stack traces that would\ncontain a lot of egui callstacks. This should solve it.",
          "is_bot": false,
          "headline": "Improve backtrace trimming for cranelift (#8294)",
          "author_name": "Emil Ernerfeldt",
          "author_login": "emilk",
          "committed_at": "2026-07-06T18:34:03Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "68b74530b7848cef6bff4efc5fc9906bfbd1e8ca",
          "body": null,
          "is_bot": false,
          "headline": "Release 0.35.0 - Inspection, egui_mcp, classes and improved IME (#8268)",
          "author_name": "Lucas Meurer",
          "author_login": "lucasmerlin",
          "committed_at": "2026-06-25T18:48:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a08630c99649e52ae570acdb48c287bddefacbfe",
          "body": "* [x] I have followed the instructions in the PR template\n\nJust a small docs change, since I saw this trip someone up. The ones on\n`Response` may be redundant.",
          "is_bot": false,
          "headline": "Improve docs on some methods to clarify what counts as a \"click\" (#8251)",
          "author_name": "Andrew Farkas",
          "author_login": "HactarCE",
          "committed_at": "2026-06-25T17:01:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5bf62ca4b336df9bf327adec2cfa52a471dba3f8",
          "body": "<!--\nPlease read the \"Making a PR\" section of\n[`CONTRIBUTING.md`](https://github.com/emilk/egui/blob/main/CONTRIBUTING.md)\nbefore opening a Pull Request!\n\n* Keep your PR:s small and focused.\n* The PR title is what ends up in the changelog, so make it descriptive!\n* If applicable, add a screenshot or\n[…]\nentical to `macOS builtin`. (ignoring the fact\nthat the composition breaks when typing the second Hangul. (This bug\npredates this PR.)) |——|\n\n---------\n\nCo-authored-by: lucasmerlin <hi@lucasmerlin.me>",
          "is_bot": false,
          "headline": "Implement proper visuals for IME composition (#8083)",
          "author_name": "Umaĵo",
          "author_login": "umajho",
          "committed_at": "2026-06-25T16:21:19Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "a8d09eb60d37381a902b61160d9bc589508442e5",
          "body": "## Summary\n\nThis fixes macOS live-resize behavior for the `eframe`/`egui-wgpu` path\nwhen using the low-latency wgpu surface configuration.\n\nThe problem I was seeing is that native window resize can look visibly\nbelow the baseline expected from a desktop GUI: stale or stretched\nframes (manifesting as\n[…]\ny\n\nNo visible wobble/jitter and no severe live-resize lag.\n\n\nhttps://github.com/user-attachments/assets/59e46e9f-7906-4b5c-a6c7-1d09eae644cd\n\n---------\n\nCo-authored-by: lucasmerlin <hi@lucasmerlin.me>",
          "is_bot": false,
          "headline": "Fix macOS wgpu live resize with low-latency surfaces (#8229)",
          "author_name": "Vitaly Kravchenko",
          "author_login": "yay",
          "committed_at": "2026-06-25T13:55:36Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "2e26b70ae95883c93961d8eeb077559f896e8932",
          "body": "* Closes https://github.com/emilk/egui/issues/5112\n\n---------\n\nCo-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Call `logic` even while browser tab is in background (#8257)",
          "author_name": "Lucas Meurer",
          "author_login": "lucasmerlin",
          "committed_at": "2026-06-25T12:59:45Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "26ead4af210c167819d6569f99c9f56c899bd01d",
          "body": "<!--\nPlease read the \"Making a PR\" section of\n[`CONTRIBUTING.md`](https://github.com/emilk/egui/blob/main/CONTRIBUTING.md)\nbefore opening a Pull Request!\n\n* Keep your PR:s small and focused.\n* The PR title is what ends up in the changelog, so make it descriptive!\n* If applicable, add a screenshot or\n[…]\nimited!\n-->\n\n* [X] I have followed the instructions in the PR template\n\nThis PR adds a `remove_string()` API to the Storage trait and also\nimplements it in the `FileStorage` and `LocalStorage` stucts.",
          "is_bot": false,
          "headline": "feat: add `remove_string()` to storage trait (#8264)",
          "author_name": "mike",
          "author_login": "mikesk8r",
          "committed_at": "2026-06-25T10:34:12Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "3fdcef15ab3cf4138ac665dc0ca72ab147ba6bb3",
          "body": "A get atoms trait for Button, checkbox etc. I made it because I had time\nto kill after I tried sorting buttons in a Vec by the image in their\natoms, but couldn't get to it because it was private.\n\n---------\n\nCo-authored-by: Lucas Meurer <hi@lucasmerlin.me>\nCo-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Add `atoms()` helpers to get `Atoms` from widgets (#8128)",
          "author_name": "Nashvill375",
          "author_login": "Nashvill375",
          "committed_at": "2026-06-25T10:16:56Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "ffbd7dc6416cd4b14140b2063f8fab8275842f97",
          "body": "This is a bit like my previous pr\n(<https://github.com/emilk/egui/pull/8037>), but addresses the final bit\nof 64 bit atomic dependent code, the svg loader in the `egui_extras`\ncrate.\n\nAs with the previous pr, this improves egui's compatibility on platforms\nwithout 64 bit atomics.\n\n* Closes <https://github.com/emilk/egui/issues/7692>\n\n* [x] I have followed the instructions in the PR template",
          "is_bot": false,
          "headline": "Remove 64 bit atomics in egui_extras (#8263)",
          "author_name": "kay-lambdadelta",
          "author_login": "kay-lambdadelta",
          "committed_at": "2026-06-25T09:56:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3e19bd14046aafc763a75013f4648b41b2cf3b5c",
          "body": "Fixes #8079, where font hinting only sharpens the vertical axis\n(vertical stems stay blurry), and none of the skrifa knobs were\nreachable — only switching to `Target::Mono` helped, but that wasn't\nexposed.\n\nThis makes the hinting target configurable instead of hardcoding\n`Target::Smooth { symmetric_\n[…]\n.\nWhether to flip the *default* is left as a follow-up.\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)\n\n---------\n\nCo-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Make font hinting target configurable via `FontTweak` (#8262)",
          "author_name": "Emil Ernerfeldt",
          "author_login": "emilk",
          "committed_at": "2026-06-25T01:18:21Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "e8d96525f4530c5426c8d2088ff99a18460e88b7",
          "body": "That makes it more ergonomic in some cases, e.g. allows you to use\n`Rangef`",
          "is_bot": false,
          "headline": "Make `Slider::new` take `impl Into<RangeInclusive` (#8260)",
          "author_name": "Emil Ernerfeldt",
          "author_login": "emilk",
          "committed_at": "2026-06-24T19:03:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7c600b3c762208b5ed6e75feecd5943a07855ed3",
          "body": "The `FontTweak` settings UI previously let you edit variable-font\nvariation coordinates only via free-form tag + value entry — you had to\n*know* that e.g. `wght` exists and what range is valid.\n\nThis PR queries the font's actual variation axes and pre-populates the\nUI.\n\n### Changes\n- **`epaint`**: n\n[…]\n\" alt=\"Screenshot 2026-06-24 at 11 51 33\"\nsrc=\"https://github.com/user-attachments/assets/f898289a-e329-453a-ba86-c60858901466\"\n/>\n\nCo-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Pre-populate font variation axes in the `FontTweak` UI (#8258)",
          "author_name": "Emil Ernerfeldt",
          "author_login": "emilk",
          "committed_at": "2026-06-24T18:55:57Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "600286d05606cfaecd577f74eb2cb7edeac234bd",
          "body": "Makes it possible to use egui_mcp to drive apps headlessly via kittest",
          "is_bot": false,
          "headline": "Handle `ViewportCommand::Screenshot` in kittest (#8256)",
          "author_name": "Lucas Meurer",
          "author_login": "lucasmerlin",
          "committed_at": "2026-06-24T17:58:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5a49d895bf4ba603436b7bbc1a1488b82fd14a33",
          "body": "A `Button` used as a toggle (via `Button::selected(true)`,\n`Button::selectable(...)`, or `Ui::selectable_label`) now announces its\npressed / not-pressed state to screen readers. Plain buttons that never\ncall `.selected(...)` stay un-toggled, so their announcement doesn't\nchange. `Checkbox` and the p\n[…]\nferent policies regarding AI generated code. Do let me know if\nthis is not acceptable here. Also happy to take any other feedback.\n\nCo-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Announce pressed state of selectable buttons to screen readers (#8130)",
          "author_name": "Antoine Cellerier",
          "author_login": "antoinecellerier",
          "committed_at": "2026-06-24T11:58:30Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "080ce81c8b6078d9215959c64409c5bd307a4135",
          "body": "* To be merged after #8219 \n\nAdds support for vertical atom layout. Together with #8219 this\nbasically creates a minimal flex layout engine",
          "is_bot": false,
          "headline": "Add `AtomLayout::direction` (#8221)",
          "author_name": "Lucas Meurer",
          "author_login": "lucasmerlin",
          "committed_at": "2026-06-24T11:56:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3c11c7b1b18f7801c60aad647a530df78057747a",
          "body": "Removed wrong `cfg` attribute that broke inspection with the glow\nbackend.",
          "is_bot": false,
          "headline": "Fix eframe inspection for glow (#8254)",
          "author_name": "Lucas Meurer",
          "author_login": "lucasmerlin",
          "committed_at": "2026-06-23T15:17:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "de04af8fb71b6978a452b7c34b8ec3b19b6719cc",
          "body": "## Symptom\n\nFix this long-standing, occasional bug, that can cause text to look\ncompressed and \"drunk\":\n\n<img width=\"552\" height=\"226\" alt=\"Screenshot 2026-06-22 at 13 12 56\"\nsrc=\"https://github.com/user-attachments/assets/9b1abad4-5ef6-4771-8168-f201afc341ab\"\n/>\n\n\n## Root cause\n\n`epaint::TextureAtl\n[…]\n's not included. The fixes rest on the reasoning above.\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)\n\n---------\n\nCo-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Fix \"drunk text\" bug (#8250)",
          "author_name": "Emil Ernerfeldt",
          "author_login": "emilk",
          "committed_at": "2026-06-23T15:14:16Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "5ca09dc0b5201576237254994a1c16f36d448d87",
          "body": "When an agent screenshots the app using the mcp and then interacts with\nthe app by clicking at coords, they see the coords in the native image\ncoords. Since the mcp does everything else in logical coordinates, it\nhelps if the image they see is also in logical resoltution, so we always\ndownscale it t\n[…]\n other transport channel (makes the implementation for reruns mcp\nnicer).\n\n---------\n\nCo-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>\nCo-authored-by: Lucas Meurer <lucas@rerun.io>",
          "is_bot": false,
          "headline": "Allow downscaling image in `GetScreenshot` inspection request (#8248)",
          "author_name": "Lucas Meurer",
          "author_login": "lucasmerlin",
          "committed_at": "2026-06-23T08:51:42Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "7be2e9a2ae578ced23ff947e260ef2db3c0c8b44",
          "body": "The font-shaping and SVG crate families can't be bumped right now\nwithout splitting a transitive crate into two versions in `Cargo.lock`.\nEvery blocker is an upstream crate that hasn't caught up, so this PR\njust records the reasons inline in `Cargo.toml` instead of forcing\nduplicates.\n\n## Blockers\n\n\n[…]\no` (for the font stack) and `sctk-adwaita` (for\ntiny-skia) update.\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)\n\nCo-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Document why the font and SVG crates can't be updated yet (#8253)",
          "author_name": "Emil Ernerfeldt",
          "author_login": "emilk",
          "committed_at": "2026-06-23T03:42:22Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "b409bf3f728f64cc82c8aa21940b647f7aea61f5",
          "body": "Closes https://github.com/emilk/egui/issues/8239",
          "is_bot": false,
          "headline": "Respect `image`'s orientation (#8240)",
          "author_name": "Matt Fellenz",
          "author_login": "mattfbacon",
          "committed_at": "2026-06-23T03:28:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0fce065f8542892a1a4a8607d8049bcccff253e3",
          "body": "Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Update a lot of dependencies (#8252)",
          "author_name": "Emil Ernerfeldt",
          "author_login": "emilk",
          "committed_at": "2026-06-23T03:20:06Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "f209b9aea05a63d21697b19df35d51d224ad8f86",
          "body": "This allows you to put an `AtomLayout` inside another `AtomLayout`.\nRight now this has limited use, but once we add wrapping, vertical\n`AtomLayout` and `AtomUi`, this will be a really powerful new layouting\nprimitive for egui.\n\nAdded a test for this in https://github.com/emilk/egui/pull/8221",
          "is_bot": false,
          "headline": "Add `AtomKind::Layout`, for nesting `AtomLayout` (#8219)",
          "author_name": "Lucas Meurer",
          "author_login": "lucasmerlin",
          "committed_at": "2026-06-22T17:09:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "428e027ec7b32d0d87f9f18c39e5ec0cdda6fa8b",
          "body": null,
          "is_bot": false,
          "headline": "Export ByteRange and CharRange (#8247)",
          "author_name": "Emil Ernerfeldt",
          "author_login": "emilk",
          "committed_at": "2026-06-22T03:45:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "467c5b84f056025973f1df86365d38b99bfa4f11",
          "body": "Hey,\nthis is my fist PR to fix the bug I just published #8225 \nI hope it helps. \nI tested the fix with wgpu but not glow.\nI must say that I am not very happy to have very similar function\nis_viewport_or_descendant_visible in both case.\nLet me know if you would prefer that I try to factorize it.\n\n* Closes <https://github.com/emilk/egui/issues/8225>\n* [X] I have followed the instructions in the PR template\n\n---------\n\nCo-authored-by: Matthieu Casanova <public@kpouer.com>",
          "is_bot": false,
          "headline": "Fix crash when parent viewport is hidden (#8226)",
          "author_name": "Matthieu Casanova",
          "author_login": "kpouer",
          "committed_at": "2026-06-22T01:39:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2c8c27c5dff554dda1dfd3a7c5d88529588c19b1",
          "body": "Label text selection before the fix in a deferred viewport:\n\n<img width=\"484\" height=\"172\" alt=\"before_the_fix\"\nsrc=\"https://github.com/user-attachments/assets/2214a7d9-9585-497d-9920-dd336a7df7ea\"\n/>\n\nAfter the fix:\n\n<img width=\"484\" height=\"172\" alt=\"after_the_fix\"\nsrc=\"https://github.com/user-att\n[…]\nwport then fails to encounter the\nselected widgets and clears the\nselection.\n\nThis restores the behavior of #4760 within the current plugin\narchitecture. Applications do not\nneed any special handling.",
          "is_bot": false,
          "headline": "Fix label selection in deferred viewports (#8242)",
          "author_name": "Vitaly Kravchenko",
          "author_login": "yay",
          "committed_at": "2026-06-22T01:37:32Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "13d6b5afcf39d0ebca8190ca0c35f2a93cdc2af9",
          "body": "Less risk of confusing the two.\n\nFound and fix a couple real bugs in the process!\n\n---------\n\nCo-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Use strongly typed `CharIndex` and `ByteIndex` + bug fixes (#8245)",
          "author_name": "Emil Ernerfeldt",
          "author_login": "emilk",
          "committed_at": "2026-06-21T00:24:00Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "eac51da9cad0ed95b652c6a03debf28c19537199",
          "body": "This PR adds two small additions to `LayoutJob`:\n\n- `LayoutJob::format_at_byte` to query the `TextFormat` of the section\ncovering a given byte index.\n- An optimization to `LayoutJob::append` that merges newly appended text\ninto the previous section when the format matches and there is no\nleading spa\n[…]\nplit at `append` boundaries.\n\n---------\n\nCo-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>\nCo-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Add `LayoutJob::format_at_byte` (#8244)",
          "author_name": "Emil Ernerfeldt",
          "author_login": "emilk",
          "committed_at": "2026-06-20T20:07:18Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "86fcffb2292845dc71116e6c070ab32e5c6e862a",
          "body": "Introduces live inspection for running egui apps over a small TCP\nrequest/response protocol, plus the `egui::Plugin` that serves it.\n\nThis is the minimal surface to get the egui mcp in, we may want to\nextend this in the future to add support for the inspection gui.\n\n---------\n\nCo-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Add `egui_inspection` protocol and plugin (#8234)",
          "author_name": "Lucas Meurer",
          "author_login": "lucasmerlin",
          "committed_at": "2026-06-18T09:26:18Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "172fb54f7fb29887da74d42860d2030433833fe4",
          "body": "* Closes https://github.com/emilk/egui/issues/8217\n* [x] I have followed the instructions in the PR template\n\n## What\n\n`AllocatedAtomLayout::paint` painted text via\n`ui.painter().galley(...)`, so text in atom-based widgets could never be\nselected. As discussed in #8217, routing it through\n`LabelSele\n[…]\npening as a draft.\n- This only adds the opt-in API; no existing widget is made selectable.\nHappy to wire it up on a specific widget and/or add an `egui_demo_lib`\ndemo if you'd like — just let me know.",
          "is_bot": false,
          "headline": "Add `AtomLayout::selectable` for opt-in text selection (#8224)",
          "author_name": "冷凍アカギ",
          "author_login": "akagifreeez",
          "committed_at": "2026-06-13T18:25:00Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "27a61934b1d90043e4e1601bf45e4ff30c8f05e8",
          "body": "Summary:\n- add docs/accessibility.md with labels, custom widgets, and testing\nguidance\n- link the guide from the README accessibility FAQ\n\nCloses #4396\n\nChecks:\n- cargo fmt --all -- --check\n- git diff --check",
          "is_bot": false,
          "headline": "docs: add AccessKit accessibility guide (#8233)",
          "author_name": "Alexander Kireyev",
          "author_login": "chatman-media",
          "committed_at": "2026-06-13T18:23:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f624e3078637e1698b1885d197b72bea25623ed5",
          "body": "…(WASM)** (#7888)\n\n**fix(web): prevent entire page from scrolling out of view in Chrome\n(WASM)**\n\n* Closes #7887\n\n**Problem**\nWhen using `egui` on the web, the browser (especially Chrome)\noccasionally triggers an unwanted page-level scroll. This happens\nbecause the hidden input element (text agent) \n[…]\nrowser from incorrectly scrolling the entire page when the text agent\nmoves.\n\n- **Specific change:** Applied `clamp(0.0, canvas_height)` to the\n`clamped_y` value before setting the CSS `top` property.",
          "is_bot": false,
          "headline": "**fix(web): prevent entire page from scrolling out of view in Chrome …",
          "author_name": "rustbasic",
          "author_login": "rustbasic",
          "committed_at": "2026-06-11T09:53:57Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "b46b9e225fe23717412f58b56802b8dd0817316d",
          "body": "* I accidentally merged https://github.com/emilk/egui/pull/8127 without\nall of its checks having been run.\n\nI've now marked a few CI items as required",
          "is_bot": false,
          "headline": "Formatting fixes: fix red main (#8232)",
          "author_name": "Emil Ernerfeldt",
          "author_login": "emilk",
          "committed_at": "2026-06-10T19:45:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e392fbadd407637eae011a2c4dfbd650d3d6a771",
          "body": null,
          "is_bot": false,
          "headline": "Refactor: break up `input.rs` into many files (#8230)",
          "author_name": "Emil Ernerfeldt",
          "author_login": "emilk",
          "committed_at": "2026-06-10T08:12:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "333442008cf1a4ee90e683f81a530e7904d4a664",
          "body": "…reases (#8048)\n\n### Problem\n`Column::remainder().clip(true)` grows correctly when the panel is made\nwider, but does not shrink when the panel is made narrower.\n\n### Root cause\nThere are two places in `table.rs` where the `max_used_widths` floor is\napplied to column widths. One correctly checks `col\n[…]\nsets/2b586588-9f72-4a15-80f4-afddadb69441\n\n\n**With the fix:** the column shrinks correctly and no scrollbar appears\n✓\n\n\n\nhttps://github.com/user-attachments/assets/f1655641-e135-489c-9f59-2af3faa887ab",
          "is_bot": false,
          "headline": "`Column::remainder().clip(true)` now shrinks when available width dec…",
          "author_name": "Germán Navarro",
          "author_login": "germ4n",
          "committed_at": "2026-06-10T08:01:11Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "b3e4cde85a930ce1439f1ad232b249bbaabde1a5",
          "body": "…8210)\n\n### Problem\n`Response::lost_focus()` could silently fail to fire when keyboard focus\nmoved from one widget to another *within the same frame* — for example,\nclicking a `TextEdit` that was added to the UI *after* the\ncurrently-focused one.\n\n### Fix\nThis widens the detection window by one extr\n[…]\ne current master branch, too.\n\n* This PR replaces https://github.com/emilk/egui/pull/3247\n* Closes <https://github.com/emilk/egui/issues/2142>\n* [x] I have followed the instructions in the PR template",
          "is_bot": false,
          "headline": "Fix #2142 - lost_focus not firing after a mid-frame focus transfer (#…",
          "author_name": "Francesco Cinà",
          "author_login": "ufoscout",
          "committed_at": "2026-06-10T08:00:55Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "704d86e4aaba8d96405c26e6559976f1a82b3367",
          "body": "## Summary\n\nAdds `Context::interactive_rects_last_pass() -> Vec<Rect>`, an\nintegration-facing helper that returns the same widget interaction\nrectangles egui uses for hit-testing in the last completed pass.\n\nThe method filters out disabled widgets, non-interactive widgets, and\nlayers that currently \n[…]\nstic output.\n- Non-positive or non-finite rectangles are skipped.\n\n## Verification\n\n- `cargo check -p egui`\n- `cargo test -p egui --lib`\n\nCo-authored-by: psyche314 <psyche314@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Expose interactive rects from the last pass (#8211)",
          "author_name": "psyche314",
          "author_login": "psyche314",
          "committed_at": "2026-06-10T08:00:41Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "923ddcf30d48673cffdd5a04df793c3f6396a1ff",
          "body": "* [x] I have followed the instructions in the PR template\n\nRelated to https://github.com/emilk/egui/discussions/4263",
          "is_bot": false,
          "headline": "Enhance documentation for Ui::disabled method (#8209)",
          "author_name": "n4n5",
          "author_login": "Its-Just-Nans",
          "committed_at": "2026-06-10T07:58:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5012603e03f380defac510df970d6b2cc635131a",
          "body": "Fix: ScrollArea layout jitter with floating bars and zoom levels\n\n* Closes #7937 \n* Closes #7942 \n\nThis PR improves the stability of `ScrollArea` by addressing two layout\nissues:\n\n1. **Discrete Layout for Floating Bars:** Fixed content \"shaking\" in\n`floating` mode when a non-zero `allocated_width` i\n[…]\nll epsilon (0.1) when\nchecking if content exceeds the viewport. This prevents scrollbars from\nflickering on and off due to floating-point rounding errors at specific\nzoom factors (e.g., 1.01 or 0.95).",
          "is_bot": false,
          "headline": "Fix: ScrollArea layout jitter with floating bars and zoom levels (#7944)",
          "author_name": "rustbasic",
          "author_login": "rustbasic",
          "committed_at": "2026-06-10T07:57:44Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "0b920aae423fb8822a88fe4290177a01a76a634e",
          "body": "## Problem\n\nwinit has always delivered distinct physical variants for every keyboard\nkey — \\`KeyCode::ShiftLeft\\` vs \\`KeyCode::ShiftRight\\`,\n\\`KeyCode::ControlLeft\\`/\\`ControlRight\\`, \\`AltLeft\\`/\\`AltRight\\`,\n\\`SuperLeft\\`/\\`SuperRight\\`, plus the ISO 102nd key\n\\`KeyCode::IntlBackslash\\` (the one \n[…]\norward what\nwinit already gives us for the event path.\n\nCloses no issue directly but addresses the underlying gap noted in the\nthread of #2977 (scancode forwarding) for the modifier / Intl-key\nsubset.",
          "is_bot": false,
          "headline": "Add modifier keys to `egui::Key` (#8127)",
          "author_name": "Sylvain",
          "author_login": "Le-Syl21",
          "committed_at": "2026-06-10T07:53:48Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "858c8fd99f0335999340f3bcb4252a9595fa2d45",
          "body": "The Debug-formatting of `Id` in debug-builds now contain the full\nlineage:\n\n```rs\n#[test]\nfn with_chain() {\n    let id = Id::new(\"a\").with(\"b\").with(\"c\").with(7_i32);\n    assert_eq!(\n        format!(\"{id:?}\"),\n        r#\"Id::new(\"a\").with(\"b\").with(\"c\").with(7)\"#\n    );\n}\n```\n\n\n## Related\n* https://github.com/emilk/egui/pull/5851\n* https://github.com/emilk/egui/pull/7988",
          "is_bot": false,
          "headline": "Improve `Debug`-formatting of `Id` in debug-builds (#8190)",
          "author_name": "Emil Ernerfeldt",
          "author_login": "emilk",
          "committed_at": "2026-06-10T07:39:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "71c4ff3c337a08bee934f249463d6701bf76b420",
          "body": "<!--\nPlease read the \"Making a PR\" section of\n[`CONTRIBUTING.md`](https://github.com/emilk/egui/blob/main/CONTRIBUTING.md)\nbefore opening a Pull Request!\n\n* Keep your PR:s small and focused.\n* The PR title is what ends up in the changelog, so make it descriptive!\n* If applicable, add a screenshot or\n[…]\n colors internally.\n\nBefore:\n\n\nhttps://github.com/user-attachments/assets/4617a355-daa9-4911-86e6-518ac6867014\n\nAfter:\n\n\nhttps://github.com/user-attachments/assets/d9681b01-50d8-418e-b5a5-79b4bd1bbddf",
          "is_bot": false,
          "headline": "Fixes color picker hue drift at low alpha values (#8208)",
          "author_name": "Gábor Gyebnár",
          "author_login": "aedm",
          "committed_at": "2026-06-05T13:58:36Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "db7559368dc38704194d48f13400a98c2cf09584",
          "body": "Reserve the scroll area before painting fades and update the fade\npainting logic.\n\n* Closes #8213",
          "is_bot": false,
          "headline": "Refactor scroll area fade painting logic (#8214)",
          "author_name": "rustbasic",
          "author_login": "rustbasic",
          "committed_at": "2026-06-02T14:32:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "654a2a974d1991fe1fcea81a4aaa17c770adee0d",
          "body": null,
          "is_bot": false,
          "headline": "Bump version to 0.34.3 and update changelogs (#8207)",
          "author_name": "Lucas Meurer",
          "author_login": "lucasmerlin",
          "committed_at": "2026-05-27T09:27:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "99a8d7b3ffad1a4ba3e41215d13004b47023203b",
          "body": "…#8140)\n\n## Summary\n\nAdds two paired API entry-points that let an integration target a\nspecific monitor at viewport creation time, or move an existing viewport\nto a different monitor at runtime, in a way that works portably on\nWayland.\n\n```rust\n// At creation\nViewportBuilder::default()\n    .with_inn\n[…]\ntlBackslash` physical key variants\n- **This PR** — `with_monitor` / `SetMonitor`\n\nEach is independently useful. None depend on the others.\n\n🤖 Drafted with [Claude Code](https://claude.com/claude-code)",
          "is_bot": false,
          "headline": "Add `ViewportBuilder::with_monitor` + `ViewportCommand::SetMonitor` (…",
          "author_name": "Sylvain",
          "author_login": "Le-Syl21",
          "committed_at": "2026-05-26T19:45:48Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "c57e3c4b0c766eceb2d025cf9acc060b3f19a8cc",
          "body": "<!--\nPlease read the \"Making a PR\" section of\n[`CONTRIBUTING.md`](https://github.com/emilk/egui/blob/main/CONTRIBUTING.md)\nbefore opening a Pull Request!\n\n* Keep your PR:s small and focused.\n* The PR title is what ends up in the changelog, so make it descriptive!\n* If applicable, add a screenshot or\n[…]\nu have addressed a PR comment, mark it as resolved.\n\nPlease be patient! I will review your PR, but my time is limited!\n-->\n\nFixes a small typo\n* [x] I have followed the instructions in the PR template",
          "is_bot": false,
          "headline": "Fix typo in interaction_snapshot documentation (#8158)",
          "author_name": "Onè",
          "author_login": "c-git",
          "committed_at": "2026-05-26T14:40:42Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "a66f0dbd4f49a96fdba3f0ad23252a312ede9580",
          "body": "…(#8033)\n\n<!--\nPlease read the \"Making a PR\" section of\n[`CONTRIBUTING.md`](https://github.com/emilk/egui/blob/main/CONTRIBUTING.md)\nbefore opening a Pull Request!\n\n* Keep your PR:s small and focused.\n* The PR title is what ends up in the changelog, so make it descriptive!\n* If applicable, add a scr\n[…]\n issue to ensure it will be\ncaught on further code changes.\n\nThe code snippets form the original issue can be used for testing here\nas well\n\nCo-authored-by: Emil Ernerfeldt <emil.ernerfeldt@gmail.com>",
          "is_bot": false,
          "headline": "Fix `ScrollArea::scroll_to_*` calls when `stick_to_bottom` is Active …",
          "author_name": "Ammar Abou Zor",
          "author_login": "AmmarAbouZor",
          "committed_at": "2026-05-26T14:01:55Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "37a7ee448a4b3474a990f4b4cb1fa189a814482a",
          "body": "Previously, the doc for `Ui::scope_builder` read\n\n> Create a child, add content to it, and then allocate only what was\nused in the parent `Ui`.\n\nwhich I understood as meaning that \"only what was used in the parent\n`UI`\" would be allocated (in the child or parent), which makes no sense\n(in either case).\n\nI rewrote it and some related docs.\n\nCo-authored-by: Emil Ernerfeldt <emil.ernerfeldt@gmail.com>",
          "is_bot": false,
          "headline": "Improve `UiBuilder` docs (#8132)",
          "author_name": "Josie Elliston",
          "author_login": "JosieElliston",
          "committed_at": "2026-05-26T13:53:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8d5a7b4557e4f1163a17debf940fc87b4f45c044",
          "body": "* initially done in https://github.com/emilk/egui/pull/8103, reverted in\n#8167 due to resize hangs\n* Related: https://github.com/emilk/egui/issues/8043 (maybe closes??)\n\nTurns out the resize hangs were caused by the present_with_transaction\ncall. Disabling that when `desired_maximum_frame_latency ==\n[…]\ne smoothly.\n\nThanks @krisdigital for noticing that connection:\nhttps://github.com/emilk/egui/issues/8043#issuecomment-4154440382\n\n---------\n\nCo-authored-by: Emil Ernerfeldt <emil.ernerfeldt@gmail.com>",
          "is_bot": false,
          "headline": "Configure wgpu to be low-latency by default (#8203)",
          "author_name": "Lucas Meurer",
          "author_login": "lucasmerlin",
          "committed_at": "2026-05-26T13:49:51Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "fd57895559374d12235ea2cb4bd7e58e23aa291e",
          "body": "* Related: https://github.com/emilk/egui/issues/7798",
          "is_bot": false,
          "headline": "Add winit window access to `eframe::Frame` and `CreationContext` (#8205)",
          "author_name": "Emil Ernerfeldt",
          "author_login": "emilk",
          "committed_at": "2026-05-26T13:46:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8f370ca7a23d4d0a86af947f4b946b6f777bdb28",
          "body": "* Closes <https://github.com/emilk/egui/issues/4491>\n* [x] I have followed the instructions in the PR template\n\nLets you create an `EhttpLoader` with arbitrary headers like so:\n\n```rust\ncc.egui_ctx.add_bytes_loader(std::sync::Arc::new(\n    egui_extras::loaders::http_loader::EhttpLoader::default().wi\n[…]\nder` (in addition to the one installed by default when using\n`egui_extras::install_image_loaders(&cc.egui_ctx)`. But I wasn't\nsure how else to pass in configuration options to\n`install_image_loaders`.",
          "is_bot": false,
          "headline": "Add arbitrary request headers to `EhttpLoader` (#8121)",
          "author_name": "Francis Tseng",
          "author_login": "frnsys",
          "committed_at": "2026-05-26T11:18:02Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "a41bba33a07d8a68290566bce8841ee53dc872e4",
          "body": "* Follows https://github.com/emilk/egui/pull/8199\n\nThis makes the animation of the collapsing panel a bit smoother, by\ntaking into account the spacing between the header and the body.",
          "is_bot": false,
          "headline": "Smoother collapsed-panel animation (#8202)",
          "author_name": "Emil Ernerfeldt",
          "author_login": "emilk",
          "committed_at": "2026-05-26T08:59:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0ce2b3699ba6a12f15266d827c5a21b7d45b16cf",
          "body": "* Closes https://github.com/emilk/egui/issues/8055\n* Closes https://github.com/emilk/egui/pull/8056\n\nThis changes the behavior of `Panel` to NEVER overflow\n`Panel::max_size`, nor the available space in the parent UI.\n\nIf you do overflow it, the content will be silently clipped.",
          "is_bot": false,
          "headline": "`Panel`: never overflow available width, nor `max_width` (#8198)",
          "author_name": "Emil Ernerfeldt",
          "author_login": "emilk",
          "committed_at": "2026-05-26T08:54:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fc1b2a99fd77f6821b5dc0bf8c82a9f0782039b9",
          "body": "`ab_glyph` would output coverage values, but `vello` outputs RGBA. So\nthe old name was a misnomer.\n\nI also suspect our default values are wrong, but I need to investigate\nthat more properly in a separate PR.",
          "is_bot": false,
          "headline": "Rename `AlphaFromCoverage` to `FontColorTransferFunction` (#8201)",
          "author_name": "Emil Ernerfeldt",
          "author_login": "emilk",
          "committed_at": "2026-05-26T08:51:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        }
      ],
      "releases_count": 43,
      "commits_last_year": 471,
      "latest_release_at": "2026-08-05T11:13:50Z",
      "latest_release_tag": "0.36.0",
      "releases_from_tags": false,
      "days_since_last_push": 0,
      "active_weeks_last_year": 47,
      "days_since_latest_release": 0,
      "mean_days_between_releases": 36.4
    },
    "artifacts": {
      "collected": true,
      "structure": [
        "tree.cargo_lib",
        "tree.cargo_main"
      ],
      "declarations": [
        {
          "name": null,
          "path": "Cargo.toml",
          "tokens": [
            "cargo.workspace"
          ],
          "ecosystem": "crates"
        },
        {
          "name": "ecolor",
          "path": "crates/ecolor/Cargo.toml",
          "tokens": [
            "cargo.category:mathematics",
            "cargo.category:encoding"
          ],
          "ecosystem": "crates"
        },
        {
          "name": "eframe",
          "path": "crates/eframe/Cargo.toml",
          "tokens": [
            "cargo.category:gui",
            "cargo.category:game-development"
          ],
          "ecosystem": "crates"
        },
        {
          "name": "egui-wgpu",
          "path": "crates/egui-wgpu/Cargo.toml",
          "tokens": [
            "cargo.category:gui",
            "cargo.category:game-development"
          ],
          "ecosystem": "crates"
        },
        {
          "name": "egui-winit",
          "path": "crates/egui-winit/Cargo.toml",
          "tokens": [
            "cargo.category:gui",
            "cargo.category:game-development"
          ],
          "ecosystem": "crates"
        },
        {
          "name": "egui",
          "path": "crates/egui/Cargo.toml",
          "tokens": [
            "cargo.category:gui",
            "cargo.category:game-development"
          ],
          "ecosystem": "crates"
        },
        {
          "name": "egui_demo_app",
          "path": "crates/egui_demo_app/Cargo.toml",
          "tokens": [
            "cargo.lib",
            "cargo.cdylib",
            "cargo.publish_false"
          ],
          "ecosystem": "crates"
        },
        {
          "name": "egui_demo_lib",
          "path": "crates/egui_demo_lib/Cargo.toml",
          "tokens": [
            "cargo.category:gui",
            "cargo.category:graphics"
          ],
          "ecosystem": "crates"
        },
        {
          "name": "egui_extras",
          "path": "crates/egui_extras/Cargo.toml",
          "tokens": [
            "cargo.category:gui",
            "cargo.category:game-development"
          ],
          "ecosystem": "crates"
        },
        {
          "name": "egui_glow",
          "path": "crates/egui_glow/Cargo.toml",
          "tokens": [
            "cargo.category:gui",
            "cargo.category:game-development"
          ],
          "ecosystem": "crates"
        },
        {
          "name": "egui_inspection",
          "path": "crates/egui_inspection/Cargo.toml",
          "tokens": [
            "cargo.category:gui",
            "cargo.category:development-tools::testing",
            "cargo.category:accessibility"
          ],
          "ecosystem": "crates"
        },
        {
          "name": "egui_kittest",
          "path": "crates/egui_kittest/Cargo.toml",
          "tokens": [
            "cargo.category:gui",
            "cargo.category:development-tools::testing",
            "cargo.category:accessibility"
          ],
          "ecosystem": "crates"
        },
        {
          "name": "emath",
          "path": "crates/emath/Cargo.toml",
          "tokens": [
            "cargo.category:mathematics",
            "cargo.category:gui"
          ],
          "ecosystem": "crates"
        },
        {
          "name": "epaint",
          "path": "crates/epaint/Cargo.toml",
          "tokens": [
            "cargo.category:graphics",
            "cargo.category:gui"
          ],
          "ecosystem": "crates"
        },
        {
          "name": "epaint_default_fonts",
          "path": "crates/epaint_default_fonts/Cargo.toml",
          "tokens": [
            "cargo.category:graphics",
            "cargo.category:gui"
          ],
          "ecosystem": "crates"
        },
        {
          "name": "xtask",
          "path": "xtask/Cargo.toml",
          "tokens": [
            "cargo.publish_false"
          ],
          "ecosystem": "crates"
        }
      ]
    },
    "community": {
      "has_readme": true,
      "has_license": true,
      "readme_badges": {
        "hosts": [
          "github.com",
          "shields.io"
        ],
        "total": 7,
        "header": 7,
        "collected": true,
        "has_inspect_badge": false
      },
      "has_description": true,
      "has_contributing": true,
      "health_percentage": 85,
      "has_issue_template": false,
      "has_code_of_conduct": true,
      "has_pull_request_template": true
    },
    "ecosystem": {
      "packages": [
        {
          "name": "xtask",
          "exists": true,
          "license": "MIT OR Apache-2.0",
          "keywords": [
            "automation",
            "codesign",
            "macos",
            "release",
            "xtask",
            "command-line-utilities",
            "development-tools::build-utils"
          ],
          "ecosystem": "crates",
          "categories": [
            "command-line-utilities",
            "development-tools::build-utils"
          ],
          "matches_repo": false,
          "registry_url": "https://crates.io/crates/xtask",
          "declared_type": null,
          "is_deprecated": false,
          "latest_version": "0.1.4",
          "repository_url": "https://github.com/arcboxlabs/xtask",
          "versions_count": 5,
          "total_downloads": 649,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": 216,
          "first_published_at": "2026-06-24T11:01:25.012607Z",
          "latest_published_at": "2026-06-30T09:55:36.509458Z",
          "latest_version_yanked": false,
          "days_since_latest_publish": 36
        },
        {
          "name": "egui",
          "exists": true,
          "license": "MIT OR Apache-2.0",
          "keywords": [
            "gamedev",
            "gui",
            "imgui",
            "immediate",
            "portable",
            "gui",
            "game-development"
          ],
          "ecosystem": "crates",
          "categories": [
            "gui",
            "game-development"
          ],
          "matches_repo": true,
          "registry_url": "https://crates.io/crates/egui",
          "declared_type": null,
          "is_deprecated": false,
          "latest_version": "0.36.0",
          "repository_url": "https://github.com/emilk/egui",
          "versions_count": 64,
          "total_downloads": 20963101,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": 1540775,
          "first_published_at": "2020-05-30T16:23:04.887452Z",
          "latest_published_at": "2026-08-05T10:36:30.315977Z",
          "latest_version_yanked": false,
          "days_since_latest_publish": 0
        },
        {
          "name": "emath",
          "exists": true,
          "license": "MIT OR Apache-2.0",
          "keywords": [
            "gui",
            "math",
            "gui",
            "mathematics"
          ],
          "ecosystem": "crates",
          "categories": [
            "gui",
            "mathematics"
          ],
          "matches_repo": true,
          "registry_url": "https://crates.io/crates/emath",
          "declared_type": null,
          "is_deprecated": false,
          "latest_version": "0.36.0",
          "repository_url": "https://github.com/emilk/egui/tree/main/crates/emath",
          "versions_count": 47,
          "total_downloads": 21734737,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": 1610492,
          "first_published_at": "2021-01-17T14:16:12.764431Z",
          "latest_published_at": "2026-08-05T10:35:59.760225Z",
          "latest_version_yanked": false,
          "days_since_latest_publish": 0
        },
        {
          "name": "ecolor",
          "exists": true,
          "license": "MIT OR Apache-2.0",
          "keywords": [
            "color",
            "conversion",
            "gamedev",
            "gui",
            "images",
            "encoding",
            "mathematics"
          ],
          "ecosystem": "crates",
          "categories": [
            "encoding",
            "mathematics"
          ],
          "matches_repo": true,
          "registry_url": "https://crates.io/crates/ecolor",
          "declared_type": null,
          "is_deprecated": false,
          "latest_version": "0.36.0",
          "repository_url": "https://github.com/emilk/egui",
          "versions_count": 35,
          "total_downloads": 20088971,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": 1545443,
          "first_published_at": "2022-12-08T14:12:07.294231Z",
          "latest_published_at": "2026-08-05T10:36:04.522475Z",
          "latest_version_yanked": false,
          "days_since_latest_publish": 0
        },
        {
          "name": "eframe",
          "exists": true,
          "license": "MIT OR Apache-2.0",
          "keywords": [
            "egui",
            "gamedev",
            "gui",
            "gui",
            "game-development"
          ],
          "ecosystem": "crates",
          "categories": [
            "gui",
            "game-development"
          ],
          "matches_repo": true,
          "registry_url": "https://crates.io/crates/eframe",
          "declared_type": null,
          "is_deprecated": false,
          "latest_version": "0.36.0",
          "repository_url": "https://github.com/emilk/egui/tree/main/crates/eframe",
          "versions_count": 53,
          "total_downloads": 16121945,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": 1264323,
          "first_published_at": "2021-01-04T14:58:51.582823Z",
          "latest_published_at": "2026-08-05T10:37:47.888504Z",
          "latest_version_yanked": false,
          "days_since_latest_publish": 0
        },
        {
          "name": "epaint",
          "exists": true,
          "license": "MIT OR Apache-2.0",
          "keywords": [
            "egui",
            "graphics",
            "gui",
            "gui",
            "graphics"
          ],
          "ecosystem": "crates",
          "categories": [
            "gui",
            "graphics"
          ],
          "matches_repo": true,
          "registry_url": "https://crates.io/crates/epaint",
          "declared_type": null,
          "is_deprecated": false,
          "latest_version": "0.36.0",
          "repository_url": "https://github.com/emilk/egui/tree/main/crates/epaint",
          "versions_count": 48,
          "total_downloads": 20901387,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": 1542722,
          "first_published_at": "2021-01-17T14:21:47.756259Z",
          "latest_published_at": "2026-08-05T10:36:21.658095Z",
          "latest_version_yanked": false,
          "days_since_latest_publish": 0
        },
        {
          "name": "egui-wgpu",
          "exists": true,
          "license": "MIT OR Apache-2.0",
          "keywords": [
            "egui",
            "gamedev",
            "gui",
            "wgpu",
            "gui",
            "game-development"
          ],
          "ecosystem": "crates",
          "categories": [
            "gui",
            "game-development"
          ],
          "matches_repo": true,
          "registry_url": "https://crates.io/crates/egui-wgpu",
          "declared_type": null,
          "is_deprecated": false,
          "latest_version": "0.36.0",
          "repository_url": "https://github.com/emilk/egui/tree/main/crates/egui-wgpu",
          "versions_count": 44,
          "total_downloads": 9846363,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": 1064217,
          "first_published_at": "2021-04-10T18:32:46.895636Z",
          "latest_published_at": "2026-08-05T10:37:14.795008Z",
          "latest_version_yanked": false,
          "days_since_latest_publish": 0
        },
        {
          "name": "egui_glow",
          "exists": true,
          "license": "MIT OR Apache-2.0",
          "keywords": [
            "egui",
            "gamedev",
            "glow",
            "gui",
            "gui",
            "game-development"
          ],
          "ecosystem": "crates",
          "categories": [
            "gui",
            "game-development"
          ],
          "matches_repo": true,
          "registry_url": "https://crates.io/crates/egui_glow",
          "declared_type": null,
          "is_deprecated": false,
          "latest_version": "0.36.0",
          "repository_url": "https://github.com/emilk/egui/tree/main/crates/egui_glow",
          "versions_count": 42,
          "total_downloads": 16351852,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": 1273200,
          "first_published_at": "2021-10-24T14:17:20.611952Z",
          "latest_published_at": "2026-08-05T10:36:57.668982Z",
          "latest_version_yanked": false,
          "days_since_latest_publish": 0
        },
        {
          "name": "egui-winit",
          "exists": true,
          "license": "MIT OR Apache-2.0",
          "keywords": [
            "egui",
            "gamedev",
            "gui",
            "winit",
            "gui",
            "game-development"
          ],
          "ecosystem": "crates",
          "categories": [
            "gui",
            "game-development"
          ],
          "matches_repo": true,
          "registry_url": "https://crates.io/crates/egui-winit",
          "declared_type": null,
          "is_deprecated": false,
          "latest_version": "0.36.0",
          "repository_url": "https://github.com/emilk/egui/tree/main/crates/egui-winit",
          "versions_count": 50,
          "total_downloads": 17522320,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": 1370231,
          "first_published_at": "2021-04-05T12:03:57.046327Z",
          "latest_published_at": "2026-08-05T10:36:49.158516Z",
          "latest_version_yanked": false,
          "days_since_latest_publish": 0
        }
      ]
    },
    "popularity": {
      "forks": 2097,
      "stars": 29979,
      "watchers": 144,
      "fork_history": {
        "days": [
          {
            "date": "2023-11-04",
            "count": 2
          },
          {
            "date": "2023-11-06",
            "count": 1
          },
          {
            "date": "2023-11-07",
            "count": 1
          },
          {
            "date": "2023-11-08",
            "count": 4
          },
          {
            "date": "2023-11-09",
            "count": 1
          },
          {
            "date": "2023-11-10",
            "count": 2
          },
          {
            "date": "2023-11-11",
            "count": 1
          },
          {
            "date": "2023-11-12",
            "count": 1
          },
          {
            "date": "2023-11-13",
            "count": 2
          },
          {
            "date": "2023-11-14",
            "count": 1
          },
          {
            "date": "2023-11-15",
            "count": 1
          },
          {
            "date": "2023-11-16",
            "count": 2
          },
          {
            "date": "2023-11-17",
            "count": 4
          },
          {
            "date": "2023-11-18",
            "count": 1
          },
          {
            "date": "2023-11-20",
            "count": 1
          },
          {
            "date": "2023-11-21",
            "count": 1
          },
          {
            "date": "2023-11-22",
            "count": 1
          },
          {
            "date": "2023-11-23",
            "count": 1
          },
          {
            "date": "2023-11-24",
            "count": 3
          },
          {
            "date": "2023-11-25",
            "count": 4
          },
          {
            "date": "2023-11-26",
            "count": 1
          },
          {
            "date": "2023-11-27",
            "count": 3
          },
          {
            "date": "2023-11-28",
            "count": 2
          },
          {
            "date": "2023-11-29",
            "count": 2
          },
          {
            "date": "2023-11-30",
            "count": 1
          },
          {
            "date": "2023-12-02",
            "count": 1
          },
          {
            "date": "2023-12-03",
            "count": 2
          },
          {
            "date": "2023-12-04",
            "count": 2
          },
          {
            "date": "2023-12-05",
            "count": 2
          },
          {
            "date": "2023-12-07",
            "count": 3
          },
          {
            "date": "2023-12-08",
            "count": 3
          },
          {
            "date": "2023-12-10",
            "count": 1
          },
          {
            "date": "2023-12-11",
            "count": 1
          },
          {
            "date": "2023-12-14",
            "count": 1
          },
          {
            "date": "2023-12-16",
            "count": 2
          },
          {
            "date": "2023-12-17",
            "count": 2
          },
          {
            "date": "2023-12-18",
            "count": 1
          },
          {
            "date": "2023-12-19",
            "count": 1
          },
          {
            "date": "2023-12-25",
            "count": 2
          },
          {
            "date": "2023-12-26",
            "count": 1
          },
          {
            "date": "2023-12-29",
            "count": 1
          },
          {
            "date": "2023-12-31",
            "count": 1
          },
          {
            "date": "2024-01-01",
            "count": 1
          },
          {
            "date": "2024-01-02",
            "count": 1
          },
          {
            "date": "2024-01-03",
            "count": 2
          },
          {
            "date": "2024-01-04",
            "count": 3
          },
          {
            "date": "2024-01-08",
            "count": 3
          },
          {
            "date": "2024-01-09",
            "count": 2
          },
          {
            "date": "2024-01-10",
            "count": 1
          },
          {
            "date": "2024-01-12",
            "count": 1
          },
          {
            "date": "2024-01-13",
            "count": 1
          },
          {
            "date": "2024-01-14",
            "count": 1
          },
          {
            "date": "2024-01-16",
            "count": 1
          },
          {
            "date": "2024-01-17",
            "count": 1
          },
          {
            "date": "2024-01-19",
            "count": 2
          },
          {
            "date": "2024-01-22",
            "count": 2
          },
          {
            "date": "2024-01-23",
            "count": 2
          },
          {
            "date": "2024-01-24",
            "count": 2
          },
          {
            "date": "2024-01-25",
            "count": 1
          },
          {
            "date": "2024-01-26",
            "count": 2
          },
          {
            "date": "2024-01-27",
            "count": 3
          },
          {
            "date": "2024-01-30",
            "count": 1
          },
          {
            "date": "2024-02-01",
            "count": 1
          },
          {
            "date": "2024-02-02",
            "count": 4
          },
          {
            "date": "2024-02-03",
            "count": 2
          },
          {
            "date": "2024-02-04",
            "count": 3
          },
          {
            "date": "2024-02-05",
            "count": 1
          },
          {
            "date": "2024-02-06",
            "count": 1
          },
          {
            "date": "2024-02-07",
            "count": 2
          },
          {
            "date": "2024-02-08",
            "count": 1
          },
          {
            "date": "2024-02-09",
            "count": 3
          },
          {
            "date": "2024-02-14",
            "count": 1
          },
          {
            "date": "2024-02-15",
            "count": 2
          },
          {
            "date": "2024-02-16",
            "count": 1
          },
          {
            "date": "2024-02-17",
            "count": 1
          },
          {
            "date": "2024-02-18",
            "count": 2
          },
          {
            "date": "2024-02-19",
            "count": 1
          },
          {
            "date": "2024-02-21",
            "count": 3
          },
          {
            "date": "2024-02-22",
            "count": 1
          },
          {
            "date": "2024-02-24",
            "count": 2
          },
          {
            "date": "2024-02-25",
            "count": 2
          },
          {
            "date": "2024-02-26",
            "count": 1
          },
          {
            "date": "2024-02-27",
            "count": 3
          },
          {
            "date": "2024-02-28",
            "count": 1
          },
          {
            "date": "2024-02-29",
            "count": 1
          },
          {
            "date": "2024-03-01",
            "count": 1
          },
          {
            "date": "2024-03-02",
            "count": 1
          },
          {
            "date": "2024-03-04",
            "count": 1
          },
          {
            "date": "2024-03-05",
            "count": 2
          },
          {
            "date": "2024-03-07",
            "count": 3
          },
          {
            "date": "2024-03-08",
            "count": 2
          },
          {
            "date": "2024-03-09",
            "count": 3
          },
          {
            "date": "2024-03-10",
            "count": 1
          },
          {
            "date": "2024-03-13",
            "count": 1
          },
          {
            "date": "2024-03-14",
            "count": 3
          },
          {
            "date": "2024-03-15",
            "count": 2
          },
          {
            "date": "2024-03-16",
            "count": 1
          },
          {
            "date": "2024-03-17",
            "count": 2
          },
          {
            "date": "2024-03-18",
            "count": 4
          },
          {
            "date": "2024-03-19",
            "count": 3
          },
          {
            "date": "2024-03-20",
            "count": 1
          },
          {
            "date": "2024-03-23",
            "count": 1
          },
          {
            "date": "2024-03-26",
            "count": 2
          },
          {
            "date": "2024-03-27",
            "count": 3
          },
          {
            "date": "2024-03-28",
            "count": 1
          },
          {
            "date": "2024-03-29",
            "count": 1
          },
          {
            "date": "2024-03-30",
            "count": 2
          },
          {
            "date": "2024-04-01",
            "count": 1
          },
          {
            "date": "2024-04-02",
            "count": 1
          },
          {
            "date": "2024-04-03",
            "count": 3
          },
          {
            "date": "2024-04-08",
            "count": 1
          },
          {
            "date": "2024-04-09",
            "count": 2
          },
          {
            "date": "2024-04-10",
            "count": 1
          },
          {
            "date": "2024-04-11",
            "count": 1
          },
          {
            "date": "2024-04-12",
            "count": 3
          },
          {
            "date": "2024-04-16",
            "count": 2
          },
          {
            "date": "2024-04-18",
            "count": 2
          },
          {
            "date": "2024-04-19",
            "count": 3
          },
          {
            "date": "2024-04-20",
            "count": 1
          },
          {
            "date": "2024-04-22",
            "count": 1
          },
          {
            "date": "2024-04-23",
            "count": 1
          },
          {
            "date": "2024-04-24",
            "count": 1
          },
          {
            "date": "2024-04-25",
            "count": 1
          },
          {
            "date": "2024-04-26",
            "count": 3
          },
          {
            "date": "2024-04-27",
            "count": 1
          },
          {
            "date": "2024-04-28",
            "count": 3
          },
          {
            "date": "2024-04-29",
            "count": 2
          },
          {
            "date": "2024-04-30",
            "count": 2
          },
          {
            "date": "2024-05-01",
            "count": 2
          },
          {
            "date": "2024-05-02",
            "count": 1
          },
          {
            "date": "2024-05-03",
            "count": 1
          },
          {
            "date": "2024-05-04",
            "count": 2
          },
          {
            "date": "2024-05-05",
            "count": 1
          },
          {
            "date": "2024-05-06",
            "count": 1
          },
          {
            "date": "2024-05-07",
            "count": 1
          },
          {
            "date": "2024-05-10",
            "count": 2
          },
          {
            "date": "2024-05-14",
            "count": 2
          },
          {
            "date": "2024-05-15",
            "count": 1
          },
          {
            "date": "2024-05-17",
            "count": 2
          },
          {
            "date": "2024-05-19",
            "count": 1
          },
          {
            "date": "2024-05-20",
            "count": 2
          },
          {
            "date": "2024-05-22",
            "count": 1
          },
          {
            "date": "2024-05-24",
            "count": 3
          },
          {
            "date": "2024-05-25",
            "count": 1
          },
          {
            "date": "2024-05-27",
            "count": 2
          },
          {
            "date": "2024-05-28",
            "count": 1
          },
          {
            "date": "2024-05-29",
            "count": 1
          },
          {
            "date": "2024-05-30",
            "count": 1
          },
          {
            "date": "2024-05-31",
            "count": 1
          },
          {
            "date": "2024-06-01",
            "count": 1
          },
          {
            "date": "2024-06-02",
            "count": 2
          },
          {
            "date": "2024-06-03",
            "count": 1
          },
          {
            "date": "2024-06-04",
            "count": 1
          },
          {
            "date": "2024-06-06",
            "count": 1
          },
          {
            "date": "2024-06-07",
            "count": 2
          },
          {
            "date": "2024-06-08",
            "count": 1
          },
          {
            "date": "2024-06-09",
            "count": 2
          },
          {
            "date": "2024-06-10",
            "count": 4
          },
          {
            "date": "2024-06-13",
            "count": 2
          },
          {
            "date": "2024-06-14",
            "count": 2
          },
          {
            "date": "2024-06-16",
            "count": 1
          },
          {
            "date": "2024-06-17",
            "count": 3
          },
          {
            "date": "2024-06-18",
            "count": 1
          },
          {
            "date": "2024-06-20",
            "count": 3
          },
          {
            "date": "2024-06-21",
            "count": 2
          },
          {
            "date": "2024-06-23",
            "count": 1
          },
          {
            "date": "2024-06-24",
            "count": 2
          },
          {
            "date": "2024-06-25",
            "count": 1
          },
          {
            "date": "2024-06-28",
            "count": 1
          },
          {
            "date": "2024-06-29",
            "count": 1
          },
          {
            "date": "2024-06-30",
            "count": 1
          },
          {
            "date": "2024-07-01",
            "count": 2
          },
          {
            "date": "2024-07-02",
            "count": 1
          },
          {
            "date": "2024-07-03",
            "count": 2
          },
          {
            "date": "2024-07-04",
            "count": 1
          },
          {
            "date": "2024-07-06",
            "count": 1
          },
          {
            "date": "2024-07-10",
            "count": 2
          },
          {
            "date": "2024-07-11",
            "count": 1
          },
          {
            "date": "2024-07-12",
            "count": 1
          },
          {
            "date": "2024-07-13",
            "count": 1
          },
          {
            "date": "2024-07-14",
            "count": 1
          },
          {
            "date": "2024-07-15",
            "count": 1
          },
          {
            "date": "2024-07-16",
            "count": 2
          },
          {
            "date": "2024-07-17",
            "count": 1
          },
          {
            "date": "2024-07-18",
            "count": 5
          },
          {
            "date": "2024-07-19",
            "count": 1
          },
          {
            "date": "2024-07-20",
            "count": 3
          },
          {
            "date": "2024-07-23",
            "count": 1
          },
          {
            "date": "2024-07-25",
            "count": 1
          },
          {
            "date": "2024-07-26",
            "count": 1
          },
          {
            "date": "2024-07-29",
            "count": 1
          },
          {
            "date": "2024-07-30",
            "count": 1
          },
          {
            "date": "2024-07-31",
            "count": 1
          },
          {
            "date": "2024-08-02",
            "count": 1
          },
          {
            "date": "2024-08-05",
            "count": 1
          },
          {
            "date": "2024-08-07",
            "count": 2
          },
          {
            "date": "2024-08-08",
            "count": 4
          },
          {
            "date": "2024-08-09",
            "count": 1
          },
          {
            "date": "2024-08-10",
            "count": 1
          },
          {
            "date": "2024-08-11",
            "count": 2
          },
          {
            "date": "2024-08-12",
            "count": 2
          },
          {
            "date": "2024-08-14",
            "count": 2
          },
          {
            "date": "2024-08-16",
            "count": 2
          },
          {
            "date": "2024-08-19",
            "count": 1
          },
          {
            "date": "2024-08-20",
            "count": 2
          },
          {
            "date": "2024-08-21",
            "count": 1
          },
          {
            "date": "2024-08-25",
            "count": 1
          },
          {
            "date": "2024-08-26",
            "count": 1
          },
          {
            "date": "2024-08-27",
            "count": 1
          },
          {
            "date": "2024-08-28",
            "count": 1
          },
          {
            "date": "2024-08-29",
            "count": 1
          },
          {
            "date": "2024-08-30",
            "count": 4
          },
          {
            "date": "2024-09-01",
            "count": 2
          },
          {
            "date": "2024-09-04",
            "count": 1
          },
          {
            "date": "2024-09-05",
            "count": 1
          },
          {
            "date": "2024-09-06",
            "count": 1
          },
          {
            "date": "2024-09-07",
            "count": 1
          },
          {
            "date": "2024-09-08",
            "count": 1
          },
          {
            "date": "2024-09-09",
            "count": 1
          },
          {
            "date": "2024-09-10",
            "count": 1
          },
          {
            "date": "2024-09-11",
            "count": 1
          },
          {
            "date": "2024-09-12",
            "count": 1
          },
          {
            "date": "2024-09-13",
            "count": 1
          },
          {
            "date": "2024-09-18",
            "count": 1
          },
          {
            "date": "2024-09-19",
            "count": 1
          },
          {
            "date": "2024-09-21",
            "count": 2
          },
          {
            "date": "2024-09-22",
            "count": 5
          },
          {
            "date": "2024-09-23",
            "count": 3
          },
          {
            "date": "2024-09-24",
            "count": 5
          },
          {
            "date": "2024-09-25",
            "count": 2
          },
          {
            "date": "2024-09-26",
            "count": 2
          },
          {
            "date": "2024-09-27",
            "count": 2
          },
          {
            "date": "2024-10-02",
            "count": 1
          },
          {
            "date": "2024-10-04",
            "count": 1
          },
          {
            "date": "2024-10-05",
            "count": 1
          },
          {
            "date": "2024-10-06",
            "count": 2
          },
          {
            "date": "2024-10-07",
            "count": 2
          },
          {
            "date": "2024-10-08",
            "count": 2
          },
          {
            "date": "2024-10-09",
            "count": 2
          },
          {
            "date": "2024-10-11",
            "count": 1
          },
          {
            "date": "2024-10-15",
            "count": 2
          },
          {
            "date": "2024-10-17",
            "count": 2
          },
          {
            "date": "2024-10-18",
            "count": 1
          },
          {
            "date": "2024-10-20",
            "count": 1
          },
          {
            "date": "2024-10-24",
            "count": 1
          },
          {
            "date": "2024-10-26",
            "count": 1
          },
          {
            "date": "2024-10-27",
            "count": 1
          },
          {
            "date": "2024-10-29",
            "count": 1
          },
          {
            "date": "2024-10-30",
            "count": 1
          },
          {
            "date": "2024-10-31",
            "count": 1
          },
          {
            "date": "2024-11-02",
            "count": 2
          },
          {
            "date": "2024-11-03",
            "count": 1
          },
          {
            "date": "2024-11-04",
            "count": 1
          },
          {
            "date": "2024-11-07",
            "count": 1
          },
          {
            "date": "2024-11-09",
            "count": 1
          },
          {
            "date": "2024-11-12",
            "count": 1
          },
          {
            "date": "2024-11-17",
            "count": 1
          },
          {
            "date": "2024-11-19",
            "count": 1
          },
          {
            "date": "2024-11-21",
            "count": 2
          },
          {
            "date": "2024-11-23",
            "count": 1
          },
          {
            "date": "2024-11-25",
            "count": 3
          },
          {
            "date": "2024-11-26",
            "count": 1
          },
          {
            "date": "2024-11-27",
            "count": 1
          },
          {
            "date": "2024-11-28",
            "count": 1
          },
          {
            "date": "2024-11-29",
            "count": 1
          },
          {
            "date": "2024-12-01",
            "count": 1
          },
          {
            "date": "2024-12-04",
            "count": 2
          },
          {
            "date": "2024-12-05",
            "count": 1
          },
          {
            "date": "2024-12-06",
            "count": 1
          },
          {
            "date": "2024-12-07",
            "count": 1
          },
          {
            "date": "2024-12-08",
            "count": 2
          },
          {
            "date": "2024-12-09",
            "count": 1
          },
          {
            "date": "2024-12-10",
            "count": 2
          },
          {
            "date": "2024-12-12",
            "count": 1
          },
          {
            "date": "2024-12-13",
            "count": 1
          },
          {
            "date": "2024-12-14",
            "count": 1
          },
          {
            "date": "2024-12-16",
            "count": 1
          },
          {
            "date": "2024-12-18",
            "count": 1
          },
          {
            "date": "2024-12-26",
            "count": 3
          },
          {
            "date": "2024-12-29",
            "count": 1
          },
          {
            "date": "2024-12-30",
            "count": 1
          },
          {
            "date": "2024-12-31",
            "count": 4
          },
          {
            "date": "2025-01-01",
            "count": 1
          },
          {
            "date": "2025-01-02",
            "count": 1
          },
          {
            "date": "2025-01-04",
            "count": 4
          },
          {
            "date": "2025-01-07",
            "count": 1
          },
          {
            "date": "2025-01-10",
            "count": 3
          },
          {
            "date": "2025-01-13",
            "count": 2
          },
          {
            "date": "2025-01-16",
            "count": 3
          },
          {
            "date": "2025-01-17",
            "count": 2
          },
          {
            "date": "2025-01-18",
            "count": 1
          },
          {
            "date": "2025-01-19",
            "count": 1
          },
          {
            "date": "2025-01-20",
            "count": 3
          },
          {
            "date": "2025-01-25",
            "count": 1
          },
          {
            "date": "2025-01-26",
            "count": 3
          },
          {
            "date": "2025-01-31",
            "count": 1
          },
          {
            "date": "2025-02-01",
            "count": 1
          },
          {
            "date": "2025-02-02",
            "count": 2
          },
          {
            "date": "2025-02-03",
            "count": 2
          },
          {
            "date": "2025-02-04",
            "count": 1
          },
          {
            "date": "2025-02-05",
            "count": 2
          },
          {
            "date": "2025-02-07",
            "count": 2
          },
          {
            "date": "2025-02-09",
            "count": 1
          },
          {
            "date": "2025-02-11",
            "count": 1
          },
          {
            "date": "2025-02-14",
            "count": 2
          },
          {
            "date": "2025-02-17",
            "count": 1
          },
          {
            "date": "2025-02-18",
            "count": 1
          },
          {
            "date": "2025-02-21",
            "count": 2
          },
          {
            "date": "2025-02-22",
            "count": 1
          },
          {
            "date": "2025-02-23",
            "count": 2
          },
          {
            "date": "2025-02-25",
            "count": 2
          },
          {
            "date": "2025-02-26",
            "count": 3
          },
          {
            "date": "2025-02-27",
            "count": 1
          },
          {
            "date": "2025-02-28",
            "count": 1
          },
          {
            "date": "2025-03-04",
            "count": 1
          },
          {
            "date": "2025-03-05",
            "count": 1
          },
          {
            "date": "2025-03-06",
            "count": 1
          },
          {
            "date": "2025-03-13",
            "count": 4
          },
          {
            "date": "2025-03-15",
            "count": 1
          },
          {
            "date": "2025-03-19",
            "count": 2
          },
          {
            "date": "2025-03-23",
            "count": 3
          },
          {
            "date": "2025-03-24",
            "count": 3
          },
          {
            "date": "2025-03-25",
            "count": 1
          },
          {
            "date": "2025-03-26",
            "count": 1
          },
          {
            "date": "2025-03-27",
            "count": 1
          },
          {
            "date": "2025-03-28",
            "count": 3
          },
          {
            "date": "2025-03-30",
            "count": 1
          },
          {
            "date": "2025-04-01",
            "count": 2
          },
          {
            "date": "2025-04-04",
            "count": 1
          },
          {
            "date": "2025-04-05",
            "count": 2
          },
          {
            "date": "2025-04-07",
            "count": 1
          },
          {
            "date": "2025-04-08",
            "count": 1
          },
          {
            "date": "2025-04-09",
            "count": 2
          },
          {
            "date": "2025-04-11",
            "count": 2
          },
          {
            "date": "2025-04-13",
            "count": 2
          },
          {
            "date": "2025-04-15",
            "count": 2
          },
          {
            "date": "2025-04-16",
            "count": 1
          },
          {
            "date": "2025-04-17",
            "count": 4
          },
          {
            "date": "2025-04-18",
            "count": 1
          },
          {
            "date": "2025-04-20",
            "count": 1
          },
          {
            "date": "2025-04-21",
            "count": 1
          },
          {
            "date": "2025-04-23",
            "count": 1
          },
          {
            "date": "2025-04-27",
            "count": 1
          },
          {
            "date": "2025-04-28",
            "count": 1
          },
          {
            "date": "2025-05-02",
            "count": 1
          },
          {
            "date": "2025-05-03",
            "count": 1
          },
          {
            "date": "2025-05-05",
            "count": 1
          },
          {
            "date": "2025-05-06",
            "count": 1
          },
          {
            "date": "2025-05-09",
            "count": 2
          },
          {
            "date": "2025-05-11",
            "count": 2
          },
          {
            "date": "2025-05-12",
            "count": 2
          },
          {
            "date": "2025-05-13",
            "count": 2
          },
          {
            "date": "2025-05-14",
            "count": 2
          },
          {
            "date": "2025-05-15",
            "count": 1
          },
          {
            "date": "2025-05-16",
            "count": 1
          },
          {
            "date": "2025-05-21",
            "count": 1
          },
          {
            "date": "2025-05-24",
            "count": 1
          },
          {
            "date": "2025-05-28",
            "count": 1
          },
          {
            "date": "2025-05-29",
            "count": 1
          },
          {
            "date": "2025-05-30",
            "count": 2
          },
          {
            "date": "2025-05-31",
            "count": 2
          },
          {
            "date": "2025-06-03",
            "count": 2
          },
          {
            "date": "2025-06-04",
            "count": 2
          },
          {
            "date": "2025-06-06",
            "count": 2
          },
          {
            "date": "2025-06-08",
            "count": 1
          },
          {
            "date": "2025-06-09",
            "count": 2
          },
          {
            "date": "2025-06-10",
            "count": 2
          },
          {
            "date": "2025-06-14",
            "count": 1
          },
          {
            "date": "2025-06-17",
            "count": 1
          },
          {
            "date": "2025-06-18",
            "count": 1
          },
          {
            "date": "2025-06-19",
            "count": 1
          },
          {
            "date": "2025-06-22",
            "count": 2
          },
          {
            "date": "2025-06-26",
            "count": 1
          },
          {
            "date": "2025-06-27",
            "count": 2
          },
          {
            "date": "2025-06-29",
            "count": 5
          },
          {
            "date": "2025-06-30",
            "count": 1
          },
          {
            "date": "2025-07-01",
            "count": 1
          },
          {
            "date": "2025-07-02",
            "count": 1
          },
          {
            "date": "2025-07-03",
            "count": 1
          },
          {
            "date": "2025-07-06",
            "count": 1
          },
          {
            "date": "2025-07-07",
            "count": 2
          },
          {
            "date": "2025-07-09",
            "count": 1
          },
          {
            "date": "2025-07-10",
            "count": 2
          },
          {
            "date": "2025-07-11",
            "count": 3
          },
          {
            "date": "2025-07-12",
            "count": 1
          },
          {
            "date": "2025-07-15",
            "count": 2
          },
          {
            "date": "2025-07-17",
            "count": 1
          },
          {
            "date": "2025-07-18",
            "count": 1
          },
          {
            "date": "2025-07-20",
            "count": 1
          },
          {
            "date": "2025-07-21",
            "count": 2
          },
          {
            "date": "2025-07-24",
            "count": 5
          },
          {
            "date": "2025-07-25",
            "count": 1
          },
          {
            "date": "2025-07-26",
            "count": 1
          },
          {
            "date": "2025-07-27",
            "count": 1
          },
          {
            "date": "2025-07-29",
            "count": 2
          },
          {
            "date": "2025-07-30",
            "count": 3
          },
          {
            "date": "2025-07-31",
            "count": 1
          },
          {
            "date": "2025-08-02",
            "count": 2
          },
          {
            "date": "2025-08-03",
            "count": 3
          },
          {
            "date": "2025-08-05",
            "count": 3
          },
          {
            "date": "2025-08-06",
            "count": 1
          },
          {
            "date": "2025-08-07",
            "count": 2
          },
          {
            "date": "2025-08-08",
            "count": 1
          },
          {
            "date": "2025-08-09",
            "count": 2
          },
          {
            "date": "2025-08-11",
            "count": 1
          },
          {
            "date": "2025-08-12",
            "count": 2
          },
          {
            "date": "2025-08-14",
            "count": 1
          },
          {
            "date": "2025-08-15",
            "count": 2
          },
          {
            "date": "2025-08-16",
            "count": 2
          },
          {
            "date": "2025-08-17",
            "count": 1
          },
          {
            "date": "2025-08-21",
            "count": 1
          },
          {
            "date": "2025-08-22",
            "count": 3
          },
          {
            "date": "2025-08-24",
            "count": 1
          },
          {
            "date": "2025-08-27",
            "count": 2
          },
          {
            "date": "2025-08-28",
            "count": 2
          },
          {
            "date": "2025-08-29",
            "count": 1
          },
          {
            "date": "2025-08-30",
            "count": 2
          },
          {
            "date": "2025-09-04",
            "count": 1
          },
          {
            "date": "2025-09-05",
            "count": 1
          },
          {
            "date": "2025-09-07",
            "count": 2
          },
          {
            "date": "2025-09-08",
            "count": 1
          },
          {
            "date": "2025-09-10",
            "count": 1
          },
          {
            "date": "2025-09-13",
            "count": 1
          },
          {
            "date": "2025-09-14",
            "count": 1
          },
          {
            "date": "2025-09-16",
            "count": 1
          },
          {
            "date": "2025-09-17",
            "count": 1
          },
          {
            "date": "2025-09-24",
            "count": 2
          },
          {
            "date": "2025-09-27",
            "count": 1
          },
          {
            "date": "2025-09-28",
            "count": 1
          },
          {
            "date": "2025-09-29",
            "count": 1
          },
          {
            "date": "2025-10-01",
            "count": 1
          },
          {
            "date": "2025-10-03",
            "count": 1
          },
          {
            "date": "2025-10-04",
            "count": 2
          },
          {
            "date": "2025-10-06",
            "count": 1
          },
          {
            "date": "2025-10-09",
            "count": 1
          },
          {
            "date": "2025-10-10",
            "count": 3
          },
          {
            "date": "2025-10-11",
            "count": 1
          },
          {
            "date": "2025-10-13",
            "count": 1
          },
          {
            "date": "2025-10-14",
            "count": 1
          },
          {
            "date": "2025-10-15",
            "count": 1
          },
          {
            "date": "2025-10-16",
            "count": 2
          },
          {
            "date": "2025-10-18",
            "count": 1
          },
          {
            "date": "2025-10-21",
            "count": 1
          },
          {
            "date": "2025-10-22",
            "count": 1
          },
          {
            "date": "2025-10-23",
            "count": 1
          },
          {
            "date": "2025-10-24",
            "count": 1
          },
          {
            "date": "2025-10-28",
            "count": 1
          },
          {
            "date": "2025-10-31",
            "count": 1
          },
          {
            "date": "2025-11-02",
            "count": 1
          },
          {
            "date": "2025-11-04",
            "count": 1
          },
          {
            "date": "2025-11-06",
            "count": 1
          },
          {
            "date": "2025-11-07",
            "count": 2
          },
          {
            "date": "2025-11-08",
            "count": 1
          },
          {
            "date": "2025-11-10",
            "count": 1
          },
          {
            "date": "2025-11-11",
            "count": 2
          },
          {
            "date": "2025-11-12",
            "count": 1
          },
          {
            "date": "2025-11-13",
            "count": 2
          },
          {
            "date": "2025-11-14",
            "count": 1
          },
          {
            "date": "2025-11-15",
            "count": 2
          },
          {
            "date": "2025-11-17",
            "count": 5
          },
          {
            "date": "2025-11-18",
            "count": 1
          },
          {
            "date": "2025-11-19",
            "count": 1
          },
          {
            "date": "2025-11-21",
            "count": 1
          },
          {
            "date": "2025-11-23",
            "count": 1
          },
          {
            "date": "2025-11-24",
            "count": 1
          },
          {
            "date": "2025-11-25",
            "count": 1
          },
          {
            "date": "2025-11-27",
            "count": 2
          },
          {
            "date": "2025-12-01",
            "count": 1
          },
          {
            "date": "2025-12-02",
            "count": 1
          },
          {
            "date": "2025-12-04",
            "count": 1
          },
          {
            "date": "2025-12-06",
            "count": 2
          },
          {
            "date": "2025-12-07",
            "count": 2
          },
          {
            "date": "2025-12-08",
            "count": 2
          },
          {
            "date": "2025-12-09",
            "count": 3
          },
          {
            "date": "2025-12-11",
            "count": 3
          },
          {
            "date": "2025-12-12",
            "count": 1
          },
          {
            "date": "2025-12-14",
            "count": 2
          },
          {
            "date": "2025-12-16",
            "count": 1
          },
          {
            "date": "2025-12-18",
            "count": 5
          },
          {
            "date": "2025-12-19",
            "count": 2
          },
          {
            "date": "2025-12-23",
            "count": 1
          },
          {
            "date": "2025-12-24",
            "count": 1
          },
          {
            "date": "2025-12-26",
            "count": 1
          },
          {
            "date": "2025-12-28",
            "count": 1
          },
          {
            "date": "2025-12-30",
            "count": 1
          },
          {
            "date": "2025-12-31",
            "count": 2
          },
          {
            "date": "2026-01-02",
            "count": 1
          },
          {
            "date": "2026-01-03",
            "count": 1
          },
          {
            "date": "2026-01-04",
            "count": 1
          },
          {
            "date": "2026-01-05",
            "count": 1
          },
          {
            "date": "2026-01-06",
            "count": 1
          },
          {
            "date": "2026-01-09",
            "count": 1
          },
          {
            "date": "2026-01-11",
            "count": 4
          },
          {
            "date": "2026-01-14",
            "count": 1
          },
          {
            "date": "2026-01-16",
            "count": 2
          },
          {
            "date": "2026-01-17",
            "count": 2
          },
          {
            "date": "2026-01-18",
            "count": 1
          },
          {
            "date": "2026-01-19",
            "count": 4
          },
          {
            "date": "2026-01-22",
            "count": 1
          },
          {
            "date": "2026-01-23",
            "count": 2
          },
          {
            "date": "2026-01-24",
            "count": 2
          },
          {
            "date": "2026-01-25",
            "count": 1
          },
          {
            "date": "2026-01-27",
            "count": 2
          },
          {
            "date": "2026-01-28",
            "count": 1
          },
          {
            "date": "2026-01-29",
            "count": 2
          },
          {
            "date": "2026-01-31",
            "count": 1
          },
          {
            "date": "2026-02-01",
            "count": 4
          },
          {
            "date": "2026-02-02",
            "count": 2
          },
          {
            "date": "2026-02-04",
            "count": 3
          },
          {
            "date": "2026-02-06",
            "count": 2
          },
          {
            "date": "2026-02-10",
            "count": 3
          },
          {
            "date": "2026-02-11",
            "count": 2
          },
          {
            "date": "2026-02-12",
            "count": 2
          },
          {
            "date": "2026-02-14",
            "count": 2
          },
          {
            "date": "2026-02-15",
            "count": 1
          },
          {
            "date": "2026-02-17",
            "count": 2
          },
          {
            "date": "2026-02-19",
            "count": 1
          },
          {
            "date": "2026-02-20",
            "count": 1
          },
          {
            "date": "2026-02-21",
            "count": 1
          },
          {
            "date": "2026-02-25",
            "count": 1
          },
          {
            "date": "2026-02-26",
            "count": 1
          },
          {
            "date": "2026-02-27",
            "count": 3
          },
          {
            "date": "2026-02-28",
            "count": 2
          },
          {
            "date": "2026-03-01",
            "count": 3
          },
          {
            "date": "2026-03-02",
            "count": 1
          },
          {
            "date": "2026-03-03",
            "count": 1
          },
          {
            "date": "2026-03-05",
            "count": 1
          },
          {
            "date": "2026-03-07",
            "count": 1
          },
          {
            "date": "2026-03-08",
            "count": 1
          },
          {
            "date": "2026-03-11",
            "count": 1
          },
          {
            "date": "2026-03-12",
            "count": 2
          },
          {
            "date": "2026-03-13",
            "count": 2
          },
          {
            "date": "2026-03-14",
            "count": 2
          },
          {
            "date": "2026-03-15",
            "count": 1
          },
          {
            "date": "2026-03-16",
            "count": 4
          },
          {
            "date": "2026-03-17",
            "count": 2
          },
          {
            "date": "2026-03-18",
            "count": 1
          },
          {
            "date": "2026-03-19",
            "count": 1
          },
          {
            "date": "2026-03-20",
            "count": 1
          },
          {
            "date": "2026-03-21",
            "count": 2
          },
          {
            "date": "2026-03-25",
            "count": 1
          },
          {
            "date": "2026-03-26",
            "count": 2
          },
          {
            "date": "2026-03-27",
            "count": 1
          },
          {
            "date": "2026-03-29",
            "count": 2
          },
          {
            "date": "2026-03-30",
            "count": 1
          },
          {
            "date": "2026-04-01",
            "count": 1
          },
          {
            "date": "2026-04-02",
            "count": 1
          },
          {
            "date": "2026-04-03",
            "count": 2
          },
          {
            "date": "2026-04-08",
            "count": 1
          },
          {
            "date": "2026-04-10",
            "count": 3
          },
          {
            "date": "2026-04-11",
            "count": 2
          },
          {
            "date": "2026-04-12",
            "count": 2
          },
          {
            "date": "2026-04-13",
            "count": 1
          },
          {
            "date": "2026-04-14",
            "count": 1
          },
          {
            "date": "2026-04-15",
            "count": 2
          },
          {
            "date": "2026-04-16",
            "count": 2
          },
          {
            "date": "2026-04-17",
            "count": 2
          },
          {
            "date": "2026-04-18",
            "count": 2
          },
          {
            "date": "2026-04-20",
            "count": 2
          },
          {
            "date": "2026-04-21",
            "count": 4
          },
          {
            "date": "2026-04-23",
            "count": 3
          },
          {
            "date": "2026-04-25",
            "count": 1
          },
          {
            "date": "2026-04-27",
            "count": 2
          },
          {
            "date": "2026-04-28",
            "count": 1
          },
          {
            "date": "2026-04-30",
            "count": 4
          },
          {
            "date": "2026-05-04",
            "count": 2
          },
          {
            "date": "2026-05-05",
            "count": 2
          },
          {
            "date": "2026-05-06",
            "count": 3
          },
          {
            "date": "2026-05-09",
            "count": 1
          },
          {
            "date": "2026-05-11",
            "count": 3
          },
          {
            "date": "2026-05-12",
            "count": 1
          },
          {
            "date": "2026-05-15",
            "count": 3
          },
          {
            "date": "2026-05-17",
            "count": 1
          },
          {
            "date": "2026-05-18",
            "count": 1
          },
          {
            "date": "2026-05-21",
            "count": 1
          },
          {
            "date": "2026-05-22",
            "count": 3
          },
          {
            "date": "2026-05-24",
            "count": 1
          },
          {
            "date": "2026-05-26",
            "count": 1
          },
          {
            "date": "2026-05-27",
            "count": 1
          },
          {
            "date": "2026-05-30",
            "count": 1
          },
          {
            "date": "2026-06-01",
            "count": 1
          },
          {
            "date": "2026-06-04",
            "count": 2
          },
          {
            "date": "2026-06-10",
            "count": 1
          },
          {
            "date": "2026-06-11",
            "count": 1
          },
          {
            "date": "2026-06-12",
            "count": 1
          },
          {
            "date": "2026-06-16",
            "count": 1
          },
          {
            "date": "2026-06-25",
            "count": 3
          },
          {
            "date": "2026-06-26",
            "count": 1
          },
          {
            "date": "2026-06-29",
            "count": 2
          },
          {
            "date": "2026-07-01",
            "count": 1
          },
          {
            "date": "2026-07-02",
            "count": 2
          },
          {
            "date": "2026-07-03",
            "count": 2
          },
          {
            "date": "2026-07-05",
            "count": 1
          },
          {
            "date": "2026-07-07",
            "count": 3
          },
          {
            "date": "2026-07-09",
            "count": 1
          },
          {
            "date": "2026-07-10",
            "count": 1
          },
          {
            "date": "2026-07-11",
            "count": 2
          },
          {
            "date": "2026-07-14",
            "count": 2
          },
          {
            "date": "2026-07-15",
            "count": 1
          },
          {
            "date": "2026-07-16",
            "count": 3
          },
          {
            "date": "2026-07-17",
            "count": 1
          },
          {
            "date": "2026-07-18",
            "count": 1
          },
          {
            "date": "2026-07-19",
            "count": 1
          },
          {
            "date": "2026-07-20",
            "count": 2
          },
          {
            "date": "2026-07-21",
            "count": 4
          },
          {
            "date": "2026-07-22",
            "count": 1
          },
          {
            "date": "2026-07-23",
            "count": 1
          },
          {
            "date": "2026-07-24",
            "count": 1
          },
          {
            "date": "2026-07-25",
            "count": 2
          },
          {
            "date": "2026-07-26",
            "count": 2
          },
          {
            "date": "2026-07-28",
            "count": 2
          },
          {
            "date": "2026-07-31",
            "count": 1
          },
          {
            "date": "2026-08-01",
            "count": 4
          },
          {
            "date": "2026-08-02",
            "count": 2
          },
          {
            "date": "2026-08-03",
            "count": 1
          },
          {
            "date": "2026-08-04",
            "count": 2
          },
          {
            "date": "2026-08-05",
            "count": 3
          }
        ],
        "complete": false,
        "collected": 1000,
        "total_forks": 2097
      },
      "star_history": null,
      "open_issues_and_prs": 1114
    },
    "ai_readiness": {
      "has_nix": false,
      "example_dirs": [
        "demos",
        "examples"
      ],
      "has_llms_txt": false,
      "has_dockerfile": false,
      "has_mcp_signal": false,
      "bootstrap_files": [],
      "api_schema_files": [],
      "has_devcontainer": false,
      "typecheck_configs": [],
      "toolchain_manifests": [
        "Cargo.toml",
        "crates/ecolor/Cargo.toml",
        "crates/eframe/Cargo.toml",
        "crates/egui-wgpu/Cargo.toml",
        "crates/egui-winit/Cargo.toml",
        "crates/egui/Cargo.toml",
        "crates/egui_demo_app/Cargo.toml",
        "crates/egui_demo_lib/Cargo.toml",
        "crates/egui_extras/Cargo.toml",
        "crates/egui_glow/Cargo.toml",
        "crates/egui_inspection/Cargo.toml",
        "crates/egui_kittest/Cargo.toml",
        "crates/emath/Cargo.toml",
        "crates/epaint/Cargo.toml",
        "crates/epaint_default_fonts/Cargo.toml",
        "examples/confirm_exit/Cargo.toml",
        "examples/custom_3d_glow/Cargo.toml",
        "examples/custom_font/Cargo.toml",
        "examples/custom_font_style/Cargo.toml",
        "examples/custom_keypad/Cargo.toml",
        "examples/custom_style/Cargo.toml",
        "examples/custom_window_frame/Cargo.toml",
        "examples/external_eventloop/Cargo.toml",
        "examples/external_eventloop_async/Cargo.toml",
        "examples/file_dialog/Cargo.toml",
        "examples/font_variations/Cargo.toml",
        "examples/hello_android/Cargo.toml",
        "examples/hello_world/Cargo.toml",
        "examples/hello_world_par/Cargo.toml",
        "examples/hello_world_simple/Cargo.toml",
        "examples/images/Cargo.toml",
        "examples/keyboard_events/Cargo.toml",
        "examples/multiple_viewports/Cargo.toml",
        "examples/popups/Cargo.toml",
        "examples/puffin_profiler/Cargo.toml",
        "examples/screenshot/Cargo.toml",
        "examples/serial_windows/Cargo.toml",
        "examples/user_attention/Cargo.toml",
        "tests/egui_tests/Cargo.toml",
        "tests/test_background_logic/Cargo.toml",
        "tests/test_egui_extras_compilation/Cargo.toml",
        "tests/test_inline_glow_paint/Cargo.toml",
        "tests/test_size_pass/Cargo.toml",
        "tests/test_ui_stack/Cargo.toml",
        "tests/test_viewports/Cargo.toml",
        "xtask/Cargo.toml"
      ],
      "largest_source_bytes": 172007,
      "source_files_sampled": 376,
      "oversized_source_files": 9,
      "agent_instruction_files": [],
      "agent_instruction_max_bytes": null
    },
    "dependencies": {
      "manifests": [
        "Cargo.toml",
        "xtask/Cargo.toml"
      ],
      "advisories": {
        "error": null,
        "scope": "repository_graph",
        "source": "osv",
        "findings": [
          {
            "name": "quick-xml",
            "direct": false,
            "version": "0.39.4",
            "severity": "high",
            "ecosystem": "crates",
            "cvss_score": 7.5,
            "advisory_ids": [
              "RUSTSEC-2026-0194",
              "RUSTSEC-2026-0195"
            ],
            "fixed_version": "0.41.0",
            "advisory_count": 2,
            "oldest_advisory_days": 37
          },
          {
            "name": "bincode",
            "direct": false,
            "version": "1.3.3",
            "severity": "unknown",
            "ecosystem": "crates",
            "cvss_score": null,
            "advisory_ids": [
              "RUSTSEC-2025-0141"
            ],
            "fixed_version": null,
            "advisory_count": 1,
            "oldest_advisory_days": 232
          },
          {
            "name": "event-listener",
            "direct": false,
            "version": "5.4.1",
            "severity": "unknown",
            "ecosystem": "crates",
            "cvss_score": null,
            "advisory_ids": [
              "RUSTSEC-2026-0221"
            ],
            "fixed_version": "5.4.2",
            "advisory_count": 1,
            "oldest_advisory_days": 23
          },
          {
            "name": "rustybuzz",
            "direct": false,
            "version": "0.20.1",
            "severity": "unknown",
            "ecosystem": "crates",
            "cvss_score": null,
            "advisory_ids": [
              "RUSTSEC-2026-0206"
            ],
            "fixed_version": null,
            "advisory_count": 1,
            "oldest_advisory_days": 25
          },
          {
            "name": "ttf-parser",
            "direct": false,
            "version": "0.25.1",
            "severity": "unknown",
            "ecosystem": "crates",
            "cvss_score": null,
            "advisory_ids": [
              "RUSTSEC-2026-0192"
            ],
            "fixed_version": null,
            "advisory_count": 1,
            "oldest_advisory_days": 38
          },
          {
            "name": "yaml-rust",
            "direct": false,
            "version": "0.4.5",
            "severity": "unknown",
            "ecosystem": "crates",
            "cvss_score": null,
            "advisory_ids": [
              "RUSTSEC-2024-0320"
            ],
            "fixed_version": null,
            "advisory_count": 1,
            "oldest_advisory_days": 868
          }
        ],
        "collected": true,
        "malicious": [],
        "truncated": false,
        "by_severity": {
          "high": 1,
          "unknown": 5
        },
        "advisory_count": 7,
        "affected_count": 6,
        "assessed_count": 561,
        "malicious_count": 0,
        "assessed_package": null,
        "unassessed_count": 0,
        "direct_affected_count": 0
      },
      "ecosystems": [
        "crates"
      ],
      "dependencies": [
        {
          "name": "emath",
          "manifest": "crates/ecolor/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "bytemuck",
          "manifest": "crates/ecolor/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "cint",
          "manifest": "crates/ecolor/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "color-hex",
          "manifest": "crates/ecolor/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "document-features",
          "manifest": "crates/ecolor/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "serde",
          "manifest": "crates/ecolor/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "egui",
          "manifest": "crates/eframe/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "ahash",
          "manifest": "crates/eframe/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "document-features",
          "manifest": "crates/eframe/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "log",
          "manifest": "crates/eframe/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "parking_lot",
          "manifest": "crates/eframe/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "profiling",
          "manifest": "crates/eframe/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "raw-window-handle",
          "manifest": "crates/eframe/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "static_assertions",
          "manifest": "crates/eframe/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "web-time",
          "manifest": "crates/eframe/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "egui_glow",
          "manifest": "crates/eframe/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "egui_inspection",
          "manifest": "crates/eframe/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "glow",
          "manifest": "crates/eframe/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "ron",
          "manifest": "crates/eframe/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "serde",
          "manifest": "crates/eframe/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "epaint",
          "manifest": "crates/egui-wgpu/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "ahash",
          "manifest": "crates/egui-wgpu/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "bytemuck",
          "manifest": "crates/egui-wgpu/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "document-features",
          "manifest": "crates/egui-wgpu/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "log",
          "manifest": "crates/egui-wgpu/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "profiling",
          "manifest": "crates/egui-wgpu/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "thiserror",
          "manifest": "crates/egui-wgpu/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "type-map",
          "manifest": "crates/egui-wgpu/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "web-time",
          "manifest": "crates/egui-wgpu/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "wgpu",
          "manifest": "crates/egui-wgpu/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "egui",
          "manifest": "crates/egui-wgpu/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "winit",
          "manifest": "crates/egui-wgpu/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "egui",
          "manifest": "crates/egui-winit/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "log",
          "manifest": "crates/egui-winit/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "profiling",
          "manifest": "crates/egui-winit/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "raw-window-handle",
          "manifest": "crates/egui-winit/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "web-time",
          "manifest": "crates/egui-winit/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "winit",
          "manifest": "crates/egui-winit/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "accesskit_winit",
          "manifest": "crates/egui-winit/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "bytemuck",
          "manifest": "crates/egui-winit/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "document-features",
          "manifest": "crates/egui-winit/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "serde",
          "manifest": "crates/egui-winit/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "webbrowser",
          "manifest": "crates/egui-winit/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "emath",
          "manifest": "crates/egui/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "epaint",
          "manifest": "crates/egui/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "accesskit",
          "manifest": "crates/egui/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "ahash",
          "manifest": "crates/egui/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "bitflags",
          "manifest": "crates/egui/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "itertools",
          "manifest": "crates/egui/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "log",
          "manifest": "crates/egui/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "nohash-hasher",
          "manifest": "crates/egui/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "profiling",
          "manifest": "crates/egui/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "smallvec",
          "manifest": "crates/egui/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "unicode-segmentation",
          "manifest": "crates/egui/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "backtrace",
          "manifest": "crates/egui/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "document-features",
          "manifest": "crates/egui/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "ron",
          "manifest": "crates/egui/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "serde",
          "manifest": "crates/egui/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "eframe",
          "manifest": "crates/egui_demo_app/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "egui",
          "manifest": "crates/egui_demo_app/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "egui_demo_lib",
          "manifest": "crates/egui_demo_app/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "egui_extras",
          "manifest": "crates/egui_demo_app/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "image",
          "manifest": "crates/egui_demo_app/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "jiff",
          "manifest": "crates/egui_demo_app/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "log",
          "manifest": "crates/egui_demo_app/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "profiling",
          "manifest": "crates/egui_demo_app/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "accesskit",
          "manifest": "crates/egui_demo_app/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "accesskit_consumer",
          "manifest": "crates/egui_demo_app/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "bytemuck",
          "manifest": "crates/egui_demo_app/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "puffin",
          "manifest": "crates/egui_demo_app/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "puffin_http",
          "manifest": "crates/egui_demo_app/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "ehttp",
          "manifest": "crates/egui_demo_app/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "poll-promise",
          "manifest": "crates/egui_demo_app/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "serde",
          "manifest": "crates/egui_demo_app/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "egui",
          "manifest": "crates/egui_demo_lib/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "egui_extras",
          "manifest": "crates/egui_demo_lib/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "log",
          "manifest": "crates/egui_demo_lib/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "unicode_names2",
          "manifest": "crates/egui_demo_lib/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "jiff",
          "manifest": "crates/egui_demo_lib/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "document-features",
          "manifest": "crates/egui_demo_lib/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "serde",
          "manifest": "crates/egui_demo_lib/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "egui",
          "manifest": "crates/egui_extras/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "ahash",
          "manifest": "crates/egui_extras/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "enum-map",
          "manifest": "crates/egui_extras/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "itertools",
          "manifest": "crates/egui_extras/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "log",
          "manifest": "crates/egui_extras/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "profiling",
          "manifest": "crates/egui_extras/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "serde",
          "manifest": "crates/egui_extras/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "jiff",
          "manifest": "crates/egui_extras/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "document-features",
          "manifest": "crates/egui_extras/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "image",
          "manifest": "crates/egui_extras/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "mime_guess2",
          "manifest": "crates/egui_extras/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "syntect",
          "manifest": "crates/egui_extras/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "resvg",
          "manifest": "crates/egui_extras/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "ehttp",
          "manifest": "crates/egui_extras/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "egui",
          "manifest": "crates/egui_glow/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "egui-winit",
          "manifest": "crates/egui_glow/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "bytemuck",
          "manifest": "crates/egui_glow/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "glow",
          "manifest": "crates/egui_glow/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "log",
          "manifest": "crates/egui_glow/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "profiling",
          "manifest": "crates/egui_glow/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "document-features",
          "manifest": "crates/egui_glow/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "winit",
          "manifest": "crates/egui_glow/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "egui",
          "manifest": "crates/egui_inspection/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "serde",
          "manifest": "crates/egui_inspection/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "serde_bytes",
          "manifest": "crates/egui_inspection/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "rmp-serde",
          "manifest": "crates/egui_inspection/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "image",
          "manifest": "crates/egui_inspection/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "log",
          "manifest": "crates/egui_inspection/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "document-features",
          "manifest": "crates/egui_inspection/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "egui",
          "manifest": "crates/egui_kittest/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "eframe",
          "manifest": "crates/egui_kittest/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "kittest",
          "manifest": "crates/egui_kittest/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "log",
          "manifest": "crates/egui_kittest/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "serde",
          "manifest": "crates/egui_kittest/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "toml",
          "manifest": "crates/egui_kittest/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "egui-wgpu",
          "manifest": "crates/egui_kittest/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "pollster",
          "manifest": "crates/egui_kittest/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "image",
          "manifest": "crates/egui_kittest/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "wgpu",
          "manifest": "crates/egui_kittest/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "dify",
          "manifest": "crates/egui_kittest/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "document-features",
          "manifest": "crates/egui_kittest/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "bytemuck",
          "manifest": "crates/emath/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "document-features",
          "manifest": "crates/emath/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "mint",
          "manifest": "crates/emath/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "serde",
          "manifest": "crates/emath/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "emath",
          "manifest": "crates/epaint/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "ecolor",
          "manifest": "crates/epaint/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "ahash",
          "manifest": "crates/epaint/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "font-types",
          "manifest": "crates/epaint/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "harfrust",
          "manifest": "crates/epaint/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "log",
          "manifest": "crates/epaint/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "nohash-hasher",
          "manifest": "crates/epaint/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "parking_lot",
          "manifest": "crates/epaint/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "profiling",
          "manifest": "crates/epaint/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "self_cell",
          "manifest": "crates/epaint/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "skrifa",
          "manifest": "crates/epaint/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "smallvec",
          "manifest": "crates/epaint/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "unicode-general-category",
          "manifest": "crates/epaint/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "unicode-segmentation",
          "manifest": "crates/epaint/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "vello_cpu",
          "manifest": "crates/epaint/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "bytemuck",
          "manifest": "crates/epaint/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "document-features",
          "manifest": "crates/epaint/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "rayon",
          "manifest": "crates/epaint/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "serde",
          "manifest": "crates/epaint/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "epaint_default_fonts",
          "manifest": "crates/epaint/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        }
      ],
      "all_dependencies": {
        "error": null,
        "source": "github-sbom",
        "packages": [
          {
            "name": "accesskit",
            "direct": true,
            "version": "0.24.1",
            "ecosystem": "crates"
          },
          {
            "name": "accesskit_consumer",
            "direct": true,
            "version": "0.35.0",
            "ecosystem": "crates"
          },
          {
            "name": "accesskit_winit",
            "direct": true,
            "version": "0.32.2",
            "ecosystem": "crates"
          },
          {
            "name": "ahash",
            "direct": true,
            "version": "0.8.12",
            "ecosystem": "crates"
          },
          {
            "name": "backtrace",
            "direct": true,
            "version": "0.3.76",
            "ecosystem": "crates"
          },
          {
            "name": "bitflags",
            "direct": true,
            "version": "1.3.2",
            "ecosystem": "crates"
          },
          {
            "name": "bitflags",
            "direct": true,
            "version": "2.13.1",
            "ecosystem": "crates"
          },
          {
            "name": "bytemuck",
            "direct": true,
            "version": "1.25.2",
            "ecosystem": "crates"
          },
          {
            "name": "cint",
            "direct": true,
            "version": "0.3.1",
            "ecosystem": "crates"
          },
          {
            "name": "color-hex",
            "direct": true,
            "version": "0.2.0",
            "ecosystem": "crates"
          },
          {
            "name": "dify",
            "direct": true,
            "version": "0.8.0",
            "ecosystem": "crates"
          },
          {
            "name": "document-features",
            "direct": true,
            "version": "0.2.12",
            "ecosystem": "crates"
          },
          {
            "name": "ehttp",
            "direct": true,
            "version": "0.7.1",
            "ecosystem": "crates"
          },
          {
            "name": "enum-map",
            "direct": true,
            "version": "2.7.3",
            "ecosystem": "crates"
          },
          {
            "name": "font-types",
            "direct": true,
            "version": "0.12.2",
            "ecosystem": "crates"
          },
          {
            "name": "glow",
            "direct": true,
            "version": "0.17.0",
            "ecosystem": "crates"
          },
          {
            "name": "harfrust",
            "direct": true,
            "version": "0.12.0",
            "ecosystem": "crates"
          },
          {
            "name": "image",
            "direct": true,
            "version": "0.25.6",
            "ecosystem": "crates"
          },
          {
            "name": "itertools",
            "direct": true,
            "version": "0.13.0",
            "ecosystem": "crates"
          },
          {
            "name": "itertools",
            "direct": true,
            "version": "0.14.0",
            "ecosystem": "crates"
          },
          {
            "name": "itertools",
            "direct": true,
            "version": "0.15.0",
            "ecosystem": "crates"
          },
          {
            "name": "jiff",
            "direct": true,
            "version": "0.2.35",
            "ecosystem": "crates"
          },
          {
            "name": "kittest",
            "direct": true,
            "version": "0.4.0",
            "ecosystem": "crates"
          },
          {
            "name": "log",
            "direct": true,
            "version": "0.4.33",
            "ecosystem": "crates"
          },
          {
            "name": "mime_guess2",
            "direct": true,
            "version": "2.3.1",
            "ecosystem": "crates"
          },
          {
            "name": "mint",
            "direct": true,
            "version": "0.5.9",
            "ecosystem": "crates"
          },
          {
            "name": "nohash-hasher",
            "direct": true,
            "version": "0.2.0",
            "ecosystem": "crates"
          },
          {
            "name": "parking_lot",
            "direct": true,
            "version": "0.12.5",
            "ecosystem": "crates"
          },
          {
            "name": "poll-promise",
            "direct": true,
            "version": "0.3.0",
            "ecosystem": "crates"
          },
          {
            "name": "pollster",
            "direct": true,
            "version": "0.4.0",
            "ecosystem": "crates"
          },
          {
            "name": "pollster",
            "direct": true,
            "version": "1.0.1",
            "ecosystem": "crates"
          },
          {
            "name": "profiling",
            "direct": true,
            "version": "1.0.18",
            "ecosystem": "crates"
          },
          {
            "name": "puffin",
            "direct": true,
            "version": "0.20.0",
            "ecosystem": "crates"
          },
          {
            "name": "puffin_http",
            "direct": true,
            "version": "0.17.0",
            "ecosystem": "crates"
          },
          {
            "name": "raw-window-handle",
            "direct": true,
            "version": "0.6.2",
            "ecosystem": "crates"
          },
          {
            "name": "rayon",
            "direct": true,
            "version": "1.12.0",
            "ecosystem": "crates"
          },
          {
            "name": "resvg",
            "direct": true,
            "version": "0.45.1",
            "ecosystem": "crates"
          },
          {
            "name": "rmp-serde",
            "direct": true,
            "version": "1.3.1",
            "ecosystem": "crates"
          },
          {
            "name": "ron",
            "direct": true,
            "version": "0.12.2",
            "ecosystem": "crates"
          },
          {
            "name": "self_cell",
            "direct": true,
            "version": "1.3.0",
            "ecosystem": "crates"
          },
          {
            "name": "serde",
            "direct": true,
            "version": "1.0.228",
            "ecosystem": "crates"
          },
          {
            "name": "serde_bytes",
            "direct": true,
            "version": "0.11.19",
            "ecosystem": "crates"
          },
          {
            "name": "skrifa",
            "direct": true,
            "version": "0.44.0",
            "ecosystem": "crates"
          },
          {
            "name": "smallvec",
            "direct": true,
            "version": "1.15.2",
            "ecosystem": "crates"
          },
          {
            "name": "static_assertions",
            "direct": true,
            "version": "1.1.0",
            "ecosystem": "crates"
          },
          {
            "name": "syntect",
            "direct": true,
            "version": "5.3.0",
            "ecosystem": "crates"
          },
          {
            "name": "thiserror",
            "direct": true,
            "version": "1.0.69",
            "ecosystem": "crates"
          },
          {
            "name": "thiserror",
            "direct": true,
            "version": "2.0.18",
            "ecosystem": "crates"
          },
          {
            "name": "toml",
            "direct": true,
            "version": "1.1.4+spec-1.1.0",
            "ecosystem": "crates"
          },
          {
            "name": "type-map",
            "direct": true,
            "version": "0.5.1",
            "ecosystem": "crates"
          },
          {
            "name": "unicode-general-category",
            "direct": true,
            "version": "1.1.0",
            "ecosystem": "crates"
          },
          {
            "name": "unicode-segmentation",
            "direct": true,
            "version": "1.13.3",
            "ecosystem": "crates"
          },
          {
            "name": "unicode_names2",
            "direct": true,
            "version": "3.1.0",
            "ecosystem": "crates"
          },
          {
            "name": "vello_cpu",
            "direct": true,
            "version": "0.1.0",
            "ecosystem": "crates"
          },
          {
            "name": "web-time",
            "direct": true,
            "version": "1.1.0",
            "ecosystem": "crates"
          },
          {
            "name": "webbrowser",
            "direct": true,
            "version": "1.2.1",
            "ecosystem": "crates"
          },
          {
            "name": "wgpu",
            "direct": true,
            "version": "30.0.0",
            "ecosystem": "crates"
          },
          {
            "name": "winit",
            "direct": true,
            "version": "0.30.13",
            "ecosystem": "crates"
          },
          {
            "name": "ab_glyph",
            "direct": false,
            "version": "0.2.32",
            "ecosystem": "crates"
          },
          {
            "name": "ab_glyph_rasterizer",
            "direct": false,
            "version": "0.1.10",
            "ecosystem": "crates"
          },
          {
            "name": "accesskit_atspi_common",
            "direct": false,
            "version": "0.18.0",
            "ecosystem": "crates"
          },
          {
            "name": "accesskit_macos",
            "direct": false,
            "version": "0.26.0",
            "ecosystem": "crates"
          },
          {
            "name": "accesskit_unix",
            "direct": false,
            "version": "0.21.0",
            "ecosystem": "crates"
          },
          {
            "name": "accesskit_windows",
            "direct": false,
            "version": "0.32.1",
            "ecosystem": "crates"
          },
          {
            "name": "addr2line",
            "direct": false,
            "version": "0.25.1",
            "ecosystem": "crates"
          },
          {
            "name": "adler2",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "crates"
          },
          {
            "name": "aho-corasick",
            "direct": false,
            "version": "1.1.4",
            "ecosystem": "crates"
          },
          {
            "name": "alloca",
            "direct": false,
            "version": "0.4.0",
            "ecosystem": "crates"
          },
          {
            "name": "allocator-api2",
            "direct": false,
            "version": "0.2.21",
            "ecosystem": "crates"
          },
          {
            "name": "android-activity",
            "direct": false,
            "version": "0.6.1",
            "ecosystem": "crates"
          },
          {
            "name": "android-properties",
            "direct": false,
            "version": "0.2.2",
            "ecosystem": "crates"
          },
          {
            "name": "android_log-sys",
            "direct": false,
            "version": "0.3.2",
            "ecosystem": "crates"
          },
          {
            "name": "android_logger",
            "direct": false,
            "version": "0.15.1",
            "ecosystem": "crates"
          },
          {
            "name": "android_system_properties",
            "direct": false,
            "version": "0.1.5",
            "ecosystem": "crates"
          },
          {
            "name": "anes",
            "direct": false,
            "version": "0.1.6",
            "ecosystem": "crates"
          },
          {
            "name": "anstream",
            "direct": false,
            "version": "0.6.21",
            "ecosystem": "crates"
          },
          {
            "name": "anstyle",
            "direct": false,
            "version": "1.0.14",
            "ecosystem": "crates"
          },
          {
            "name": "anstyle-parse",
            "direct": false,
            "version": "0.2.7",
            "ecosystem": "crates"
          },
          {
            "name": "anstyle-query",
            "direct": false,
            "version": "1.1.5",
            "ecosystem": "crates"
          },
          {
            "name": "anstyle-wincon",
            "direct": false,
            "version": "3.0.11",
            "ecosystem": "crates"
          },
          {
            "name": "anyhow",
            "direct": false,
            "version": "1.0.103",
            "ecosystem": "crates"
          },
          {
            "name": "arboard",
            "direct": false,
            "version": "3.6.1",
            "ecosystem": "crates"
          },
          {
            "name": "arrayref",
            "direct": false,
            "version": "0.3.9",
            "ecosystem": "crates"
          },
          {
            "name": "arrayvec",
            "direct": false,
            "version": "0.7.8",
            "ecosystem": "crates"
          },
          {
            "name": "as-raw-xcb-connection",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "crates"
          },
          {
            "name": "ash",
            "direct": false,
            "version": "0.38.0+1.3.281",
            "ecosystem": "crates"
          },
          {
            "name": "async-broadcast",
            "direct": false,
            "version": "0.7.2",
            "ecosystem": "crates"
          },
          {
            "name": "async-channel",
            "direct": false,
            "version": "2.5.0",
            "ecosystem": "crates"
          },
          {
            "name": "async-executor",
            "direct": false,
            "version": "1.14.0",
            "ecosystem": "crates"
          },
          {
            "name": "async-io",
            "direct": false,
            "version": "2.6.0",
            "ecosystem": "crates"
          },
          {
            "name": "async-lock",
            "direct": false,
            "version": "3.4.2",
            "ecosystem": "crates"
          },
          {
            "name": "async-process",
            "direct": false,
            "version": "2.5.0",
            "ecosystem": "crates"
          },
          {
            "name": "async-recursion",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "crates"
          },
          {
            "name": "async-signal",
            "direct": false,
            "version": "0.2.14",
            "ecosystem": "crates"
          },
          {
            "name": "async-task",
            "direct": false,
            "version": "4.7.1",
            "ecosystem": "crates"
          },
          {
            "name": "async-trait",
            "direct": false,
            "version": "0.1.89",
            "ecosystem": "crates"
          },
          {
            "name": "atomic-waker",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "crates"
          },
          {
            "name": "atspi",
            "direct": false,
            "version": "0.29.0",
            "ecosystem": "crates"
          },
          {
            "name": "atspi-common",
            "direct": false,
            "version": "0.13.0",
            "ecosystem": "crates"
          },
          {
            "name": "atspi-proxies",
            "direct": false,
            "version": "0.13.0",
            "ecosystem": "crates"
          },
          {
            "name": "autocfg",
            "direct": false,
            "version": "1.5.1",
            "ecosystem": "crates"
          },
          {
            "name": "base64",
            "direct": false,
            "version": "0.22.1",
            "ecosystem": "crates"
          },
          {
            "name": "bincode",
            "direct": false,
            "version": "1.3.3",
            "ecosystem": "crates"
          },
          {
            "name": "bit-set",
            "direct": false,
            "version": "0.10.0",
            "ecosystem": "crates"
          },
          {
            "name": "bit-set",
            "direct": false,
            "version": "0.8.0",
            "ecosystem": "crates"
          },
          {
            "name": "bit-vec",
            "direct": false,
            "version": "0.8.0",
            "ecosystem": "crates"
          },
          {
            "name": "bit-vec",
            "direct": false,
            "version": "0.9.1",
            "ecosystem": "crates"
          },
          {
            "name": "block2",
            "direct": false,
            "version": "0.5.1",
            "ecosystem": "crates"
          },
          {
            "name": "block2",
            "direct": false,
            "version": "0.6.2",
            "ecosystem": "crates"
          },
          {
            "name": "blocking",
            "direct": false,
            "version": "1.6.2",
            "ecosystem": "crates"
          },
          {
            "name": "bstr",
            "direct": false,
            "version": "1.12.3",
            "ecosystem": "crates"
          },
          {
            "name": "bumpalo",
            "direct": false,
            "version": "3.20.3",
            "ecosystem": "crates"
          },
          {
            "name": "bytemuck_derive",
            "direct": false,
            "version": "1.11.0",
            "ecosystem": "crates"
          },
          {
            "name": "byteorder",
            "direct": false,
            "version": "1.5.0",
            "ecosystem": "crates"
          },
          {
            "name": "byteorder-lite",
            "direct": false,
            "version": "0.1.0",
            "ecosystem": "crates"
          },
          {
            "name": "bytes",
            "direct": false,
            "version": "1.12.0",
            "ecosystem": "crates"
          },
          {
            "name": "calloop",
            "direct": false,
            "version": "0.13.0",
            "ecosystem": "crates"
          },
          {
            "name": "calloop-wayland-source",
            "direct": false,
            "version": "0.3.0",
            "ecosystem": "crates"
          },
          {
            "name": "cast",
            "direct": false,
            "version": "0.3.0",
            "ecosystem": "crates"
          },
          {
            "name": "cc",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "crates"
          },
          {
            "name": "cfg-if",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "crates"
          },
          {
            "name": "cfg_aliases",
            "direct": false,
            "version": "0.2.1",
            "ecosystem": "crates"
          },
          {
            "name": "cgl",
            "direct": false,
            "version": "0.3.2",
            "ecosystem": "crates"
          },
          {
            "name": "chacha20",
            "direct": false,
            "version": "0.10.1",
            "ecosystem": "crates"
          },
          {
            "name": "ciborium",
            "direct": false,
            "version": "0.2.2",
            "ecosystem": "crates"
          },
          {
            "name": "ciborium-io",
            "direct": false,
            "version": "0.2.2",
            "ecosystem": "crates"
          },
          {
            "name": "ciborium-ll",
            "direct": false,
            "version": "0.2.2",
            "ecosystem": "crates"
          },
          {
            "name": "clap",
            "direct": false,
            "version": "4.6.1",
            "ecosystem": "crates"
          },
          {
            "name": "clap_builder",
            "direct": false,
            "version": "4.6.0",
            "ecosystem": "crates"
          },
          {
            "name": "clap_lex",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "crates"
          },
          {
            "name": "clipboard-win",
            "direct": false,
            "version": "5.4.1",
            "ecosystem": "crates"
          },
          {
            "name": "codespan-reporting",
            "direct": false,
            "version": "0.13.1",
            "ecosystem": "crates"
          },
          {
            "name": "color",
            "direct": false,
            "version": "0.3.3",
            "ecosystem": "crates"
          },
          {
            "name": "color_quant",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "crates"
          },
          {
            "name": "colorchoice",
            "direct": false,
            "version": "1.0.5",
            "ecosystem": "crates"
          },
          {
            "name": "colored",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "crates"
          },
          {
            "name": "combine",
            "direct": false,
            "version": "4.6.7",
            "ecosystem": "crates"
          },
          {
            "name": "concurrent-queue",
            "direct": false,
            "version": "2.5.0",
            "ecosystem": "crates"
          },
          {
            "name": "console",
            "direct": false,
            "version": "0.16.4",
            "ecosystem": "crates"
          },
          {
            "name": "core-foundation",
            "direct": false,
            "version": "0.10.1",
            "ecosystem": "crates"
          },
          {
            "name": "core-foundation",
            "direct": false,
            "version": "0.9.4",
            "ecosystem": "crates"
          },
          {
            "name": "core-foundation-sys",
            "direct": false,
            "version": "0.8.7",
            "ecosystem": "crates"
          },
          {
            "name": "core-graphics",
            "direct": false,
            "version": "0.23.2",
            "ecosystem": "crates"
          },
          {
            "name": "core-graphics-types",
            "direct": false,
            "version": "0.1.3",
            "ecosystem": "crates"
          },
          {
            "name": "core_maths",
            "direct": false,
            "version": "0.1.1",
            "ecosystem": "crates"
          },
          {
            "name": "cpufeatures",
            "direct": false,
            "version": "0.3.0",
            "ecosystem": "crates"
          },
          {
            "name": "crc32fast",
            "direct": false,
            "version": "1.5.0",
            "ecosystem": "crates"
          },
          {
            "name": "criterion",
            "direct": false,
            "version": "0.8.2",
            "ecosystem": "crates"
          },
          {
            "name": "criterion-plot",
            "direct": false,
            "version": "0.8.2",
            "ecosystem": "crates"
          },
          {
            "name": "crossbeam-channel",
            "direct": false,
            "version": "0.5.16",
            "ecosystem": "crates"
          },
          {
            "name": "crossbeam-deque",
            "direct": false,
            "version": "0.8.7",
            "ecosystem": "crates"
          },
          {
            "name": "crossbeam-epoch",
            "direct": false,
            "version": "0.9.20",
            "ecosystem": "crates"
          },
          {
            "name": "crossbeam-utils",
            "direct": false,
            "version": "0.8.22",
            "ecosystem": "crates"
          },
          {
            "name": "crunchy",
            "direct": false,
            "version": "0.2.4",
            "ecosystem": "crates"
          },
          {
            "name": "cursor-icon",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "crates"
          },
          {
            "name": "data-url",
            "direct": false,
            "version": "0.3.2",
            "ecosystem": "crates"
          },
          {
            "name": "defmt",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "crates"
          },
          {
            "name": "defmt-macros",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "crates"
          },
          {
            "name": "defmt-parser",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "crates"
          },
          {
            "name": "deranged",
            "direct": false,
            "version": "0.5.8",
            "ecosystem": "crates"
          },
          {
            "name": "directories",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "crates"
          },
          {
            "name": "dirs-sys",
            "direct": false,
            "version": "0.5.0",
            "ecosystem": "crates"
          },
          {
            "name": "dispatch",
            "direct": false,
            "version": "0.2.0",
            "ecosystem": "crates"
          },
          {
            "name": "dispatch2",
            "direct": false,
            "version": "0.3.1",
            "ecosystem": "crates"
          },
          {
            "name": "displaydoc",
            "direct": false,
            "version": "0.2.6",
            "ecosystem": "crates"
          },
          {
            "name": "dlib",
            "direct": false,
            "version": "0.5.3",
            "ecosystem": "crates"
          },
          {
            "name": "downcast-rs",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "crates"
          },
          {
            "name": "dpi",
            "direct": false,
            "version": "0.1.2",
            "ecosystem": "crates"
          },
          {
            "name": "either",
            "direct": false,
            "version": "1.16.0",
            "ecosystem": "crates"
          },
          {
            "name": "encode_unicode",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "crates"
          },
          {
            "name": "endi",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "crates"
          },
          {
            "name": "enum-map-derive",
            "direct": false,
            "version": "0.17.0",
            "ecosystem": "crates"
          },
          {
            "name": "enumflags2",
            "direct": false,
            "version": "0.7.12",
            "ecosystem": "crates"
          },
          {
            "name": "enumflags2_derive",
            "direct": false,
            "version": "0.7.12",
            "ecosystem": "crates"
          },
          {
            "name": "enumn",
            "direct": false,
            "version": "0.1.14",
            "ecosystem": "crates"
          },
          {
            "name": "env_filter",
            "direct": false,
            "version": "0.1.4",
            "ecosystem": "crates"
          },
          {
            "name": "env_logger",
            "direct": false,
            "version": "0.11.8",
            "ecosystem": "crates"
          },
          {
            "name": "equivalent",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "crates"
          },
          {
            "name": "errno",
            "direct": false,
            "version": "0.3.14",
            "ecosystem": "crates"
          },
          {
            "name": "error-code",
            "direct": false,
            "version": "3.3.2",
            "ecosystem": "crates"
          },
          {
            "name": "euclid",
            "direct": false,
            "version": "0.22.14",
            "ecosystem": "crates"
          },
          {
            "name": "event-listener",
            "direct": false,
            "version": "5.4.1",
            "ecosystem": "crates"
          },
          {
            "name": "event-listener-strategy",
            "direct": false,
            "version": "0.5.4",
            "ecosystem": "crates"
          },
          {
            "name": "fancy-regex",
            "direct": false,
            "version": "0.16.2",
            "ecosystem": "crates"
          },
          {
            "name": "fastrand",
            "direct": false,
            "version": "2.4.1",
            "ecosystem": "crates"
          },
          {
            "name": "fdeflate",
            "direct": false,
            "version": "0.3.7",
            "ecosystem": "crates"
          },
          {
            "name": "fearless_simd",
            "direct": false,
            "version": "0.4.1",
            "ecosystem": "crates"
          },
          {
            "name": "find-msvc-tools",
            "direct": false,
            "version": "0.1.9",
            "ecosystem": "crates"
          },
          {
            "name": "flate2",
            "direct": false,
            "version": "1.1.9",
            "ecosystem": "crates"
          },
          {
            "name": "float-cmp",
            "direct": false,
            "version": "0.9.0",
            "ecosystem": "crates"
          },
          {
            "name": "fnv",
            "direct": false,
            "version": "1.0.7",
            "ecosystem": "crates"
          },
          {
            "name": "foldhash",
            "direct": false,
            "version": "0.2.0",
            "ecosystem": "crates"
          },
          {
            "name": "fontconfig-parser",
            "direct": false,
            "version": "0.5.8",
            "ecosystem": "crates"
          },
          {
            "name": "fontdb",
            "direct": false,
            "version": "0.23.0",
            "ecosystem": "crates"
          },
          {
            "name": "foreign-types",
            "direct": false,
            "version": "0.5.0",
            "ecosystem": "crates"
          },
          {
            "name": "foreign-types-macros",
            "direct": false,
            "version": "0.2.3",
            "ecosystem": "crates"
          },
          {
            "name": "foreign-types-shared",
            "direct": false,
            "version": "0.3.1",
            "ecosystem": "crates"
          },
          {
            "name": "form_urlencoded",
            "direct": false,
            "version": "1.2.2",
            "ecosystem": "crates"
          },
          {
            "name": "futures-core",
            "direct": false,
            "version": "0.3.33",
            "ecosystem": "crates"
          },
          {
            "name": "futures-io",
            "direct": false,
            "version": "0.3.32",
            "ecosystem": "crates"
          },
          {
            "name": "futures-lite",
            "direct": false,
            "version": "2.6.1",
            "ecosystem": "crates"
          },
          {
            "name": "futures-macro",
            "direct": false,
            "version": "0.3.33",
            "ecosystem": "crates"
          },
          {
            "name": "futures-task",
            "direct": false,
            "version": "0.3.33",
            "ecosystem": "crates"
          },
          {
            "name": "futures-util",
            "direct": false,
            "version": "0.3.33",
            "ecosystem": "crates"
          },
          {
            "name": "gethostname",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "crates"
          },
          {
            "name": "getopts",
            "direct": false,
            "version": "0.2.24",
            "ecosystem": "crates"
          },
          {
            "name": "getrandom",
            "direct": false,
            "version": "0.2.17",
            "ecosystem": "crates"
          },
          {
            "name": "getrandom",
            "direct": false,
            "version": "0.3.4",
            "ecosystem": "crates"
          },
          {
            "name": "getrandom",
            "direct": false,
            "version": "0.4.3",
            "ecosystem": "crates"
          },
          {
            "name": "gif",
            "direct": false,
            "version": "0.13.3",
            "ecosystem": "crates"
          },
          {
            "name": "gimli",
            "direct": false,
            "version": "0.32.3",
            "ecosystem": "crates"
          },
          {
            "name": "gl_generator",
            "direct": false,
            "version": "0.14.0",
            "ecosystem": "crates"
          },
          {
            "name": "glifo",
            "direct": false,
            "version": "0.2.0",
            "ecosystem": "crates"
          },
          {
            "name": "glutin",
            "direct": false,
            "version": "0.32.3",
            "ecosystem": "crates"
          },
          {
            "name": "glutin-winit",
            "direct": false,
            "version": "0.5.0",
            "ecosystem": "crates"
          },
          {
            "name": "glutin_egl_sys",
            "direct": false,
            "version": "0.7.1",
            "ecosystem": "crates"
          },
          {
            "name": "glutin_glx_sys",
            "direct": false,
            "version": "0.6.1",
            "ecosystem": "crates"
          },
          {
            "name": "glutin_wgl_sys",
            "direct": false,
            "version": "0.6.1",
            "ecosystem": "crates"
          },
          {
            "name": "gpu-allocator",
            "direct": false,
            "version": "0.28.0",
            "ecosystem": "crates"
          },
          {
            "name": "guillotiere",
            "direct": false,
            "version": "0.7.0",
            "ecosystem": "crates"
          },
          {
            "name": "half",
            "direct": false,
            "version": "2.7.1",
            "ecosystem": "crates"
          },
          {
            "name": "hashbrown",
            "direct": false,
            "version": "0.16.1",
            "ecosystem": "crates"
          },
          {
            "name": "hashbrown",
            "direct": false,
            "version": "0.17.1",
            "ecosystem": "crates"
          },
          {
            "name": "hermit-abi",
            "direct": false,
            "version": "0.5.2",
            "ecosystem": "crates"
          },
          {
            "name": "hex",
            "direct": false,
            "version": "0.4.3",
            "ecosystem": "crates"
          },
          {
            "name": "http",
            "direct": false,
            "version": "1.4.2",
            "ecosystem": "crates"
          },
          {
            "name": "httparse",
            "direct": false,
            "version": "1.10.1",
            "ecosystem": "crates"
          },
          {
            "name": "icu_collections",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "crates"
          },
          {
            "name": "icu_locale_core",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "crates"
          },
          {
            "name": "icu_normalizer",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "crates"
          },
          {
            "name": "icu_normalizer_data",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "crates"
          },
          {
            "name": "icu_properties",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "crates"
          },
          {
            "name": "icu_properties_data",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "crates"
          },
          {
            "name": "icu_provider",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "crates"
          },
          {
            "name": "idna",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "crates"
          },
          {
            "name": "idna_adapter",
            "direct": false,
            "version": "1.2.2",
            "ecosystem": "crates"
          },
          {
            "name": "image-webp",
            "direct": false,
            "version": "0.2.4",
            "ecosystem": "crates"
          },
          {
            "name": "imagesize",
            "direct": false,
            "version": "0.13.0",
            "ecosystem": "crates"
          },
          {
            "name": "indexmap",
            "direct": false,
            "version": "2.14.0",
            "ecosystem": "crates"
          },
          {
            "name": "is-docker",
            "direct": false,
            "version": "0.2.0",
            "ecosystem": "crates"
          },
          {
            "name": "is-wsl",
            "direct": false,
            "version": "0.4.0",
            "ecosystem": "crates"
          },
          {
            "name": "is_terminal_polyfill",
            "direct": false,
            "version": "1.70.2",
            "ecosystem": "crates"
          },
          {
            "name": "itoa",
            "direct": false,
            "version": "1.0.18",
            "ecosystem": "crates"
          },
          {
            "name": "jiff-core",
            "direct": false,
            "version": "0.1.0",
            "ecosystem": "crates"
          },
          {
            "name": "jiff-static",
            "direct": false,
            "version": "0.2.35",
            "ecosystem": "crates"
          },
          {
            "name": "jni",
            "direct": false,
            "version": "0.22.4",
            "ecosystem": "crates"
          },
          {
            "name": "jni-macros",
            "direct": false,
            "version": "0.22.4",
            "ecosystem": "crates"
          },
          {
            "name": "jni-sys",
            "direct": false,
            "version": "0.3.1",
            "ecosystem": "crates"
          },
          {
            "name": "jni-sys",
            "direct": false,
            "version": "0.4.1",
            "ecosystem": "crates"
          },
          {
            "name": "jni-sys-macros",
            "direct": false,
            "version": "0.4.1",
            "ecosystem": "crates"
          },
          {
            "name": "jobserver",
            "direct": false,
            "version": "0.1.35",
            "ecosystem": "crates"
          },
          {
            "name": "jpeg-decoder",
            "direct": false,
            "version": "0.3.2",
            "ecosystem": "crates"
          },
          {
            "name": "js-sys",
            "direct": false,
            "version": "0.3.103",
            "ecosystem": "crates"
          },
          {
            "name": "khronos-egl",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "crates"
          },
          {
            "name": "khronos_api",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "crates"
          },
          {
            "name": "kurbo",
            "direct": false,
            "version": "0.11.3",
            "ecosystem": "crates"
          },
          {
            "name": "kurbo",
            "direct": false,
            "version": "0.13.1",
            "ecosystem": "crates"
          },
          {
            "name": "lazy_static",
            "direct": false,
            "version": "1.5.0",
            "ecosystem": "crates"
          },
          {
            "name": "libc",
            "direct": false,
            "version": "0.2.189",
            "ecosystem": "crates"
          },
          {
            "name": "libloading",
            "direct": false,
            "version": "0.8.9",
            "ecosystem": "crates"
          },
          {
            "name": "libm",
            "direct": false,
            "version": "0.2.16",
            "ecosystem": "crates"
          },
          {
            "name": "libmimalloc-sys",
            "direct": false,
            "version": "0.1.49",
            "ecosystem": "crates"
          },
          {
            "name": "libredox",
            "direct": false,
            "version": "0.1.18",
            "ecosystem": "crates"
          },
          {
            "name": "linebender_resource_handle",
            "direct": false,
            "version": "0.1.1",
            "ecosystem": "crates"
          },
          {
            "name": "linked-hash-map",
            "direct": false,
            "version": "0.5.6",
            "ecosystem": "crates"
          },
          {
            "name": "linux-raw-sys",
            "direct": false,
            "version": "0.12.1",
            "ecosystem": "crates"
          },
          {
            "name": "linux-raw-sys",
            "direct": false,
            "version": "0.4.15",
            "ecosystem": "crates"
          },
          {
            "name": "litemap",
            "direct": false,
            "version": "0.8.2",
            "ecosystem": "crates"
          },
          {
            "name": "litrs",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "crates"
          },
          {
            "name": "lock_api",
            "direct": false,
            "version": "0.4.14",
            "ecosystem": "crates"
          },
          {
            "name": "lz4_flex",
            "direct": false,
            "version": "0.13.1",
            "ecosystem": "crates"
          },
          {
            "name": "memchr",
            "direct": false,
            "version": "2.8.3",
            "ecosystem": "crates"
          },
          {
            "name": "memmap2",
            "direct": false,
            "version": "0.9.11",
            "ecosystem": "crates"
          },
          {
            "name": "memoffset",
            "direct": false,
            "version": "0.9.1",
            "ecosystem": "crates"
          },
          {
            "name": "mimalloc",
            "direct": false,
            "version": "0.1.52",
            "ecosystem": "crates"
          },
          {
            "name": "mime",
            "direct": false,
            "version": "0.3.17",
            "ecosystem": "crates"
          },
          {
            "name": "miniz_oxide",
            "direct": false,
            "version": "0.8.9",
            "ecosystem": "crates"
          },
          {
            "name": "mio",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "crates"
          },
          {
            "name": "naga",
            "direct": false,
            "version": "30.0.0",
            "ecosystem": "crates"
          },
          {
            "name": "naga-types",
            "direct": false,
            "version": "30.0.0",
            "ecosystem": "crates"
          },
          {
            "name": "ndk",
            "direct": false,
            "version": "0.9.0",
            "ecosystem": "crates"
          },
          {
            "name": "ndk-context",
            "direct": false,
            "version": "0.1.1",
            "ecosystem": "crates"
          },
          {
            "name": "ndk-sys",
            "direct": false,
            "version": "0.6.0+11769913",
            "ecosystem": "crates"
          },
          {
            "name": "num-conv",
            "direct": false,
            "version": "0.2.2",
            "ecosystem": "crates"
          },
          {
            "name": "num-traits",
            "direct": false,
            "version": "0.2.19",
            "ecosystem": "crates"
          },
          {
            "name": "num_enum",
            "direct": false,
            "version": "0.7.6",
            "ecosystem": "crates"
          },
          {
            "name": "num_enum_derive",
            "direct": false,
            "version": "0.7.6",
            "ecosystem": "crates"
          },
          {
            "name": "objc-sys",
            "direct": false,
            "version": "0.3.5",
            "ecosystem": "crates"
          },
          {
            "name": "objc2",
            "direct": false,
            "version": "0.5.2",
            "ecosystem": "crates"
          },
          {
            "name": "objc2",
            "direct": false,
            "version": "0.6.4",
            "ecosystem": "crates"
          },
          {
            "name": "objc2-app-kit",
            "direct": false,
            "version": "0.2.2",
            "ecosystem": "crates"
          },
          {
            "name": "objc2-app-kit",
            "direct": false,
            "version": "0.3.2",
            "ecosystem": "crates"
          },
          {
            "name": "objc2-cloud-kit",
            "direct": false,
            "version": "0.2.2",
            "ecosystem": "crates"
          },
          {
            "name": "objc2-contacts",
            "direct": false,
            "version": "0.2.2",
            "ecosystem": "crates"
          },
          {
            "name": "objc2-core-data",
            "direct": false,
            "version": "0.2.2",
            "ecosystem": "crates"
          },
          {
            "name": "objc2-core-foundation",
            "direct": false,
            "version": "0.3.2",
            "ecosystem": "crates"
          },
          {
            "name": "objc2-core-graphics",
            "direct": false,
            "version": "0.3.2",
            "ecosystem": "crates"
          },
          {
            "name": "objc2-core-image",
            "direct": false,
            "version": "0.2.2",
            "ecosystem": "crates"
          },
          {
            "name": "objc2-core-location",
            "direct": false,
            "version": "0.2.2",
            "ecosystem": "crates"
          },
          {
            "name": "objc2-encode",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "crates"
          },
          {
            "name": "objc2-foundation",
            "direct": false,
            "version": "0.2.2",
            "ecosystem": "crates"
          },
          {
            "name": "objc2-foundation",
            "direct": false,
            "version": "0.3.2",
            "ecosystem": "crates"
          },
          {
            "name": "objc2-io-surface",
            "direct": false,
            "version": "0.3.2",
            "ecosystem": "crates"
          },
          {
            "name": "objc2-link-presentation",
            "direct": false,
            "version": "0.2.2",
            "ecosystem": "crates"
          },
          {
            "name": "objc2-metal",
            "direct": false,
            "version": "0.2.2",
            "ecosystem": "crates"
          },
          {
            "name": "objc2-metal",
            "direct": false,
            "version": "0.3.2",
            "ecosystem": "crates"
          },
          {
            "name": "objc2-quartz-core",
            "direct": false,
            "version": "0.2.2",
            "ecosystem": "crates"
          },
          {
            "name": "objc2-quartz-core",
            "direct": false,
            "version": "0.3.2",
            "ecosystem": "crates"
          },
          {
            "name": "objc2-symbols",
            "direct": false,
            "version": "0.2.2",
            "ecosystem": "crates"
          },
          {
            "name": "objc2-ui-kit",
            "direct": false,
            "version": "0.2.2",
            "ecosystem": "crates"
          },
          {
            "name": "objc2-ui-kit",
            "direct": false,
            "version": "0.3.2",
            "ecosystem": "crates"
          },
          {
            "name": "objc2-uniform-type-identifiers",
            "direct": false,
            "version": "0.2.2",
            "ecosystem": "crates"
          },
          {
            "name": "objc2-user-notifications",
            "direct": false,
            "version": "0.2.2",
            "ecosystem": "crates"
          },
          {
            "name": "object",
            "direct": false,
            "version": "0.37.3",
            "ecosystem": "crates"
          },
          {
            "name": "once_cell",
            "direct": false,
            "version": "1.21.4",
            "ecosystem": "crates"
          },
          {
            "name": "once_cell_polyfill",
            "direct": false,
            "version": "1.70.2",
            "ecosystem": "crates"
          },
          {
            "name": "oorandom",
            "direct": false,
            "version": "11.1.5",
            "ecosystem": "crates"
          },
          {
            "name": "open",
            "direct": false,
            "version": "5.4.0",
            "ecosystem": "crates"
          },
          {
            "name": "option-ext",
            "direct": false,
            "version": "0.2.0",
            "ecosystem": "crates"
          },
          {
            "name": "orbclient",
            "direct": false,
            "version": "0.3.55",
            "ecosystem": "crates"
          },
          {
            "name": "ordered-float",
            "direct": false,
            "version": "5.3.0",
            "ecosystem": "crates"
          },
          {
            "name": "ordered-stream",
            "direct": false,
            "version": "0.2.0",
            "ecosystem": "crates"
          },
          {
            "name": "owned_ttf_parser",
            "direct": false,
            "version": "0.25.1",
            "ecosystem": "crates"
          },
          {
            "name": "page_size",
            "direct": false,
            "version": "0.6.0",
            "ecosystem": "crates"
          },
          {
            "name": "parking",
            "direct": false,
            "version": "2.2.1",
            "ecosystem": "crates"
          },
          {
            "name": "parking_lot_core",
            "direct": false,
            "version": "0.9.12",
            "ecosystem": "crates"
          },
          {
            "name": "peniko",
            "direct": false,
            "version": "0.6.1",
            "ecosystem": "crates"
          },
          {
            "name": "percent-encoding",
            "direct": false,
            "version": "2.3.2",
            "ecosystem": "crates"
          },
          {
            "name": "phf",
            "direct": false,
            "version": "0.11.3",
            "ecosystem": "crates"
          },
          {
            "name": "phf",
            "direct": false,
            "version": "0.13.1",
            "ecosystem": "crates"
          },
          {
            "name": "phf_codegen",
            "direct": false,
            "version": "0.11.3",
            "ecosystem": "crates"
          },
          {
            "name": "phf_generator",
            "direct": false,
            "version": "0.11.3",
            "ecosystem": "crates"
          },
          {
            "name": "phf_generator",
            "direct": false,
            "version": "0.13.1",
            "ecosystem": "crates"
          },
          {
            "name": "phf_macros",
            "direct": false,
            "version": "0.11.3",
            "ecosystem": "crates"
          },
          {
            "name": "phf_macros",
            "direct": false,
            "version": "0.13.1",
            "ecosystem": "crates"
          },
          {
            "name": "phf_shared",
            "direct": false,
            "version": "0.11.3",
            "ecosystem": "crates"
          },
          {
            "name": "phf_shared",
            "direct": false,
            "version": "0.13.1",
            "ecosystem": "crates"
          },
          {
            "name": "pico-args",
            "direct": false,
            "version": "0.5.0",
            "ecosystem": "crates"
          },
          {
            "name": "pin-project",
            "direct": false,
            "version": "1.1.13",
            "ecosystem": "crates"
          },
          {
            "name": "pin-project-internal",
            "direct": false,
            "version": "1.1.13",
            "ecosystem": "crates"
          },
          {
            "name": "pin-project-lite",
            "direct": false,
            "version": "0.2.17",
            "ecosystem": "crates"
          },
          {
            "name": "piper",
            "direct": false,
            "version": "0.2.5",
            "ecosystem": "crates"
          },
          {
            "name": "pkg-config",
            "direct": false,
            "version": "0.3.33",
            "ecosystem": "crates"
          },
          {
            "name": "plain",
            "direct": false,
            "version": "0.2.3",
            "ecosystem": "crates"
          },
          {
            "name": "plist",
            "direct": false,
            "version": "1.10.0",
            "ecosystem": "crates"
          },
          {
            "name": "png",
            "direct": false,
            "version": "0.17.16",
            "ecosystem": "crates"
          },
          {
            "name": "polling",
            "direct": false,
            "version": "3.11.0",
            "ecosystem": "crates"
          },
          {
            "name": "polycool",
            "direct": false,
            "version": "0.4.0",
            "ecosystem": "crates"
          },
          {
            "name": "portable-atomic",
            "direct": false,
            "version": "1.13.1",
            "ecosystem": "crates"
          },
          {
            "name": "portable-atomic-util",
            "direct": false,
            "version": "0.2.7",
            "ecosystem": "crates"
          },
          {
            "name": "potential_utf",
            "direct": false,
            "version": "0.1.5",
            "ecosystem": "crates"
          },
          {
            "name": "powerfmt",
            "direct": false,
            "version": "0.2.0",
            "ecosystem": "crates"
          },
          {
            "name": "ppv-lite86",
            "direct": false,
            "version": "0.2.21",
            "ecosystem": "crates"
          },
          {
            "name": "presser",
            "direct": false,
            "version": "0.3.1",
            "ecosystem": "crates"
          },
          {
            "name": "proc-macro-crate",
            "direct": false,
            "version": "3.5.0",
            "ecosystem": "crates"
          },
          {
            "name": "proc-macro2",
            "direct": false,
            "version": "1.0.107",
            "ecosystem": "crates"
          },
          {
            "name": "profiling-procmacros",
            "direct": false,
            "version": "1.0.18",
            "ecosystem": "crates"
          },
          {
            "name": "quick-error",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "crates"
          },
          {
            "name": "quick-xml",
            "direct": false,
            "version": "0.39.4",
            "ecosystem": "crates"
          },
          {
            "name": "quick-xml",
            "direct": false,
            "version": "0.41.0",
            "ecosystem": "crates"
          },
          {
            "name": "quote",
            "direct": false,
            "version": "1.0.47",
            "ecosystem": "crates"
          },
          {
            "name": "r-efi",
            "direct": false,
            "version": "5.3.0",
            "ecosystem": "crates"
          },
          {
            "name": "r-efi",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "crates"
          },
          {
            "name": "rand",
            "direct": false,
            "version": "0.10.2",
            "ecosystem": "crates"
          },
          {
            "name": "rand",
            "direct": false,
            "version": "0.8.6",
            "ecosystem": "crates"
          },
          {
            "name": "rand_chacha",
            "direct": false,
            "version": "0.3.1",
            "ecosystem": "crates"
          },
          {
            "name": "rand_core",
            "direct": false,
            "version": "0.10.1",
            "ecosystem": "crates"
          },
          {
            "name": "rand_core",
            "direct": false,
            "version": "0.6.4",
            "ecosystem": "crates"
          },
          {
            "name": "range-alloc",
            "direct": false,
            "version": "0.1.5",
            "ecosystem": "crates"
          },
          {
            "name": "raw-window-metal",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "crates"
          },
          {
            "name": "rayon-core",
            "direct": false,
            "version": "1.13.0",
            "ecosystem": "crates"
          },
          {
            "name": "read-fonts",
            "direct": false,
            "version": "0.41.0",
            "ecosystem": "crates"
          },
          {
            "name": "redox_syscall",
            "direct": false,
            "version": "0.4.1",
            "ecosystem": "crates"
          },
          {
            "name": "redox_syscall",
            "direct": false,
            "version": "0.5.18",
            "ecosystem": "crates"
          },
          {
            "name": "redox_syscall",
            "direct": false,
            "version": "0.9.0",
            "ecosystem": "crates"
          },
          {
            "name": "redox_users",
            "direct": false,
            "version": "0.5.2",
            "ecosystem": "crates"
          },
          {
            "name": "regex",
            "direct": false,
            "version": "1.12.4",
            "ecosystem": "crates"
          },
          {
            "name": "regex-automata",
            "direct": false,
            "version": "0.4.14",
            "ecosystem": "crates"
          },
          {
            "name": "regex-syntax",
            "direct": false,
            "version": "0.8.11",
            "ecosystem": "crates"
          },
          {
            "name": "renderdoc-sys",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "crates"
          },
          {
            "name": "rfd",
            "direct": false,
            "version": "0.17.2",
            "ecosystem": "crates"
          },
          {
            "name": "rgb",
            "direct": false,
            "version": "0.8.53",
            "ecosystem": "crates"
          },
          {
            "name": "ring",
            "direct": false,
            "version": "0.17.14",
            "ecosystem": "crates"
          },
          {
            "name": "rmp",
            "direct": false,
            "version": "0.8.15",
            "ecosystem": "crates"
          },
          {
            "name": "roxmltree",
            "direct": false,
            "version": "0.20.0",
            "ecosystem": "crates"
          },
          {
            "name": "rustc-demangle",
            "direct": false,
            "version": "0.1.27",
            "ecosystem": "crates"
          },
          {
            "name": "rustc-hash",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "crates"
          },
          {
            "name": "rustc-hash",
            "direct": false,
            "version": "2.1.3",
            "ecosystem": "crates"
          },
          {
            "name": "rustc_version",
            "direct": false,
            "version": "0.4.1",
            "ecosystem": "crates"
          },
          {
            "name": "rustix",
            "direct": false,
            "version": "0.38.44",
            "ecosystem": "crates"
          },
          {
            "name": "rustix",
            "direct": false,
            "version": "1.1.4",
            "ecosystem": "crates"
          },
          {
            "name": "rustls",
            "direct": false,
            "version": "0.23.41",
            "ecosystem": "crates"
          },
          {
            "name": "rustls-pki-types",
            "direct": false,
            "version": "1.15.0",
            "ecosystem": "crates"
          },
          {
            "name": "rustls-webpki",
            "direct": false,
            "version": "0.103.13",
            "ecosystem": "crates"
          },
          {
            "name": "rustversion",
            "direct": false,
            "version": "1.0.23",
            "ecosystem": "crates"
          },
          {
            "name": "rustybuzz",
            "direct": false,
            "version": "0.20.1",
            "ecosystem": "crates"
          },
          {
            "name": "same-file",
            "direct": false,
            "version": "1.0.6",
            "ecosystem": "crates"
          },
          {
            "name": "scoped-tls",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "crates"
          },
          {
            "name": "scopeguard",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "crates"
          },
          {
            "name": "sctk-adwaita",
            "direct": false,
            "version": "0.10.1",
            "ecosystem": "crates"
          },
          {
            "name": "semver",
            "direct": false,
            "version": "1.0.28",
            "ecosystem": "crates"
          },
          {
            "name": "serde_core",
            "direct": false,
            "version": "1.0.228",
            "ecosystem": "crates"
          },
          {
            "name": "serde_derive",
            "direct": false,
            "version": "1.0.228",
            "ecosystem": "crates"
          },
          {
            "name": "serde_json",
            "direct": false,
            "version": "1.0.150",
            "ecosystem": "crates"
          },
          {
            "name": "serde_repr",
            "direct": false,
            "version": "0.1.20",
            "ecosystem": "crates"
          },
          {
            "name": "serde_spanned",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "crates"
          },
          {
            "name": "shlex",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "crates"
          },
          {
            "name": "signal-hook-registry",
            "direct": false,
            "version": "1.4.8",
            "ecosystem": "crates"
          },
          {
            "name": "simd-adler32",
            "direct": false,
            "version": "0.3.10",
            "ecosystem": "crates"
          },
          {
            "name": "simd_cesu8",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "crates"
          },
          {
            "name": "simdutf8",
            "direct": false,
            "version": "0.1.5",
            "ecosystem": "crates"
          },
          {
            "name": "similar",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "crates"
          },
          {
            "name": "similar-asserts",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "crates"
          },
          {
            "name": "simplecss",
            "direct": false,
            "version": "0.2.2",
            "ecosystem": "crates"
          },
          {
            "name": "siphasher",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "crates"
          },
          {
            "name": "slab",
            "direct": false,
            "version": "0.4.12",
            "ecosystem": "crates"
          },
          {
            "name": "slotmap",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "crates"
          },
          {
            "name": "smithay-client-toolkit",
            "direct": false,
            "version": "0.19.2",
            "ecosystem": "crates"
          },
          {
            "name": "smithay-clipboard",
            "direct": false,
            "version": "0.7.2",
            "ecosystem": "crates"
          },
          {
            "name": "smol_str",
            "direct": false,
            "version": "0.2.2",
            "ecosystem": "crates"
          },
          {
            "name": "socket2",
            "direct": false,
            "version": "0.6.4",
            "ecosystem": "crates"
          },
          {
            "name": "spirv",
            "direct": false,
            "version": "0.4.0+sdk-1.4.341.0",
            "ecosystem": "crates"
          },
          {
            "name": "stable_deref_trait",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "crates"
          },
          {
            "name": "strict-num",
            "direct": false,
            "version": "0.1.1",
            "ecosystem": "crates"
          },
          {
            "name": "subtle",
            "direct": false,
            "version": "2.6.1",
            "ecosystem": "crates"
          },
          {
            "name": "svgtypes",
            "direct": false,
            "version": "0.15.3",
            "ecosystem": "crates"
          },
          {
            "name": "syn",
            "direct": false,
            "version": "2.0.119",
            "ecosystem": "crates"
          },
          {
            "name": "synstructure",
            "direct": false,
            "version": "0.13.2",
            "ecosystem": "crates"
          },
          {
            "name": "tempfile",
            "direct": false,
            "version": "3.27.0",
            "ecosystem": "crates"
          },
          {
            "name": "termcolor",
            "direct": false,
            "version": "1.4.1",
            "ecosystem": "crates"
          },
          {
            "name": "thiserror-impl",
            "direct": false,
            "version": "1.0.69",
            "ecosystem": "crates"
          },
          {
            "name": "thiserror-impl",
            "direct": false,
            "version": "2.0.18",
            "ecosystem": "crates"
          },
          {
            "name": "tiff",
            "direct": false,
            "version": "0.9.1",
            "ecosystem": "crates"
          },
          {
            "name": "time",
            "direct": false,
            "version": "0.3.53",
            "ecosystem": "crates"
          },
          {
            "name": "time-core",
            "direct": false,
            "version": "0.1.9",
            "ecosystem": "crates"
          },
          {
            "name": "time-macros",
            "direct": false,
            "version": "0.2.31",
            "ecosystem": "crates"
          },
          {
            "name": "tiny-skia",
            "direct": false,
            "version": "0.11.4",
            "ecosystem": "crates"
          },
          {
            "name": "tiny-skia-path",
            "direct": false,
            "version": "0.11.4",
            "ecosystem": "crates"
          },
          {
            "name": "tinystr",
            "direct": false,
            "version": "0.8.3",
            "ecosystem": "crates"
          },
          {
            "name": "tinytemplate",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "crates"
          },
          {
            "name": "tinyvec",
            "direct": false,
            "version": "1.12.0",
            "ecosystem": "crates"
          },
          {
            "name": "tinyvec_macros",
            "direct": false,
            "version": "0.1.1",
            "ecosystem": "crates"
          },
          {
            "name": "tokio",
            "direct": false,
            "version": "1.53.1",
            "ecosystem": "crates"
          },
          {
            "name": "toml_datetime",
            "direct": false,
            "version": "1.1.1+spec-1.1.0",
            "ecosystem": "crates"
          },
          {
            "name": "toml_edit",
            "direct": false,
            "version": "0.25.12+spec-1.1.0",
            "ecosystem": "crates"
          },
          {
            "name": "toml_parser",
            "direct": false,
            "version": "1.1.3+spec-1.1.0",
            "ecosystem": "crates"
          },
          {
            "name": "tracing",
            "direct": false,
            "version": "0.1.44",
            "ecosystem": "crates"
          },
          {
            "name": "tracing-attributes",
            "direct": false,
            "version": "0.1.31",
            "ecosystem": "crates"
          },
          {
            "name": "tracing-core",
            "direct": false,
            "version": "0.1.36",
            "ecosystem": "crates"
          },
          {
            "name": "ttf-parser",
            "direct": false,
            "version": "0.25.1",
            "ecosystem": "crates"
          },
          {
            "name": "typeid",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "crates"
          },
          {
            "name": "uds_windows",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "crates"
          },
          {
            "name": "unicase",
            "direct": false,
            "version": "2.9.0",
            "ecosystem": "crates"
          },
          {
            "name": "unicode-bidi",
            "direct": false,
            "version": "0.3.18",
            "ecosystem": "crates"
          },
          {
            "name": "unicode-bidi-mirroring",
            "direct": false,
            "version": "0.4.0",
            "ecosystem": "crates"
          },
          {
            "name": "unicode-ccc",
            "direct": false,
            "version": "0.4.0",
            "ecosystem": "crates"
          },
          {
            "name": "unicode-ident",
            "direct": false,
            "version": "1.0.24",
            "ecosystem": "crates"
          },
          {
            "name": "unicode-properties",
            "direct": false,
            "version": "0.1.4",
            "ecosystem": "crates"
          },
          {
            "name": "unicode-script",
            "direct": false,
            "version": "0.5.8",
            "ecosystem": "crates"
          },
          {
            "name": "unicode-vo",
            "direct": false,
            "version": "0.1.0",
            "ecosystem": "crates"
          },
          {
            "name": "unicode-width",
            "direct": false,
            "version": "0.2.2",
            "ecosystem": "crates"
          },
          {
            "name": "unicode_names2_generator",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "crates"
          },
          {
            "name": "untrusted",
            "direct": false,
            "version": "0.9.0",
            "ecosystem": "crates"
          },
          {
            "name": "ureq",
            "direct": false,
            "version": "3.3.0",
            "ecosystem": "crates"
          },
          {
            "name": "ureq-proto",
            "direct": false,
            "version": "0.6.0",
            "ecosystem": "crates"
          },
          {
            "name": "url",
            "direct": false,
            "version": "2.5.8",
            "ecosystem": "crates"
          },
          {
            "name": "usvg",
            "direct": false,
            "version": "0.45.1",
            "ecosystem": "crates"
          },
          {
            "name": "utf8-zero",
            "direct": false,
            "version": "0.8.1",
            "ecosystem": "crates"
          },
          {
            "name": "utf8_iter",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "crates"
          },
          {
            "name": "utf8parse",
            "direct": false,
            "version": "0.2.2",
            "ecosystem": "crates"
          },
          {
            "name": "uuid",
            "direct": false,
            "version": "1.23.4",
            "ecosystem": "crates"
          },
          {
            "name": "vello_common",
            "direct": false,
            "version": "0.1.0",
            "ecosystem": "crates"
          },
          {
            "name": "version_check",
            "direct": false,
            "version": "0.9.5",
            "ecosystem": "crates"
          },
          {
            "name": "walkdir",
            "direct": false,
            "version": "2.5.0",
            "ecosystem": "crates"
          },
          {
            "name": "wasi",
            "direct": false,
            "version": "0.11.1+wasi-snapshot-preview1",
            "ecosystem": "crates"
          },
          {
            "name": "wasip2",
            "direct": false,
            "version": "1.0.4+wasi-0.2.12",
            "ecosystem": "crates"
          },
          {
            "name": "wasm-bindgen",
            "direct": false,
            "version": "0.2.126",
            "ecosystem": "crates"
          },
          {
            "name": "wasm-bindgen-futures",
            "direct": false,
            "version": "0.4.76",
            "ecosystem": "crates"
          },
          {
            "name": "wasm-bindgen-macro",
            "direct": false,
            "version": "0.2.126",
            "ecosystem": "crates"
          },
          {
            "name": "wasm-bindgen-macro-support",
            "direct": false,
            "version": "0.2.126",
            "ecosystem": "crates"
          },
          {
            "name": "wasm-bindgen-shared",
            "direct": false,
            "version": "0.2.126",
            "ecosystem": "crates"
          },
          {
            "name": "wayland-backend",
            "direct": false,
            "version": "0.3.15",
            "ecosystem": "crates"
          },
          {
            "name": "wayland-client",
            "direct": false,
            "version": "0.31.14",
            "ecosystem": "crates"
          },
          {
            "name": "wayland-csd-frame",
            "direct": false,
            "version": "0.3.0",
            "ecosystem": "crates"
          },
          {
            "name": "wayland-cursor",
            "direct": false,
            "version": "0.31.14",
            "ecosystem": "crates"
          },
          {
            "name": "wayland-protocols",
            "direct": false,
            "version": "0.32.13",
            "ecosystem": "crates"
          },
          {
            "name": "wayland-protocols-plasma",
            "direct": false,
            "version": "0.3.12",
            "ecosystem": "crates"
          },
          {
            "name": "wayland-protocols-wlr",
            "direct": false,
            "version": "0.3.12",
            "ecosystem": "crates"
          },
          {
            "name": "wayland-scanner",
            "direct": false,
            "version": "0.31.10",
            "ecosystem": "crates"
          },
          {
            "name": "wayland-sys",
            "direct": false,
            "version": "0.31.11",
            "ecosystem": "crates"
          },
          {
            "name": "web-sys",
            "direct": false,
            "version": "0.3.103",
            "ecosystem": "crates"
          },
          {
            "name": "webpki-roots",
            "direct": false,
            "version": "1.0.8",
            "ecosystem": "crates"
          },
          {
            "name": "weezl",
            "direct": false,
            "version": "0.1.12",
            "ecosystem": "crates"
          },
          {
            "name": "wgpu-core",
            "direct": false,
            "version": "30.0.0",
            "ecosystem": "crates"
          },
          {
            "name": "wgpu-core-deps-apple",
            "direct": false,
            "version": "30.0.0",
            "ecosystem": "crates"
          },
          {
            "name": "wgpu-core-deps-emscripten",
            "direct": false,
            "version": "30.0.0",
            "ecosystem": "crates"
          },
          {
            "name": "wgpu-core-deps-wasm",
            "direct": false,
            "version": "30.0.0",
            "ecosystem": "crates"
          },
          {
            "name": "wgpu-core-deps-windows-linux-android",
            "direct": false,
            "version": "30.0.0",
            "ecosystem": "crates"
          },
          {
            "name": "wgpu-hal",
            "direct": false,
            "version": "30.0.0",
            "ecosystem": "crates"
          },
          {
            "name": "wgpu-naga-bridge",
            "direct": false,
            "version": "30.0.0",
            "ecosystem": "crates"
          },
          {
            "name": "wgpu-types",
            "direct": false,
            "version": "30.0.0",
            "ecosystem": "crates"
          },
          {
            "name": "winapi",
            "direct": false,
            "version": "0.3.9",
            "ecosystem": "crates"
          },
          {
            "name": "winapi-i686-pc-windows-gnu",
            "direct": false,
            "version": "0.4.0",
            "ecosystem": "crates"
          },
          {
            "name": "winapi-util",
            "direct": false,
            "version": "0.1.11",
            "ecosystem": "crates"
          },
          {
            "name": "winapi-x86_64-pc-windows-gnu",
            "direct": false,
            "version": "0.4.0",
            "ecosystem": "crates"
          },
          {
            "name": "windows",
            "direct": false,
            "version": "0.62.2",
            "ecosystem": "crates"
          },
          {
            "name": "windows-collections",
            "direct": false,
            "version": "0.3.2",
            "ecosystem": "crates"
          },
          {
            "name": "windows-core",
            "direct": false,
            "version": "0.62.2",
            "ecosystem": "crates"
          },
          {
            "name": "windows-future",
            "direct": false,
            "version": "0.3.2",
            "ecosystem": "crates"
          },
          {
            "name": "windows-implement",
            "direct": false,
            "version": "0.60.2",
            "ecosystem": "crates"
          },
          {
            "name": "windows-interface",
            "direct": false,
            "version": "0.59.3",
            "ecosystem": "crates"
          },
          {
            "name": "windows-link",
            "direct": false,
            "version": "0.2.1",
            "ecosystem": "crates"
          },
          {
            "name": "windows-numerics",
            "direct": false,
            "version": "0.3.1",
            "ecosystem": "crates"
          },
          {
            "name": "windows-result",
            "direct": false,
            "version": "0.4.1",
            "ecosystem": "crates"
          },
          {
            "name": "windows-strings",
            "direct": false,
            "version": "0.5.1",
            "ecosystem": "crates"
          },
          {
            "name": "windows-sys",
            "direct": false,
            "version": "0.52.0",
            "ecosystem": "crates"
          },
          {
            "name": "windows-sys",
            "direct": false,
            "version": "0.61.2",
            "ecosystem": "crates"
          },
          {
            "name": "windows-targets",
            "direct": false,
            "version": "0.52.6",
            "ecosystem": "crates"
          },
          {
            "name": "windows-threading",
            "direct": false,
            "version": "0.2.1",
            "ecosystem": "crates"
          },
          {
            "name": "windows_aarch64_gnullvm",
            "direct": false,
            "version": "0.52.6",
            "ecosystem": "crates"
          },
          {
            "name": "windows_aarch64_msvc",
            "direct": false,
            "version": "0.52.6",
            "ecosystem": "crates"
          },
          {
            "name": "windows_i686_gnu",
            "direct": false,
            "version": "0.52.6",
            "ecosystem": "crates"
          },
          {
            "name": "windows_i686_gnullvm",
            "direct": false,
            "version": "0.52.6",
            "ecosystem": "crates"
          },
          {
            "name": "windows_i686_msvc",
            "direct": false,
            "version": "0.52.6",
            "ecosystem": "crates"
          },
          {
            "name": "windows_x86_64_gnu",
            "direct": false,
            "version": "0.52.6",
            "ecosystem": "crates"
          },
          {
            "name": "windows_x86_64_gnullvm",
            "direct": false,
            "version": "0.52.6",
            "ecosystem": "crates"
          },
          {
            "name": "windows_x86_64_msvc",
            "direct": false,
            "version": "0.52.6",
            "ecosystem": "crates"
          },
          {
            "name": "winnow",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "crates"
          },
          {
            "name": "wit-bindgen",
            "direct": false,
            "version": "0.57.1",
            "ecosystem": "crates"
          },
          {
            "name": "writeable",
            "direct": false,
            "version": "0.6.3",
            "ecosystem": "crates"
          },
          {
            "name": "x11-dl",
            "direct": false,
            "version": "2.21.0",
            "ecosystem": "crates"
          },
          {
            "name": "x11rb",
            "direct": false,
            "version": "0.13.2",
            "ecosystem": "crates"
          },
          {
            "name": "x11rb-protocol",
            "direct": false,
            "version": "0.13.2",
            "ecosystem": "crates"
          },
          {
            "name": "xcursor",
            "direct": false,
            "version": "0.3.10",
            "ecosystem": "crates"
          },
          {
            "name": "xkbcommon-dl",
            "direct": false,
            "version": "0.4.2",
            "ecosystem": "crates"
          },
          {
            "name": "xkeysym",
            "direct": false,
            "version": "0.2.1",
            "ecosystem": "crates"
          },
          {
            "name": "xml-rs",
            "direct": false,
            "version": "0.8.28",
            "ecosystem": "crates"
          },
          {
            "name": "xmlwriter",
            "direct": false,
            "version": "0.1.0",
            "ecosystem": "crates"
          },
          {
            "name": "yaml-rust",
            "direct": false,
            "version": "0.4.5",
            "ecosystem": "crates"
          },
          {
            "name": "yoke",
            "direct": false,
            "version": "0.8.3",
            "ecosystem": "crates"
          },
          {
            "name": "yoke-derive",
            "direct": false,
            "version": "0.8.2",
            "ecosystem": "crates"
          },
          {
            "name": "zbus",
            "direct": false,
            "version": "5.16.0",
            "ecosystem": "crates"
          },
          {
            "name": "zbus-lockstep",
            "direct": false,
            "version": "0.5.2",
            "ecosystem": "crates"
          },
          {
            "name": "zbus-lockstep-macros",
            "direct": false,
            "version": "0.5.2",
            "ecosystem": "crates"
          },
          {
            "name": "zbus_macros",
            "direct": false,
            "version": "5.16.0",
            "ecosystem": "crates"
          },
          {
            "name": "zbus_names",
            "direct": false,
            "version": "4.3.2",
            "ecosystem": "crates"
          },
          {
            "name": "zbus_xml",
            "direct": false,
            "version": "5.1.1",
            "ecosystem": "crates"
          },
          {
            "name": "zerocopy",
            "direct": false,
            "version": "0.8.55",
            "ecosystem": "crates"
          },
          {
            "name": "zerocopy-derive",
            "direct": false,
            "version": "0.8.55",
            "ecosystem": "crates"
          },
          {
            "name": "zerofrom",
            "direct": false,
            "version": "0.1.8",
            "ecosystem": "crates"
          },
          {
            "name": "zerofrom-derive",
            "direct": false,
            "version": "0.1.7",
            "ecosystem": "crates"
          },
          {
            "name": "zeroize",
            "direct": false,
            "version": "1.9.0",
            "ecosystem": "crates"
          },
          {
            "name": "zerotrie",
            "direct": false,
            "version": "0.2.4",
            "ecosystem": "crates"
          },
          {
            "name": "zerovec",
            "direct": false,
            "version": "0.11.6",
            "ecosystem": "crates"
          },
          {
            "name": "zerovec-derive",
            "direct": false,
            "version": "0.11.3",
            "ecosystem": "crates"
          },
          {
            "name": "zmij",
            "direct": false,
            "version": "1.0.21",
            "ecosystem": "crates"
          },
          {
            "name": "zune-core",
            "direct": false,
            "version": "0.4.12",
            "ecosystem": "crates"
          },
          {
            "name": "zune-jpeg",
            "direct": false,
            "version": "0.4.21",
            "ecosystem": "crates"
          },
          {
            "name": "zvariant",
            "direct": false,
            "version": "5.12.0",
            "ecosystem": "crates"
          },
          {
            "name": "zvariant_derive",
            "direct": false,
            "version": "5.12.0",
            "ecosystem": "crates"
          },
          {
            "name": "zvariant_utils",
            "direct": false,
            "version": "3.4.0",
            "ecosystem": "crates"
          }
        ],
        "collected": true,
        "truncated": false,
        "total_count": 561,
        "direct_count": 58,
        "indirect_count": 503
      }
    },
    "maintainership": {
      "issues": {
        "open_prs": 184,
        "merged_prs": 2355,
        "open_issues": 930,
        "closed_ratio": 0.641,
        "closed_issues": 1662,
        "closed_unmerged_prs": 538
      },
      "bus_factor": 1,
      "bot_contributors": 1,
      "top_contributors": [
        {
          "type": "User",
          "login": "emilk",
          "commits": 3016,
          "avatar_url": "https://avatars.githubusercontent.com/u/1148717?v=4"
        },
        {
          "type": "User",
          "login": "lucasmerlin",
          "commits": 187,
          "avatar_url": "https://avatars.githubusercontent.com/u/8009393?v=4"
        },
        {
          "type": "User",
          "login": "rustbasic",
          "commits": 52,
          "avatar_url": "https://avatars.githubusercontent.com/u/127506429?v=4"
        },
        {
          "type": "User",
          "login": "YgorSouza",
          "commits": 50,
          "avatar_url": "https://avatars.githubusercontent.com/u/43298013?v=4"
        },
        {
          "type": "User",
          "login": "Wumpf",
          "commits": 39,
          "avatar_url": "https://avatars.githubusercontent.com/u/1220815?v=4"
        },
        {
          "type": "User",
          "login": "abey79",
          "commits": 26,
          "avatar_url": "https://avatars.githubusercontent.com/u/49431240?v=4"
        },
        {
          "type": "User",
          "login": "bircni",
          "commits": 22,
          "avatar_url": "https://avatars.githubusercontent.com/u/75789103?v=4"
        },
        {
          "type": "User",
          "login": "valadaptive",
          "commits": 16,
          "avatar_url": "https://avatars.githubusercontent.com/u/79560998?v=4"
        },
        {
          "type": "User",
          "login": "juancampa",
          "commits": 15,
          "avatar_url": "https://avatars.githubusercontent.com/u/1410520?v=4"
        },
        {
          "type": "User",
          "login": "EmbersArc",
          "commits": 13,
          "avatar_url": "https://avatars.githubusercontent.com/u/1352472?v=4"
        }
      ],
      "contributors_sampled": 99,
      "top_contributor_share": 0.785
    },
    "quality_signals": {
      "has_ci": true,
      "has_tests": true,
      "ci_workflows": [
        "cargo_shear.yml",
        "deploy_web_demo.yml",
        "enforce_branch_name.yml",
        "labels.yml",
        "link_checker.yml",
        "png_only_on_lfs.yml",
        "preview_build.yml",
        "preview_cleanup.yml",
        "preview_comment.yml",
        "preview_deploy.yml",
        "rust.yml",
        "taplo.yml",
        "typos.yml",
        "update_kittest_snapshots.yml"
      ],
      "has_docs_dir": true,
      "linter_configs": [],
      "has_editorconfig": false,
      "has_linter_config": false,
      "has_precommit_config": false
    },
    "security_signals": {
      "lockfiles": [
        "Cargo.lock"
      ],
      "scorecard": {
        "checks": [
          {
            "name": "Binary-Artifacts",
            "score": 10,
            "reason": "no binaries found in the repo",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
          },
          {
            "name": "Branch-Protection",
            "score": 0,
            "reason": "branch protection not enabled on development/release branches",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
          },
          {
            "name": "CI-Tests",
            "score": 10,
            "reason": "30 out of 30 merged PRs checked by a CI test -- score normalized to 10",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#ci-tests"
          },
          {
            "name": "CII-Best-Practices",
            "score": 0,
            "reason": "no effort to earn an OpenSSF best practices badge detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
          },
          {
            "name": "Code-Review",
            "score": 6,
            "reason": "Found 20/30 approved changesets -- score normalized to 6",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
          },
          {
            "name": "Contributors",
            "score": 10,
            "reason": "project has 44 contributing companies or organizations",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
          },
          {
            "name": "Dangerous-Workflow",
            "score": 10,
            "reason": "no dangerous workflow patterns detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
          },
          {
            "name": "Dependency-Update-Tool",
            "score": 10,
            "reason": "update tool detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
          },
          {
            "name": "Fuzzing",
            "score": 0,
            "reason": "project is not fuzzed",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
          },
          {
            "name": "License",
            "score": 10,
            "reason": "license file detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
          },
          {
            "name": "Maintained",
            "score": 10,
            "reason": "30 commit(s) and 9 issue activity found in the last 90 days -- score normalized to 10",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
          },
          {
            "name": "Packaging",
            "score": null,
            "reason": "packaging workflow not detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
          },
          {
            "name": "Pinned-Dependencies",
            "score": 0,
            "reason": "dependency not pinned by hash detected -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
          },
          {
            "name": "SAST",
            "score": 0,
            "reason": "SAST tool is not run on all commits -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
          },
          {
            "name": "Security-Policy",
            "score": 0,
            "reason": "security policy file not detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
          },
          {
            "name": "Signed-Releases",
            "score": null,
            "reason": "no releases found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
          },
          {
            "name": "Token-Permissions",
            "score": 0,
            "reason": "detected GitHub workflow tokens with excessive permissions",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
          },
          {
            "name": "Vulnerabilities",
            "score": 3,
            "reason": "7 existing vulnerabilities detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
          }
        ],
        "commit": "2397194d5e494b55322d0153a312d1e79936c92e",
        "ran_at": "2026-08-06T05:33:06Z",
        "aggregate_score": 5.1,
        "scorecard_version": "v5.5.0"
      },
      "has_codeql_workflow": false,
      "has_security_policy": false,
      "has_dependabot_config": false
    },
    "contribution_flow": {
      "collected": true,
      "recent_prs": {
        "merged_7d": 29,
        "decided_7d": 33,
        "merged_30d": 29,
        "authors_30d": 13,
        "decided_30d": 34,
        "sample_size": 60,
        "window_days": 30,
        "sample_exhausted": false,
        "authors_probed_30d": 12,
        "newcomer_merged_30d": 4,
        "bot_prs_excluded_30d": 0,
        "newcomer_authors_30d": 5,
        "newcomer_decided_30d": 5
      },
      "ci_last_run_at": "2026-08-06T00:30:35Z",
      "oldest_open_prs": [
        {
          "number": 1263,
          "created_at": "2022-02-18T00:43:53Z",
          "last_comment_at": "2022-02-20T11:28:12Z",
          "last_comment_author": "birktj"
        },
        {
          "number": 1605,
          "created_at": "2022-05-08T23:48:05Z",
          "last_comment_at": "2023-01-20T09:25:30Z",
          "last_comment_author": "bglw"
        },
        {
          "number": 1614,
          "created_at": "2022-05-10T16:31:06Z",
          "last_comment_at": "2022-05-22T18:58:04Z",
          "last_comment_author": "enomado"
        },
        {
          "number": 1687,
          "created_at": "2022-05-27T15:36:18Z",
          "last_comment_at": "2022-06-02T17:33:26Z",
          "last_comment_author": "lj94093"
        },
        {
          "number": 1871,
          "created_at": "2022-07-30T07:57:32Z",
          "last_comment_at": "2023-04-13T07:47:35Z",
          "last_comment_author": "jackzhp"
        },
        {
          "number": 1938,
          "created_at": "2022-08-19T22:09:14Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 2302,
          "created_at": "2022-11-13T15:58:58Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 2356,
          "created_at": "2022-11-28T03:13:29Z",
          "last_comment_at": "2022-12-10T05:00:09Z",
          "last_comment_author": "lulitao1997"
        },
        {
          "number": 2490,
          "created_at": "2022-12-20T20:33:26Z",
          "last_comment_at": "2023-03-29T08:26:29Z",
          "last_comment_author": "emilk"
        },
        {
          "number": 2523,
          "created_at": "2022-12-28T18:03:59Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 2564,
          "created_at": "2023-01-09T13:10:13Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 2633,
          "created_at": "2023-01-26T13:54:11Z",
          "last_comment_at": "2025-01-22T14:14:49Z",
          "last_comment_author": "emilk"
        },
        {
          "number": 2701,
          "created_at": "2023-02-09T04:19:38Z",
          "last_comment_at": "2023-02-10T08:36:11Z",
          "last_comment_author": "KentaTheBugMaker"
        },
        {
          "number": 2775,
          "created_at": "2023-03-02T20:39:17Z",
          "last_comment_at": "2023-04-19T21:40:50Z",
          "last_comment_author": "NotAPenguin0"
        },
        {
          "number": 2791,
          "created_at": "2023-03-08T05:01:43Z",
          "last_comment_at": "2024-11-26T19:50:23Z",
          "last_comment_author": "jb55"
        },
        {
          "number": 2959,
          "created_at": "2023-04-26T10:47:14Z",
          "last_comment_at": "2023-04-26T10:48:42Z",
          "last_comment_author": "kamirr"
        },
        {
          "number": 3021,
          "created_at": "2023-05-23T10:17:22Z",
          "last_comment_at": "2023-06-03T01:27:46Z",
          "last_comment_author": "Massou31"
        },
        {
          "number": 3042,
          "created_at": "2023-06-01T13:24:54Z",
          "last_comment_at": "2024-01-07T15:26:58Z",
          "last_comment_author": "emilk"
        },
        {
          "number": 3089,
          "created_at": "2023-06-17T01:19:18Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 3105,
          "created_at": "2023-06-22T18:04:36Z",
          "last_comment_at": "2023-09-13T15:16:58Z",
          "last_comment_author": "vvv"
        }
      ],
      "last_merged_pr_at": "2026-08-05T10:55:25Z",
      "ci_last_conclusion": "SUCCESS",
      "oldest_open_issues": [
        {
          "number": 7,
          "created_at": "2020-06-27T19:41:54Z",
          "last_comment_at": "2025-01-18T04:02:01Z",
          "last_comment_author": "TheRedXD"
        },
        {
          "number": 56,
          "created_at": "2020-11-30T05:08:50Z",
          "last_comment_at": "2023-10-19T09:03:05Z",
          "last_comment_author": "woelper"
        },
        {
          "number": 62,
          "created_at": "2020-12-12T11:54:17Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 176,
          "created_at": "2021-02-12T18:49:31Z",
          "last_comment_at": "2021-09-30T17:53:18Z",
          "last_comment_author": "emilk"
        },
        {
          "number": 186,
          "created_at": "2021-02-20T11:44:03Z",
          "last_comment_at": "2024-07-23T21:06:52Z",
          "last_comment_author": "CalinZBaenen"
        },
        {
          "number": 202,
          "created_at": "2021-03-02T22:50:31Z",
          "last_comment_at": "2021-03-23T18:18:30Z",
          "last_comment_author": "emilk"
        },
        {
          "number": 319,
          "created_at": "2021-04-18T16:23:59Z",
          "last_comment_at": "2024-07-07T01:08:05Z",
          "last_comment_author": "pm100"
        },
        {
          "number": 335,
          "created_at": "2021-04-25T19:53:27Z",
          "last_comment_at": "2021-10-01T02:58:49Z",
          "last_comment_author": "mankinskin"
        },
        {
          "number": 358,
          "created_at": "2021-05-08T07:20:27Z",
          "last_comment_at": "2025-01-31T13:31:52Z",
          "last_comment_author": "EriKWDev"
        },
        {
          "number": 403,
          "created_at": "2021-05-16T16:28:07Z",
          "last_comment_at": "2021-05-17T15:19:19Z",
          "last_comment_author": "follower"
        },
        {
          "number": 429,
          "created_at": "2021-05-22T19:41:49Z",
          "last_comment_at": "2022-01-25T20:45:47Z",
          "last_comment_author": "emilk"
        },
        {
          "number": 462,
          "created_at": "2021-06-04T08:36:55Z",
          "last_comment_at": "2021-12-28T16:02:03Z",
          "last_comment_author": "emilk"
        },
        {
          "number": 478,
          "created_at": "2021-06-11T04:50:21Z",
          "last_comment_at": "2022-04-16T08:29:49Z",
          "last_comment_author": "emilk"
        },
        {
          "number": 493,
          "created_at": "2021-06-17T05:58:02Z",
          "last_comment_at": "2023-12-17T23:47:55Z",
          "last_comment_author": "AadamZ5"
        },
        {
          "number": 498,
          "created_at": "2021-06-19T01:52:54Z",
          "last_comment_at": "2025-01-30T23:25:03Z",
          "last_comment_author": "White-Rabbit-Scientific"
        },
        {
          "number": 501,
          "created_at": "2021-06-21T17:35:13Z",
          "last_comment_at": "2021-06-23T04:22:17Z",
          "last_comment_author": "parasyte"
        },
        {
          "number": 502,
          "created_at": "2021-06-22T14:21:56Z",
          "last_comment_at": "2022-08-28T11:38:44Z",
          "last_comment_author": "rquinn2"
        },
        {
          "number": 511,
          "created_at": "2021-06-24T22:11:48Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 513,
          "created_at": "2021-06-25T06:44:27Z",
          "last_comment_at": "2025-07-07T20:52:12Z",
          "last_comment_author": "jbuckmccready"
        },
        {
          "number": 535,
          "created_at": "2021-07-01T14:08:33Z",
          "last_comment_at": "2021-07-05T12:52:07Z",
          "last_comment_author": "mankinskin"
        }
      ]
    }
  },
  "config": {
    "disabled_metrics": [],
    "disabled_categories": [],
    "disabled_components": {}
  },
  "source": {
    "url": "https://github.com/emilk/egui",
    "host": "github.com",
    "name": "egui",
    "owner": "emilk"
  },
  "metrics": {
    "overall": {
      "key": "overall",
      "band": "exceptional",
      "name": "Overall health",
      "note": "The weighted overall 80 is calibrated to 94 on the published index scale (record calibration 2026-08-02).",
      "notes": [
        {
          "code": "overall_calibration",
          "params": {
            "raw": 80,
            "calibrated": 94,
            "calibration": "2026-08-02"
          }
        }
      ],
      "value": 94,
      "inputs": {
        "security": 60,
        "vitality": 98,
        "community": 96,
        "governance": 68,
        "calibration": "2026-08-02",
        "engineering": 81,
        "ai_readiness": 59,
        "weighted_overall_raw": 80
      },
      "components": []
    },
    "categories": [
      {
        "key": "vitality",
        "band": "exceptional",
        "name": "Vitality",
        "value": 98,
        "weight": 0.21,
        "metrics": [
          {
            "key": "development_activity",
            "band": "exceptional",
            "name": "Development activity",
            "note": null,
            "notes": [],
            "value": 96,
            "inputs": {
              "commits_last_year": 471,
              "human_commit_share": 1,
              "days_since_last_push": 0,
              "active_weeks_last_year": 47
            },
            "components": [
              {
                "key": "push_recency",
                "name": "Push recency",
                "detail": "last push 0 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "push_recency",
                    "params": {
                      "days": 0
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_cadence",
                "name": "Commit cadence",
                "detail": "47/52 weeks with commits",
                "points": 32.5,
                "status": "partial",
                "details": [
                  {
                    "code": "commit_cadence_weeks",
                    "params": {
                      "weeks": 47
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_volume",
                "name": "Commit volume",
                "detail": "471 commits in the last year",
                "points": 18,
                "status": "met",
                "details": [
                  {
                    "code": "commits_last_year",
                    "params": {
                      "count": 471
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "openssf_scorecard_maintained",
                "name": "OpenSSF Scorecard: Maintained",
                "detail": "30 commit(s) and 9 issue activity found in the last 90 days -- score normalized to 10",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "release_discipline",
            "band": "exceptional",
            "name": "Release discipline",
            "note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Signed-Releases. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "openssf_scorecard_signed_releases"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "releases_count": 43,
              "latest_release_tag": "0.36.0",
              "releases_from_tags": false,
              "days_since_latest_release": 0,
              "mean_days_between_releases": 36.4
            },
            "components": [
              {
                "key": "ships_releases",
                "name": "Ships releases",
                "detail": "43 releases published",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "releases_published",
                    "params": {
                      "count": 43
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "release_recency",
                "name": "Release recency",
                "detail": "latest release 0 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "release_recency",
                    "params": {
                      "days": 0
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "release_cadence",
                "name": "Release cadence",
                "detail": "a release every ~36.4 days",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "release_cadence",
                    "params": {
                      "gap": 36.4
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "openssf_scorecard_signed_releases",
                "name": "OpenSSF Scorecard: Signed-Releases",
                "detail": "no releases found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 10
              }
            ]
          },
          {
            "key": "abandonment",
            "band": "exceptional",
            "name": "Abandonment",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "cap": null,
              "state": "maintained",
              "guards": [],
              "signals": [],
              "red_flag": false,
              "multiplier_pct": 100,
              "declared_reason": null,
              "unverified_reason": null,
              "unanswered_open_prs": null,
              "unanswered_open_issues": null,
              "days_since_last_merged_pr": null,
              "days_since_last_human_commit": 0,
              "days_since_last_human_commit_is_floor": false
            },
            "components": [
              {
                "key": "project_is_still_maintained",
                "name": "Project is still maintained",
                "detail": "last human commit 0 days ago",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "abandonment_maintained",
                    "params": {
                      "days": 0
                    }
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Is the project alive — is code being written and are releases shipping?"
      },
      {
        "key": "community",
        "band": "exceptional",
        "name": "Community & Adoption",
        "value": 96,
        "weight": 0.17,
        "metrics": [
          {
            "key": "popularity",
            "band": "exceptional",
            "name": "Popularity & adoption",
            "note": null,
            "notes": [],
            "value": 97,
            "inputs": {
              "forks": 2097,
              "stars": 29979,
              "watchers": 144,
              "growth_state": "unverified",
              "growth_factor_pct": 100,
              "growth_unverified_reason": "no_history"
            },
            "components": [
              {
                "key": "stars",
                "name": "Stars",
                "detail": "29,979 stars",
                "points": 60,
                "status": "met",
                "details": [
                  {
                    "code": "stars",
                    "params": {
                      "count": 29979
                    }
                  }
                ],
                "max_points": 60
              },
              {
                "key": "forks",
                "name": "Forks",
                "detail": "2,097 forks",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "forks",
                    "params": {
                      "count": 2097
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "watchers",
                "name": "Watchers",
                "detail": "144 watchers",
                "points": 12,
                "status": "partial",
                "details": [
                  {
                    "code": "watchers",
                    "params": {
                      "count": 144
                    }
                  }
                ],
                "max_points": 15
              }
            ]
          },
          {
            "key": "community_health",
            "band": "excellent",
            "name": "Community health",
            "note": null,
            "notes": [],
            "value": 92,
            "inputs": {
              "has_readme": true,
              "has_license": true,
              "readme_badges": 7,
              "has_contributing": true,
              "has_issue_template": false,
              "has_code_of_conduct": true,
              "readme_badge_services": [
                "github.com",
                "shields.io"
              ],
              "has_pull_request_template": true
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 22.5,
                "status": "met",
                "details": [],
                "max_points": 22.5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "recognized license (Apache-2.0)",
                "points": 22.5,
                "status": "met",
                "details": [
                  {
                    "code": "license_standard",
                    "params": {}
                  },
                  {
                    "code": "license_spdx",
                    "params": {
                      "spdx": "Apache-2.0"
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributing_guide",
                "name": "CONTRIBUTING guide",
                "detail": null,
                "points": 18,
                "status": "met",
                "details": [],
                "max_points": 18
              },
              {
                "key": "code_of_conduct",
                "name": "Code of conduct",
                "detail": null,
                "points": 13.5,
                "status": "met",
                "details": [],
                "max_points": 13.5
              },
              {
                "key": "issue_template",
                "name": "Issue template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.2
              },
              {
                "key": "pr_template",
                "name": "PR template",
                "detail": null,
                "points": 6.3,
                "status": "met",
                "details": [],
                "max_points": 6.3
              }
            ]
          },
          {
            "key": "ecosystem_adoption",
            "band": "exceptional",
            "name": "Ecosystem adoption (downloads)",
            "note": "Excluded from scoring (no data or not applicable): Registry dependents. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "registry_dependents"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "packages": [
                "egui",
                "emath",
                "ecolor",
                "eframe",
                "epaint",
                "egui-wgpu",
                "egui_glow",
                "egui-winit"
              ],
              "dependents": null,
              "ecosystems": "crates",
              "total_downloads": 143530676,
              "monthly_downloads": 11211403
            },
            "components": [
              {
                "key": "monthly_downloads",
                "name": "Monthly downloads",
                "detail": "11,211,403 downloads/month across crates",
                "points": 80,
                "status": "met",
                "details": [
                  {
                    "code": "downloads_monthly",
                    "params": {
                      "count": 11211403,
                      "ecosystems": "crates"
                    }
                  }
                ],
                "max_points": 80
              },
              {
                "key": "registry_dependents",
                "name": "Registry dependents",
                "detail": "not reported by this ecosystem",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "not_reported_by_this_ecosystem",
                    "params": {}
                  }
                ],
                "max_points": 20
              }
            ]
          }
        ],
        "description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
      },
      {
        "key": "governance",
        "band": "good",
        "name": "Sustainability & Governance",
        "value": 68,
        "weight": 0.23,
        "metrics": [
          {
            "key": "maintainer_resilience",
            "band": "weak",
            "name": "Maintainer resilience (bus factor)",
            "note": null,
            "notes": [],
            "value": 37,
            "inputs": {
              "bus_factor": 1,
              "contributors_sampled": 99,
              "top_contributor_share": 0.785
            },
            "components": [
              {
                "key": "bus_factor",
                "name": "Bus factor",
                "detail": "1 contributor(s) cover half of all commits",
                "points": 9,
                "status": "partial",
                "details": [
                  {
                    "code": "bus_factor",
                    "params": {
                      "count": 1
                    }
                  }
                ],
                "max_points": 54
              },
              {
                "key": "commit_distribution",
                "name": "Commit distribution",
                "detail": "top contributor authored 78% of commits",
                "points": 4.8,
                "status": "partial",
                "details": [
                  {
                    "code": "top_contributor_share",
                    "params": {
                      "share": 78
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributor_breadth",
                "name": "Contributor breadth",
                "detail": "99 contributors",
                "points": 13.5,
                "status": "met",
                "details": [
                  {
                    "code": "contributors_sampled",
                    "params": {
                      "count": 99
                    }
                  }
                ],
                "max_points": 13.5
              },
              {
                "key": "openssf_scorecard_contributors",
                "name": "OpenSSF Scorecard: Contributors",
                "detail": "project has 44 contributing companies or organizations",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "responsiveness",
            "band": "good",
            "name": "Issue & PR responsiveness",
            "note": null,
            "notes": [],
            "value": 71,
            "inputs": {
              "merged_prs": 2355,
              "open_issues": 930,
              "closed_issues": 1662,
              "prs_merged_7d": 29,
              "prs_decided_7d": 33,
              "prs_merged_30d": 29,
              "prs_decided_30d": 34,
              "issue_closed_ratio": 0.641,
              "closed_unmerged_prs": 538,
              "first_time_authors_30d": 5,
              "first_time_prs_merged_30d": 4,
              "first_time_prs_decided_30d": 5
            },
            "components": [
              {
                "key": "issue_resolution",
                "name": "Issue resolution",
                "detail": "64% of issues closed",
                "points": 26.9,
                "status": "partial",
                "details": [
                  {
                    "code": "issues_closed_share",
                    "params": {
                      "share": 64
                    }
                  }
                ],
                "max_points": 42
              },
              {
                "key": "pr_acceptance",
                "name": "PR acceptance",
                "detail": "2355/2893 decided PRs merged",
                "points": 24.4,
                "status": "partial",
                "details": [
                  {
                    "code": "decided_prs_merged",
                    "params": {
                      "merged": 2355,
                      "decided": 2893
                    }
                  }
                ],
                "max_points": 30
              },
              {
                "key": "newcomer_pr_acceptance",
                "name": "Newcomer PR acceptance",
                "detail": "4/5 first-time contributors' PRs merged in 30d",
                "points": 10.4,
                "status": "partial",
                "details": [
                  {
                    "code": "newcomer_prs_merged",
                    "params": {
                      "days": 30,
                      "merged": 4,
                      "decided": 5
                    }
                  }
                ],
                "max_points": 13
              },
              {
                "key": "openssf_scorecard_code_review",
                "name": "OpenSSF Scorecard: Code-Review",
                "detail": "Found 20/30 approved changesets -- score normalized to 6",
                "points": 9,
                "status": "partial",
                "details": [],
                "max_points": 15
              }
            ]
          },
          {
            "key": "stewardship",
            "band": "good",
            "name": "Ownership & stewardship",
            "note": "Excluded from scoring (no data or not applicable): Verified domain. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "verified_domain"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 75,
            "inputs": {
              "followers": 7863,
              "owner_type": "User",
              "is_verified": null,
              "owner_login": "emilk",
              "public_repos": 84,
              "account_age_days": 5399
            },
            "components": [
              {
                "key": "ownership_backing",
                "name": "Ownership backing",
                "detail": "personal (user) account",
                "points": 10,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_personal",
                    "params": {}
                  }
                ],
                "max_points": 30
              },
              {
                "key": "verified_domain",
                "name": "Verified domain",
                "detail": "not applicable to user accounts",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "not_applicable_to_user_accounts",
                    "params": {}
                  }
                ],
                "max_points": 20
              },
              {
                "key": "owner_reach",
                "name": "Owner reach",
                "detail": "7,863 followers of emilk",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "owner_followers",
                    "params": {
                      "count": 7863,
                      "login": "emilk"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "track_record",
                "name": "Track record",
                "detail": "84 public repos, account ~14 yr old",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "public_repos",
                    "params": {
                      "count": 84
                    }
                  },
                  {
                    "code": "account_age_years",
                    "params": {
                      "years": 14
                    }
                  }
                ],
                "max_points": 25
              }
            ]
          },
          {
            "key": "package_maintenance",
            "band": "exceptional",
            "name": "Package maintenance",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "packages": [
                "egui",
                "emath",
                "ecolor",
                "eframe",
                "epaint",
                "egui-wgpu",
                "egui_glow",
                "egui-winit"
              ],
              "ecosystems": "crates",
              "any_deprecated": false,
              "min_days_since_publish": 0
            },
            "components": [
              {
                "key": "published_resolvable",
                "name": "Published & resolvable",
                "detail": "8 package(s) on crates",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "packages_published",
                    "params": {
                      "count": 8,
                      "ecosystems": "crates"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "publish_recency",
                "name": "Publish recency",
                "detail": "latest publish 0 days ago",
                "points": 35,
                "status": "met",
                "details": [
                  {
                    "code": "publish_recency",
                    "params": {
                      "days": 0
                    }
                  }
                ],
                "max_points": 35
              },
              {
                "key": "version_history",
                "name": "Version history",
                "detail": "64 published versions",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "published_versions",
                    "params": {
                      "count": 64
                    }
                  }
                ],
                "max_points": 20
              },
              {
                "key": "not_deprecated",
                "name": "Not deprecated",
                "detail": "active, not deprecated or yanked",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "package_not_deprecated",
                    "params": {}
                  }
                ],
                "max_points": 20
              }
            ]
          }
        ],
        "description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
      },
      {
        "key": "engineering",
        "band": "excellent",
        "name": "Engineering Quality",
        "value": 81,
        "weight": 0.19,
        "metrics": [
          {
            "key": "engineering_practices",
            "band": "good",
            "name": "Engineering practices",
            "note": null,
            "notes": [],
            "value": 68,
            "inputs": {
              "has_ci": true,
              "has_tests": true,
              "has_editorconfig": false,
              "has_linter_config": false,
              "has_precommit_config": false
            },
            "components": [
              {
                "key": "ci_workflows",
                "name": "CI workflows",
                "detail": "14 workflow(s)",
                "points": 24,
                "status": "met",
                "details": [
                  {
                    "code": "ci_workflows",
                    "params": {
                      "count": 14
                    }
                  }
                ],
                "max_points": 24
              },
              {
                "key": "tests_present",
                "name": "Tests present",
                "detail": null,
                "points": 24,
                "status": "met",
                "details": [],
                "max_points": 24
              },
              {
                "key": "linter_config",
                "name": "Linter config",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 16
              },
              {
                "key": "pre_commit_hooks",
                "name": "Pre-commit hooks",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 9.6
              },
              {
                "key": "editorconfig",
                "name": ".editorconfig",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 6.4
              },
              {
                "key": "openssf_scorecard_ci_tests",
                "name": "OpenSSF Scorecard: CI-Tests",
                "detail": "30 out of 30 merged PRs checked by a CI test -- score normalized to 10",
                "points": 20,
                "status": "met",
                "details": [],
                "max_points": 20
              }
            ]
          },
          {
            "key": "documentation",
            "band": "exceptional",
            "name": "Documentation",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "topics": [
                "gui",
                "rust",
                "game-development",
                "wasm",
                "imgui",
                "gamedev",
                "egui"
              ],
              "has_wiki": true,
              "homepage": "https://www.egui.rs/",
              "has_readme": true,
              "has_docs_dir": true,
              "has_description": true
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 30,
                "status": "met",
                "details": [],
                "max_points": 30
              },
              {
                "key": "documentation_directory",
                "name": "Documentation directory",
                "detail": null,
                "points": 25,
                "status": "met",
                "details": [],
                "max_points": 25
              },
              {
                "key": "documentation_homepage_site",
                "name": "Documentation / homepage site",
                "detail": "https://www.egui.rs/",
                "points": 15,
                "status": "met",
                "details": [],
                "max_points": 15
              },
              {
                "key": "repository_description",
                "name": "Repository description",
                "detail": null,
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "topics",
                "name": "Topics",
                "detail": "7 topics",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "topics_count",
                    "params": {
                      "count": 7
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "wiki",
                "name": "Wiki",
                "detail": null,
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          }
        ],
        "description": "Are baseline engineering and documentation practices in place?"
      },
      {
        "key": "security",
        "band": "moderate",
        "name": "Security",
        "value": 60,
        "weight": 0.16,
        "metrics": [
          {
            "key": "security_posture",
            "band": "moderate",
            "name": "Security posture",
            "note": "Excluded from scoring (no data or not applicable): Packaging, Signed-Releases. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "packaging",
                    "signed_releases"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 50,
            "inputs": {
              "source": "openssf_scorecard",
              "checks_evaluated": 16,
              "scorecard_version": "v5.5.0",
              "checks_inconclusive": 2,
              "scorecard_aggregate": 5.1
            },
            "components": [
              {
                "key": "binary_artifacts",
                "name": "Binary-Artifacts",
                "detail": "no binaries found in the repo",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "branch_protection",
                "name": "Branch-Protection",
                "detail": "branch protection not enabled on development/release branches",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "ci_tests",
                "name": "CI-Tests",
                "detail": "30 out of 30 merged PRs checked by a CI test -- score normalized to 10",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "cii_best_practices",
                "name": "CII-Best-Practices",
                "detail": "no effort to earn an OpenSSF best practices badge detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "code_review",
                "name": "Code-Review",
                "detail": "Found 20/30 approved changesets -- score normalized to 6",
                "points": 4.5,
                "status": "partial",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "contributors",
                "name": "Contributors",
                "detail": "project has 44 contributing companies or organizations",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "dangerous_workflow",
                "name": "Dangerous-Workflow",
                "detail": "no dangerous workflow patterns detected",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "dependency_update_tool",
                "name": "Dependency-Update-Tool",
                "detail": "update tool detected",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "fuzzing",
                "name": "Fuzzing",
                "detail": "project is not fuzzed",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "license file detected",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "maintained",
                "name": "Maintained",
                "detail": "30 commit(s) and 9 issue activity found in the last 90 days -- score normalized to 10",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "packaging",
                "name": "Packaging",
                "detail": "packaging workflow not detected",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 5
              },
              {
                "key": "pinned_dependencies",
                "name": "Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "sast",
                "name": "SAST",
                "detail": "SAST tool is not run on all commits -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "security_policy",
                "name": "Security-Policy",
                "detail": "security policy file not detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "signed_releases",
                "name": "Signed-Releases",
                "detail": "no releases found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 7.5
              },
              {
                "key": "token_permissions",
                "name": "Token-Permissions",
                "detail": "detected GitHub workflow tokens with excessive permissions",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "vulnerabilities",
                "name": "Vulnerabilities",
                "detail": "7 existing vulnerabilities detected",
                "points": 2.2,
                "status": "partial",
                "details": [],
                "max_points": 7.5
              }
            ]
          },
          {
            "key": "dependency_advisories",
            "band": "exceptional",
            "name": "Dependency advisories",
            "note": "Excluded from scoring (no data or not applicable): Indirect dependencies free of known advisories, No advisories left outstanding. Remaining weights renormalized. Matched 561 resolved dependencies against OSV. This repository publishes no package the index resolves, so the repository dependency graph was assessed instead. That graph mixes development and test pins with shipped dependencies, so only the declared runtime dependencies are scored; transitive findings are reported as context and excluded from the score. Reachability is not analyzed.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "indirect_dependencies_free_of_known_advisories",
                    "no_advisories_left_outstanding"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              },
              {
                "code": "advisories_scope_repository",
                "params": {
                  "assessed": 561
                }
              },
              {
                "code": "advisories_repo_graph_caveat",
                "params": {}
              },
              {
                "code": "advisories_reachability",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "source": "osv",
              "advisories": 7,
              "affected_packages": 6,
              "assessed_packages": 561,
              "unassessed_packages": 0,
              "affected_by_severity": "high 1, unknown 5",
              "direct_affected_packages": 0
            },
            "components": [
              {
                "key": "direct_dependencies_free_of_known_advisories",
                "name": "Direct dependencies free of known advisories",
                "detail": "no direct dependency carries a known advisory",
                "points": 35,
                "status": "met",
                "details": [
                  {
                    "code": "no_direct_advisories",
                    "params": {}
                  }
                ],
                "max_points": 35
              },
              {
                "key": "indirect_dependencies_free_of_known_advisories",
                "name": "Indirect dependencies free of known advisories",
                "detail": "transitive set not separable from development and test dependencies in this scope",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "advisories_scope_not_separable",
                    "params": {}
                  }
                ],
                "max_points": 25
              },
              {
                "key": "no_advisories_left_outstanding",
                "name": "No advisories left outstanding",
                "detail": "no advisory carries a publication date",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "advisories_no_publication_date",
                    "params": {}
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "malicious_dependencies",
            "band": "exceptional",
            "name": "Malicious dependencies",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "source": "osv",
              "meaning": "reported as a malicious package by the OpenSSF corpus; the remedy is removal or moving off the compromised name, never an upgrade of the same artifact. Versions the registry has since pulled are listed but not scored",
              "packages": [],
              "red_flag": false,
              "assessed_packages": 561,
              "malicious_packages": 0,
              "direct_malicious_packages": 0,
              "withdrawn_malicious_packages": 0,
              "installable_malicious_packages": 0
            },
            "components": [
              {
                "key": "no_dependency_reported_as_a_malicious_package",
                "name": "No dependency reported as a malicious package",
                "detail": "no dependency is reported as a malicious package",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "no_malicious_dependencies",
                    "params": {}
                  }
                ],
                "max_points": 100
              }
            ]
          },
          {
            "key": "high_risk_jurisdiction_exposure",
            "band": "exceptional",
            "name": "High-Risk Jurisdiction Exposure",
            "note": "Only high-confidence self-published location evidence affects this multiplier. Ambiguous matches are review-only; country evidence is not proof of nationality, citizenship, legal registration, malicious intent, or sanctions status.",
            "notes": [
              {
                "code": "jurisdiction_evidence_limits",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "meaning": "self-published location evidence; not nationality or citizenship",
              "red_flag": false,
              "exposures": [],
              "policy_countries": [
                "Russia",
                "Iran",
                "North Korea"
              ],
              "commit_weight_rule": {
                "min_commits": 50,
                "min_commit_share": 0.1
              },
              "review_only_matches": 0,
              "below_threshold_exposures": [],
              "assessed_self_published_locations": 12
            },
            "components": [
              {
                "key": "policy_exposure_multiplier",
                "name": "Policy exposure multiplier",
                "detail": "no confirmed policy-scope location match",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "jurisdiction_no_match",
                    "params": {}
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure?"
      },
      {
        "key": "ai_readiness",
        "band": "moderate",
        "name": "AI Readiness",
        "value": 59,
        "weight": 0.04,
        "metrics": [
          {
            "key": "ai_agent_context",
            "band": "weak",
            "name": "Agent context & guidance",
            "note": null,
            "notes": [],
            "value": 40,
            "inputs": {
              "has_llms_txt": false,
              "legible_history_share": 1,
              "agent_instruction_files": [],
              "agent_instruction_max_bytes": null
            },
            "components": [
              {
                "key": "agent_instructions",
                "name": "Agent instructions",
                "detail": "no CLAUDE.md / AGENTS.md / editor rules",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_agent_instructions",
                    "params": {}
                  }
                ],
                "max_points": 45
              },
              {
                "key": "machine_readable_docs_llms_txt",
                "name": "Machine-readable docs (llms.txt)",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              },
              {
                "key": "legible_commit_history",
                "name": "Legible commit history",
                "detail": "100 of 100 human commits state their intent (structured subject or explanatory body)",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "legible_history",
                    "params": {
                      "legible": 100,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "ai_verify_loop",
            "band": "good",
            "name": "Verify loop (build / test / typecheck)",
            "note": null,
            "notes": [],
            "value": 66,
            "inputs": {
              "has_nix": false,
              "has_tests": true,
              "lockfiles": [
                "Cargo.lock"
              ],
              "has_dockerfile": false,
              "typed_language": true,
              "bootstrap_files": [],
              "has_devcontainer": false,
              "has_linter_config": false,
              "typecheck_configs": [],
              "agent_commit_share": 0.28,
              "toolchain_manifests": [
                "Cargo.toml",
                "crates/ecolor/Cargo.toml",
                "crates/eframe/Cargo.toml",
                "crates/egui-wgpu/Cargo.toml",
                "crates/egui-winit/Cargo.toml",
                "crates/egui/Cargo.toml",
                "crates/egui_demo_app/Cargo.toml",
                "crates/egui_demo_lib/Cargo.toml",
                "crates/egui_extras/Cargo.toml",
                "crates/egui_glow/Cargo.toml",
                "crates/egui_inspection/Cargo.toml",
                "crates/egui_kittest/Cargo.toml",
                "crates/emath/Cargo.toml",
                "crates/epaint/Cargo.toml",
                "crates/epaint_default_fonts/Cargo.toml",
                "examples/confirm_exit/Cargo.toml",
                "examples/custom_3d_glow/Cargo.toml",
                "examples/custom_font/Cargo.toml",
                "examples/custom_font_style/Cargo.toml",
                "examples/custom_keypad/Cargo.toml",
                "examples/custom_style/Cargo.toml",
                "examples/custom_window_frame/Cargo.toml",
                "examples/external_eventloop/Cargo.toml",
                "examples/external_eventloop_async/Cargo.toml",
                "examples/file_dialog/Cargo.toml",
                "examples/font_variations/Cargo.toml",
                "examples/hello_android/Cargo.toml",
                "examples/hello_world/Cargo.toml",
                "examples/hello_world_par/Cargo.toml",
                "examples/hello_world_simple/Cargo.toml",
                "examples/images/Cargo.toml",
                "examples/keyboard_events/Cargo.toml",
                "examples/multiple_viewports/Cargo.toml",
                "examples/popups/Cargo.toml",
                "examples/puffin_profiler/Cargo.toml",
                "examples/screenshot/Cargo.toml",
                "examples/serial_windows/Cargo.toml",
                "examples/user_attention/Cargo.toml",
                "tests/egui_tests/Cargo.toml",
                "tests/test_background_logic/Cargo.toml",
                "tests/test_egui_extras_compilation/Cargo.toml",
                "tests/test_inline_glow_paint/Cargo.toml",
                "tests/test_size_pass/Cargo.toml",
                "tests/test_ui_stack/Cargo.toml",
                "tests/test_viewports/Cargo.toml",
                "xtask/Cargo.toml"
              ],
              "dependency_bot_commit_share": 0
            },
            "components": [
              {
                "key": "one_command_bootstrap",
                "name": "One-command bootstrap",
                "detail": "Cargo.toml, crates/ecolor/Cargo.toml, crates/eframe/Cargo.toml (toolchain convention, no task runner)",
                "points": 12.6,
                "status": "partial",
                "details": [
                  {
                    "code": "toolchain_convention",
                    "params": {
                      "files": "Cargo.toml, crates/ecolor/Cargo.toml, crates/eframe/Cargo.toml"
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "automated_tests",
                "name": "Automated tests",
                "detail": null,
                "points": 22,
                "status": "met",
                "details": [],
                "max_points": 22
              },
              {
                "key": "lint_format_config",
                "name": "Lint / format config",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 11
              },
              {
                "key": "static_type_checking",
                "name": "Static type checking",
                "detail": "Rust (statically typed)",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "statically_typed_language",
                    "params": {
                      "language": "Rust"
                    }
                  }
                ],
                "max_points": 11
              },
              {
                "key": "reproducible_environment",
                "name": "Reproducible environment",
                "detail": "lockfile",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "lockfile"
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "demonstrated_agent_practice",
                "name": "Demonstrated agent practice",
                "detail": "28 of the last 100 commits agent-authored or agent-credited",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "agent_authored_commits",
                    "params": {
                      "count": 28,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "automated_maintenance",
                "name": "Automated maintenance",
                "detail": "no automated dependency updates observed",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_dependency_automation",
                    "params": {}
                  }
                ],
                "max_points": 8
              },
              {
                "key": "openssf_scorecard_pinned_dependencies",
                "name": "OpenSSF Scorecard: Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "ai_code_legibility",
            "band": "exceptional",
            "name": "Code legibility for models",
            "note": null,
            "notes": [],
            "value": 99,
            "inputs": {
              "primary_language": "Rust",
              "largest_source_bytes": 172007,
              "source_files_sampled": 376,
              "oversized_source_files": 9
            },
            "components": [
              {
                "key": "type_checkable_code",
                "name": "Type-checkable code",
                "detail": "Rust (statically typed)",
                "points": 45,
                "status": "met",
                "details": [
                  {
                    "code": "statically_typed_language",
                    "params": {
                      "language": "Rust"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "manageable_file_sizes",
                "name": "Manageable file sizes",
                "detail": "9/376 source files over 60KB",
                "points": 53.7,
                "status": "partial",
                "details": [
                  {
                    "code": "oversized_source_files",
                    "params": {
                      "kb": 60,
                      "sampled": 376,
                      "oversized": 9
                    }
                  }
                ],
                "max_points": 55
              }
            ]
          },
          {
            "key": "ai_interfaces",
            "band": "weak",
            "name": "Machine-readable interfaces",
            "note": null,
            "notes": [],
            "value": 40,
            "inputs": {
              "example_dirs": [
                "demos",
                "examples"
              ],
              "has_mcp_signal": false,
              "api_schema_files": []
            },
            "components": [
              {
                "key": "api_schema_openapi_graphql_proto",
                "name": "API schema (OpenAPI/GraphQL/proto)",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 40
              },
              {
                "key": "mcp_server",
                "name": "MCP server",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 20
              },
              {
                "key": "runnable_examples",
                "name": "Runnable examples",
                "detail": "demos, examples",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "demos, examples"
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          }
        ],
        "description": "How well is the repo equipped to be developed and maintained with AI coding agents? Carries a deliberately small weight: agent tooling is a real maintenance signal, but its absence must never gate the top of the scale (calibration saturates at raw 91, so 100/100 remains reachable with AI Readiness at zero)."
      }
    ],
    "classification": {
      "top": [
        "library",
        "application"
      ],
      "labels": [
        "library",
        "desktop"
      ],
      "scores": {
        "desktop": 9.6,
        "library": 15,
        "application": 3
      },
      "primary": "library",
      "evidence": [
        {
          "tier": "distribution",
          "label": "desktop",
          "source": "registry_category:gui",
          "weight": 6
        },
        {
          "tier": "declared",
          "label": "library",
          "source": "cargo.lib",
          "weight": 6
        },
        {
          "tier": "distribution",
          "label": "library",
          "source": "registry:crates",
          "weight": 6
        },
        {
          "tier": "declared",
          "label": "desktop",
          "source": "cargo.category:gui",
          "weight": 3.6
        },
        {
          "tier": "declared",
          "label": "library",
          "source": "cargo.cdylib",
          "weight": 3.6
        },
        {
          "tier": "declared",
          "label": "library",
          "source": "cargo.publish_false",
          "weight": -3.6
        },
        {
          "tier": "structure",
          "label": "application",
          "source": "tree.cargo_main",
          "weight": 3
        },
        {
          "tier": "structure",
          "label": "library",
          "source": "tree.cargo_lib",
          "weight": 3
        }
      ],
      "artifacts": [
        {
          "path": "Cargo.toml",
          "labels": [],
          "ecosystem": "crates"
        },
        {
          "path": "crates/ecolor/Cargo.toml",
          "labels": [],
          "ecosystem": "crates"
        },
        {
          "path": "crates/eframe/Cargo.toml",
          "labels": [
            "desktop"
          ],
          "ecosystem": "crates"
        },
        {
          "path": "crates/egui-wgpu/Cargo.toml",
          "labels": [
            "desktop"
          ],
          "ecosystem": "crates"
        },
        {
          "path": "crates/egui-winit/Cargo.toml",
          "labels": [
            "desktop"
          ],
          "ecosystem": "crates"
        },
        {
          "path": "crates/egui/Cargo.toml",
          "labels": [
            "desktop"
          ],
          "ecosystem": "crates"
        },
        {
          "path": "crates/egui_demo_app/Cargo.toml",
          "labels": [
            "library"
          ],
          "ecosystem": "crates"
        },
        {
          "path": "crates/egui_demo_lib/Cargo.toml",
          "labels": [
            "desktop"
          ],
          "ecosystem": "crates"
        },
        {
          "path": "crates/egui_extras/Cargo.toml",
          "labels": [
            "desktop"
          ],
          "ecosystem": "crates"
        },
        {
          "path": "crates/egui_glow/Cargo.toml",
          "labels": [
            "desktop"
          ],
          "ecosystem": "crates"
        },
        {
          "path": "crates/egui_inspection/Cargo.toml",
          "labels": [
            "desktop"
          ],
          "ecosystem": "crates"
        },
        {
          "path": "crates/egui_kittest/Cargo.toml",
          "labels": [
            "desktop"
          ],
          "ecosystem": "crates"
        },
        {
          "path": "crates/emath/Cargo.toml",
          "labels": [
            "desktop"
          ],
          "ecosystem": "crates"
        },
        {
          "path": "crates/epaint/Cargo.toml",
          "labels": [
            "desktop"
          ],
          "ecosystem": "crates"
        },
        {
          "path": "crates/epaint_default_fonts/Cargo.toml",
          "labels": [
            "desktop"
          ],
          "ecosystem": "crates"
        },
        {
          "path": "xtask/Cargo.toml",
          "labels": [],
          "ecosystem": "crates"
        }
      ],
      "confidence": "high",
      "host_extension": false,
      "runs_as_process": true,
      "consumed_by_code": true
    },
    "metrics_version": "2.5.0"
  },
  "warnings": [
    "Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token",
    "First-time contributor figures cover 12 of 13 authors (cap 12)",
    "crates package 'xtask' points at a different repository (https://github.com/arcboxlabs/xtask); excluded from ecosystem scoring",
    "deps.dev does not index crates:egui@0.36.0; advisories assessed against the repository dependency graph instead"
  ],
  "report_type": "repository",
  "generated_at": "2026-08-06T05:33:36.242484Z",
  "schema_version": "0.31.0",
  "badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/e/emilk/egui.svg",
  "full_name": "emilk/egui",
  "license_state": "standard",
  "license_spdx": "Apache-2.0"
}

Scores are signals, not warranties. They reflect publicly visible practices on GitHub — not a code audit, and not a security guarantee.

Missing data is excluded and weights renormalized, never scored as zero. Methodology is versioned and open: metrics v2.5.0, schema v0.31.0 — full methodology · metrics wiki.

How one result sits in the wider record: aggregate statisticscrates.io.