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

docs: using Penrose programmatically #1525

Merged
merged 10 commits into from Jul 14, 2023
Merged

docs: using Penrose programmatically #1525

merged 10 commits into from Jul 14, 2023

Conversation

wodeni
Copy link
Member

@wodeni wodeni commented Jul 5, 2023

Description

Prerequisite: #1527

This PR adds documentation on how to use Penrose as a JavaScript library.

Implementation strategy and design decisions

  • Add docs/ref/api page for language API of @penrose/core.
  • Add docs/ref/optimization-api page for optimization API of @penrose/core.
  • Add docs/ref/vanilla,docs/ref/react and docs/ref/solid for using Penrose in different contexts of web development.
    • Add a static vanilla-js-demo page to show how to use Penrose in a single webpage without build tools

Checklist

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

@github-actions
Copy link

github-actions bot commented Jul 5, 2023

± Registry diff

📊 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
     |    |    |    |    |    |    |
name ▝▀▀▀▀▀▀▀▀▀▚▄▄▄▄▄▄▄▄▄▄▞▀▀▀▀▀▀▀▀▀▘
      compiling optimizing rendering

If a row has only one bar instead of four, that means it's not a trio and the bar just shows the total time spent for that example, again rounded up to the nearest 100ms.

Data

                                                          0s   1s   2s   3s   4s   5s   6s   7s   8s
                                                          |    |    |    |    |    |    |    |    |
