Skip to content

docs: lower right-side TOC panel breakpoint to 1280px#104

Merged
cloud-hai-vo merged 1 commit intomainfrom
docs/lower-toc-breakpoint
Apr 18, 2026
Merged

docs: lower right-side TOC panel breakpoint to 1280px#104
cloud-hai-vo merged 1 commit intomainfrom
docs/lower-toc-breakpoint

Conversation

@cloud-hai-vo
Copy link
Copy Markdown
Contributor

Summary

  • Lowers the min-width breakpoint for the right-side "On this page" TOC panel from 1380px1280px
  • Panel was already implemented and wired up; it just wasn't visible on standard 1280px displays
  • Applies to all content pages (Advanced Features, Getting Started, API Reference, etc.) — the panel is JS-generated from h2 headings at runtime, no per-page HTML changes needed

🤖 Generated with Claude Code

Copilot AI review requested due to automatic review settings April 18, 2026 02:36
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates EggMapper docs styling so the right-side “On this page” TOC panel becomes visible on standard 1280px-wide displays by lowering its display breakpoint.

Changes:

  • Lowered .toc-panel visibility breakpoint from min-width: 1380px to min-width: 1280px.

.toc-panel::-webkit-scrollbar-thumb { background: var(--border); border-radius: 2px; }

@media (min-width: 1380px) { .toc-panel { display: block; } }
@media (min-width: 1280px) { .toc-panel { display: block; } }
Copy link

Copilot AI Apr 18, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lowering the TOC panel breakpoint to 1280px causes the fixed right-side panel (196px wide, right: 1.5rem) to overlap the main .content-wrapper at exactly 1280px. With --sidebar-w: 264px and .main-content padding of 3rem, the available right gutter is ~208px at 1280px, while the panel needs ~220px, so content can be covered. Consider either (a) using a slightly higher breakpoint (>=1292px), or (b) adding a media-query adjustment that reserves space when the panel is shown (e.g., increased .main-content right padding / .content-wrapper right margin) or reduces panel width/right offset for 1280–1379px.

Suggested change
@media (min-width: 1280px) { .toc-panel { display: block; } }
@media (min-width: 1292px) { .toc-panel { display: block; } }

Copilot uses AI. Check for mistakes.
@cloud-hai-vo cloud-hai-vo merged commit e2448fc into main Apr 18, 2026
8 checks passed
@cloud-hai-vo cloud-hai-vo deleted the docs/lower-toc-breakpoint branch April 18, 2026 02:40
@github-actions
Copy link
Copy Markdown
Contributor

📊 Benchmark Results

Generated: 2026-04-18 02:42 UTC  ·  Download full artifacts

Column guide:
Mean = average execution time  ·  Error = half of 99.9 % confidence interval  ·  StdDev = standard deviation  ·  Min / Median / Max = statistical range  ·  Ratio = vs Manual baseline (lower = closer to hand-written speed)  ·  RatioSD = ratio std dev  ·  Rank = 1 is fastest  ·  Gen0/1/2 = GC collections per 1 000 ops  ·  Allocated = managed heap per operation  ·  Alloc Ratio = allocation ratio vs baseline

🔵 Flat Mapping — 10-property object

Method Mean Error StdDev Min Median Max Ratio RatioSD Rank Gen0 Allocated Alloc Ratio
Manual 14.98 ns 5.426 ns 0.297 ns 14.64 ns 15.14 ns 15.17 ns 1.00 0.02 1 0.0048 80 B 1.00
EggMapper 25.68 ns 9.951 ns 0.545 ns 25.20 ns 25.56 ns 26.27 ns 1.71 0.04 2 0.0048 80 B 1.00
AutoMapper 86.65 ns 1.919 ns 0.105 ns 86.58 ns 86.60 ns 86.77 ns 5.78 0.10 3 0.0048 80 B 1.00
Mapster 28.19 ns 4.898 ns 0.268 ns 27.88 ns 28.30 ns 28.39 ns 1.88 0.04 2 0.0048 80 B 1.00
MapperlyMap 14.86 ns 3.357 ns 0.184 ns 14.65 ns 14.97 ns 14.97 ns 0.99 0.02 1 0.0048 80 B 1.00
AgileMapper 487.44 ns 14.663 ns 0.804 ns 486.53 ns 487.76 ns 488.03 ns 32.54 0.57 4 0.0200 344 B 4.30
EggMapperGenerator 15.50 ns 1.108 ns 0.061 ns 15.45 ns 15.48 ns 15.57 ns 1.03 0.02 1 0.0048 80 B 1.00
EggMapperClassMapper 15.26 ns 11.825 ns 0.648 ns 14.81 ns 14.96 ns 16.00 ns 1.02 0.04 1 0.0048 80 B 1.00

🟡 Flattening — 2 nested objects → 8 flat properties

