Skip to content
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

chore: split valence electrons into predicates #1347

Merged
merged 3 commits into from Mar 27, 2023
Merged

Conversation

samestep
Copy link
Collaborator

Description

Following up on #1345, this PR modifies our molecules.domain and lewis.style to use only predicates for valence electrons, instead of a constructor. This allows us to add or remove valence electron pairs on atoms via only edit-type mutations, instead of add- or remove-type mutations.

Implementation strategy and design decisions

This change involved a quadratic amount of code duplication in the Style program.

Checklist

  • I have commented my code, particularly in hard-to-understand areas
  • I have reviewed any generated registry diagram changes

@cloudflare-pages
Copy link

cloudflare-pages bot commented Mar 27, 2023

Deploying with  Cloudflare Pages  Cloudflare Pages

Latest commit: 503b9dc
Status: ✅  Deploy successful!
Preview URL: https://9037cd64.penrose-72l.pages.dev
Branch Preview URL: https://edgeworth-zero-valence.penrose-72l.pages.dev

View logs

@github-actions
Copy link

github-actions bot commented Mar 27, 2023

± Registry diff

M	nitricacid-lewis.svg

📊 Performance

Key

Note that each bar component rounds up to the nearest 100ms, so each full bar is an overestimate by up to 400ms.

     0s   1s   2s   3s   4s   5s   6s   7s   8s   9s
     |    |    |    |    |    |    |    |    |    |
name ▝▀▀▀▀▀▀▀▀▀▀▀▚▄▄▄▄▄▄▄▄▄▞▀▀▀▀▀▀▀▀▀▀▀▀▚▄▄▄▄▄▄▄▄▄▖
      compilation labelling optimization rendering

Data

                                                                  0s   1s   2s   3s   4s   5s   6s   7s   8s
                                                                  |    |    |    |    |    |    |    |    |
