← Back to home
Comparison · Analytics

glydraw vs vellumwidget

A side-by-side editorial comparison of glydraw and vellumwidget — release velocity, themes, recent moves, and the top alternatives to consider.

glydraw vs vellumwidget: at a glance

Featureglydrawvellumwidget
SectorAnalyticsAnalytics
Velocity score6.36.3
Sparks · 30d11
Top themesglycomics, data-visualization, ggplot2, snfgr-graphics, interactive-widgets, declarative-interaction, shiny
Last editorial update46m ago56m ago
WebsiteVisit →Visit →

What is glydraw?

SNFG glycan cartoons stopped being pictures and became ggplot2 geoms, guides and axis labels.

glydraw renders glycan structures as SNFG-standard cartoons, standalone or exported in bulk, and since 0.7.0 as native ggplot2 components: geom_glycan() for observations, geom_node_glycan() for ggraph networks, guide_glycan() for legends, and scale_x_glycan() and scale_y_glycan() for discrete axes. Appearance is configured through a single reusable style object rather than scattered arguments, a consolidation that 0.8.0 made breaking. The colour handling now expects a complete SNFG palette rather than sparse per-monosaccharide overrides.

Read the full glydraw trajectory →

What is vellumwidget?

vellumwidget is dissolving its own API: interaction now lives in the plot spec, not the widget call.

vellumwidget compiles a vellum scene or a vellumplot plot into a self-contained client-side htmlwidget with hover, select, brush, lasso, pan/zoom and export, and no server round-trip. The two-way Shiny story is complete: interactions surface as reactive inputs keyed by output id, and vellumwidget_proxy() drives an already-rendered widget from the server without re-rendering it. The last two releases are fidelity work rather than new surface, calibrating hit-testing from the rendered positions of marks and rendering the raster base image at 2x for HiDPI screens.

Read the full vellumwidget trajectory →

glydraw vs vellumwidget: editorial side-by-side

G
glydraw
ANALYTICS
6.3

SNFG glycan cartoons stopped being pictures and became ggplot2 geoms, guides and axis labels.

◆ Current state

glydraw renders glycan structures as SNFG-standard cartoons, standalone or exported in bulk, and since 0.7.0 as native ggplot2 components: geom_glycan() for observations, geom_node_glycan() for ggraph networks, guide_glycan() for legends, and scale_x_glycan() and scale_y_glycan() for discrete axes. Appearance is configured through a single reusable style object rather than scattered arguments, a consolidation that 0.8.0 made breaking. The colour handling now expects a complete SNFG palette rather than sparse per-monosaccharide overrides.

◆ Where it's heading

The first half of this record is geometry correctness, fixing branch spacing, overlapping linkage annotations, core fucose collisions, triangle alignment and nested side-chain layout, because a cartoon that draws the wrong topology is worse than no cartoon. Once the drawing was trustworthy the package moved outward into ggplot2 and then inward again to consolidate its own API, dropping the glyexp dependency, removing positional argument support, and folding rendering options into style_glydraw(). Each of the last several releases has been explicitly breaking, which is a maintainer using a pre-1.0 window deliberately.

◆ Prediction

With the style object established and the ggplot2 surface in place, the remaining explicit arguments, show_linkage and orient, are the visible inconsistency and may follow the others into the style. Sibling packages adopt each change within days, as glyenzy did with the new orientation values, so expect the next breaking change to propagate the same way.

V
vellumwidget
ANALYTICS
6.3

vellumwidget is dissolving its own API: interaction now lives in the plot spec, not the widget call.

◆ Current state

vellumwidget compiles a vellum scene or a vellumplot plot into a self-contained client-side htmlwidget with hover, select, brush, lasso, pan/zoom and export, and no server round-trip. The two-way Shiny story is complete: interactions surface as reactive inputs keyed by output id, and vellumwidget_proxy() drives an already-rendered widget from the server without re-rendering it. The last two releases are fidelity work rather than new surface, calibrating hit-testing from the rendered positions of marks and rendering the raster base image at 2x for HiDPI screens.

◆ Where it's heading

The direction is declarative. 0.7.0 removed the interaction-intent arguments from as_widget() outright, dropping the signature from roughly 36 arguments to 24 and moving highlight, filter and cross-filter into vellumplot's spec via select_point(), condition() and filter_by(). Each release since has enacted more of that compiled spec on the frozen scene, from conditional encodings to single-view filters to cross-view cross-filtering, leaving the widget as an interpreter of the plot rather than a configuration surface of its own. The bug fixes track the same theme the engine's do: measured geometry and rendered geometry must not drift.

◆ Prediction

The notes name the remaining hold-outs explicitly, saying hover_mode, crosshair, legend_click, select_mode and the tooltip-appearance arguments remain only until their spec equivalents land, so the next releases most likely move those into vellumplot and shrink as_widget() further. The scale binds flagged as following the filter work are the other stated next step.

Alternatives to glydraw and vellumwidget

Other Analytics products tracked by Sparkpulse, ranked by recent ship velocity. Each card links to a full editorial trajectory and lets you pivot into a head-to-head comparison with either glydraw or vellumwidget.

See all glydraw alternatives → · See all vellumwidget alternatives →

Recent activity from glydraw and vellumwidget

Latest ship moves from both products, interleaved chronologically. ⚡ = editorial spark.

  1. 14d agoglydrawRendering options consolidated into a single style object
  2. 14d agovellumwidget2x raster base image for HiDPI, and exact element hit-testing
  3. 20d agovellumwidgetInteraction moves into the plot spec; as_widget() sheds a third of its arguments
  4. 22d agoglydrawGlycan cartoons become ggplot2 geoms, legends and axis labels
  5. 27d agovellumwidgetAxis-aware zoom re-ticks the axes instead of scaling the whole scene
  6. 1mo agovellumwidgetSelectable native SVG text, and crisp canvas redraw when zooming raster
  7. 1mo agovellumwidgetServer-side proxy drives a rendered widget without re-rendering it
  8. 1mo agovellumwidgetShiny input read-back, and keyboard plus screen-reader access by default
  9. 1mo agoglydrawNested side-chain layout preserves residue order and linkage labels
  10. 1mo agoglydrawFucose triangle geometry aligned to rectangle node bounds
  11. 1mo agoglydrawCustom colours, fucose orientation and export scaling; glyexp dependency dropped
  12. 1mo agoglydrawSwitches to SNFG standard colours

Frequently asked questions

What is the difference between glydraw and vellumwidget?

They serve adjacent needs but don't currently overlap on shipped themes. glydraw and vellumwidget are shipping at a similar cadence (velocity 6.3 vs 6.3, both within Sparkpulse's "active" band). See the at-a-glance table above for a side-by-side breakdown of velocity, recent sparks, and editorial themes.

Is glydraw better than vellumwidget?

Sparkpulse doesn't pick a winner — we score release velocity, not feature parity. glydraw and vellumwidget are shipping at a similar cadence (velocity 6.3 vs 6.3, both within Sparkpulse's "active" band). For your specific use case, the alternatives sections above list other Analytics products to evaluate alongside.

What are the best alternatives to glydraw?

Top glydraw alternatives in Analytics are ranked by recent ship velocity. Browse the "glydraw alternatives" section above for the current picks, or visit /alternatives/glydraw for the full list with editorial commentary on each.

What are the best alternatives to vellumwidget?

Top vellumwidget alternatives in Analytics are ranked by recent ship velocity. Browse the "vellumwidget alternatives" section above for the current picks, or visit /alternatives/vellumwidget for the full list with editorial commentary on each.