Skip to content

feat(components): More flexible menu styling#1852

Merged
marc2332 merged 3 commits into
mainfrom
feat/more-flexible-menu-styling
May 9, 2026
Merged

feat(components): More flexible menu styling#1852
marc2332 merged 3 commits into
mainfrom
feat/more-flexible-menu-styling

Conversation

@marc2332
Copy link
Copy Markdown
Owner

@marc2332 marc2332 commented May 6, 2026

Menu and MenuButton were not customizable, until now.

#1850

@marc2332 marc2332 moved this to In Progress in Freya Planning May 6, 2026
@marc2332 marc2332 self-assigned this May 6, 2026
@codecov
Copy link
Copy Markdown

codecov Bot commented May 6, 2026

Codecov Report

❌ Patch coverage is 48.38710% with 16 lines in your changes missing coverage. Please review.
✅ Project coverage is 61.07%. Comparing base (15e343c) to head (f39c7c8).

Files with missing lines Patch % Lines
crates/freya-components/src/menu.rs 38.46% 16 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1852      +/-   ##
==========================================
- Coverage   61.07%   61.07%   -0.01%     
==========================================
  Files         312      312              
  Lines       39605    39601       -4     
==========================================
- Hits        24190    24186       -4     
  Misses      15415    15415              

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 6, 2026

Performance Comparison mainfeat/more-flexible-menu-styling

Total Elapsed Time: 57.43ms → 57.44ms (+0.0%)
CPU Baseline: 69.19µs → 69.30µs (+0.2%)
Benchmark ID: alloc

timing - Function execution time metrics.

