Публічний реєстр
Звіт про здоров'я програмного забезпеченнясхема 0.31.0 · метрики 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 зірок⑂ 2 097 форківз січ. 2019 р.Переглянути на GitHub ↗
ТипБібліотекаДесктопний застосунокяк це визначено

emilk/egui має індекс здоров’я 94 зі 100, що відповідає смузі «Винятковий». Найвищий показник — Vitality (98/100), найнижчий — AI Readiness (59/100). Останнє оновлення — сьогодні. Більшість нещодавньої роботи виконує один учасник.

94
загалом / 100
Винятковий

Індекс здоров'я програмного забезпечення

Метрики згруповано у зважені категорії на шкалі 1–100. Загальна оцінка починається як їхнє зважене середнє, відкаліброване за розподілом публічного реєстру, тож діапазони мають перцентильний зміст; коли публічні дані активують Політику юрисдикцій високого ризику, рейтинг коригується й отримує верхню межу 34 («У зоні ризику»).

94
Винятковий93-100Верхній щабель реєстру (≈ топ-5%); відповідає практично всім перевіреним критеріям
Відмінний80-92Сильний за всіма напрямами; незначні прогалини
Добрий65-79Здоровий; прогалини обмежені та керовані
Помірний50-64Прийнятний, але з помітними прогалинами; рекомендовано перевірку
Слабкий35-49Суттєві недоліки в кількох сферах
У зоні ризику20-34Суттєві слабкі місця; впровадження потребує обережності
Критичний1-19Серйозні проблеми (покинутий, єдиний мейнтейнер, без базової гігієни)
ЖиттєздатністьСпільнота тавпровадженняСталість таврядуванняІнженернаякістьБезпекаГотовність доШІ

Профіль оцінок

Кожна вісь — окрема категорія. Форма важить більше, ніж середнє: здоровий об'єкт заповнює всю фігуру, тоді як профіль із піками та провалами означає, що сила в одному вимірі маскує ризик в іншому.

Зважений загальний бал 80 калібровано до 94 за шкалою опублікованого індексу (калібрування реєстру 2026-08-02).

Власність

Emil ErnerfeldtОсобистий обліковий запис
7 863 підписники84 публічні репозиторіїз жовт. 2011 р.Rerun.io, egui

Цей репозиторій належить особистому обліковому запису. Проєкт з єдиним власником несе більший ризик безперервності, ніж підтримуваний організацією.

Пакетні екосистеми

РеєстрПакетВерсіяЗавантажень / місВерсіїОстання публікаціяТеги
crates.ioxtaskвказує на інший репозиторій — не оцінюється0.1.4216536 днів томуautomationcodesignmacosreleasextaskcommand-line-utilities
crates.ioegui0.36.01 540 775640 днів томуgamedevguiimguiimmediateportablegame-development
crates.ioemath0.36.01 610 492470 днів томуguimathmathematics
crates.ioecolor0.36.01 545 443350 днів томуcolorconversiongamedevguiimagesencodingmathematics
crates.ioeframe0.36.01 264 323530 днів томуeguigamedevguigame-development
crates.ioepaint0.36.01 542 722480 днів томуeguigraphicsgui
crates.ioegui-wgpu0.36.01 064 217440 днів томуeguigamedevguiwgpugame-development
crates.ioegui_glow0.36.01 273 200420 днів томуeguigamedevglowguigame-development
crates.ioegui-winit0.36.01 370 231500 днів томуeguigamedevguiwinitgame-development

Метрики за категоріями

Життєздатність

Чи живий проєкт — чи пишеться код і чи виходять релізи?

98Винятковий · 21% загального індексу
Як обчислюється оцінка
36/36Свіжість push — останній push 0 дн. тому
32.5/36Ритм комітів — 47/52 тижнів із комітами
18/18Обсяг комітів — 471 комітів за останній рік
10/10OpenSSF Scorecard: Maintained — 30 commit(s) and 9 issue activity found in the last 90 days -- score normalized to 10
Використані вхідні дані
commits_last_year471
human_commit_share1
days_since_last_push0
active_weeks_last_year47
Як обчислюється оцінка
27/27Випускає релізи — опубліковано 43 релізів
36/36Свіжість релізів — останній реліз 0 дн. тому
27/27Ритм релізів — реліз кожні ~36,4 дн.
0/10OpenSSF Scorecard: Signed-Releases — немає даних
Використані вхідні дані
releases_count43
latest_release_tag0.36.0
releases_from_tagsні
days_since_latest_release0
mean_days_between_releases36,4
Виключено з оцінювання (немає даних або не застосовно): OpenSSF Scorecard: Signed-Releases. Залишкові ваги перенормовано.