Method Mean Error StdDev Min Median Max Ratio RatioSD Rank Gen0 Allocated Alloc Ratio
Manual 18.55 ns 0.758 ns 0.042 ns 18.51 ns 18.56 ns 18.59 ns 1.00 0.00 1 0.0048 80 B 1.00
EggMap 32.05 ns 14.527 ns 0.796 ns 31.14 ns 32.39 ns 32.62 ns 1.73 0.04 3 0.0048 80 B 1.00
AutoMapper 95.24 ns 2.096 ns 0.115 ns 95.14 ns 95.20 ns 95.37 ns 5.13 0.01 4 0.0048 80 B 1.00
Mapster 35.46 ns 3.053 ns 0.167 ns 35.36 ns 35.36 ns 35.65 ns 1.91 0.01 3 0.0048 80 B 1.00
MapperlyMap 23.89 ns 1.549 ns 0.085 ns 23.81 ns 23.90 ns 23.98 ns 1.29 0.00 2 0.0062 104 B 1.30
AgileMapper 497.96 ns 56.839 ns 3.116 ns 495.07 ns 497.54 ns 501.26 ns 26.84 0.15 5 0.0200 344 B 4.30

🟣 Deep Mapping — 2 nested address objects

Method Mean Error StdDev Min Median Max Ratio RatioSD Rank Gen0 Allocated Alloc Ratio
Manual 52.78 ns 5.360 ns 0.294 ns 52.44 ns 52.91 ns 52.98 ns 1.00 0.01 1 0.0162 272 B 1.00
EggMapper 62.90 ns 2.521 ns 0.138 ns 62.74 ns 62.93 ns 63.01 ns 1.19 0.01 1 0.0162 272 B 1.00
AutoMapper 123.08 ns 9.291 ns 0.509 ns 122.59 ns 123.05 ns 123.60 ns 2.33 0.01 2 0.0162 272 B 1.00
Mapster 68.10 ns 2.552 ns 0.140 ns 67.96 ns 68.10 ns 68.24 ns 1.29 0.01 1 0.0162 272 B 1.00
MapperlyMap 48.68 ns 4.976 ns 0.273 ns 48.37 ns 48.78 ns 48.89 ns 0.92 0.01 1 0.0162 272 B 1.00
AgileMapper 514.23 ns 41.762 ns 2.289 ns 512.16 ns 513.84 ns 516.69 ns 9.74 0.06 3 0.0248 424 B 1.56

🟢 Complex Mapping — nested object + collection

Method Mean Error StdDev Min Median Max Ratio RatioSD Rank Gen0 Allocated Alloc Ratio
Manual 69.77 ns 8.485 ns 0.465 ns 69.40 ns 69.62 ns 70.29 ns 1.00 0.01 1 0.0191 320 B 1.00
EggMapper 92.55 ns 13.777 ns 0.755 ns 91.98 ns 92.26 ns 93.40 ns 1.33 0.01 2 0.0191 320 B 1.00
AutoMapper 151.80 ns 4.039 ns 0.221 ns 151.62 ns 151.74 ns 152.05 ns 2.18 0.01 3 0.0196 328 B 1.02
Mapster 88.71 ns 4.629 ns 0.254 ns 88.56 ns 88.57 ns 89.00 ns 1.27 0.01 2 0.0191 320 B 1.00
MapperlyMap 71.23 ns 8.064 ns 0.442 ns 70.96 ns 71.00 ns 71.74 ns 1.02 0.01 1 0.0191 320 B 1.00
AgileMapper 582.81 ns 5.864 ns 0.321 ns 582.53 ns 582.74 ns 583.16 ns 8.35 0.05 4 0.0315 528 B 1.65

🟠 Collection — 100-item List<T>

Method Mean Error StdDev Min Median Max Ratio RatioSD Rank Gen0 Gen1 Allocated Alloc Ratio
Manual 1.731 μs 0.7505 μs 0.0411 μs 1.692 μs 1.727 μs 1.774 μs 1.00 0.03 1 0.5283 0.0172 8.65 KB 1.00
EggMapper 1.697 μs 0.3386 μs 0.0186 μs 1.685 μs 1.688 μs 1.718 μs 0.98 0.02 1 0.5283 0.0172 8.65 KB 1.00
AutoMapper 2.350 μs 0.2667 μs 0.0146 μs 2.335 μs 2.352 μs 2.364 μs 1.36 0.03 2 0.6065 0.0191 9.95 KB 1.15
Mapster 1.745 μs 0.8128 μs 0.0446 μs 1.697 μs 1.753 μs 1.785 μs 1.01 0.03 1 0.5283 0.0172 8.65 KB 1.00
MapperlyMap 1.775 μs 0.2638 μs 0.0145 μs 1.760 μs 1.776 μs 1.789 μs 1.03 0.02 1 0.5283 0.0172 8.65 KB 1.00
AgileMapper 2.498 μs 0.2243 μs 0.0123 μs 2.487 μs 2.496 μs 2.512 μs 1.44 0.03 2 0.5417 0.0153 8.91 KB 1.03