+-----------------------------------+--------------------------+----------------------------------+----------------------------------+----------------------------------+----------------------------------+----------------------------------+----------------------------------+------------------------------+
| Function                          | Calls                    | Avg                              | P33                              | P66                              | P95                              | P99                              | Total                            | % Total                      |
+-----------------------------------+--------------------------+----------------------------------+----------------------------------+----------------------------------+----------------------------------+----------------------------------+----------------------------------+------------------------------+
| dev_perf::main                    | 1 → 1 (+0.0%)            | 57.23ms → 57.20ms (-0.1%)        | 57.25ms → 57.21ms (-0.1%)        | 57.25ms → 57.21ms (-0.1%)        | 57.25ms → 57.21ms (-0.1%)        | 57.25ms → 57.21ms (-0.1%)        | 57.21ms → 57.19ms (-0.0%)        | 100.00% → 100.00% (+0.0%)    |
+-----------------------------------+--------------------------+----------------------------------+----------------------------------+----------------------------------+----------------------------------+----------------------------------+----------------------------------+------------------------------+
| runner::run_scope                 | 32025 → 32025 (+0.0%)    | 1.25µs → 1.25µs (+0.0%)          | 10.00ns → 10.00ns (+0.0%)        | 10.00ns → 10.00ns (+0.0%)        | 20.00ns → 20.00ns (+0.0%)        | 41.00ns → 40.00ns (-2.4%)        | 40.10ms → 39.83ms (-0.7%)        | 70.09% → 69.64% (-0.6%)      |
+-----------------------------------+--------------------------+----------------------------------+----------------------------------+----------------------------------+----------------------------------+----------------------------------+----------------------------------+------------------------------+
| runner::sync_and_update           | 3 → 3 (+0.0%)            | 10.70ms → 10.63ms (-0.7%)        | 6.82ms → 6.68ms (-2.1%)          | 6.91ms → 6.96ms (+0.7%)          | 18.37ms → 18.25ms (-0.7%)        | 18.37ms → 18.25ms (-0.7%)        | 32.09ms → 31.87ms (-0.7%)        | 56.09% → 55.73% (-0.6%)      |
+-----------------------------------+--------------------------+----------------------------------+----------------------------------+----------------------------------+----------------------------------+----------------------------------+----------------------------------+------------------------------+
| tree::apply_mutations             | 3 → 3 (+0.0%)            | 7.98ms → 8.03ms (+0.6%)          | 2.21ms → 2.35ms (+6.3%)          | 8.34ms → 8.50ms (+1.9%)          | 13.40ms → 13.24ms (-1.2%)        | 13.40ms → 13.24ms (-1.2%)        | 23.93ms → 24.08ms (+0.6%)        | 41.83% → 42.11% (+0.7%)      |
+-----------------------------------+--------------------------+----------------------------------+----------------------------------+----------------------------------+----------------------------------+----------------------------------+----------------------------------+------------------------------+
| path_element::from_element        | 32025 → 32025 (+0.0%)    | 413.00ns → 409.00ns (-1.0%)      | 30.00ns → 30.00ns (+0.0%)        | 41.00ns → 41.00ns (+0.0%)        | 60.00ns → 60.00ns (+0.0%)        | 70.00ns → 70.00ns (+0.0%)        | 13.25ms → 13.13ms (-0.9%)        | 23.16% → 22.95% (-0.9%)      |
+-----------------------------------+--------------------------+----------------------------------+----------------------------------+----------------------------------+----------------------------------+----------------------------------+----------------------------------+------------------------------+
| path_element::diff                | 32025 → 32025 (+0.0%)    | 380.00ns → 373.00ns (-1.8%)      | 40.00ns → 40.00ns (+0.0%)        | 50.00ns → 50.00ns (+0.0%)        | 180.00ns → 180.00ns (+0.0%)      | 811.00ns → 841.00ns (+3.7%)      | 12.19ms → 11.97ms (-1.8%)        | 21.30% → 20.93% (-1.7%)      |
+-----------------------------------+--------------------------+----------------------------------+----------------------------------+----------------------------------+----------------------------------+----------------------------------+----------------------------------+------------------------------+
| mutations run                     | 3 → 3 (+0.0%)            | 3.40ms → 3.53ms (+3.8%)          | 4.58µs → 3.94µs (-14.0%)         | 1.86ms → 2.08ms (+11.8%)         | 8.34ms → 8.50ms (+1.9%)          | 8.34ms → 8.50ms (+1.9%)          | 10.19ms → 10.58ms (+3.8%)        | 17.81% → 18.49% (+3.8%)      |
+-----------------------------------+--------------------------+----------------------------------+----------------------------------+----------------------------------+----------------------------------+----------------------------------+----------------------------------+------------------------------+
| Scope Rendering                   | 2 → 2 (+0.0%)            | 3.65ms → 3.69ms (+1.1%)          | 3.38ms → 3.40ms (+0.6%)          | 3.92ms → 3.99ms (+1.8%)          | 3.92ms → 3.99ms (+1.8%)          | 3.92ms → 3.99ms (+1.8%)          | 7.29ms → 7.38ms (+1.2%)          | 12.75% → 12.91% (+1.3%)      |
+-----------------------------------+--------------------------+----------------------------------+----------------------------------+----------------------------------+----------------------------------+----------------------------------+----------------------------------+------------------------------+
| runner::apply_diff                | 6 → 6 (+0.0%)            | 1.22ms → 1.21ms (-0.8%)          | 5.23µs → 5.79µs (+10.7%)         | 1.65ms → 1.59ms (-3.6%)          | 2.13ms → 2.18ms (+2.3%)          | 2.13ms → 2.18ms (+2.3%)          | 7.31ms → 7.28ms (-0.4%)          | 12.77% → 12.73% (-0.3%)      |
+-----------------------------------+--------------------------+----------------------------------+----------------------------------+----------------------------------+----------------------------------+----------------------------------+----------------------------------+------------------------------+
| layer cascade                     | 3 → 3 (+0.0%)            | 1.42ms → 1.51ms (+6.3%)          | 30.00ns → 40.00ns (+33.3%) ⚠️    | 2.08ms → 2.19ms (+5.3%)          | 2.20ms → 2.34ms (+6.4%)          | 2.20ms → 2.34ms (+6.4%)          | 4.27ms → 4.53ms (+6.1%)          | 7.47% → 7.92% (+6.0%)        |
+-----------------------------------+--------------------------+----------------------------------+----------------------------------+----------------------------------+----------------------------------+----------------------------------+----------------------------------+------------------------------+
| dirty run                         | 3 → 3 (+0.0%)            | 1.57ms → 1.48ms (-5.7%)          | 561.00ns → 581.00ns (+3.6%)      | 1.57µs → 2.05µs (+30.6%) ⚠️      | 4.72ms → 4.45ms (-5.7%)          | 4.72ms → 4.45ms (-5.7%)          | 4.72ms → 4.45ms (-5.7%)          | 8.25% → 7.78% (-5.7%)        |
+-----------------------------------+--------------------------+----------------------------------+----------------------------------+----------------------------------+----------------------------------+----------------------------------+----------------------------------+------------------------------+
| text style cascade                | 3 → 3 (+0.0%)            | 1.51ms → 1.45ms (-4.0%)          | 151.00ns → 150.00ns (-0.7%)      | 1.12µs → 1.44µs (+28.6%) ⚠️      | 4.54ms → 4.35ms (-4.2%)          | 4.54ms → 4.35ms (-4.2%)          | 4.54ms → 4.35ms (-4.2%)          | 7.94% → 7.61% (-4.2%)        |
+-----------------------------------+--------------------------+----------------------------------+----------------------------------+----------------------------------+----------------------------------+----------------------------------+----------------------------------+------------------------------+
| runner::handle_events_immediately | 3 → 3 (+0.0%)            | 287.00ns → 367.00ns (+27.9%) ⚠️  | 271.00ns → 180.00ns (-33.6%) 🚀  | 290.00ns → 411.00ns (+41.7%) ⚠️  | 300.00ns → 511.00ns (+70.3%) ⚠️  | 300.00ns → 511.00ns (+70.3%) ⚠️  | 861.00ns → 1.10µs (+27.8%) ⚠️    | 0.00% → 0.00% (+0.0%)        |
+-----------------------------------+--------------------------+----------------------------------+----------------------------------+----------------------------------+----------------------------------+----------------------------------+----------------------------------+------------------------------+
| effect cascade                    | 3 → 3 (+0.0%)            | 103.00ns → 133.00ns (+29.1%) ⚠️  | 30.00ns → 50.00ns (+66.7%) ⚠️    | 70.00ns → 160.00ns (+128.6%) ⚠️  | 211.00ns → 191.00ns (-9.5%)      | 211.00ns → 191.00ns (-9.5%)      | 311.00ns → 401.00ns (+28.9%) ⚠️  | 0.00% → 0.00% (+0.0%)        |
+-----------------------------------+--------------------------+----------------------------------+----------------------------------+----------------------------------+----------------------------------+----------------------------------+----------------------------------+------------------------------+