Спільнота та впровадження

Чи має проєкт користувачів, завантаження, увагу та влаштовані умови для контриб’юторів?

96Винятковий · 17% загального індексу
Як обчислюється оцінка
60/60Зірки — 29 979 зірок
25/25Форки — 2 097 форків
12/15Спостерігачі — 144 спостерігачів
Використані вхідні дані
forks2 097
stars29 979
watchers144
growth_stateunverified
growth_factor_pct100
growth_unverified_reasonno_history
Як обчислюється оцінка
22.5/22.5README
22.5/22.5Ліцензія — визнана ліцензія (Apache-2.0)
18/18Настанови CONTRIBUTING
13.5/13.5Кодекс поведінки
0/7.2Шаблон issue
6.3/6.3Шаблон PR
Використані вхідні дані
has_readmeтак
has_licenseтак
readme_badges7
has_contributingтак
has_issue_templateні
has_code_of_conductтак
readme_badge_servicesgithub.com, shields.io
has_pull_request_templateтак
Як обчислюється оцінка
80/80Щомісячні завантаження — 11 211 403 завантажень/місяць у crates
0/20Залежні пакети в реєстрі — ця екосистема цього не повідомляє
Використані вхідні дані
packagesegui, emath, ecolor, eframe, epaint, egui-wgpu, egui_glow, egui-winit
dependents
ecosystemscrates
total_downloads143 530 676
monthly_downloads11 211 403
Виключено з оцінювання (немає даних або не застосовно): Залежні пакети в реєстрі. Залишкові ваги перенормовано.

Сталість та врядування

Чи переживе проєкт своїх людей — бас-фактор, реактивність, хто за ним стоїть і як супроводжуються пакети?

68Добрий · 23% загального індексу
Як обчислюється оцінка
9/54Бас-фактор — на 1 контриб’ютор(ів) припадає половина всіх комітів
4.8/22.5Розподіл комітів — головний контриб’ютор — автор 78% комітів
13.5/13.5Широта контриб’юторів — 99 контриб’юторів
10/10OpenSSF Scorecard: Contributors — project has 44 contributing companies or organizations
Використані вхідні дані
bus_factor1
contributors_sampled99
top_contributor_share0,785
Як обчислюється оцінка
26.9/42Вирішення issue — закрито 64% issue
24.4/30Прийняття PR — злито 2 355/2 893 вирішених PR
10.4/13Newcomer PR acceptance — злито 4/5 PR від новачків за 30 дн.
9/15OpenSSF Scorecard: Code-Review — Found 20/30 approved changesets -- score normalized to 6
Використані вхідні дані
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
Як обчислюється оцінка
10/30Підтримка власника — особистий (користувацький) обліковий запис
0/20Верифікований домен — не застосовно до користувацьких облікових записів
25/25Охоплення власника — 7 863 підписників у emilk
25/25Послужний список — 84 публічних репозиторіїв, вік облікового запису ~14 р.
Використані вхідні дані
followers7 863
owner_typeUser
is_verified
owner_loginemilk
public_repos84
account_age_days5 399
Виключено з оцінювання (немає даних або не застосовно): Верифікований домен. Залишкові ваги перенормовано.

Супровід пакетів

100Винятковий
Як обчислюється оцінка
25/25Опубліковано й доступно — 8 пакет(ів) у crates
35/35Свіжість публікацій — остання публікація 0 дн. тому
20/20Історія версій — 64 опублікованих версій
20/20Не застарілий — активний, не deprecated і не yanked
Використані вхідні дані
packagesegui, emath, ecolor, eframe, epaint, egui-wgpu, egui_glow, egui-winit
ecosystemscrates
any_deprecatedні
min_days_since_publish0

Інженерна якість

Чи наявні базові інженерні практики та документація?