🟠 Collection — 100-item List<T>

Method Mean Error StdDev Min Median Max Ratio RatioSD Rank Gen0 Gen1 Allocated Alloc Ratio
Manual 5.269 μs 0.2620 μs 0.0144 μs 5.253 μs 5.273 μs 5.281 μs 1.00 0.00 1 1.6708 0.0916 27.4 KB 1.00
EggMapper 5.744 μs 1.2339 μs 0.0676 μs 5.681 μs 5.734 μs 5.816 μs 1.09 0.01 1 1.6708 0.0916 27.4 KB 1.00
AutoMapper 6.592 μs 3.0475 μs 0.1670 μs 6.483 μs 6.510 μs 6.785 μs 1.25 0.03 1 1.7548 0.1068 28.7 KB 1.05
Mapster 5.859 μs 1.2377 μs 0.0678 μs 5.793 μs 5.856 μs 5.929 μs 1.11 0.01 1 1.6708 0.0916 27.4 KB 1.00
MapperlyMap 5.194 μs 0.2816 μs 0.0154 μs 5.176 μs 5.202 μs 5.204 μs 0.99 0.00 1 1.6785 0.0992 27.42 KB 1.00
AgileMapper 5.198 μs 0.4467 μs 0.0245 μs 5.172 μs 5.203 μs 5.220 μs 0.99 0.00 1 1.0223 0.0610 16.72 KB 0.61

🟠 Collection — 100-item List<T>

Method Mean Error StdDev Min Median Max Ratio Rank Gen0 Gen1 Allocated Alloc Ratio
Manual 16.80 μs 2.895 μs 0.159 μs 16.62 μs 16.87 μs 16.91 μs 1.00 1 5.2490 1.3123 85.99 KB 1.00
EggMapper 16.96 μs 1.434 μs 0.079 μs 16.88 μs 16.96 μs 17.04 μs 1.01 1 5.2490 1.3123 85.99 KB 1.00
AutoMapper 20.74 μs 1.049 μs 0.058 μs 20.69 μs 20.74 μs 20.80 μs 1.23 1 5.7678 1.4343 94.34 KB 1.10
Mapster 17.18 μs 0.499 μs 0.027 μs 17.15 μs 17.20 μs 17.20 μs 1.02 1 5.2490 1.3123 85.99 KB 1.00
MapperlyMap 18.55 μs 1.544 μs 0.085 μs 18.46 μs 18.59 μs 18.62 μs 1.10 1 5.2490 1.2817 86.02 KB 1.00
AgileMapper 19.74 μs 1.624 μs 0.089 μs 19.68 μs 19.69 μs 19.84 μs 1.17 1 5.2795 1.3123 86.25 KB 1.00

⚪ Startup / Configuration time

Method Mean Error StdDev Min Median Max Ratio RatioSD Rank Gen0 Gen1 Allocated Alloc Ratio
EggMapperStartup 1,367.350 μs 1,424.1744 μs 78.0638 μs 1,299.689 μs 1,349.601 μs 1,452.760 μs 1.002 0.07 3 5.8594 3.9063 95.84 KB 1.00
AutoMapperStartup 412.228 μs 1,041.1998 μs 57.0717 μs 352.246 μs 418.580 μs 465.858 μs 0.302 0.04 2 5.8594 - 104.22 KB 1.09
MapsterStartup 2.439 μs 0.2426 μs 0.0133 μs 2.432 μs 2.432 μs 2.455 μs 0.002 0.00 1 0.7019 0.0267 11.51 KB 0.12

EggMapper.Benchmarks.ColdStartBenchmark-report-github

Method Mean Error StdDev Min Median Max Ratio RatioSD Rank Gen0 Gen1 Allocated Alloc Ratio
EggMapper 1.316 ms 2.279 ms 0.1249 ms 1.172 ms 1.380 ms 1.397 ms 1.01 0.12 1 5.8594 3.9063 96.06 KB 1.00
AutoMapper 4.361 ms 8.840 ms 0.4846 ms 3.813 ms 4.534 ms 4.735 ms 3.33 0.43 2 15.6250 7.8125 310.24 KB 3.23
Mapster 4.524 ms 6.582 ms 0.3608 ms 4.130 ms 4.603 ms 4.838 ms 3.46 0.38 2 39.0625 15.6250 757.64 KB 7.89

📝 Notes
  • Each benchmark class is decorated with [MemoryDiagnoser] and [RankColumn].
  • The global config (see src/EggMapper.Benchmarks/Program.cs) adds Min, Median, and Max columns.
  • Manual is the hand-written baseline (ratio = 1.00). A ratio < 1 means faster than manual.
  • Benchmarks run on GitHub-hosted runners — absolute times may vary between runs; focus on Ratio for comparisons.
  • To reproduce locally:
    cd src/EggMapper.Benchmarks
    dotnet run --configuration Release -- --filter '*'

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants