Default to time-ordered layouts and automatic labels, and add edge routing - #238
Open
malcolmbarrett wants to merge 320 commits into
Open
malcolmbarrett wants to merge 320 commits into
malcolmbarrett wants to merge 320 commits into
Conversation
…ts, and per-edge resects
…ed ports, and per-edge resects
…or, and the small-node port guard
… spacing, and merge arrival rows too small to hold
…rid, and leader pricing
…x 3 unresolved set
…rossing saturation, and tight slots
…the crossing price, and thread tight slots
…e layer, and explicit-cap routes
…cap each end is drawn with
…ps, per-layer head caps, and resections on geom_dag_edges under ggarrow
…r's own head caps, and take resections and circle caps on geom_dag_edges under ggarrow
…re runs, on every README device
… off each other's rows, and floor stubs on the drawn ornaments
…drawn edges by their nodes, close the devices the layer helpers open, and name the middle panel snapshot for what it asserts
…el routes traced for every pair of routed layers, and narrow rows in a facet panel one layer draws
…arrivals of a narrow gap rows only in panels where several layers draw, and trace every routed layer's scene as it is drawn
… layer, mapped and elliptical caps under ggarrow, and the adjustment set routes the labels trace
…mapped circle caps into resections under ggarrow, refuse elliptical caps there, and document which setting wins at an end
…eir viewports before closing them, so the suite opens no default device
…per-edge values in a shared scene, and legend keys of arrows with a head and fins
…he farthest reach, route each edge of a shared scene with its own layer's cap and curvature, and give legend keys of arrows with a head and fins room for a shaft
… read the edges a label test compares from one drawing
…s edges of it in a panel, a layer that draws only arcs there included
…2 draws it, as that value for every edge the layer draws
…nodes, and cut each traced edge by the caps of the layers that draw it
…he resections and caps drawn there, and honour a resection or cap the plot maps for a hand-built edge layer
…race each routed scene with the node size its layers route with, and test that a routed layer drawing no edges sets no label caps
…et variable, cut an edge two bent layers draw alike by the nearer cap, and pass a relative legend key length to ggarrow unconverted
…a relative length
…a legend sizes the panel
…te the faster time-ordered layout, and centre two vignette labels
…er than the deprecated logical text argument
…the time-ordered layout
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Makes DAG plots look right without configuration: time-ordered layouts, labels that stay off the drawing, and edges that can route around nodes.
New defaults
layoutis now"time_ordered"(was"nicely").label_geomis nowgeom_dag_label_auto(wasgeom_dag_label_repel).use_labelsstaysFALSE.ggdag_options_set(layout = "nicely", label_geom = geom_dag_label_repel).New features
geom_dag_label_auto(),geom_dag_label_auto2()(borderless), andgeom_dag_text_auto()place labels deterministically at draw time, clear of nodes, edges, arrowheads, other labels, and the panel edge. They supportmax.overlapsandwrap, and warn when a label cannot be placed.geom_dag_routed_arrows()and theedge_routeoption ("spline"or"orthogonal", ggarrow engine only) detour edges around nodes, computed in device millimetres so routes hold at any plot size.edge_route_options()tunes clearance and spacing.time_ordered_coords()now optimises within manually supplied time periods.Dependencies
Remotesentry is gone.Docs
Also includes many bug fixes; see NEWS. Visual tests run on macOS only, and performance tests are opt-in with
GGDAG_RUN_PERF_TESTS=1.Closes #236.
Closes #232
Closes #186
Closes #20 (this is not specifically dealt with here but I think previous changes + defaulting to time ordering + edge routing largely renders this complete)