81Відмінний · 19% загального індексу
Як обчислюється оцінка
24/24Процеси CI — 14 процес(ів) CI
24/24Наявні тести
0/16Конфігурація лінтера
0/9.6Pre-commit-хуки
0/6.4.editorconfig
20/20OpenSSF Scorecard: CI-Tests — 30 out of 30 merged PRs checked by a CI test -- score normalized to 10
Використані вхідні дані
has_ciтак
has_testsтак
has_editorconfigні
has_linter_configні
has_precommit_configні

Документація

100Винятковий
Як обчислюється оцінка
30/30README
25/25Каталог документації
15/15Сайт документації / домашня сторінка — https://www.egui.rs/
10/10Опис репозиторію
10/10Теми — 7 тем
10/10Wiki
Використані вхідні дані
topicsgui, rust, game-development, wasm, imgui, gamedev, egui
has_wikiтак
homepagehttps://www.egui.rs/
has_readmeтак
has_docs_dirтак
has_descriptionтак

Безпека

Чи міцні видимі практики безпеки й ланцюга постачання, без непослабленої пов’язаності з юрисдикціями високого ризику?

60Помірний · 16% загального індексу

Стан безпеки

50Помірний
Як обчислюється оцінка
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.5Ліцензія — 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 — немає даних
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 — немає даних
0/7.5Token-Permissions — detected GitHub workflow tokens with excessive permissions
2.2/7.5Vulnerabilities — 7 existing vulnerabilities detected
Використані вхідні дані
sourceopenssf_scorecard
checks_evaluated16
scorecard_versionv5.5.0
checks_inconclusive2
scorecard_aggregate5,1
Виключено з оцінювання (немає даних або не застосовно): packaging, signed_releases. Залишкові ваги перенормовано.
Як обчислюється оцінка
35/35Прямі залежності без відомих сповіщень — жодна пряма залежність не має відомих сповіщень
0/25Непрямі залежності без відомих сповіщень — транзитивний набір не відокремлюється від залежностей розробки й тестування в цьому обсязі
0/40Немає задавнених сповіщень — жодне сповіщення не має дати публікації
Використані вхідні дані
sourceosv
advisories7
affected_packages6
assessed_packages561
unassessed_packages0
affected_by_severityhigh 1, unknown 5
direct_affected_packages0
Виключено з оцінювання (немає даних або не застосовно): Непрямі залежності без відомих сповіщень, Немає задавнених сповіщень. Залишкові ваги перенормовано. Звірено 561 резолвлених залежностей із OSV. Цей репозиторій не публікує пакета, який резолвить індекс, тож натомість оцінено граф залежностей репозиторію. Цей граф змішує закріплені версії для розробки й тестування зі справді постачаними залежностями, тож оцінюються лише задекларовані runtime-залежності; транзитивні знахідки подаються як контекст і в оцінку не входять. Досяжність не аналізується.

Готовність до ШІ

Наскільки репозиторій оснащений для розробки та супроводу за участі ШІ-агентів? Має свідомо малу вагу (4%): агентний інструментарій — реальний сигнал супроводу, але репозиторій без нього все одно може отримати 100/100.

59Помірний · 4% загального індексу
Як обчислюється оцінка
0/45Інструкції для агентів — немає CLAUDE.md / AGENTS.md / правил редактора
0/15Машиночитана документація (llms.txt)
40/40Читабельна історія комітів — намір зазначено у 100 з 100 людських комітів (структурований заголовок або пояснювальний текст)
Використані вхідні дані
has_llms_txtні
legible_history_share1
agent_instruction_files
agent_instruction_max_bytes
Як обчислюється оцінка
12.6/18Розгортання однією командою — Cargo.toml, crates/ecolor/Cargo.toml, crates/eframe/Cargo.toml (домовленість інструментарію, без раннера задач)
22/22Автоматизовані тести
0/11Конфігурація лінтера / форматера
11/11Статична перевірка типів — Rust (статично типізована)
10/10Відтворюване середовище — lockfile
10/10Підтверджена практика роботи з агентами — 28 з останніх 100 комітів створено агентом або з його зазначенням
0/8Автоматизоване супроводження — автоматичних оновлень залежностей не виявлено
0/10OpenSSF Scorecard: Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 0
Використані вхідні дані
has_nixні
has_testsтак
lockfilesCargo.lock
has_dockerfileні
typed_languageтак
bootstrap_files
has_devcontainerні
has_linter_configні
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
Як обчислюється оцінка
45/45Типізований код — Rust (статично типізована)
53.7/55Керовані розміри файлів — 9/376 файлів вихідного коду понад 60 КБ
Використані вхідні дані
primary_languageRust
largest_source_bytes172 007
source_files_sampled376
oversized_source_files9
Як обчислюється оцінка
0/40Схема API (OpenAPI/GraphQL/proto)
0/20Сервер MCP
40/40Придатні до запуску приклади — demos, examples
Використані вхідні дані
example_dirsdemos, examples
has_mcp_signalні
api_schema_files