alloc-bytes - Exclusive allocation bytes by each function (excluding nested calls).

+-----------------------------------+--------------------------+------------------------------+--------------------------------+------------------------------+--------------------------------+--------------------------------+--------------------------------+----------------------------+
| Function                          | Calls                    | Avg                          | P33                            | P66                          | P95                            | P99                            | Total                          | % Total                    |
+-----------------------------------+--------------------------+------------------------------+--------------------------------+------------------------------+--------------------------------+--------------------------------+--------------------------------+----------------------------+
| Scope Rendering                   | 2 → 2 (+0.0%)            | 6.8 MB → 6.8 MB (+0.0%)      | 6.8 MB → 6.8 MB (+0.0%)        | 6.8 MB → 6.8 MB (+0.0%)      | 6.8 MB → 6.8 MB (+0.0%)        | 6.8 MB → 6.8 MB (+0.0%)        | 13.6 MB → 13.6 MB (+0.0%)      | 22.25% → 22.25% (+0.0%)    |
+-----------------------------------+--------------------------+------------------------------+--------------------------------+------------------------------+--------------------------------+--------------------------------+--------------------------------+----------------------------+
| runner::apply_diff                | 6 → 6 (+0.0%)            | 1.6 MB → 1.6 MB (+0.0%)      | 604 B → 604 B (+0.0%)          | 1.4 MB → 1.4 MB (+0.0%)      | 3.3 MB → 3.3 MB (+0.0%)        | 3.3 MB → 3.3 MB (+0.0%)        | 9.4 MB → 9.4 MB (+0.0%)        | 15.32% → 15.32% (+0.0%)    |
+-----------------------------------+--------------------------+------------------------------+--------------------------------+------------------------------+--------------------------------+--------------------------------+--------------------------------+----------------------------+
| runner::sync_and_update           | 3 → 3 (+0.0%)            | 2.7 MB → 2.7 MB (+0.0%)      | 1.0 KB → 1.0 KB (+0.0%)        | 1.4 MB → 1.4 MB (+0.0%)      | 6.8 MB → 6.8 MB (+0.0%)        | 6.8 MB → 6.8 MB (+0.0%)        | 8.2 MB → 8.2 MB (+0.0%)        | 13.36% → 13.36% (+0.0%)    |
+-----------------------------------+--------------------------+------------------------------+--------------------------------+------------------------------+--------------------------------+--------------------------------+--------------------------------+----------------------------+
| text style cascade                | 3 → 3 (+0.0%)            | 2.6 MB → 2.6 MB (+0.0%)      | 84 B → 84 B (+0.0%)            | 7.8 MB → 7.8 MB (+0.0%)      | 7.8 MB → 7.8 MB (+0.0%)        | 7.8 MB → 7.8 MB (+0.0%)        | 7.8 MB → 7.8 MB (+0.0%)        | 12.71% → 12.71% (+0.0%)    |
+-----------------------------------+--------------------------+------------------------------+--------------------------------+------------------------------+--------------------------------+--------------------------------+--------------------------------+----------------------------+
| mutations run                     | 3 → 3 (+0.0%)            | 2.5 MB → 2.5 MB (+0.0%)      | 64 B → 64 B (+0.0%)            | 1.6 MB → 1.6 MB (+0.0%)      | 6.0 MB → 6.0 MB (+0.0%)        | 6.0 MB → 6.0 MB (+0.0%)        | 7.6 MB → 7.6 MB (+0.0%)        | 12.35% → 12.35% (+0.0%)    |
+-----------------------------------+--------------------------+------------------------------+--------------------------------+------------------------------+--------------------------------+--------------------------------+--------------------------------+----------------------------+
| dirty run                         | 3 → 3 (+0.0%)            | 1.4 MB → 1.4 MB (+0.0%)      | 64 B → 64 B (+0.0%)            | 4.2 MB → 4.2 MB (+0.0%)      | 4.2 MB → 4.2 MB (+0.0%)        | 4.2 MB → 4.2 MB (+0.0%)        | 4.2 MB → 4.2 MB (+0.0%)        | 6.84% → 6.84% (+0.0%)      |
+-----------------------------------+--------------------------+------------------------------+--------------------------------+------------------------------+--------------------------------+--------------------------------+--------------------------------+----------------------------+
| layer cascade                     | 3 → 3 (+0.0%)            | 1.2 MB → 1.2 MB (+0.0%)      | 874.5 KB → 874.5 KB (+0.0%)    | 2.8 MB → 2.8 MB (+0.0%)      | 2.8 MB → 2.8 MB (+0.0%)        | 2.8 MB → 2.8 MB (+0.0%)        | 3.7 MB → 3.7 MB (+0.0%)        | 6.05% → 6.05% (+0.0%)      |
+-----------------------------------+--------------------------+------------------------------+--------------------------------+------------------------------+--------------------------------+--------------------------------+--------------------------------+----------------------------+
| path_element::from_element        | 32025 → 32025 (+0.0%)    | 107 B → 107 B (+0.0%)        | 12 B → 12 B (+0.0%)            | 12 B → 12 B (+0.0%)          | 12 B → 12 B (+0.0%)            | 12 B → 12 B (+0.0%)            | 3.3 MB → 3.3 MB (+0.0%)        | 5.39% → 5.39% (+0.0%)      |
+-----------------------------------+--------------------------+------------------------------+--------------------------------+------------------------------+--------------------------------+--------------------------------+--------------------------------+----------------------------+
| path_element::diff                | 32025 → 32025 (+0.0%)    | 104 B → 104 B (+0.0%)        | 12 B → 12 B (+0.0%)            | 12 B → 12 B (+0.0%)          | 12 B → 12 B (+0.0%)            | 12 B → 12 B (+0.0%)            | 3.2 MB → 3.2 MB (+0.0%)        | 5.20% → 5.20% (+0.0%)      |
+-----------------------------------+--------------------------+------------------------------+--------------------------------+------------------------------+--------------------------------+--------------------------------+--------------------------------+----------------------------+
| tree::apply_mutations             | 3 → 3 (+0.0%)            | 96.3 KB → 96.3 KB (+0.0%)    | 52 B → 52 B (+0.0%)            | 52 B → 52 B (+0.0%)          | 289.0 KB → 289.0 KB (+0.0%)    | 289.0 KB → 289.0 KB (+0.0%)    | 289.0 KB → 289.0 KB (+0.0%)    | 0.46% → 0.46% (+0.0%)      |
+-----------------------------------+--------------------------+------------------------------+--------------------------------+------------------------------+--------------------------------+--------------------------------+--------------------------------+----------------------------+
| dev_perf::main                    | 1 → 1 (+0.0%)            | 35.9 KB → 35.9 KB (+0.0%)    | 35.9 KB → 35.9 KB (+0.0%)      | 35.9 KB → 35.9 KB (+0.0%)    | 35.9 KB → 35.9 KB (+0.0%)      | 35.9 KB → 35.9 KB (+0.0%)      | 35.9 KB → 35.9 KB (+0.0%)      | 0.06% → 0.06% (+0.0%)      |
+-----------------------------------+--------------------------+------------------------------+--------------------------------+------------------------------+--------------------------------+--------------------------------+--------------------------------+----------------------------+
| runner::run_scope                 | 32025 → 32025 (+0.0%)    | 0 B → 0 B (+0.0%)            | 52 B → 52 B (+0.0%)            | 88 B → 88 B (+0.0%)          | 492 B → 492 B (+0.0%)          | 492 B → 492 B (+0.0%)          | 1.2 KB → 1.2 KB (+0.0%)        | 0.00% → 0.00% (+0.0%)      |
+-----------------------------------+--------------------------+------------------------------+--------------------------------+------------------------------+--------------------------------+--------------------------------+--------------------------------+----------------------------+
| effect cascade                    | 3 → 3 (+0.0%)            | 0 B → 0 B (+0.0%)            | 0 B → 0 B (+0.0%)              | 0 B → 0 B (+0.0%)            | 0 B → 0 B (+0.0%)              | 0 B → 0 B (+0.0%)              | 0 B → 0 B (+0.0%)              | 0.00% → 0.00% (+0.0%)      |
+-----------------------------------+--------------------------+------------------------------+--------------------------------+------------------------------+--------------------------------+--------------------------------+--------------------------------+----------------------------+
| runner::handle_events_immediately | 3 → 3 (+0.0%)            | 0 B → 0 B (+0.0%)            | 0 B → 0 B (+0.0%)              | 0 B → 0 B (+0.0%)            | 0 B → 0 B (+0.0%)              | 0 B → 0 B (+0.0%)              | 0 B → 0 B (+0.0%)              | 0.00% → 0.00% (+0.0%)      |
+-----------------------------------+--------------------------+------------------------------+--------------------------------+------------------------------+--------------------------------+--------------------------------+--------------------------------+----------------------------+