3d-projection-fake-3d-linear-algebra                              ▝▞▖
acquaintanceship-graph-simple-graph                               ▝▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▚▀▀▀▀▀▀▀▀▀▀▀▀▖
allShapes-allShapes                                               ▝▚▚▄▖
arrowheads-arrowheads                                             ▝▞▖
caffeine-structural-formula                                       ▝▀▀▚▀▚
call-directed-graph-directed-multigraph                           ▝▀▀▀▀▀▀▀▞▀▀▖
call-undirected-graph-pseudograph                                 ▝▀▀▀▀▀▞▚
center-shrink-circle-animation                                    ▝▞▖
circle-example-euclidean                                          ▝▀▚▚
closest-point-test-closest-point                                  ▝▀▀▀▀▀▀▀▚▚
collinear-euclidean                                               ▝▀▚▚
communications-network-one-way-links-graph-simple-directed-graph  ▝▀▀▀▀▀▀▞▚
complete-bipartite-graphs-simple-graph                            ▝▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▞▀▀▀▀▀▀▀▀▖
complete-graphs-simple-graph                                      ▝▀▀▀▀▀▀▀▀▀▀▞▀▀▀▀▚
computer-network-diagnostic-links-graph-pseudograph               ▝▀▀▀▀▚▚
computer-network-graph-simple-graph                               ▝▀▀▀▚▚
computer-network-multiple-links-graph-pseudograph                 ▝▀▀▀▀▚▀▚
computer-network-multiple-one-way-links-graph-directed-multigraph ▝▀▀▀▀▀▀▀▚▀▀▖
congruent-triangles-euclidean                                     ▝▀▀▀▀▞▖
continuousmap-continuousmap                                       ▝▞▖
cube-graphs-simple-graph                                          ▝▀▀▀▀▀▀▀▀▀▀▀▀▞▀▀▚
cubic-bezier-cubic-bezier                                         ▝▀▞▀▚
cycle-graphs-simple-graph                                         ▝▀▀▀▀▀▀▀▀▞▀▀▀▖
glutamine-molecules-basic                                         ▝▀▚▚
half-adder-distinctive-shape                                      ▝▀▞▚
hybrid-topology-graph-simple-graph                                ▝▀▀▞▖
hypercube-network-graph-simple-graph                              ▝▀▀▀▀▚▚
hypergraph-hypergraph                                             ▝▀▀▀▚▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▖
incenter-triangle-euclidean                                       ▝▀▚▚
influence-graph-simple-directed-graph                             ▝▀▀▚▚
jobs-trained-matching-graph-simple-graph                          ▝▀▀▀▚▀▖
jobs-trained-no-matching-graph-simple-graph                       ▝▀▀▀▚▀▖
lagrange-bases-lagrange-bases                                     ▝▚▚
linear-array-graph-simple-graph                                   ▝▀▀▞▖
lines-around-rect-rect-line-dist                                  ▝▚▚
matrix-matrix-addition-matrix-ops                                 ▝▚▚
matrix-matrix-division-elementwise-matrix-ops                     ▝▚▚
matrix-matrix-multiplication-elementwise-matrix-ops               ▝▚▚
matrix-matrix-multiplication-matrix-ops                           ▝▚▚
matrix-matrix-subtraction-matrix-ops                              ▝▚▚
matrix-transpose-matrix-ops                                       ▝▀▚▚
matrix-vector-left-multiplication-matrix-ops                      ▝▚▚
matrix-vector-right-multiplication-matrix-ops                     ▝▚▚
mesh-network-graph-simple-graph                                   ▝▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▞▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▚
midsegment-triangles-euclidean                                    ▝▀▚▚
mobius-mobius                                                     ▝▞▖
module-dependency-graph-simple-directed-graph                     ▝▀▀▀▚▀▖
niche-overlap-graph-simple-graph                                  ▝▀▀▀▀▀▀▞▖
nitricacid-lewis                                                  ▝▀▀▚▀▀▚
non-convex-non-convex                                             ▝▀▞▖
one-water-molecule-atoms-and-bonds                                ▝▞▖
parallel-lines-euclidean                                          ▝▀▚▚
persistent-homology-persistent-homology                           ▝▀▀▚▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▚▖
points-around-line-shape-distance                                 ▝▀▚▚
points-around-polyline-shape-distance                             ▝▀▀▞▖
points-around-star-shape-distance                                 ▝▀▀▀▀▞▖
precedence-graph-simple-directed-graph                            ▝▀▀▀▞▖
protein-interaction-graph-simple-graph                            ▝▀▀▀▀▀▀▀▀▞▀▀▚
quaternion-group-group-theory-cayley-graph                        ▝▀▚▚
quaternion-group-group-theory-multiplication-table                ▝▀▀▀▀▄▞▄
ring-topology-graph-simple-graph                                  ▝▀▚▚
round-robin-graph-simple-directed-graph                           ▝▀▀▀▀▀▞▖
scalar-vector-division-matrix-ops                                 ▝▚▚
scalar-vector-left-multiplication-matrix-ops                      ▝▚▚
scalar-vector-right-multiplication-matrix-ops                     ▝▚▚
siggraph-teaser-euclidean-teaser                                  ▝▀▚▚
star-topology-graph-simple-graph                                  ▝▀▀▞▖
tree-tree                                                         ▝▀▚▚
tree-venn                                                         ▝▀▀▞▖
tree-venn-3d                                                      ▝▚▚▄
two-triangles-triangle-mesh-3d                                    ▝▚▚
two-vectors-perp-vectors-dashed                                   ▝▚▚
union-graph-simple-graph                                          ▝▀▀▚▚
vector-vector-addition-matrix-ops                                 ▝▚▚
vector-vector-division-elementwise-matrix-ops                     ▝▚▚
vector-vector-multiplication-elementwise-matrix-ops               ▝▚▚
vector-vector-outerproduct-matrix-ops                             ▝▚▚
vector-vector-subtraction-matrix-ops                              ▝▚▚
vector-wedge-exterior-algebra                                     ▝▚▚
wet-floor-atoms-and-bonds                                         ▝▀▞▀▚
wheel-graphs-simple-graph                                         ▝▀▀▀▀▀▀▀▀▀▀▚▀▀▀▀▀▚
word-cloud-example-word-cloud                                     ▝▀▞▖
wos-laplace-estimator-walk-on-spheres                             ▝▀▚▚
wos-nested-estimator-walk-on-spheres                              ▝▀▀▚▀▀▚
wos-offcenter-estimator-walk-on-spheres                           ▝▀▚▀▀▖
wos-poisson-estimator-walk-on-spheres                             ▝▀▚▀▚

@codecov
Copy link

codecov bot commented Mar 27, 2023

Codecov Report

Merging #1347 (a8c5b6d) into main (0d69c97) will not change coverage.
The diff coverage is n/a.

❗ Current head a8c5b6d differs from pull request most recent head 503b9dc. Consider uploading reports for the commit 503b9dc to get more accurate results

@@           Coverage Diff           @@
##             main    #1347   +/-   ##
=======================================
  Coverage   62.11%   62.11%           
=======================================
  Files          67       67           
  Lines        8561     8561           
  Branches     2052     2052           
=======================================
  Hits         5318     5318           
  Misses       3105     3105           
  Partials      138      138           

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

@wodeni wodeni merged commit 3aa67e9 into main Mar 27, 2023
11 checks passed
@wodeni wodeni deleted the edgeworth/zero-valence branch March 27, 2023 19:40
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.

None yet

2 participants