set-theory-domain/tree-venn                               ▝▀▀▞
set-theory-domain/tree-tree                               ▝▀▞
group-theory/quaternion-multiplication-table              ▝▀▀▀▚▀▘
walk-on-spheres/SignedAngleOutside                        ▝▀▀▀▞▘
spectral-graphs/examples/hypercube                        ▝▀▀▚▘
group-theory/quaternion-cayley-graph                      ▝▀▚▀
set-theory-domain/tree-venn-3d                            ▝▚▀
atoms-and-bonds/one-water-molecule                        ▝▞
structural-formula/molecules/caffeine                     ▝▀▀▀▀▀▄▄▞▀▘
walk-on-spheres/walk-on-stars                             ▝▀▀▀▀▀▚▞▀▀▀
set-theory-domain/continuousmap                           ▝▚▘
mobius/mobius                                             ▝▚▘
linear-algebra-domain/two-vectors-perp                    ▝▚▘
tutorials/tutorial1                                       ▝▞
tutorials/tutorial2                                       ▝▞
tutorials/tutorial3                                       ▝▞
molecules/nitricacid-lewis                                ▝▀▀▚▄▘
exterior-algebra/vector-wedge                             ▝▚▘
shape-spec/all-shapes                                     ▝▚▀▀▀
shape-spec/arrowheads                                     ▝▞
graph-domain/textbook/sec1/fig1                           ▝▀▀▚▄▘
graph-domain/textbook/sec1/fig2                           ▝▀▀▀▚▄▘
graph-domain/textbook/sec1/fig3                           ▝▀▀▀▀▄▄▞
graph-domain/textbook/sec1/fig4                           ▝▀▀▀▀▚▄▄▘
spectral-graphs/examples/hexagonal-lattice                ▝▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▚▄▄▀▀▘
graph-domain/textbook/sec1/fig5                           ▝▀▀▀▀▀▀▄▄▄▄▄▀
graph-domain/textbook/sec1/fig6                           ▝▀▀▀▀▀▀▀▀▀▀▀▀▀▚▄▄▄▄▄▄▄▄▄▄▄▄▄▄▞
graph-domain/textbook/sec1/fig7                           ▝▀▚▀
graph-domain/textbook/sec1/fig8a                          ▝▀▀▀▀▚▄▄▞
graph-domain/textbook/sec1/fig8b                          ▝▀▀▀▚▄▄▘
graph-domain/textbook/sec1/fig9                           ▝▀▀▀▄▀
graph-domain/textbook/sec1/fig10                          ▝▀▀▀▚▀
graph-domain/textbook/sec1/fig11                          ▝▀▀▀▀▄▞▀
graph-domain/textbook/sec1/fig12                          ▝▀▀▀▀▀▄▄▞▘
graph-domain/textbook/sec1/fig13                          ▝▀▀▀▚▄▄▘
graph-domain/textbook/sec2/fig3                           ▝▀▀▀▀▀▀▀▀▄▄▄▄▄▄▘
graph-domain/textbook/sec2/fig4                           ▝▀▀▀▀▀▄▄▄▞
graph-domain/textbook/sec2/fig5                           ▝▀▀▀▀▀▀▀▀▄▄▄▄▄▘
graph-domain/textbook/sec2/fig6                           ▝▀▀▀▀▀▀▀▀▀▚▄▄▄▄▞
graph-domain/textbook/sec2/fig9                           ▝▀▀▀▀▀▀▀▀▀▀▀▄▄▄▄▄▄▄▞
graph-domain/textbook/sec2/fig10a                         ▝▀▀▀▄▄▘
graph-domain/textbook/sec2/fig10b                         ▝▀▀▀▄▀
graph-domain/textbook/sec2/fig11a                         ▝▀▚▘
graph-domain/textbook/sec2/fig11b                         ▝▀▞
graph-domain/textbook/sec2/fig11c                         ▝▀▚▘
graph-domain/textbook/sec2/fig12                          ▝▀▚▘
graph-domain/textbook/sec2/fig13                          ▝▀▀▀▀▀▀▀▀▀▀▀▀▚▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▞
graph-domain/textbook/sec2/fig14                          ▝▀▀▀▞▀
graph-domain/textbook/sec2/fig16b                         ▝▀▀▞▘
geometry-domain/textbook_problems/c05p13                  ▝▀▀▚▞
geometry-domain/textbook_problems/c01p01                  ▝▀▚▘
geometry-domain/textbook_problems/c03p01                  ▝▀▀▞
geometry-domain/textbook_problems/c05p01                  ▝▀▚▘
geometry-domain/textbook_problems/ex                      ▝▀▀▚▄▘
triangle-mesh-3d/two-triangles                            ▝▚▘
random-sampling/test                                      ▝▀▀▀▚▘
geometry-domain/textbook_problems/c11p12                  ▝▀▀▄▘
curve-examples/catmull-rom/catmull-rom                    ▝▚▘
word-cloud/example                                        ▝▀▀▄▞
geometry-domain/siggraph-teaser                           ▝▀▀▞
minkowski-tests/maze/non-convex                           ▝▀▚▘
lagrange-bases/lagrange-bases                             ▝▚▘
hypergraph/hypergraph                                     ▝▀▀▀▚▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▞
persistent-homology/persistent-homology                   ▝▀▀▄▄▄▄▄▄▀
walk-on-spheres/laplace-estimator                         ▝▀▀▚▘
walk-on-spheres/poisson-estimator                         ▝▀▀▚▘
walk-on-spheres/nested-estimator                          ▝▀▀▀▚▀
walk-on-spheres/offcenter-estimator                       ▝▀▀▞
shape-distance/points-around-star                         ▝▀▀▀▀▞▘
shape-distance/points-around-polyline                     ▝▀▀▞
shape-distance/points-around-line                         ▝▀▚▘
shape-distance/lines-around-rect                          ▝▚▘
fake-3d-linear-algebra/projection                         ▝▞
animation/center-shrink-circle                            ▝▞
graph-domain/other-examples/hamiltonian-cycle             ▝▀▀▀▚▄▀
structural-formula/reactions/methane-combustion           ▝▀▀▀▚▄▄▄▄▞
molecules/glutamine                                       ▝▀▚▘
matrix-ops/tests/matrix-matrix-addition                   ▝▀▞
matrix-ops/tests/matrix-matrix-division-elementwise       ▝▀▞
matrix-ops/tests/matrix-matrix-multiplication-elementwise ▝▀▞
matrix-ops/tests/matrix-matrix-multiplication             ▝▀▞
matrix-ops/tests/matrix-matrix-subtraction                ▝▀▞
matrix-ops/tests/matrix-transpose                         ▝▚▘
matrix-ops/tests/matrix-vector-left-multiplication        ▝▀▚▘
matrix-ops/tests/matrix-vector-right-multiplication       ▝▀▞
matrix-ops/tests/scalar-vector-division                   ▝▚▘
matrix-ops/tests/scalar-vector-left-multiplication        ▝▚▘
matrix-ops/tests/scalar-vector-right-multiplication       ▝▚▘
matrix-ops/tests/vector-vector-addition                   ▝▚▘
matrix-ops/tests/vector-vector-division-elementwise       ▝▚▘
matrix-ops/tests/vector-vector-multiplication-elementwise ▝▚▘
matrix-ops/tests/vector-vector-outerproduct               ▝▚▘
matrix-ops/tests/vector-vector-subtraction                ▝▚▘
logic-circuit-domain/half-adder                           ▝▀▞
curve-examples/cubic-bezier                               ▝▀▄▄▘
triangle-mesh-2d/diagrams/cotan-formula                   ▝▀▚▘
triangle-mesh-2d/diagrams/concyclic-pair                  ▝▀▚▞
triangle-mesh-2d/diagrams/halfedge-mesh                   ▝▀▚▘
triangle-mesh-2d/diagrams/relative-orientation            ▝▀▞
triangle-mesh-2d/diagrams/triangle-centers                ▝▀▞
triangle-mesh-2d/diagrams/angle-equivalence               ▝▀▀▄▄▞
timeline/penrose                                          ▝▀▀▀▀▀▄▘
graph-domain/textbook/sec5/ex32                           ▝▀▀▀▀▀▀▀▀▀▚▄▄▄▄▄▄▄▄▄▄▘
curve-examples/open-elastic-curve                         ▝▀▀▄▘
curve-examples/closed-elastic-curve                       ▝▀▀▄▞
graph-domain/other-examples/arpanet                       ▝▀▀▀▀▀▀▀▀▚▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▘
graph-domain/other-examples/nyc-subway                    ▝▀▀▀▀▀▀▀▀▀▀▀▀▀▚▄▄▄▄▄▄▄▄▘
fancy-text/fancy-text                                     ▝▀▚▄▘
curve-examples/blobs                                      ▝▀▀▀▀▀▀▀▀▚▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▘
curve-examples/space-curves                               ▝▀▀▀▀▀▚▄▄▄▞
geometric-queries/ray-intersect/test-group                ▝▀▀▀▀▀▀▀▀▚▀
ray-tracing/path-trace                                    ▝▀▀▞
ray-tracing/bidirectional                                 ▝▀▀▞
ray-tracing/next-event-estimation                         ▝▀▀▞
geometric-queries/test                                    ▝▀▚▘
geometric-queries/closest-point/test-group                ▝▀▞
geometric-queries/closest-point/test                      ▝▚▘
geometric-queries/closest-silhouette-point/test           ▝▚▘
geometric-queries/ray-intersect/test                      ▝▀▀▀▀▀▀▀▀▚▀▀
box-arrow-diagram/computer-architecture                   ▝▀▀▀▀▀▀▀▀▀▀▀▚▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▘
stochastic-process/stochastic-process                     ▝▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▚▀▀▀▀▘
stochastic-process/epsilon-shell/AbsorbingBoundary        ▝▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▚▀▀▀▀▀▀▀▀▀▀▘
solid/eigenspace                                          ▐██
solid/triangles                                           ▐█▌
solid/vectors                                             ▐█
tsne/tsne                                                 ▝▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▚▄▄▄▄▄▄▄▄▄▀▀▀▀▀▀▀▘
spectral-graphs/examples/4x4-sudoku-graph                 ▝▀▀▀▚▀
spectral-graphs/examples/dodecahedral-graph               ▝▀▀▞▘
atoms-and-bonds/wet-floor                                 ▝▀▄▞

@cloudflare-pages
Copy link

cloudflare-pages bot commented Jul 5, 2023

Deploying with  Cloudflare Pages  Cloudflare Pages

Latest commit: f837c3e
Status: ✅  Deploy successful!
Preview URL: https://6aca88f0.penrose-72l.pages.dev
Branch Preview URL: https://api-docs.penrose-72l.pages.dev

View logs

@wodeni wodeni marked this pull request as ready for review July 12, 2023 16:33
@wodeni wodeni requested a review from samestep July 13, 2023 18:22
@wodeni wodeni merged commit 7952b2b into main Jul 14, 2023
10 checks passed
@wodeni wodeni deleted the api-docs branch July 14, 2023 12:53
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