Threads

Total Alloc: 838.5 KB → 838.5 KB (+0.0%)
Total Dealloc: 720 B → 720 B (+0.0%)
Mem Diff: 837.8 KB → 837.8 KB (+0.0%)

+-----------------+----------------------------------+-----------+--------------------------------+--------------------------+--------------------------------+
| Thread          | CPU % Avg                        | CPU % Max | Alloc                          | Dealloc                  | Mem Diff                       |
+-----------------+----------------------------------+-----------+--------------------------------+--------------------------+--------------------------------+
| dev_perf        | 90387.10% → 90590.80% (+0.2%)    |           | 837.9 KB → 837.9 KB (+0.0%)    | 576 B → 576 B (+0.0%)    | 837.4 KB → 837.4 KB (+0.0%)    |
+-----------------+----------------------------------+-----------+--------------------------------+--------------------------+--------------------------------+
| hp-server       | 0.00% → 0.00% (+0.0%)            |           | 624 B → 624 B (+0.0%)          | 24 B → 24 B (+0.0%)      | 600 B → 600 B (+0.0%)          |
+-----------------+----------------------------------+-----------+--------------------------------+--------------------------+--------------------------------+
| hp-cpu-baseline | 0.00% → 0.00% (+0.0%)            |           | 15 B → 15 B (+0.0%)            | 24 B → 24 B (+0.0%)      | -9 B → -9 B (+0.0%)            |
+-----------------+----------------------------------+-----------+--------------------------------+--------------------------+--------------------------------+
| hp-functions    | 0.00% → 0.00% (+0.0%)            |           |                                |                          |                                |
+-----------------+----------------------------------+-----------+--------------------------------+--------------------------+--------------------------------+
| hp-threads      | 0.00% → 0.00% (+0.0%)            |           |                                |                          |                                |
+-----------------+----------------------------------+-----------+--------------------------------+--------------------------+--------------------------------+

Generated with hotpath-rs

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 6, 2026

Performance Comparison mainfeat/more-flexible-menu-styling

Total Elapsed Time: 54.14ms → 53.81ms (-0.6%)
CPU Baseline: 69.19µs → 74.44µs (+7.6%)
Benchmark ID: timing

timing - Execution duration of functions.

+-----------------------------------+--------------------------+----------------------------------+---------------------------------+----------------------------------+----------------------------------+----------------------------------+--------------------------------+------------------------------+
| Function                          | Calls                    | Avg                              | P33                             | P66                              | P95                              | P99                              | Total                          | % Total                      |
+-----------------------------------+--------------------------+----------------------------------+---------------------------------+----------------------------------+----------------------------------+----------------------------------+--------------------------------+------------------------------+
| dev_perf::main                    | 1 → 1 (+0.0%)            | 53.94ms → 53.59ms (-0.6%)        | 53.97ms → 53.61ms (-0.7%)       | 53.97ms → 53.61ms (-0.7%)        | 53.97ms → 53.61ms (-0.7%)        | 53.97ms → 53.61ms (-0.7%)        | 53.94ms → 53.59ms (-0.6%)      | 100.00% → 100.00% (+0.0%)    |
+-----------------------------------+--------------------------+----------------------------------+---------------------------------+----------------------------------+----------------------------------+----------------------------------+--------------------------------+------------------------------+
| runner::run_scope                 | 32025 → 32025 (+0.0%)    | 1.13µs → 1.14µs (+0.9%)          | 10.00ns → 10.00ns (+0.0%)       | 10.00ns → 20.00ns (+100.0%) ⚠️   | 20.00ns → 30.00ns (+50.0%) ⚠️    | 30.00ns → 30.00ns (+0.0%)        | 36.24ms → 36.56ms (+0.9%)      | 67.19% → 68.21% (+1.5%)      |
+-----------------------------------+--------------------------+----------------------------------+---------------------------------+----------------------------------+----------------------------------+----------------------------------+--------------------------------+------------------------------+
| runner::sync_and_update           | 3 → 3 (+0.0%)            | 9.92ms → 9.95ms (+0.3%)          | 6.50ms → 6.61ms (+1.7%)         | 6.64ms → 6.65ms (+0.2%)          | 16.61ms → 16.59ms (-0.1%)        | 16.61ms → 16.59ms (-0.1%)        | 29.75ms → 29.84ms (+0.3%)      | 55.15% → 55.68% (+1.0%)      |
+-----------------------------------+--------------------------+----------------------------------+---------------------------------+----------------------------------+----------------------------------+----------------------------------+--------------------------------+------------------------------+
| tree::apply_mutations             | 3 → 3 (+0.0%)            | 7.62ms → 7.53ms (-1.2%)          | 1.86ms → 1.82ms (-2.2%)         | 7.68ms → 7.35ms (-4.3%)          | 13.33ms → 13.43ms (+0.8%)        | 13.33ms → 13.43ms (+0.8%)        | 22.86ms → 22.60ms (-1.1%)      | 42.38% → 42.16% (-0.5%)      |
+-----------------------------------+--------------------------+----------------------------------+---------------------------------+----------------------------------+----------------------------------+----------------------------------+--------------------------------+------------------------------+
| path_element::diff                | 32025 → 32025 (+0.0%)    | 380.00ns → 383.00ns (+0.8%)      | 40.00ns → 30.00ns (-25.0%) 🚀   | 50.00ns → 60.00ns (+20.0%)       | 180.00ns → 200.00ns (+11.1%)     | 821.00ns → 841.00ns (+2.4%)      | 12.18ms → 12.29ms (+0.9%)      | 22.59% → 22.94% (+1.5%)      |
+-----------------------------------+--------------------------+----------------------------------+---------------------------------+----------------------------------+----------------------------------+----------------------------------+--------------------------------+------------------------------+
| path_element::from_element        | 32025 → 32025 (+0.0%)    | 315.00ns → 313.00ns (-0.6%)      | 20.00ns → 20.00ns (+0.0%)       | 40.00ns → 40.00ns (+0.0%)        | 50.00ns → 50.00ns (+0.0%)        | 51.00ns → 51.00ns (+0.0%)        | 10.10ms → 10.04ms (-0.6%)      | 18.73% → 18.74% (+0.1%)      |
+-----------------------------------+--------------------------+----------------------------------+---------------------------------+----------------------------------+----------------------------------+----------------------------------+--------------------------------+------------------------------+
| mutations run                     | 3 → 3 (+0.0%)            | 3.35ms → 3.22ms (-3.9%)          | 3.48µs → 2.77µs (-20.4%) 🚀     | 2.37ms → 2.30ms (-3.0%)          | 7.68ms → 7.35ms (-4.3%)          | 7.68ms → 7.35ms (-4.3%)          | 10.05ms → 9.65ms (-4.0%)       | 18.63% → 18.00% (-3.4%)      |
+-----------------------------------+--------------------------+----------------------------------+---------------------------------+----------------------------------+----------------------------------+----------------------------------+--------------------------------+------------------------------+
| Scope Rendering                   | 2 → 2 (+0.0%)            | 3.63ms → 3.77ms (+3.9%)          | 3.41ms → 3.41ms (+0.0%)         | 3.85ms → 4.13ms (+7.3%)          | 3.85ms → 4.13ms (+7.3%)          | 3.85ms → 4.13ms (+7.3%)          | 7.26ms → 7.54ms (+3.9%)        | 13.46% → 14.07% (+4.5%)      |
+-----------------------------------+--------------------------+----------------------------------+---------------------------------+----------------------------------+----------------------------------+----------------------------------+--------------------------------+------------------------------+
| runner::apply_diff                | 6 → 6 (+0.0%)            | 1.12ms → 1.08ms (-3.6%)          | 7.08µs → 6.88µs (-2.8%)         | 1.59ms → 1.52ms (-4.4%)          | 2.10ms → 1.99ms (-5.2%)          | 2.10ms → 1.99ms (-5.2%)          | 6.71ms → 6.45ms (-3.9%)        | 12.44% → 12.04% (-3.2%)      |
+-----------------------------------+--------------------------+----------------------------------+---------------------------------+----------------------------------+----------------------------------+----------------------------------+--------------------------------+------------------------------+
| dirty run                         | 3 → 3 (+0.0%)            | 1.45ms → 1.56ms (+7.6%)          | 411.00ns → 441.00ns (+7.3%)     | 1.52µs → 1.04µs (-31.6%) 🚀      | 4.35ms → 4.68ms (+7.6%)          | 4.35ms → 4.68ms (+7.6%)          | 4.35ms → 4.68ms (+7.6%)        | 8.06% → 8.74% (+8.4%)        |
+-----------------------------------+--------------------------+----------------------------------+---------------------------------+----------------------------------+----------------------------------+----------------------------------+--------------------------------+------------------------------+
| text style cascade                | 3 → 3 (+0.0%)            | 1.47ms → 1.44ms (-2.0%)          | 40.00ns → 40.00ns (+0.0%)       | 852.00ns → 731.00ns (-14.2%)     | 4.42ms → 4.33ms (-2.0%)          | 4.42ms → 4.33ms (-2.0%)          | 4.42ms → 4.32ms (-2.3%)        | 8.18% → 8.07% (-1.3%)        |
+-----------------------------------+--------------------------+----------------------------------+---------------------------------+----------------------------------+----------------------------------+----------------------------------+--------------------------------+------------------------------+
| layer cascade                     | 3 → 3 (+0.0%)            | 1.28ms → 1.28ms (+0.0%)          | 170.00ns → 190.00ns (+11.8%)    | 1.85ms → 1.81ms (-2.2%)          | 1.98ms → 2.03ms (+2.5%)          | 1.98ms → 2.03ms (+2.5%)          | 3.83ms → 3.84ms (+0.3%)        | 7.10% → 7.17% (+1.0%)        |
+-----------------------------------+--------------------------+----------------------------------+---------------------------------+----------------------------------+----------------------------------+----------------------------------+--------------------------------+------------------------------+
| runner::handle_events_immediately | 3 → 3 (+0.0%)            | 254.00ns → 264.00ns (+3.9%)      | 181.00ns → 190.00ns (+5.0%)     | 201.00ns → 221.00ns (+10.0%)     | 381.00ns → 381.00ns (+0.0%)      | 381.00ns → 381.00ns (+0.0%)      | 763.00ns → 792.00ns (+3.8%)    | 0.00% → 0.00% (+0.0%)        |
+-----------------------------------+--------------------------+----------------------------------+---------------------------------+----------------------------------+----------------------------------+----------------------------------+--------------------------------+------------------------------+
| effect cascade                    | 3 → 3 (+0.0%)            | 384.00ns → 166.00ns (-56.8%) 🚀  | 331.00ns → 90.00ns (-72.8%) 🚀  | 340.00ns → 200.00ns (-41.2%) 🚀  | 481.00ns → 210.00ns (-56.3%) 🚀  | 481.00ns → 210.00ns (-56.3%) 🚀  | 1.15µs → 500.00ns (-56.5%) 🚀  | 0.00% → 0.00% (+0.0%)        |
+-----------------------------------+--------------------------+----------------------------------+---------------------------------+----------------------------------+----------------------------------+----------------------------------+--------------------------------+------------------------------+

Threads

+-----------------+--------------------------------------+-----------+
| Thread          | CPU % Avg                            | CPU % Max |
+-----------------+--------------------------------------+-----------+
| dev_perf        | 88671.30% → 648872.50% (+631.8%) ⚠️  |           |
+-----------------+--------------------------------------+-----------+
| hp-functions    | 0.00% → 0.00% (+0.0%)                |           |
+-----------------+--------------------------------------+-----------+
| hp-threads      | 0.00% → 0.00% (+0.0%)                |           |
+-----------------+--------------------------------------+-----------+
| hp-server       | 0.00% → 0.00% (+0.0%)                |           |
+-----------------+--------------------------------------+-----------+
| hp-cpu-baseline | 0.00% → 0.00% (+0.0%)                |           |
+-----------------+--------------------------------------+-----------+

Generated with hotpath-rs

@marc2332 marc2332 marked this pull request as ready for review May 6, 2026 20:14
@marc2332 marc2332 moved this from In Progress to Pending for Review in Freya Planning May 6, 2026
@marc2332 marc2332 merged commit 5d649fd into main May 9, 2026
11 of 15 checks passed
@marc2332 marc2332 deleted the feat/more-flexible-menu-styling branch May 9, 2026 16:32
@github-project-automation github-project-automation Bot moved this from Pending for Review to Done in Freya Planning May 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

1 participant