-
Notifications
You must be signed in to change notification settings - Fork 279
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: support path lists in layer
expressions
#1111
Conversation
Codecov Report
@@ Coverage Diff @@
## main #1111 +/- ##
==========================================
+ Coverage 64.73% 64.74% +0.01%
==========================================
Files 59 59
Lines 7487 7495 +8
Branches 1685 1688 +3
==========================================
+ Hits 4847 4853 +6
- Misses 2539 2541 +2
Partials 101 101
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here. |
📊 PerformanceKeyNote that each bar component rounds up to the nearest 100ms, so each full bar is an overestimate by up to 400ms.
Data
|
Deploying with Cloudflare Pages
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Awesome! Good to merge once we update the variation
for diagrams/siggraph-teaser-euclidean-teaser.svg
.
Description
Related issue/PR: N/A
There are a lot of duplicated layering statements in Style programs such as
euclidean.sty
. Mostly saying one thing should be below/above multiple things:This PR lets
layer
expressions take a list of paths on the right-hand side of the layering operator. For instance, the above can be abbreviated toP.icon below t.PQ, t.QR, t.RP
.Implementation strategy and design decisions
layer
expressions aspath ("below"|"above") path_list
. There's only one path allowed on the left to simplify the semantics.path_list
can be a list of just one element.below
andabove
cases. In general, I try to maintain the original code structure in the AST and not do any computation (e.g. sortingbelow
,above
pairs) in the parser. This is mostly for better language services.Examples with steps to reproduce them
Checklist
diagrams/
folder