Skip to content

Voronoi labels - #892

Merged
techniq merged 7 commits into
mainfrom
voronoi-labels
Aug 6, 2026
Merged

Voronoi labels#892
techniq merged 7 commits into
mainfrom
voronoi-labels

Conversation

@techniq

@techniq techniq commented Aug 6, 2026

Copy link
Copy Markdown
Owner

No description provided.

techniq added 4 commits August 4, 2026 13:36
…int`, `polygon`, `centroid`, `area`) for custom rendering (e.g. labels).
…, a `fontSize` prop, a `labelGap` for callout spacing, and a `labelPlacement="smart"` option that auto-orients the label and terminates its callout at the label edge.
…oi cell's open space, with `occlude` to drop overlaps and `links` to move labels out with a leader line back to the point (scatter/map "smart labels"), and make the `fontSize` prop take effect.
… the chart dimensions (`[[0, 0], [width, height]]`)
@changeset-bot

changeset-bot Bot commented Aug 6, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 09c15fa

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
layerchart Minor

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@pkg-pr-new

pkg-pr-new Bot commented Aug 6, 2026

Copy link
Copy Markdown

Open in StackBlitz

npm i https://pkg.pr.new/layerchart@892

commit: 09c15fa

@pkg-pr-new

pkg-pr-new Bot commented Aug 6, 2026

Copy link
Copy Markdown

Open in StackBlitz

npm i https://pkg.pr.new/layerchart@892

commit: 98659a8

@github-actions

github-actions Bot commented Aug 6, 2026

Copy link
Copy Markdown
Contributor
built with Refined Cloudflare Pages Action

⚡ Cloudflare Pages Deployment

Name Status Preview Last Commit
layerchart ✅ Ready (View Log) Visit Preview 09c15fa

@github-actions

github-actions Bot commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

Bundle Size Analysis

⚠️ Warnings (8 significant size increases)

Item Current New Change
🔴 Labels.svg 133.86 KB
31.67 gz
214.12 KB
52.77 gz
+80.27 KB (+60.0%)
+21.10 gz (+66.6%)
🔴 Labels 157.68 KB
36.67 gz
236.58 KB
58.13 gz
+78.90 KB (+50.0%)
+21.45 gz (+58.5%)
🔴 Labels.canvas 137.53 KB
33.00 gz
207.58 KB
51.99 gz
+70.05 KB (+50.9%)
+18.98 gz (+57.5%)
🔴 Labels.html 132.52 KB
31.31 gz
169.40 KB
41.66 gz
+36.88 KB (+27.8%)
+10.36 gz (+33.1%)
🔴 Voronoi 177.50 KB
46.65 gz
179.89 KB
47.33 gz
+2.40 KB (+1.3%)
+0.68 gz (+1.4%)
🔴 Voronoi.svg 175.48 KB
46.52 gz
177.87 KB
47.21 gz
+2.40 KB (+1.4%)
+0.68 gz (+1.5%)
🔴 Voronoi.canvas 174.50 KB
46.03 gz
176.90 KB
46.71 gz
+2.40 KB (+1.4%)
+0.68 gz (+1.5%)
🔴 GeoProjection 4.41 KB
1.41 gz
4.50 KB
1.44 gz
+0.10 KB (+2.2%)
+0.03 gz (+2.1%)

Use-Case Scenarios

Core (7 changed)
Scenario Current New Change
🟡 core-line 220.05 KB
57.29 gz
219.56 KB
57.23 gz
-0.49 KB (-0.2%)
-0.06 gz (-0.1%)
🟡 core-canvas 219.35 KB
57.95 gz
218.85 KB
57.95 gz
-0.49 KB (-0.2%)
-0.00 gz (-0.0%)
🟡 core-scatter 217.29 KB
56.16 gz
217.10 KB
56.17 gz
-0.19 KB (-0.1%)
+0.01 gz (+0.0%)
🟡 core-geo 213.58 KB
55.88 gz
213.09 KB
55.83 gz
-0.49 KB (-0.2%)
-0.04 gz (-0.1%)
🟡 core-html 201.22 KB
52.51 gz
200.73 KB
52.49 gz
-0.49 KB (-0.2%)
-0.02 gz (-0.0%)
🟡 core-svg 199.35 KB
52.06 gz
198.85 KB
52.04 gz
-0.49 KB (-0.2%)
-0.01 gz (-0.0%)
🟡 core 199.34 KB
52.10 gz
198.85 KB
52.05 gz
-0.49 KB (-0.2%)
-0.05 gz (-0.1%)
Base (agnostic) (4 changed)
Scenario Current New Change
🟡 base-svg-agnostic 356.30 KB
83.36 gz
355.93 KB
83.36 gz
-0.37 KB (-0.1%)
+0.00 gz (+0.0%)
🟡 base-canvas-agnostic 356.30 KB
83.35 gz
355.93 KB
83.37 gz
-0.37 KB (-0.1%)
+0.02 gz (+0.0%)
🟡 base-html-agnostic 356.30 KB
83.35 gz
355.93 KB
83.37 gz
-0.37 KB (-0.1%)
+0.02 gz (+0.0%)
🟡 base 356.29 KB
83.36 gz
355.92 KB
83.36 gz
-0.37 KB (-0.1%)
0.00 gz (0.0%)
Base (layer-specific) (3 changed)
Scenario Current New Change
🟡 base-canvas 340.92 KB
80.22 gz
340.54 KB
80.28 gz
-0.38 KB (-0.1%)
+0.07 gz (+0.1%)
🟡 base-html 336.72 KB
79.19 gz
336.34 KB
79.23 gz
-0.38 KB (-0.1%)
+0.04 gz (+0.1%)
🟡 base-svg 334.84 KB
78.74 gz
334.46 KB
78.79 gz
-0.38 KB (-0.1%)
+0.05 gz (+0.1%)
Cartesian charts (27 changed)
Scenario Current New Change
🟡 PieChart 395.48 KB
91.76 gz
395.07 KB
91.71 gz
-0.41 KB (-0.1%)
-0.05 gz (-0.1%)
🟡 ArcChart 388.74 KB
90.59 gz
388.31 KB
90.56 gz
-0.42 KB (-0.1%)
-0.03 gz (-0.0%)
🟡 LineChart 380.33 KB
89.10 gz
379.92 KB
89.09 gz
-0.42 KB (-0.1%)
-0.01 gz (-0.0%)
🟡 PieChart-canvas 378.08 KB
88.22 gz
377.66 KB
88.27 gz
-0.42 KB (-0.1%)
+0.05 gz (+0.1%)
🟡 AreaChart 374.29 KB
87.32 gz
373.86 KB
87.30 gz
-0.42 KB (-0.1%)
-0.03 gz (-0.0%)
🟡 PieChart-svg 372.02 KB
86.65 gz
371.60 KB
86.69 gz
-0.42 KB (-0.1%)
+0.04 gz (+0.0%)
🟡 ArcChart-canvas 371.92 KB
87.15 gz
371.49 KB
87.20 gz
-0.42 KB (-0.1%)
+0.05 gz (+0.1%)
🟡 line-chart-interactive 371.31 KB
86.66 gz
370.94 KB
86.66 gz
-0.37 KB (-0.1%)
-0.00 gz (-0.0%)
🟡 area-chart 370.00 KB
86.34 gz
369.58 KB
86.30 gz
-0.42 KB (-0.1%)
-0.04 gz (-0.0%)
🟡 pie-chart 368.59 KB
85.84 gz
368.17 KB
85.80 gz
-0.42 KB (-0.1%)
-0.05 gz (-0.1%)
🟡 BarChart 366.75 KB
85.37 gz
366.37 KB
85.39 gz
-0.37 KB (-0.1%)
+0.02 gz (+0.0%)
🟡 ArcChart-svg 365.85 KB
85.60 gz
365.42 KB
85.62 gz
-0.43 KB (-0.1%)
+0.02 gz (+0.0%)
🟡 bar-chart 360.89 KB
84.18 gz
360.51 KB
84.17 gz
-0.38 KB (-0.1%)
-0.00 gz (-0.0%)
🟡 ScatterChart 360.84 KB
84.30 gz
360.46 KB
84.31 gz
-0.38 KB (-0.1%)
+0.00 gz (+0.0%)
🟡 AreaChart-canvas 358.10 KB
84.02 gz
357.68 KB
84.07 gz
-0.42 KB (-0.1%)
+0.05 gz (+0.1%)
🟡 scatter-chart 357.38 KB
83.61 gz
357.01 KB
83.62 gz
-0.37 KB (-0.1%)
+0.00 gz (+0.0%)
🟡 line-chart 356.80 KB
83.39 gz
356.42 KB
83.41 gz
-0.37 KB (-0.1%)
+0.02 gz (+0.0%)
🟡 AreaChart-svg 352.04 KB
82.52 gz
351.61 KB
82.57 gz
-0.42 KB (-0.1%)
+0.05 gz (+0.1%)
🟡 BarChart-canvas 350.25 KB
82.11 gz
349.88 KB
82.20 gz
-0.37 KB (-0.1%)
+0.09 gz (+0.1%)
🟡 LineChart-canvas 347.92 KB
81.90 gz
347.54 KB
81.99 gz
-0.38 KB (-0.1%)
+0.09 gz (+0.1%)
🟡 ScatterChart-canvas 344.57 KB
80.96 gz
344.20 KB
81.04 gz
-0.38 KB (-0.1%)
+0.08 gz (+0.1%)
🟡 BarChart-svg 344.19 KB
80.60 gz
343.81 KB
80.66 gz
-0.38 KB (-0.1%)
+0.06 gz (+0.1%)
🟡 LineChart-svg 341.86 KB
80.40 gz
341.47 KB
80.45 gz
-0.38 KB (-0.1%)
+0.05 gz (+0.1%)
🟡 line-chart-canvas 340.95 KB
80.22 gz
340.57 KB
80.30 gz
-0.38 KB (-0.1%)
+0.07 gz (+0.1%)
🟡 ScatterChart-svg 338.51 KB
79.48 gz
338.13 KB
79.51 gz
-0.38 KB (-0.1%)
+0.03 gz (+0.0%)
🟡 line-chart-html 336.75 KB
79.20 gz
336.36 KB
79.25 gz
-0.38 KB (-0.1%)
+0.05 gz (+0.1%)
🟡 line-chart-svg 334.87 KB
78.74 gz
334.48 KB
78.79 gz
-0.38 KB (-0.1%)
+0.06 gz (+0.1%)
Geo (3 changed)
Scenario Current New Change
🟡 geo-full 430.86 KB
102.65 gz
430.42 KB
102.59 gz
-0.44 KB (-0.1%)
-0.06 gz (-0.1%)
🟡 geo-tiles 378.43 KB
88.87 gz
378.01 KB
88.83 gz
-0.42 KB (-0.1%)
-0.04 gz (-0.0%)
🟡 geo 373.32 KB
87.24 gz
372.89 KB
87.22 gz
-0.42 KB (-0.1%)
-0.01 gz (-0.0%)
Hierarchy (4 changed)
Scenario Current New Change
🟢 hierarchy-tree 398.11 KB
93.50 gz
366.69 KB
86.24 gz
-31.42 KB (-7.9%)
-7.26 gz (-7.8%)
🟢 hierarchy-treemap 377.63 KB
88.60 gz
363.30 KB
85.37 gz
-14.33 KB (-3.8%)
-3.22 gz (-3.6%)
🟢 hierarchy-pack 377.35 KB
88.69 gz
362.98 KB
85.40 gz
-14.37 KB (-3.8%)
-3.29 gz (-3.7%)
🟢 dodge 374.99 KB
87.89 gz
360.69 KB
84.75 gz
-14.30 KB (-3.8%)
-3.14 gz (-3.6%)
Graph / network (4 changed)
Scenario Current New Change
🟢 dagre 456.68 KB
109.51 gz
425.31 KB
102.40 gz
-31.37 KB (-6.9%)
-7.12 gz (-6.5%)
🟢 force 400.52 KB
94.34 gz
369.10 KB
87.01 gz
-31.42 KB (-7.8%)
-7.33 gz (-7.8%)
🟢 sankey 400.25 KB
93.73 gz
368.92 KB
86.48 gz
-31.32 KB (-7.8%)
-7.25 gz (-7.7%)
🟡 chord 366.02 KB
85.52 gz
365.61 KB
85.53 gz
-0.42 KB (-0.1%)
+0.01 gz (+0.0%)
Components (16 changed)
Scenario Current New Change
🔴 Labels 157.68 KB
36.67 gz
236.58 KB
58.13 gz
+78.90 KB (+50.0%)
+21.45 gz (+58.5%)
🔴 Labels.svg 133.86 KB
31.67 gz
214.12 KB
52.77 gz
+80.27 KB (+60.0%)
+21.10 gz (+66.6%)
🔴 Labels.canvas 137.53 KB
33.00 gz
207.58 KB
51.99 gz
+70.05 KB (+50.9%)
+18.98 gz (+57.5%)
🟡 AnnotationPoint 187.68 KB
45.10 gz
189.12 KB
45.67 gz
+1.44 KB (+0.8%)
+0.57 gz (+1.3%)
🔴 Voronoi 177.50 KB
46.65 gz
179.89 KB
47.33 gz
+2.40 KB (+1.3%)
+0.68 gz (+1.4%)
🔴 Voronoi.svg 175.48 KB
46.52 gz
177.87 KB
47.21 gz
+2.40 KB (+1.4%)
+0.68 gz (+1.5%)
🔴 Voronoi.canvas 174.50 KB
46.03 gz
176.90 KB
46.71 gz
+2.40 KB (+1.4%)
+0.68 gz (+1.5%)
🔴 Labels.html 132.52 KB
31.31 gz
169.40 KB
41.66 gz
+36.88 KB (+27.8%)
+10.36 gz (+33.1%)
🟡 AnnotationPoint.svg 165.84 KB
39.93 gz
167.12 KB
40.46 gz
+1.29 KB (+0.8%)
+0.52 gz (+1.3%)
🟡 AnnotationPoint.canvas 155.45 KB
38.56 gz
156.75 KB
39.07 gz
+1.30 KB (+0.8%)
+0.51 gz (+1.3%)
🟡 Tooltip 130.88 KB
31.75 gz
130.98 KB
31.76 gz
+0.10 KB (+0.1%)
+0.02 gz (+0.1%)
🟡 Points 77.80 KB
19.34 gz
78.10 KB
19.40 gz
+0.30 KB (+0.4%)
+0.06 gz (+0.3%)
🟡 Points.canvas 72.40 KB
18.36 gz
72.70 KB
18.42 gz
+0.30 KB (+0.4%)
+0.06 gz (+0.3%)
🟡 Points.html 62.25 KB
15.05 gz
62.55 KB
15.12 gz
+0.30 KB (+0.5%)
+0.06 gz (+0.4%)
🟡 Points.svg 61.59 KB
14.97 gz
61.89 KB
15.02 gz
+0.30 KB (+0.5%)
+0.05 gz (+0.3%)
🔴 GeoProjection 4.41 KB
1.41 gz
4.50 KB
1.44 gz
+0.10 KB (+2.2%)
+0.03 gz (+2.1%)
Worst case (1 changed)
Scenario Current New Change
🟡 all 1013.72 KB
238.24 gz
1007.63 KB
236.64 gz
-6.09 KB (-0.6%)
-1.59 gz (-0.7%)

Understanding this report
  • Use-case scenarios measure the bundle cost of common chart configurations (e.g. a line chart with axes)
  • Individual components measure each component imported in isolation
  • Svelte runtime is excluded; sizes reflect layerchart + its dependencies (d3, etc.)
  • When multiple components share dependencies (e.g. d3-scale), the real-world cost is lower than the sum of individual sizes
  • Changes smaller than 10 bytes or 0.1% are considered insignificant

@techniq techniq mentioned this pull request Aug 6, 2026
8 tasks
@techniq
techniq merged commit 3a987ad into main Aug 6, 2026
9 checks passed
@techniq
techniq deleted the voronoi-labels branch August 6, 2026 12:23
@github-actions github-actions Bot mentioned this pull request Aug 6, 2026
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.

1 participant