Skip to content

feat(core): on_visible#1997

Draft
marc2332 wants to merge 5 commits into
mainfrom
feat/on-visible
Draft

feat(core): on_visible#1997
marc2332 wants to merge 5 commits into
mainfrom
feat/on-visible

Conversation

@marc2332

@marc2332 marc2332 commented Jul 5, 2026

Copy link
Copy Markdown
Owner

No description provided.

@marc2332 marc2332 added this to the 0.4.1 milestone Jul 5, 2026
@marc2332 marc2332 self-assigned this Jul 5, 2026
@marc2332 marc2332 added the enhancement 🔥 New feature or request label Jul 5, 2026
@marc2332 marc2332 marked this pull request as draft July 5, 2026 13:55
@marc2332 marc2332 moved this to In Progress in Freya Planning Jul 5, 2026
@github-actions

github-actions Bot commented Jul 5, 2026

Copy link
Copy Markdown

Performance Comparison mainfeat/on-visible

Total Elapsed Time: 69.23ms → 70.25ms (+1.5%)
CPU Baseline: 90.86µs → 90.96µs (+0.1%)
Benchmark ID: alloc

timing - Function execution time metrics.

+-----------------------------------+--------------------------+----------------------------------+----------------------------------+---------------------------------+----------------------------------+----------------------------------+---------------------------------+------------------------------+
| Function                          | Calls                    | Avg                              | P33                              | P66                             | P95                              | P99                              | Total                           | % Total                      |
+-----------------------------------+--------------------------+----------------------------------+----------------------------------+---------------------------------+----------------------------------+----------------------------------+---------------------------------+------------------------------+
| dev_perf::main                    | 1 → 1 (+0.0%)            | 68.85ms → 69.96ms (+1.6%)        | 68.88ms → 69.99ms (+1.6%)        | 68.88ms → 69.99ms (+1.6%)       | 68.88ms → 69.99ms (+1.6%)        | 68.88ms → 69.99ms (+1.6%)        | 68.87ms → 69.95ms (+1.6%)       | 100.00% → 100.00% (+0.0%)    |
+-----------------------------------+--------------------------+----------------------------------+----------------------------------+---------------------------------+----------------------------------+----------------------------------+---------------------------------+------------------------------+
| runner::run_scope                 | 32025 → 32025 (+0.0%)    | 1.40µs → 1.41µs (+0.7%)          | 10.00ns → 10.00ns (+0.0%)        | 20.00ns → 20.00ns (+0.0%)       | 20.00ns → 20.00ns (+0.0%)        | 30.00ns → 40.00ns (+33.3%) ⚠️    | 44.86ms → 45.25ms (+0.9%)       | 65.14% → 64.68% (-0.7%)      |
+-----------------------------------+--------------------------+----------------------------------+----------------------------------+---------------------------------+----------------------------------+----------------------------------+---------------------------------+------------------------------+
| runner::sync_and_update           | 3 → 3 (+0.0%)            | 12.34ms → 12.51ms (+1.4%)        | 7.57ms → 7.56ms (-0.1%)          | 8.84ms → 9.20ms (+4.1%)         | 20.63ms → 20.77ms (+0.7%)        | 20.63ms → 20.77ms (+0.7%)        | 37.01ms → 37.51ms (+1.4%)       | 53.74% → 53.63% (-0.2%)      |
+-----------------------------------+--------------------------+----------------------------------+----------------------------------+---------------------------------+----------------------------------+----------------------------------+---------------------------------+------------------------------+
| tree::apply_mutations             | 3 → 3 (+0.0%)            | 10.16ms → 10.36ms (+2.0%)        | 2.78ms → 2.81ms (+1.1%)          | 10.35ms → 10.95ms (+5.8%)       | 17.35ms → 17.32ms (-0.2%)        | 17.35ms → 17.32ms (-0.2%)        | 30.47ms → 31.07ms (+2.0%)       | 44.24% → 44.41% (+0.4%)      |
+-----------------------------------+--------------------------+----------------------------------+----------------------------------+---------------------------------+----------------------------------+----------------------------------+---------------------------------+------------------------------+
| path_element::from_element        | 32025 → 32025 (+0.0%)    | 449.00ns → 440.00ns (-2.0%)      | 40.00ns → 40.00ns (+0.0%)        | 50.00ns → 50.00ns (+0.0%)       | 70.00ns → 70.00ns (+0.0%)        | 80.00ns → 80.00ns (+0.0%)        | 14.38ms → 14.11ms (-1.9%)       | 20.88% → 20.17% (-3.4%)      |
+-----------------------------------+--------------------------+----------------------------------+----------------------------------+---------------------------------+----------------------------------+----------------------------------+---------------------------------+------------------------------+
| mutations run                     | 3 → 3 (+0.0%)            | 4.43ms → 4.65ms (+5.0%)          | 5.11µs → 5.66µs (+10.8%)         | 2.93ms → 3.01ms (+2.7%)         | 10.35ms → 10.95ms (+5.8%)        | 10.35ms → 10.95ms (+5.8%)        | 13.28ms → 13.96ms (+5.1%)       | 19.28% → 19.95% (+3.5%)      |
+-----------------------------------+--------------------------+----------------------------------+----------------------------------+---------------------------------+----------------------------------+----------------------------------+---------------------------------+------------------------------+
| path_element::diff                | 32025 → 32025 (+0.0%)    | 401.00ns → 409.00ns (+2.0%)      | 50.00ns → 50.00ns (+0.0%)        | 51.00ns → 60.00ns (+17.6%)      | 170.00ns → 171.00ns (+0.6%)      | 621.00ns → 701.00ns (+12.9%)     | 12.85ms → 13.11ms (+2.0%)       | 18.65% → 18.74% (+0.5%)      |
+-----------------------------------+--------------------------+----------------------------------+----------------------------------+---------------------------------+----------------------------------+----------------------------------+---------------------------------+------------------------------+
| runner::apply_diff                | 6 → 6 (+0.0%)            | 1.54ms → 1.57ms (+1.9%)          | 4.65µs → 5.12µs (+10.1%)         | 2.18ms → 2.31ms (+6.0%)         | 2.62ms → 2.62ms (+0.0%)          | 2.62ms → 2.62ms (+0.0%)          | 9.26ms → 9.44ms (+1.9%)         | 13.45% → 13.50% (+0.4%)      |
+-----------------------------------+--------------------------+----------------------------------+----------------------------------+---------------------------------+----------------------------------+----------------------------------+---------------------------------+------------------------------+
| Scope Rendering                   | 2 → 2 (+0.0%)            | 4.21ms → 4.28ms (+1.7%)          | 3.92ms → 3.98ms (+1.5%)          | 4.50ms → 4.59ms (+2.0%)         | 4.50ms → 4.59ms (+2.0%)          | 4.50ms → 4.59ms (+2.0%)          | 8.41ms → 8.57ms (+1.9%)         | 12.21% → 12.25% (+0.3%)      |
+-----------------------------------+--------------------------+----------------------------------+----------------------------------+---------------------------------+----------------------------------+----------------------------------+---------------------------------+------------------------------+
| dirty run                         | 3 → 3 (+0.0%)            | 1.88ms → 2.00ms (+6.4%)          | 441.00ns → 391.00ns (-11.3%)     | 2.65µs → 2.50µs (-5.7%)         | 5.64ms → 5.99ms (+6.2%)          | 5.64ms → 5.99ms (+6.2%)          | 5.64ms → 5.99ms (+6.2%)         | 8.19% → 8.56% (+4.5%)        |
+-----------------------------------+--------------------------+----------------------------------+----------------------------------+---------------------------------+----------------------------------+----------------------------------+---------------------------------+------------------------------+
| layer cascade                     | 3 → 3 (+0.0%)            | 1.86ms → 1.87ms (+0.5%)          | 150.00ns → 150.00ns (+0.0%)      | 2.77ms → 2.80ms (+1.1%)         | 2.81ms → 2.80ms (-0.4%)          | 2.81ms → 2.80ms (-0.4%)          | 5.58ms → 5.60ms (+0.4%)         | 8.10% → 8.00% (-1.2%)        |
+-----------------------------------+--------------------------+----------------------------------+----------------------------------+---------------------------------+----------------------------------+----------------------------------+---------------------------------+------------------------------+
| text style cascade                | 3 → 3 (+0.0%)            | 1.95ms → 1.80ms (-7.7%)          | 120.00ns → 130.00ns (+8.3%)      | 2.31µs → 2.19µs (-5.2%)         | 5.85ms → 5.41ms (-7.5%)          | 5.85ms → 5.41ms (-7.5%)          | 5.85ms → 5.41ms (-7.5%)         | 8.50% → 7.73% (-9.1%)        |
+-----------------------------------+--------------------------+----------------------------------+----------------------------------+---------------------------------+----------------------------------+----------------------------------+---------------------------------+------------------------------+
| runner::handle_events_immediately | 3 → 3 (+0.0%)            | 401.00ns → 300.00ns (-25.2%) 🚀  | 371.00ns → 230.00ns (-38.0%) 🚀  | 381.00ns → 310.00ns (-18.6%)    | 451.00ns → 360.00ns (-20.2%) 🚀  | 451.00ns → 360.00ns (-20.2%) 🚀  | 1.20µs → 900.00ns (-25.0%) 🚀   | 0.00% → 0.00% (+0.0%)        |
+-----------------------------------+--------------------------+----------------------------------+----------------------------------+---------------------------------+----------------------------------+----------------------------------+---------------------------------+------------------------------+
| effect cascade                    | 3 → 3 (+0.0%)            | 180.00ns → 150.00ns (-16.7%)     | 120.00ns → 131.00ns (+9.2%)      | 130.00ns → 140.00ns (+7.7%)     | 291.00ns → 180.00ns (-38.1%) 🚀  | 291.00ns → 180.00ns (-38.1%) 🚀  | 541.00ns → 451.00ns (-16.6%)    | 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%)            | 7.0 MB → 7.0 MB (+0.0%)      | 7.0 MB → 7.0 MB (+0.0%)        | 7.0 MB → 7.0 MB (+0.0%)      | 7.0 MB → 7.0 MB (+0.0%)        | 7.0 MB → 7.0 MB (+0.0%)        | 13.9 MB → 13.9 MB (+0.0%)      | 22.39% → 22.39% (+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.08% → 15.08% (+0.0%)    |
+-----------------------------------+--------------------------+------------------------------+--------------------------------+------------------------------+--------------------------------+--------------------------------+--------------------------------+----------------------------+
| runner::sync_and_update           | 3 → 3 (+0.0%)            | 2.8 MB → 2.8 MB (+0.0%)      | 1.1 KB → 1.1 KB (+0.0%)        | 1.4 MB → 1.4 MB (+0.0%)      | 7.0 MB → 7.0 MB (+0.0%)        | 7.0 MB → 7.0 MB (+0.0%)        | 8.4 MB → 8.4 MB (+0.0%)        | 13.45% → 13.45% (+0.0%)    |
+-----------------------------------+--------------------------+------------------------------+--------------------------------+------------------------------+--------------------------------+--------------------------------+--------------------------------+----------------------------+
| text style cascade                | 3 → 3 (+0.0%)            | 2.8 MB → 2.8 MB (+0.0%)      | 84 B → 84 B (+0.0%)            | 8.3 MB → 8.3 MB (+0.0%)      | 8.3 MB → 8.3 MB (+0.0%)        | 8.3 MB → 8.3 MB (+0.0%)        | 8.3 MB → 8.3 MB (+0.0%)        | 13.31% → 13.31% (+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.16% → 12.16% (+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.73% → 6.73% (+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%)        | 5.95% → 5.95% (+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.30% → 5.30% (+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.12% → 5.12% (+0.0%)      |
+-----------------------------------+--------------------------+------------------------------+--------------------------------+------------------------------+--------------------------------+--------------------------------+--------------------------------+----------------------------+
| tree::apply_mutations             | 3 → 3 (+0.0%)            | 96.4 KB → 96.4 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.1 KB → 289.1 KB (+0.0%)    | 0.45% → 0.45% (+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: 780.6 KB → 996.9 KB (+27.7%) ⚠️
Total Dealloc: 672 B → 696 B (+3.6%)
Mem Diff: 779.9 KB → 996.2 KB (+27.7%) ⚠️

+-----------------+------------------------------------+-----------+----------------------------------+--------------------------+----------------------------------+
| Thread          | CPU % Avg                          | CPU % Max | Alloc                            | Dealloc                  | Mem Diff                         |
+-----------------+------------------------------------+-----------+----------------------------------+--------------------------+----------------------------------+
| dev_perf        | 99149.40% → 74965.10% (-24.4%) 🚀  |           | 780.1 KB → 996.2 KB (+27.7%) ⚠️  | 576 B → 576 B (+0.0%)    | 779.6 KB → 995.7 KB (+27.7%) ⚠️  |
+-----------------+------------------------------------+-----------+----------------------------------+--------------------------+----------------------------------+
| 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-threads      | 0.00% → 0.00% (+0.0%)              |           |                                  |                          |                                  |
+-----------------+------------------------------------+-----------+----------------------------------+--------------------------+----------------------------------+
| 🗑️ hp-functions | 0.00% → 0.00% (+0.0%)              |           |                                  |                          |                                  |
+-----------------+------------------------------------+-----------+----------------------------------+--------------------------+----------------------------------+

Generated with hotpath-rs

@github-actions

github-actions Bot commented Jul 5, 2026

Copy link
Copy Markdown

Performance Comparison mainfeat/on-visible

Total Elapsed Time: 67.54ms → 63.43ms (-6.1%)
CPU Baseline: 92.93µs → 97.96µs (+5.4%)
Benchmark ID: timing

timing - Execution duration of functions.

+-----------------------------------+--------------------------+----------------------------------+---------------------------------+----------------------------------+----------------------------------+----------------------------------+--------------------------------+------------------------------+
| Function                          | Calls                    | Avg                              | P33                             | P66                              | P95                              | P99                              | Total                          | % Total                      |
+-----------------------------------+--------------------------+----------------------------------+---------------------------------+----------------------------------+----------------------------------+----------------------------------+--------------------------------+------------------------------+
| dev_perf::main                    | 1 → 1 (+0.0%)            | 67.14ms → 63.15ms (-5.9%)        | 67.17ms → 63.18ms (-5.9%)       | 67.17ms → 63.18ms (-5.9%)        | 67.17ms → 63.18ms (-5.9%)        | 67.17ms → 63.18ms (-5.9%)        | 67.14ms → 63.15ms (-5.9%)      | 100.00% → 100.00% (+0.0%)    |
+-----------------------------------+--------------------------+----------------------------------+---------------------------------+----------------------------------+----------------------------------+----------------------------------+--------------------------------+------------------------------+
| runner::run_scope                 | 32025 → 32025 (+0.0%)    | 1.28µs → 1.23µs (-3.9%)          | 10.00ns → 10.00ns (+0.0%)       | 20.00ns → 20.00ns (+0.0%)        | 20.00ns → 20.00ns (+0.0%)        | 31.00ns → 30.00ns (-3.2%)        | 41.04ms → 39.50ms (-3.8%)      | 61.13% → 62.54% (+2.3%)      |
+-----------------------------------+--------------------------+----------------------------------+---------------------------------+----------------------------------+----------------------------------+----------------------------------+--------------------------------+------------------------------+
| runner::sync_and_update           | 3 → 3 (+0.0%)            | 11.34ms → 11.00ms (-3.0%)        | 6.81ms → 6.53ms (-4.1%)         | 8.19ms → 8.18ms (-0.1%)          | 19.04ms → 18.28ms (-4.0%)        | 19.04ms → 18.28ms (-4.0%)        | 34.03ms → 32.99ms (-3.1%)      | 50.69% → 52.23% (+3.0%)      |
+-----------------------------------+--------------------------+----------------------------------+---------------------------------+----------------------------------+----------------------------------+----------------------------------+--------------------------------+------------------------------+
| tree::apply_mutations             | 3 → 3 (+0.0%)            | 10.53ms → 9.60ms (-8.8%)         | 2.98ms → 2.41ms (-19.1%)        | 10.63ms → 10.05ms (-5.5%)        | 17.99ms → 16.36ms (-9.1%)        | 17.99ms → 16.36ms (-9.1%)        | 31.60ms → 28.81ms (-8.8%)      | 47.07% → 45.62% (-3.1%)      |
+-----------------------------------+--------------------------+----------------------------------+---------------------------------+----------------------------------+----------------------------------+----------------------------------+--------------------------------+------------------------------+
| mutations run                     | 3 → 3 (+0.0%)            | 4.71ms → 4.27ms (-9.3%)          | 4.34µs → 3.42µs (-21.2%) 🚀     | 3.49ms → 2.75ms (-21.2%) 🚀      | 10.63ms → 10.05ms (-5.5%)        | 10.63ms → 10.05ms (-5.5%)        | 14.12ms → 12.80ms (-9.3%)      | 21.03% → 20.27% (-3.6%)      |
+-----------------------------------+--------------------------+----------------------------------+---------------------------------+----------------------------------+----------------------------------+----------------------------------+--------------------------------+------------------------------+
| path_element::diff                | 32025 → 32025 (+0.0%)    | 355.00ns → 342.00ns (-3.7%)      | 30.00ns → 30.00ns (+0.0%)       | 50.00ns → 50.00ns (+0.0%)        | 170.00ns → 160.00ns (-5.9%)      | 581.00ns → 612.00ns (+5.3%)      | 11.38ms → 10.96ms (-3.7%)      | 16.95% → 17.36% (+2.4%)      |
+-----------------------------------+--------------------------+----------------------------------+---------------------------------+----------------------------------+----------------------------------+----------------------------------+--------------------------------+------------------------------+
| path_element::from_element        | 32025 → 32025 (+0.0%)    | 319.00ns → 322.00ns (+0.9%)      | 20.00ns → 20.00ns (+0.0%)       | 30.00ns → 30.00ns (+0.0%)        | 40.00ns → 40.00ns (+0.0%)        | 50.00ns → 51.00ns (+2.0%)        | 10.23ms → 10.32ms (+0.9%)      | 15.24% → 16.34% (+7.2%)      |
+-----------------------------------+--------------------------+----------------------------------+---------------------------------+----------------------------------+----------------------------------+----------------------------------+--------------------------------+------------------------------+
| Scope Rendering                   | 2 → 2 (+0.0%)            | 4.35ms → 4.24ms (-2.5%)          | 4.07ms → 3.94ms (-3.2%)         | 4.63ms → 4.54ms (-1.9%)          | 4.63ms → 4.54ms (-1.9%)          | 4.63ms → 4.54ms (-1.9%)          | 8.70ms → 8.48ms (-2.5%)        | 12.95% → 13.43% (+3.7%)      |
+-----------------------------------+--------------------------+----------------------------------+---------------------------------+----------------------------------+----------------------------------+----------------------------------+--------------------------------+------------------------------+
| runner::apply_diff                | 6 → 6 (+0.0%)            | 1.46ms → 1.38ms (-5.5%)          | 7.38µs → 7.23µs (-2.0%)         | 2.10ms → 1.92ms (-8.6%)          | 2.51ms → 2.48ms (-1.2%)          | 2.51ms → 2.48ms (-1.2%)          | 8.75ms → 8.29ms (-5.3%)        | 13.04% → 13.12% (+0.6%)      |
+-----------------------------------+--------------------------+----------------------------------+---------------------------------+----------------------------------+----------------------------------+----------------------------------+--------------------------------+------------------------------+
| dirty run                         | 3 → 3 (+0.0%)            | 2.02ms → 1.87ms (-7.4%)          | 401.00ns → 440.00ns (+9.7%)     | 2.37µs → 1.88µs (-20.7%) 🚀      | 6.05ms → 5.61ms (-7.3%)          | 6.05ms → 5.61ms (-7.3%)          | 6.05ms → 5.61ms (-7.3%)        | 9.02% → 8.88% (-1.6%)        |
+-----------------------------------+--------------------------+----------------------------------+---------------------------------+----------------------------------+----------------------------------+----------------------------------+--------------------------------+------------------------------+
| text style cascade                | 3 → 3 (+0.0%)            | 1.84ms → 1.73ms (-6.0%)          | 141.00ns → 140.00ns (-0.7%)     | 1.87µs → 1.63µs (-12.8%)         | 5.51ms → 5.19ms (-5.8%)          | 5.51ms → 5.19ms (-5.8%)          | 5.51ms → 5.19ms (-5.8%)        | 8.21% → 8.21% (+0.0%)        |
+-----------------------------------+--------------------------+----------------------------------+---------------------------------+----------------------------------+----------------------------------+----------------------------------+--------------------------------+------------------------------+
| layer cascade                     | 3 → 3 (+0.0%)            | 1.93ms → 1.70ms (-11.9%)         | 141.00ns → 160.00ns (+13.5%)    | 2.81ms → 2.40ms (-14.6%)         | 2.97ms → 2.69ms (-9.4%)          | 2.97ms → 2.69ms (-9.4%)          | 5.78ms → 5.09ms (-11.9%)       | 8.61% → 8.06% (-6.4%)        |
+-----------------------------------+--------------------------+----------------------------------+---------------------------------+----------------------------------+----------------------------------+----------------------------------+--------------------------------+------------------------------+
| effect cascade                    | 3 → 3 (+0.0%)            | 313.00ns → 411.00ns (+31.3%) ⚠️  | 250.00ns → 271.00ns (+8.4%)     | 290.00ns → 311.00ns (+7.2%)      | 401.00ns → 651.00ns (+62.3%) ⚠️  | 401.00ns → 651.00ns (+62.3%) ⚠️  | 941.00ns → 1.23µs (+30.7%) ⚠️  | 0.00% → 0.00% (+0.0%)        |
+-----------------------------------+--------------------------+----------------------------------+---------------------------------+----------------------------------+----------------------------------+----------------------------------+--------------------------------+------------------------------+
| runner::handle_events_immediately | 3 → 3 (+0.0%)            | 370.00ns → 300.00ns (-18.9%)     | 220.00ns → 211.00ns (-4.1%)     | 351.00ns → 270.00ns (-23.1%) 🚀  | 541.00ns → 420.00ns (-22.4%) 🚀  | 541.00ns → 420.00ns (-22.4%) 🚀  | 1.11µs → 901.00ns (-18.8%)     | 0.00% → 0.00% (+0.0%)        |
+-----------------------------------+--------------------------+----------------------------------+---------------------------------+----------------------------------+----------------------------------+----------------------------------+--------------------------------+------------------------------+

Threads

+-----------------+--------------------------------------+-----------+
| Thread          | CPU % Avg                            | CPU % Max |
+-----------------+--------------------------------------+-----------+
| dev_perf        | 84384.60% → 496907.50% (+488.9%) ⚠️  |           |
+-----------------+--------------------------------------+-----------+
| 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

@codecov

codecov Bot commented Jul 5, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 97.07113% with 7 lines in your changes missing coverage. Please review.
✅ Project coverage is 62.04%. Comparing base (f6d0ab0) to head (101faeb).
⚠️ Report is 3 commits behind head on main.

Files with missing lines Patch % Lines
crates/freya-core/src/runner.rs 78.57% 3 Missing ⚠️
crates/freya-winit/src/window.rs 0.00% 2 Missing ⚠️
crates/freya-core/src/tree.rs 97.05% 1 Missing ⚠️
crates/freya-winit/src/renderer.rs 0.00% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1997      +/-   ##
==========================================
+ Coverage   61.84%   62.04%   +0.19%     
==========================================
  Files         332      334       +2     
  Lines       43370    43608     +238     
==========================================
+ Hits        26823    27057     +234     
- Misses      16547    16551       +4     

☔ View full report in Codecov by Harness.
📢 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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement 🔥 New feature or request

Projects

Status: In Progress

Development

Successfully merging this pull request may close these issues.

1 participant