Ключові факти

29 979зірок GitHub
99контриб'юторів
471комітів за останні 12 місяців
0днів від останнього пушу
43релізів
1бас-фактор
930відкритих issue
crates.ioпакетних екосистем

Попередження щодо збору даних

  • 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

Докладніше

Історія зірок і форків 0 ★ / 2 097 ⇿
0Зірки
2 097Форки
29Релізи

Коли додано кожну зірку й форк — зібрано з GitHub і згруповано за днями. Кумулятивне зростання розміщено просто над денними додаваннями, з яких воно складається, тож їх видно одне проти одного: рівномірне органічне накопичення виглядає зовсім інакше, ніж різкий короткочасний сплеск. Там, де цю різницю можна виміряти, її подано як автентичність росту.

Показано лише найновішу історію — цей репозиторій перевищує вікно збору, тож найраніша історія не захоплена.

1 0001 2001 4001 6001 8002 0002 2002 097102023-112025-032026-08
Мажорні 0Мінорні 12Патчі 16

Кожна точка охоплює 3 днів.

OpenSSF Scorecard 5.1 / 10
5.1сукупно

Незалежна, не прив'язана до інструментів оцінка безпеки від відкритого проєкту OpenSSF Scorecard. Кожна перевірка винагороджує практику безпеки, а не інструмент конкретного постачальника. Перевірки, які Scorecard не зміг визначити, позначено н/д і виключено з оцінки безпеки (вони ніколи не зараховуються як нуль).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
н/дPackagingpackaging 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
н/дSigned-Releasesno releases found
0Token-Permissionsdetected GitHub workflow tokens with excessive permissions
3Vulnerabilities7 existing vulnerabilities detected
Прямі залежності 146
РеєстрПакетОбмеження версіїМаніфест
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
Усі залежності 561

Повний розв'язаний набір залежностей із графа залежностей GitHub: 58 прямих і 503 непрямих (транзитивних) пакетів. Транзитивне замикання є повним, коли в репозиторії закомічено lockfile.

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

Цей репозиторій не публікує пакета, який розпізнає індекс, тож оцінено його власний граф залежностей — 561 пакетів, серед яких є й піниї розробки та тестування, що ніколи не постачаються: 6 мають відомі сповіщення, з них 0 прямі.

ПакетВерсіяЗв'язокКритичністьСповіщеньВиправлено в
quick-xml0.39.4непрямависока20.41.0
bincode1.3.3непряманевідома1
event-listener5.4.1непряманевідома15.4.2
rustybuzz0.20.1непряманевідома1
ttf-parser0.25.1непряманевідома1
yaml-rust0.4.5непряманевідома1

Сповіщення означає, що версія, записана в графі залежностей, потрапляє в уражений діапазон. Досяжність не аналізується, а граф містить піниї розробки й тестування — знахідка може стосуватися інструментів, а не поставленого коду.

Звіт у форматі JSON машиночитний
{
  "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"
}

Оцінки — це сигнали, а не гарантії. Вони відображають публічно видимі практики на GitHub — це не аудит коду й не гарантія безпеки.

Відсутні дані виключаються, а ваги перенормовуються — нуль за відсутність ніколи не ставиться. Методологія версіонована й відкрита: метрики v2.5.0, схема v0.31.0 — повна методологія · вікі метрик.

Як окремий результат виглядає на тлі всього реєстру: сукупна статистикаcrates.io.