updated text sizing to better match the bar size, and increase readability.
This commit is contained in:
parent
e4c12e9b62
commit
d16ec3f6b4
132 changed files with 39966 additions and 52 deletions
234
graphify-out/GRAPH_REPORT.md
Normal file
234
graphify-out/GRAPH_REPORT.md
Normal file
|
|
@ -0,0 +1,234 @@
|
|||
# Graph Report - breadbar (2026-08-16)
|
||||
|
||||
## Corpus Check
|
||||
- 25 files · ~24,569 words
|
||||
- Verdict: corpus is large enough that graph structure adds value.
|
||||
|
||||
## Summary
|
||||
- 566 nodes · 1077 edges · 46 communities (29 shown, 17 thin omitted)
|
||||
- Extraction: 88% EXTRACTED · 0% INFERRED · 0% AMBIGUOUS · INFERRED: 2 edges (avg confidence: 0.8)
|
||||
- Token cost: 0 input · 0 output
|
||||
|
||||
## Graph Freshness
|
||||
- Built from commit: `e4c12e9b`
|
||||
- Run `git rev-parse HEAD` and compare to check if the graph is stale.
|
||||
- Run `graphify update .` after code changes (no API cost).
|
||||
|
||||
## Community Hubs (Navigation)
|
||||
- App
|
||||
- notifications/mod.rs
|
||||
- Icon System
|
||||
- tray.rs
|
||||
- stats.rs
|
||||
- GTK4 app entry point and widget tree
|
||||
- history.rs
|
||||
- screenshot.rs
|
||||
- wifi.rs
|
||||
- client.rs
|
||||
- bluetooth.rs
|
||||
- spawn
|
||||
- popup.rs
|
||||
- control.rs
|
||||
- Control panel popover
|
||||
- dev release workflow
|
||||
- AGENTS.md — Repo hygiene
|
||||
- workspaces.rs
|
||||
- rc release workflow
|
||||
- bakery package manager integration
|
||||
- clock.rs
|
||||
- media.rs
|
||||
- Stable artifact preparation
|
||||
- stable release workflow
|
||||
- feature/<name> short-lived branches
|
||||
- bread-ecosystem release policy integration
|
||||
- fix/<name> short-lived branches
|
||||
- Dev version auto-computation from latest tag
|
||||
- GTK4 development environment
|
||||
- Rust 1.77+ (LazyLock)
|
||||
- bread-theme palette loading
|
||||
- User CSS override (~/.config/breadbar/style.css)
|
||||
- Notification popups (top-right stack)
|
||||
- org.freedesktop.Notifications D-Bus service
|
||||
- Layer-shell popup window and card stack
|
||||
- SIGHUP theme reload
|
||||
- Volume/brightness OSD
|
||||
- /srv/breadway-dl/dev/ distribution
|
||||
- /srv/breadway-dl/beta/ distribution
|
||||
- /srv/breadway-dl/breadbar/ distribution
|
||||
- CLAUDE.md — Repo hygiene
|
||||
- build.sh
|
||||
- theme.rs
|
||||
- PanelSet
|
||||
|
||||
## God Nodes (most connected - your core abstractions)
|
||||
1. `App` - 50 edges
|
||||
2. `poll()` - 16 edges
|
||||
3. `WorkspaceTrail` - 14 edges
|
||||
4. `AppInput` - 14 edges
|
||||
5. `NotifServer` - 13 edges
|
||||
6. `NotifEvent` - 12 edges
|
||||
7. `Lucide Icon Library` - 12 edges
|
||||
8. `Watcher` - 11 edges
|
||||
9. `run()` - 11 edges
|
||||
10. `test_server()` - 10 edges
|
||||
|
||||
## Surprising Connections (you probably didn't know these)
|
||||
- `Control panel popover` --USES--> `Settings` [LIKELY]
|
||||
README.md → assets/Bluetooth Settings.svg
|
||||
- `CPU/RAM/power/battery (right section)` --USES--> `AC Power` [CERTAIN]
|
||||
README.md → assets/AC Power.svg
|
||||
- `CPU/RAM/power/battery (right section)` --USES--> `Battery Low` [CERTAIN]
|
||||
README.md → assets/Battery 1 Bar.svg
|
||||
- `CPU/RAM/power/battery (right section)` --USES--> `Battery Medium` [CERTAIN]
|
||||
README.md → assets/Battery 2 Bars.svg
|
||||
- `CPU/RAM/power/battery (right section)` --USES--> `Battery Full` [CERTAIN]
|
||||
README.md → assets/Battery 3 Bars.svg
|
||||
|
||||
## Import Cycles
|
||||
- None detected.
|
||||
|
||||
## Hyperedges (group relationships)
|
||||
- **Multi-track release system** — forgejo_workflows_dev_release_yml_dev_release_workflow, forgejo_workflows_rc_release_yml_rc_release_workflow, forgejo_workflows_release_yml_release_workflow, CONTRIBUTING.md:dev-track, CONTRIBUTING.md:beta-track, CONTRIBUTING.md:stable-track [INFERRED]
|
||||
- **Component-module correspondence** — README.md:status-bar, README.md:control-panel, README.md:notification-daemon, README.md:main.rs, README.md:bar-workspaces, README.md:bar-stats, README.md:bar-media, README.md:bar-control, README.md:bar-tray, README.md:notifications-mod [INFERRED]
|
||||
- **Dependency polling and caching pattern** — README.md:bar-stats, README.md:bar-media, README.md:bar-wifi, README.md:bar-control [INFERRED]
|
||||
- **D-Bus service protocol adoption** — README.md:notification-daemon, README.md:notification-spec, README.md:bar-tray, README.md:dbus [INFERRED]
|
||||
- **External tool integration pattern** — README.md:bar-stats, README.md:bar-media, README.md:bar-wifi, README.md:bar-control, README.md:iw, README.md:wpctl, README.md:pactl, README.md:brightnessctl, README.md:playerctl, README.md:breadcrumbs [INFERRED]
|
||||
- **Theme customization layers** — README.md:theme.rs, README.md:bread-theme-integration, README.md:pywal-integration, README.md:css-override, README.md:sighup-reload [INFERRED]
|
||||
- **WiFi Signal Strength Variants** — assets_wifi_weak_svg_wifi_low_icon, assets_wifi_medium_svg_wifi_high_icon, assets_wifi_strong_svg_wifi_icon, assets_wifi_connecting_svg_wifi_sync_icon, assets_wifi_disconnect_svg_wifi_off_icon [INFERRED]
|
||||
- **System Control Icons** — assets_shutdown_svg_power_icon, assets_sleep_svg_moon_icon, assets_restart_svg_rotate_ccw_icon [INFERRED]
|
||||
- **Status Bar Widget Icons** — assets_previous_svg_skip_back_icon, assets_volume_svg_volume_2_icon, assets_ram_usage_svg_memory_stick_icon [INFERRED]
|
||||
- **Lucide Icon Integration Pattern** — https_lucide_icon_library, breadbar:icon-system, assets_previous_svg_skip_back_icon, assets_ram_usage_svg_memory_stick_icon, assets_restart_svg_rotate_ccw_icon, assets_shutdown_svg_power_icon, assets_sleep_svg_moon_icon, assets_volume_svg_volume_2_icon, assets_wifi_connecting_svg_wifi_sync_icon, assets_wifi_disconnect_svg_wifi_off_icon, assets_wifi_medium_svg_wifi_high_icon, assets_wifi_strong_svg_wifi_icon, assets_wifi_weak_svg_wifi_low_icon [INFERRED]
|
||||
- **SVG Vector Graphics Elements** — assets_previous_svg_triangle_shape, assets_previous_svg_vertical_line, assets_ram_usage_svg_memory_modules, assets_ram_usage_svg_memory_chassis, assets_restart_svg_circular_arrow, assets_restart_svg_corner_arrow, assets_shutdown_svg_power_button, assets_shutdown_svg_power_symbol, assets_sleep_svg_crescent_shape, assets_volume_svg_speaker_cone, assets_volume_svg_sound_waves, assets_wifi_connecting_svg_wifi_arcs, assets_wifi_connecting_svg_sync_arrows, assets_wifi_disconnect_svg_wifi_arcs_disabled, assets_wifi_disconnect_svg_cancel_slash, assets_wifi_medium_svg_signal_dot, assets_wifi_medium_svg_two_signal_arcs, assets_wifi_strong_svg_signal_dot_full, assets_wifi_strong_svg_three_signal_arcs, assets_wifi_weak_svg_signal_dot_low, assets_wifi_weak_svg_one_signal_arc [INFERRED]
|
||||
|
||||
## Communities (46 total, 17 thin omitted)
|
||||
|
||||
### Community 0 - "App"
|
||||
Cohesion: 0.07
|
||||
Nodes (66): Cell, ComponentParts, Controller, FnOnce, Init, Input, Instant, LayerShell (+58 more)
|
||||
|
||||
### Community 1 - "notifications/mod.rs"
|
||||
Cohesion: 0.09
|
||||
Nodes (36): AtomicU32, OwnedValue, Action, BarService, compute_expire(), Expire, get_capabilities_includes_actions_and_inline_reply(), inline_reply_placeholder() (+28 more)
|
||||
|
||||
### Community 2 - "Icon System"
|
||||
Cohesion: 0.08
|
||||
Nodes (35): Skip Back Icon, Triangle Polygon, Vertical Separator Line, Memory Chassis Rectangle, Memory Module Elements, Memory Stick Icon, Circular Arrow Path, Corner Arrow (+27 more)
|
||||
|
||||
### Community 3 - "tray.rs"
|
||||
Cohesion: 0.14
|
||||
Nodes (23): Arc, Header, Proxy, SignalEmitter, make_tray_image(), parse_service(), pixels_to_image(), read_icon() (+15 more)
|
||||
|
||||
### Community 4 - "stats.rs"
|
||||
Cohesion: 0.16
|
||||
Nodes (26): bat_path(), bt_connected_icon(), bt_rfkill_on(), CpuSnapshot, poll(), read_ac(), read_battery(), read_bt() (+18 more)
|
||||
|
||||
### Community 5 - "GTK4 app entry point and widget tree"
|
||||
Cohesion: 0.04
|
||||
Nodes (46): GTK4 >= 4.12 (runtime required), Hyprland compositor, Minute-tick clock, Control panel data: volume, brightness, sinks, playerctl polling and media widget, Polling loop: CPU, RAM, power, battery, BT, WiFi, StatusNotifierWatcher D-Bus and SNI rendering, WiFi popover and breadcrumbs integration (+38 more)
|
||||
|
||||
### Community 6 - "history.rs"
|
||||
Cohesion: 0.12
|
||||
Nodes (38): Path, build_window(), collapse_ws(), Entry, format_time(), from_persisted(), history_path(), load_into() (+30 more)
|
||||
|
||||
### Community 7 - "screenshot.rs"
|
||||
Cohesion: 0.22
|
||||
Nodes (17): ApplicationWindow, capture_standalone_window(), Cli, dispatch(), finish(), Handles, open_panel_on_root_map(), Box (+9 more)
|
||||
|
||||
### Community 8 - "wifi.rs"
|
||||
Cohesion: 0.25
|
||||
Nodes (17): HashSet, CrumbsStatus, fetch_profile_list(), fetch_scan(), fetch_status(), ComponentSender, Option, String (+9 more)
|
||||
|
||||
### Community 9 - "client.rs"
|
||||
Cohesion: 0.20
|
||||
Nodes (14): emit_click(), fetch_and_send(), ComponentSender, spawn(), apply_style(), build_node(), bundled_icon(), icon_texture() (+6 more)
|
||||
|
||||
### Community 10 - "bluetooth.rs"
|
||||
Cohesion: 0.27
|
||||
Nodes (12): BtDevice, BtPopoverData, fetch_devices(), powered(), ComponentSender, Option, String, Vec (+4 more)
|
||||
|
||||
### Community 11 - "spawn"
|
||||
Cohesion: 0.32
|
||||
Nodes (12): brightness_watcher(), create_window(), OsdEvent, query_volume(), Option, Receiver, Sender, Window (+4 more)
|
||||
|
||||
### Community 12 - "popup.rs"
|
||||
Cohesion: 0.29
|
||||
Nodes (20): Cards, apply_body_text(), build_window(), CardSpec, create_window(), dismiss(), emit_action(), emit_closed() (+12 more)
|
||||
|
||||
### Community 13 - "control.rs"
|
||||
Cohesion: 0.26
|
||||
Nodes (8): AudioSink, ControlPanelData, fetch_sinks(), ComponentSender, String, Vec, spawn_load(), spawn_set_sink()
|
||||
|
||||
### Community 14 - "Control panel popover"
|
||||
Cohesion: 0.18
|
||||
Nodes (11): Audio output selector (PulseAudio sinks), Brightness slider (brightnessctl), Control panel popover, Live CPU%, GPU%, network throughput display, Power buttons: lock, suspend, reboot, poweroff, SNI system tray, Volume slider (wpctl, up to 150%), Settings (+3 more)
|
||||
|
||||
### Community 15 - "dev release workflow"
|
||||
Cohesion: 0.25
|
||||
Nodes (8): Artifact preparation and signing, bakery.toml integration, cargo build --release --locked, dev release workflow, Dev index.json regeneration, main branch push trigger, self-hosted runner on hestia, Dev version auto-computation
|
||||
|
||||
### Community 16 - "AGENTS.md — Repo hygiene"
|
||||
Cohesion: 0.33
|
||||
Nodes (5): AGENTS.md — Repo hygiene, Architecture, CI, Don't, Remotes
|
||||
|
||||
### Community 17 - "workspaces.rs"
|
||||
Cohesion: 0.15
|
||||
Nodes (27): Fixed, Overlay, RefCell, apply_geom(), button_geom(), ease(), ease_overshoot(), Geom (+19 more)
|
||||
|
||||
### Community 18 - "rc release workflow"
|
||||
Cohesion: 0.33
|
||||
Nodes (6): Beta index.json regeneration, RC artifact preparation, RC build on tag, RC tag guard (contains -rc.), rc release workflow, vX.Y.Z-rc.N tag push trigger
|
||||
|
||||
### Community 19 - "bakery package manager integration"
|
||||
Cohesion: 0.60
|
||||
Nodes (5): bakery package manager integration, beta track (vX.Y.Z-rc.N tags), dev track (every push to main), Tag-based release cycle, stable track (vX.Y.Z tags)
|
||||
|
||||
### Community 20 - "clock.rs"
|
||||
Cohesion: 0.36
|
||||
Nodes (8): DateTime, current(), date(), now(), ComponentSender, String, spawn_ticker(), time()
|
||||
|
||||
### Community 21 - "media.rs"
|
||||
Cohesion: 0.43
|
||||
Nodes (5): fetch(), MediaState, ComponentSender, String, spawn_poller()
|
||||
|
||||
### Community 22 - "Stable artifact preparation"
|
||||
Cohesion: 0.50
|
||||
Nodes (4): GitHub Release artifact upload, Stable artifact preparation, Stable release build, Stable index.json regeneration
|
||||
|
||||
### Community 23 - "stable release workflow"
|
||||
Cohesion: 0.67
|
||||
Nodes (3): NOT -rc tag guard, stable release workflow, vX.Y.Z tag push trigger
|
||||
|
||||
### Community 42 - "CLAUDE.md — Repo hygiene"
|
||||
Cohesion: 0.40
|
||||
Nodes (4): CI, CLAUDE.md — Repo hygiene, Don't, Remotes
|
||||
|
||||
### Community 44 - "theme.rs"
|
||||
Cohesion: 0.23
|
||||
Nodes (11): Native, Palette, bind_auto(), bind_output(), fg_color(), fg_color_for(), load_css(), load_css_for() (+3 more)
|
||||
|
||||
### Community 45 - "PanelSet"
|
||||
Cohesion: 0.29
|
||||
Nodes (7): make_dismiss(), make_panel(), PanelSet, IsA, Self, Widget, Window
|
||||
|
||||
## Knowledge Gaps
|
||||
- **98 isolated node(s):** `build.sh script`, `CpuSnapshot`, `Remotes`, `CI`, `Architecture` (+93 more)
|
||||
These have ≤1 connection - possible missing edges or undocumented components.
|
||||
- **17 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes.
|
||||
|
||||
## Suggested Questions
|
||||
_Questions this graph is uniquely positioned to answer:_
|
||||
|
||||
- **Why does `App` connect `App` to `tray.rs`, `stats.rs`, `wifi.rs`, `client.rs`, `bluetooth.rs`, `control.rs`, `PanelSet`, `workspaces.rs`, `clock.rs`, `media.rs`?**
|
||||
_High betweenness centrality (0.189) - this node is a cross-community bridge._
|
||||
- **Why does `WorkspaceTrail` connect `workspaces.rs` to `App`?**
|
||||
_High betweenness centrality (0.052) - this node is a cross-community bridge._
|
||||
- **Why does `AppInput` connect `App` to `tray.rs`, `stats.rs`, `wifi.rs`, `bluetooth.rs`, `control.rs`, `media.rs`?**
|
||||
_High betweenness centrality (0.037) - this node is a cross-community bridge._
|
||||
- **What connects `build.sh script`, `CpuSnapshot`, `Remotes` to the rest of the system?**
|
||||
_98 weakly-connected nodes found - possible documentation gaps or missing edges._
|
||||
- **Should `App` be split into smaller, more focused modules?**
|
||||
_Cohesion score 0.06630211893369788 - nodes in this community are weakly interconnected._
|
||||
- **Should `notifications/mod.rs` be split into smaller, more focused modules?**
|
||||
_Cohesion score 0.08843537414965986 - nodes in this community are weakly interconnected._
|
||||
- **Should `Icon System` be split into smaller, more focused modules?**
|
||||
_Cohesion score 0.07563025210084033 - nodes in this community are weakly interconnected._
|
||||
Loading…
Add table
Add a link
Reference in a new issue